第 1 頁:選擇題 |
第 5 頁:參考答案 |
21.C!窘馕觥繑(shù)組的下標(biāo)是從零開始的。一維數(shù)組的一般定義方式為數(shù)型說明符數(shù)組名[常置表達式]
其中“[]”中的內(nèi)容可以是整型數(shù)量,也可以是整型表達式。選項C中,m[0]=5,m[m[o]]=m[5],數(shù)組下標(biāo)越界。
22.A!窘馕觥慷禾柋磉_式及實參的形式,在逗號表達式中,取最后一個表達式的值,結(jié)合fune的調(diào)用形式,可以知道實參的個數(shù)只有3個。
23.B!窘馕觥窟x項B中x[5]數(shù)組下標(biāo)越界,數(shù)組的下標(biāo)是從0開始的。
24.A。【解析】C語言中strlen()函數(shù)的功能是返回字符串的長度,其中’\0’是一個轉(zhuǎn)義字符,它占存儲空間,但不計入字符串的長度。所以選項A正確。
25.B。【解析】本題考查telurn語句,return語句有以下幾個特點:用戶定義的函數(shù)中可以沒有返回語句;一個函數(shù)體內(nèi)可以有多個返回語句,不論執(zhí)行哪一個,函數(shù)都可以結(jié)束,回到主函數(shù);但是調(diào)用一次只能有一個返回值。為了保證函數(shù)不返回任何值,C語言規(guī)定,可以定義無類型函數(shù),其形式為void函數(shù)名(參數(shù)表)。當(dāng)函數(shù)中不需要指明返回值時,可以寫成return。
26.C!窘馕觥勘绢}考查宏的相關(guān)知識點。宏名沒有大小寫限制;宏定義可以放在程序中的任何位置,其有效范圍是從定義開始到文件結(jié)束;宏替換可以代替任何數(shù)據(jù)類型,不受數(shù)據(jù)類型的限制;函數(shù)影響運行時間,宏調(diào)用影響編譯時間。
27.D!窘馕觥勘绢}考查for循環(huán)使用。
當(dāng)i=3時,j可以取1和2,i+j分別是4和5,執(zhí)行printf("\n")換行,i--為2。
當(dāng)i=2時,j可以取1和2,i+j分別是3和4,執(zhí)行printf("\n")換行,i--為1。
當(dāng)i=1時,J可以取1和2,i+j分別是2和3,執(zhí)行printf("\n")換行,i--為0,不符合循環(huán),退出。
28.D。【解析】C語言中規(guī)定,else與離它最近的if相匹配。
x=1,y=2,z=3,所以第一個if的條件(x>y)不成立,直接執(zhí)行printf("%d\n",x+1);語句,輸出x的值1,再把x加1。
29.A!窘馕觥勘绢}考查d0…while循環(huán),先執(zhí)行循環(huán)體,再判斷條件是否成立,函數(shù)實現(xiàn)的功能是找出滿足一個數(shù),它除3時余1,除5時余2,然后打印“*”和這個數(shù)從5開始,等于7時恰好符合條件,輸出,最后循環(huán)結(jié)束。
30.B!窘馕觥勘绢}考查遞歸函數(shù)的使用。fun(4,2)->fun(2,o),由于b等于0,故返回值為2。反之,fun(4,2)=2。
31.C!窘馕觥勘绢}考查指針與函數(shù)的調(diào)用。a+fun(10)相當(dāng)于fun(10)+fun(10),故結(jié)果為20。兩次調(diào)用fun()函數(shù),返回值指向不同的內(nèi)存單元,不會存在內(nèi)存沖突的問題,也就不會走錯。
32.A。【解析】在程序中實參向形參傳遞數(shù)據(jù)的方式是“值傳遞”,如果實參傳遞給形參是變量的值,就是數(shù)值傳遞,并不能改變實參的值,所以數(shù)組c[10]的值不變。
33.c。【解析】data[2]是兩個結(jié)構(gòu)體組成的數(shù)組,p指向結(jié)構(gòu)體數(shù)組的首地址,p->y訪問第一個結(jié)構(gòu)體的第二個元素;(++p)x訪問第二個結(jié)構(gòu)體的第一個元素。所以輸出為10,2。
34.D!窘馕觥吭诔绦蛑,fun(k,5)的功能是將數(shù)組k的k[0]、k[1]分別與k[3]、k[4]交換,for循環(huán)從k[2]到k[8]輸出,所以輸出結(jié)果為321678。
35.B。【解析】本題考查數(shù)組的初始化,在對二維數(shù)組元素賦初值時,如果只對部分元素賦初值,那未賦初值的元素自動取0。fun函數(shù)是將二維數(shù)組a中主對角線上的元素
賦給數(shù)組b,所以y[4]=(1,0,7,0)。
36.C!窘馕觥吭诔绦蛑衒un函數(shù)的功能在于求取三維數(shù)組S中1至n行中每行第k個元素中的最大者。注意:i=0時為第一行,故fun(a,4,O)在于求取11、21、31中的最大值,顯然為31。
37.D!窘馕觥繉τ趦蓚結(jié)構(gòu)體,b=a;表示將a的每一個元素都賦給b,所以會輸出a中的內(nèi)蓉。
38.D!窘馕觥吭谝韵4項中,根據(jù)鏈表插入與刪除的原則,選項A中,*P是P所指向的元素.所以這樣調(diào)用是錯誤的;選項B是將P指向的結(jié)點作為q的后繼結(jié)點;而選項C則是將指針q指向P指向的結(jié)點;選項D將指向q的后繼點的指針賦給指向P后繼點的指針,并將q指向結(jié)點所占的內(nèi)存。所以選項D正確。
39.C!窘馕觥勘绢}考查位操作,將4轉(zhuǎn)化成二進制為0100,左移一位后為1000,轉(zhuǎn)成十進制為8,所以輸出8。
40.B!窘馕觥勘绢}考查fwrite的調(diào)用形式。
其格式為“fwrite(buffer,size,count,fp);”。
fwritie函數(shù)的功能是對fp所指向的文件存入count次,每次存入一個大小為size的數(shù)據(jù)塊。將存入的數(shù)據(jù)塊存到buffer指向的內(nèi)存區(qū),如果buffer內(nèi)存區(qū)有數(shù)據(jù)則將其覆蓋。
本題中第一次調(diào)用fwrite函數(shù),向文件中寫入s2的值“Beijing”,第二次調(diào)用fwrite函數(shù),向文件中寫入S1的值“China”,并將之前“Beijing”的前幾個字符覆蓋,得到Chi-nang。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |