第 1 頁:選擇題 |
第 5 頁:參考答案 |
21.D!窘馕觥縳--后綴表示先用x的值再令x減1,--x前綴表示先將x減1,再執(zhí)行程序,則輸出(X--)繼續(xù)下一次循環(huán),輸出“8,”,此時x自減值變?yōu)?,執(zhí)行x--,x=6,x%3=0,后面語句不執(zhí)行,執(zhí)行語句“printf("%d,",--x);”,輸出“5”,繼續(xù)for循環(huán)中的x--,得到x=5,輸出“5”;判斷x%3為真,輸出“4”,執(zhí)行兩次x--后,x=2,執(zhí)行“{printf("%d",x--);cotinue;}”后,輸出“2”;然后執(zhí)行兩次x--后,x=0,不符合“x>0”,循環(huán)結(jié)束。
22.A。【解析】選項(xiàng)B中while(1)永遠(yuǎn)為真,一直自加下次進(jìn)入死循環(huán);選項(xiàng)C中while(n=10)同理死循環(huán),沒有下限范圍;選項(xiàng)D中for循環(huán)中i也沒有循環(huán)限定條件也將進(jìn)入死循環(huán);只有選項(xiàng)A中while(n<=o)循環(huán)判定成立,循環(huán)結(jié)束。
23.D。【解析】本題定義一個一維數(shù)組和指針,接著將數(shù)組第4個元素的地址賦予*P數(shù)組下標(biāo)從0開始,進(jìn)行--p使指針P指向了數(shù)組的第3個元素,通過y=*P將數(shù)組第3個元素的值3賦予y,所以選項(xiàng)D正確。
24.C!窘馕觥勘绢}考查數(shù)組的定義一維數(shù)組定義和初始化是允許省略行下標(biāo),不允許省略列下標(biāo),故選項(xiàng)C錯誤。
25.A!窘馕觥砍绦蚨x了字符數(shù)組S和字符型指針變量P,并且使P指向數(shù)組S的首地址,執(zhí)行P=S語句后,*P表示s[o];S數(shù)組中元素的個數(shù)和P所指字符串長度不相等,s數(shù)組中包括字符串結(jié)束標(biāo)志“\0”,而P所指字符串不包括“\0”,數(shù)組s中的內(nèi)容和指針變量P中的內(nèi)容不相同,數(shù)組中存放的是字符串,而指針變量P存放的是數(shù)組的首地址。
26.D!窘馕觥繑(shù)組的下標(biāo)從0開始,數(shù)組a[2][3]包括元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],只有選項(xiàng)D正確,1>2為假,所以是0,!為假也是0,即引用元素a[0][0],其他選項(xiàng)的引用均是下標(biāo)越界。
27.D。【解析】選項(xiàng)A調(diào)用函數(shù)gets使得s數(shù)組從s[0]開始得到輸入的字符;選項(xiàng)B使得數(shù)組從元素s[1]開始得到輸入的5個字符;選項(xiàng)C使得數(shù)組從s[0]開始得到輸入的字符;而選項(xiàng)D的scan[(”%S”,S[1])調(diào)用錯誤,應(yīng)為scanf(”%s”,&s[1])輸入項(xiàng)部分應(yīng)該是一個地址值。
28.D!窘馕觥款A(yù)處理命令是以“#”開始的語句,每一條預(yù)處理命令必須單獨(dú)占用一行,由于不是C語言的語句,并且命令行的最后不能以分號表示結(jié)束,定義格式為“#de-fine標(biāo)識符字符串”,預(yù)處理命令行是系統(tǒng)對源程序進(jìn)行編譯之前進(jìn)行處理的,不是在程序執(zhí)行的過程中。
29.A!窘馕觥慷x結(jié)構(gòu)體類型的一般形式“struct結(jié)構(gòu)體名{成員列表}”,struct結(jié)構(gòu)體名不能加“;”號。
30.B!窘馕觥勘绢}考查的是c語言中輸入、輸出函數(shù)的使用,gets和getchar函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備鍵盤讀入字符串和字符;fputs用于把字符串輸出到文件;fwrite用于以二進(jìn)制形式輸出數(shù)據(jù)到文件。
31.C!窘馕觥勘绢}考查對for循環(huán)的使用,首先給兩個數(shù)組賦值,第一個for循環(huán)從0開始循環(huán)12次遍歷S數(shù)組的各個元素,數(shù)組將s[]中的元素值作為c[]數(shù)組中的下標(biāo),然后自加,使相應(yīng)的值自加,當(dāng)i=0,c[s[0]]++為c[1]++,其值變?yōu)?,當(dāng)執(zhí)行i=1,2,…,11后,c[1]、c[2]、c[3]、c[4]分別為4、3、3、2,故選項(xiàng)C正確。
32.C。【解析】本題定義一個一維數(shù)組并賦初值,接著調(diào)用fun(),功能是使數(shù)組中的元素逆序,當(dāng)調(diào)用fun(a,0,3),將實(shí)參傳遞給形參實(shí)現(xiàn)數(shù)組a中a[0]至a[3]這4個元素逆序;同理調(diào)用fun(a,4,9)是將上步排列好的a數(shù)組中a[4]至a[9]這6個元素逆序;調(diào)用fun£a,0,9)是將數(shù)組中a[o]至a[9]這10個元素再逆序,再用printf()函數(shù)輸出結(jié)果為5678901234,故選項(xiàng)C正確。
33.A。【解析】在main函數(shù)中,定義了一個指向字符串的指針數(shù)組,并賦初值,然后調(diào)用fun函數(shù),其功能是比較數(shù)組中元素的長度,按長度從小到大排序,所以執(zhí)行fun(ss,5)函數(shù)后*ss[]={"xy","bec","bbcc","aaaacc"},所以調(diào)用printf函數(shù)輸出ss[0],ss[4]的值分別勾xy,aaaacc。
34.C!窘馕觥勘绢}考查了函數(shù)的調(diào)用,在f函數(shù)中將實(shí)參傳給X,判斷if語句為假。接著執(zhí)行y=3*3=f(1),再執(zhí)行f(1)而f(1)滿足if條件語句,所以f(1)的值為3,那么代入y=3*3-f(1)=9-3=6,故選項(xiàng)C正確。
35.C!窘馕觥吭诔绦虻闹骱瘮(shù)中main定義了一個指向字符串的指針和一個字符數(shù)組,然后調(diào)用fun(s,t),在fun()中第一個while語句判斷*a中的值為“*”時繼續(xù)掃描,如果不是“*”終止,第二個while循環(huán),將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t[0]中的內(nèi)容為“a*b****”,所以此時的運(yùn)行結(jié)果為選項(xiàng)C。
36.A。【解析】本題考查在結(jié)構(gòu)體中函數(shù)的調(diào)用,主函數(shù)調(diào)用f(c)后,實(shí)參傳向形參,但程序中沒有返回語句,故形參不能將值傳回實(shí)參,實(shí)參之間值的傳遞具有不可逆性,所以printf輸出的還是c中實(shí)參的值。
37.B!窘馕觥勘绢}考查文件的讀寫和相關(guān)操作,fp=fopen("dl.dat","w")以寫的方式為輸出建立新文本文件.調(diào)用printf輸出“123”,fp=fopen("dl.dat","r")以只讀的方式打開文本文件,不能對文件內(nèi)容進(jìn)籀操作,故運(yùn)行結(jié)果為選項(xiàng)B。
38.A。【解析】如果按題要求,高4位取反,低4位不變,則a為10101101,在選項(xiàng)中操作的結(jié)果,選項(xiàng)A中a*b=10101101,選項(xiàng)B中a|b=1111101,選項(xiàng)C中a&b=01010000,選項(xiàng)D中a<<4=11010000,故選項(xiàng)A正確。
39.A!窘馕觥縿討B(tài)變量(auto)存儲在內(nèi)存中的動態(tài)存儲區(qū),只在程序運(yùn)行中,系統(tǒng)才臨時給變量分配內(nèi)存單元;全局變量(extern)一經(jīng)定義,系統(tǒng)為其分配固定的內(nèi)存單元;靜態(tài)變量(static),編譯系統(tǒng)為其分配固定的存儲空聞;寄存器變量(register)不保存在內(nèi)存上,而是直接存儲在CPU的寄存器中。
40.B。【解析】定義語句int(*f)(int)中f是指向函數(shù)的指針變量,該函數(shù)中也只有一個int型的形參。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |