第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設計題 |
點擊查看:2017年12月計算機二級《C語言》強化模擬題匯總
一、選擇題(每小題1分,共40分)
1[單選題] 若有定義語句:double a,* P=&a;以下敘述中錯誤的是( )。
A.定義語句中的*號是一個間址運算符
B.定義語句中的*號是一個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,*P=&a把變量a的地址作為初值賦給指針變量P
參考答案:A
參考解析:在變量定義double a,* P=&a;中,*號是一個指針運算符,而非間址運算符,所以A錯誤。
2[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.321
B.12300
C.1
D.123
參考答案:D
參考解析:程序首先將數組a[10]中的元素1、2、3分別寫入了文件dl.dat文件中,然后又將dl.dat文件中的數據123,整體寫入到了變量n的空間中,所以打印n時輸出的數據為123。
3[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.1,0,7,0,
B.1,2,3,4,
C.1,4,5,9,
D.3,4,8,l0,
參考答案:A
參考解析:該程序首先在定義變量時,對二維數組a[][N]進行賦值操作;調用函數fun,函數fun的功能是將二維數組中的a[0][0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數組,最后將一維數組元素1,O,7,0,輸出。
4[單選題] 有以下程序段:
程序運行后的輸出結果是( )。
A.a=10 b=50 c=30
B.a=10 b=50 c=10
C.a=10 b=30 c=10
D.a=50 b=30 c=50
參考答案:B
參考解析:本題中a>b的條件不滿足,所以不執行逗號表達式a=b,b=c;的操作,而是執行c=a操作,即c的值為10。
5[單選題] 有以下程序:
程序執行后的輸出結果是( )。
A.y=0
B.y=-1
C.y=1
D.while構成無限循環
參考答案:B
參考解析:執行y--直到值為0,由于y--是先用再減,所以退出循環時,y的值為-l。
6[單選題] 若有定義語句:int x=10;,則表達式x-=x+x的值為( )。
A.0
B.-20
C.-10
D.10
參考答案:C
參考解析:算術運算符+的優先級高于-=,且-=的結合方向為自右向左,所以表達式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,選擇C。
7[單選題] 有以下程序段:
程序段:
當執行上述程序段,從鍵盤上輸入555667777abc后,Y的值為( )。
A.566.0
B.55566.0
C.7777.0
D.566777.0
參考答案:A
參考解析:它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變量之中。其中的格式命令可以說明最大域寬。在百分號(%)與格式碼之間的整數用于限制從對應域讀入的最大字符數。所以j的值為55,y的值為566.0,字符數組name為7777abc。
8[單選題] 若有定義語句:double x,y,*px,*py;執行了px=&x;py=&y;之后,正確的輸入語句是( )。
A.scanf(”%If%le”,px,py);
B.scanf(”%f%f”&x,&y);
C.sceanf(”%f%f”,x.y);
D.scanf(”%If%If'’,x,y);
參考答案:A
參考解析:因為x,y都是double型數據,所以輸入時的格式字符應為%lf,所以B與C錯誤。D選項中scanf("%lf%If",x,y);應為scanf(“%If%If"”,&x,&y);。
9[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.1,2
B.1,0
C.3,2
D.0,0
參考答案:A
參考解析:首先打印b=a+b=1+0=1的值1,此時已給b賦值為1。然后打印a=2*b=2*1=2的值2。所以結果是1,2。
10[單選題] 有兩個關系R、S如下:
由關系R通過運算得到關系S,則所使用的運算為( )。
A.選擇
B.投影
C.插入
D.連接
參考答案:B
參考解析:投影運算是指對于關系內的域指定可引入新的運算。本題中S是在原有關系R的內部進行的,是由R中原有的那些域的列所組成的關系。所以選擇B。
相關推薦:
【考試吧整理】計算機等級考試各科目歷年真題