1[單選題] 若有C語言表達式2+3*4+7/3,以下選項中敘述正確的執(zhí)行順序是
A.先執(zhí)行3*4得12,再執(zhí)行2+12得14,再執(zhí)行7/3得2,最后執(zhí)行14+2得16
B.先執(zhí)行3*4得12,再執(zhí)行7/3得2.5,最后執(zhí)行2+12+2.5得16.5
C.先執(zhí)行7/3得2,再執(zhí)行3*4得12,再執(zhí)行12+2得l4,最后執(zhí)行2+14得l6
D.先執(zhí)行2+3得5,再執(zhí)行5*4得20,再執(zhí)行20+7得27,最后執(zhí)行27/3得9
參考答案:A
參考解析:首先,在c語言中,乘除法優(yōu)先級要高于加減法,其次,除法運算符"/"兩邊參加運算對象都是整數(shù),運算結果要取整,故排除B,D選項;C語言中。因為“*”和“/”都滿足從左到右的運算規(guī)則,故應先計算3*4=12。因此c排除,答案為A選項。
2[單選題] 設有以下函數(shù):
voidfun(intn,char}s){……}
則下面對函數(shù)指針的定義和賦值均正確的是( )。
A.void(*pf)(int,char);pf=&fun;
B.void+pf( );pf=fun;
C.void*pf( );*pf=fun;
D.void(*pf)(int,char*);pf=fun;
參考答案:D
參考解析:函數(shù)的參數(shù)可以是指針類型。它的作用是將一個變量的地址傳送到另一個函數(shù)中。函數(shù)名代表函數(shù)的人口地址,指向函數(shù)的指針應該定義為void(+pf)()。如果定義為void·pf(),則表示函數(shù)pf返回值為一個基類型為void的指針。因此D選項正確。
3[簡答題]下列給定程序中,函數(shù)proc()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。
請修改函數(shù)proc()中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:while(*str!='@')
正確:while(*str)
(2)錯誤:(*str)++;
正確:str++;
4[單選題] )以下敘述中正確的是( )
A.每個后綴為.C的C語言源程序都可以單獨進行編譯
B.每個后綴為.C的C語言源程序都應該包含一個main函數(shù)
C.在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面
D.在C語言程序中,只有main函數(shù)才可單獨進行編譯
參考答案:A
參考解析:一個普通的C函數(shù)可以單獨作為一個C的程序文件存在被包含到其他程序中。每個后綴為.C的C語言源程序都可以單獨進行編譯,所以B。D錯誤。main函數(shù)可以放在程序的開始。中間,最后,所以C錯誤。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |