一、選擇題
1沒有如下定義:
int(*ptr)():
則以下敘述中正確的是( )。
A.ptr是指向一維組數(shù)的指針變量
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指int型數(shù)據(jù)的指針
參考答案:C
參考解析:本題中int(*ptr)()的含義是指向函數(shù)的指針變量,其為指向函數(shù)的指針變量,該函數(shù)返回一個int型數(shù)據(jù),故選擇C選項。
2以下程序的輸出結果是( )。
A.O650B.1470C.5430 D.輸出值不定
參考答案:A
參考解析:當所賦的值不夠其列的寬度時,系統(tǒng)在其后自動補0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項。
3若有定義:int c[4][5],(*cp)[5];和語句cp=c;,則能正確引用c數(shù)組元素的是( )。
A.cp+1B.*(cp+3)C.*(cp+1)+3 D.*(*cp+2)
參考答案:D
參考解析:cp是行指針,只表示行。若要表示元素,則需要配合列,A:表示第二行;B:表示第四行的內容,但是設指出那一列;C:*(cp+1)+3只是地址不是元素值,需改為*(*(cp+1)+3)。
4有以下程序:
輸出的結果是( )。
A.ZhangB.B.ZhaoC.Wang D.18
參考答案:B
參考解析:從實參傳遞過去的是結構體系數(shù)組的第3個元素,所以輸出的name為Zhao。
5若有下列定義和語句:
則輸出結果是( )。
A.9,17,11B.9,11,11C.11,11,11D.11,17,11
參考答案:C
參考解析:“%o”表示八進制無符號型輸出整型數(shù)據(jù)(即不帶前導0);“%x”表示以十六進制無符號型輸出整型數(shù)據(jù)(即不帶前導ox或0X);“%d”表示輸出帶符號的十進制整型數(shù)。
6有下列程序:
程序執(zhí)行后的輸出結果是( )。
A.45B.20C.25 D.36
參考答案:C
參考解析:在for循環(huán)語句中自變量i從0開始,每次自加2,執(zhí)行s+一*(t+i)語句,因為C語言規(guī)定數(shù)組名做表達式相當于數(shù)組的首地址,也就是第一個元素的地址。因此,*(t+i)代表數(shù)組的第i+1個元素,所以程序運行的結果是1+3+5+7+9=25,即變量S的值等于25。
7若有正確定義語句double x=5.16894:
A.輸出格式說明與輸出頂不匹配,輸出無定值B.5.170000C.5.168000D.5.169000
參考答案:D
參考解析: (x*1000+0.5)--x移動3位小數(shù),加0.5,也就是小數(shù)第4位加5,若這位大于等于5,則進1到個位。5.16894*1000-)5168.94+0.5->5169.44接下來:(int)(x*1000+0.5)取整變51 69,5169/(double)1000)-)5.169。所以printf(″%f\n″,5.169)結果是5.16900。因此正確答案為D。
8
A.隨機值B.B.0C.x的地址D.p的地址
參考答案:B
參考解析:*p的意思是取其指向地址的內容,p是指向x地址的指針,因此輸出*p也就是輸出X的內容,即0,故選擇B選項。
9有以下程序:
執(zhí)行后的輸出結果是( )。
A.1B.2C.4D.死循環(huán)
參考答案:A
參考解析:當k=5時,while條件中的值為4,k為4,循環(huán)不成立,k-=3可寫成k=k-3,輸出1;接著執(zhí)行--k后k為0,當k=0時,while循環(huán)不成立,退出。
10以下四個程序中不能對兩個整型值進行交換的是( )。
A.
B.
C.
D
參考答案:C
參考解析:
main()
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |