版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
清華c語言期末測試題第一部分單選題(50題)1、以下數(shù)組初始化錯誤的是?()
A.inta[5]={0};
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素個數(shù)超數(shù)組長度(5),編譯報錯,A、B、C正確,故選D。2、以下函數(shù)定義錯誤的是?()
A.intfun(inta,intb){returna+b;}
B.voidfun(){inta=5;printf("%d",a);}
C.intfun(){inta=3;returna;}
D.voidfun(inta){returna;}
【答案】:答案解析:D返回值類型void,不能return表達式a,語法錯誤,故選D。3、以下哪個for循環(huán)是無限循環(huán)?()
A.for(i=0;i<5;i++)
B.for(;;)
C.for(i=0;i<5;i--);
D.for(i=5;i>0;i--)
【答案】:答案解析:for循環(huán)三個表達式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。4、putchar()函數(shù)的功能是?()
A.讀取一個字符
B.輸出一個字符
C.讀取字符串
D.輸出字符串
【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。5、以下switch語句語法錯誤的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");break;}
B.switch(x){case1:printf("1");case2:printf("2");}
C.switch(x){case1:;break;case2:printf("2");}
D.switch(x){case1:printf("1");break;case1:printf("2");break;}
【答案】:答案解析:case后常量不能重復(fù),D中case1重復(fù),編譯報錯,故選D。6、以下循環(huán)中,無限循環(huán)的是?()
A.for(i=0;i<5;i++)
B.while(i=5)
C.do{i++;}while(i<5);
D.for(i=5;i>0;i--)
【答案】:答案解析:while(i=5)是賦值(i=5,非0,條件恒真),無限循環(huán);A執(zhí)行5次,C(i初始0)執(zhí)行5次,D執(zhí)行5次,故選B。7、函數(shù)調(diào)用時,實參的類型必須與形參的類型?()
A.完全一致
B.兼容(可自動轉(zhuǎn)換)
C.無關(guān)
D.實參類型大于形參類型
【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉(zhuǎn)換,不兼容則編譯錯誤,故選B。8、以下定義函數(shù)指針正確的是?()
A.int(*fp)(int);
B.int*fp(int);
C.intfp(int);
D.int(fp)[];
【答案】:答案解析:A是指向int返回值、int參數(shù)的函數(shù)指針,B是返回int的函數(shù),C是普通函數(shù),D是指向數(shù)組的指針,故選A。9、若inta=3,b=4;則表達式ab++的值是?()
A.12
B.15
C.16
D.7
【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。10、數(shù)組名作為函數(shù)參數(shù)時,傳遞的是?()
A.數(shù)組第一個元素的值
B.數(shù)組所有元素的值
C.數(shù)組第一個元素的地址
D.數(shù)組長度
【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。11、函數(shù)返回值通過______語句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。12、以下關(guān)于數(shù)組的說法正確的是?()
A.數(shù)組下標(biāo)從1開始
B.數(shù)組名可作為左值賦值
C.數(shù)組長度定義后不可修改
D.數(shù)組元素類型可不同
【答案】:答案解析:數(shù)組下標(biāo)從0開始,數(shù)組名是常量(不可賦值),元素類型必須相同,長度定義后固定,故選C。13、若inti=0;執(zhí)行do{i++;printf("%d",i);}while(i<=2);輸出結(jié)果是?()
A.123
B.012
C.12
D.無輸出
【答案】:答案解析:do-while執(zhí)行3次,i=1、2、3,輸出123,故選A。14、以下數(shù)組定義中,可省略數(shù)組長度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化時可省略長度(編譯器自動計算),D二維數(shù)組第二維不能省略,故選B。15、C語言中,語句結(jié)束的標(biāo)志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。16、遞歸函數(shù)的優(yōu)點是?()
A.代碼簡潔,邏輯清晰
B.效率高,占用內(nèi)存少
C.避免棧溢出
D.適合所有問題
【答案】:答案解析:遞歸優(yōu)點是代碼簡潔(如階乘、斐波那契數(shù)列),缺點是效率低、占用棧空間多(可能溢出),故選A。17、若intx=6;執(zhí)行if(x<5)printf("A");else{printf("B");printf("C");}輸出結(jié)果是?()
A.A
B.BC
C.ABC
D.無輸出
【答案】:答案解析:x=6不滿足if,執(zhí)行else代碼塊,輸出BC,故選B。18、以下哪個是合法的字符常量?()
A."a"
B.'ab'
C.'a'
D.a
【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標(biāo)識符,故選C。19、若inta=5,p=&a;則&p的值是?()
A.5
B.&a
C.p
D.無定義
【答案】:答案解析:*&p等價于p,即指針p自身的值(a的地址),故選C。20、以下switch語句中,default的執(zhí)行時機是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。21、以下函數(shù)聲明中,返回類型為float的是?()
A.floatfun();
B.voidfun(floata);
C.intfun(floata);
D.charfun(floata);
【答案】:答案解析:A返回類型為float,B無返回值,C返回類型int,D返回類型char,故選A。22、函數(shù)指針的作用是?()
A.存儲函數(shù)的地址
B.調(diào)用函數(shù)
C.實現(xiàn)回調(diào)函數(shù)
D.以上都正確
【答案】:答案解析:函數(shù)指針存儲函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。23、指針變量的大小取決于?()
A.指向變量的類型
B.編譯器和系統(tǒng)(32位4字節(jié),64位8字節(jié))
C.指針變量的名稱
D.變量的值
【答案】:答案解析:指針大小與指向類型無關(guān),取決于系統(tǒng)位數(shù)(32位4B,64位8B),故選B。24、以下關(guān)于指針的說法錯誤的是?()
A.指針可指向變量、數(shù)組、函數(shù)
B.指針可進行算術(shù)運算(如++、--)
C.指針可指向自身
D.指針可用于動態(tài)內(nèi)存分配
【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。25、若inti=0,s=0;執(zhí)行do{s+=i;i++;}while(i<5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故選A。26、若inta=3;執(zhí)行a+=aa;后a的值是?()
A.12
B.6
C.9
D.15
【答案】:答案解析:優(yōu)先級先乘后加,a+=aa等價于a=a+(aa)=3+(33)=12,故選A。27、continue語句在循環(huán)中的作用是?()
A.終止整個循環(huán)
B.跳過本次循環(huán)剩余部分,繼續(xù)下一次
C.暫停循環(huán)
D.無作用
【答案】:答案解析:continue跳過本次循環(huán)剩余代碼,直接進入下一次循環(huán)條件判斷,故選B。28、以下定義指向數(shù)組的指針正確的是?()
A.inta[5],*p=a;
B.inta[5],*p=&a;
C.inta[5],p=a;
D.inta[5],*p=a[0];
【答案】:答案解析:a是數(shù)組名(首元素地址),p=a等價于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。29、若inta[4]={1,2,3,4};則a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四個元素,值為4,故選B。30、函數(shù)參數(shù)傳遞中,值傳遞適用于?()
A.簡單變量,無需修改實參
B.數(shù)組,需修改元素
C.指針,需修改實參
D.結(jié)構(gòu)體,需修改成員
【答案】:答案解析:值傳遞用于簡單變量(不修改實參),地址傳遞用于需修改實參的場景,故選A。31、若inta=8;執(zhí)行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()
A.4
B.10
C.8
D.6
【答案】:答案解析:8%4=0,條件為真,a=8/2=4,故選A。32、以下二維數(shù)組初始化正確的是?()
A.inta[2][3]={{1},{2},{3}};
B.inta[2][3]={1,2,3,4,5};
C.inta[2][3]={{1,2,3},{4,5,6}};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:A行數(shù)超2,B元素不足6個(補0),C標(biāo)準(zhǔn)初始化,D元素超6個,故選C。33、若charstr[10]="abcde";則str[5]的值是?()
A.'e'
B.'\0'
C.隨機值
D.無定義
【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。34、若inta[5]={1,2,3};則a[3]的值是?()
A.0
B.3
C.隨機值
D.無定義
【答案】:答案解析:初始化時未賦值的元素默認(rèn)為0,a[3]=0,故選A。35、若inta[4]={10,20,30,40};則a+1表示?()
A.10的地址
B.20的地址
C.30的地址
D.40的地址
【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故選B。36、若inta[4]={10,20,30,40};則*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。37、下列字符串常量定義正確的是?()
A.'abc'
B."abc"
C.abc
D."a""b"
【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標(biāo)識符,D語法錯誤,故選B。38、do-while循環(huán)的特點是?()
A.先判斷條件,后執(zhí)行循環(huán)體
B.先執(zhí)行循環(huán)體,后判斷條件
C.條件不滿足時也不執(zhí)行循環(huán)體
D.只能執(zhí)行一次
【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。39、若inta[5]={10,20,30,40,50};則a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:數(shù)組下標(biāo)從0開始,a[2]是第三個元素30,故選C。40、以下數(shù)組定義錯誤的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[5]={1,2,3,4,5,6};
D.inta[]={1,2,3,4,5};
【答案】:答案解析:C初始化元素超5個,編譯報錯,其余正確,故選C。41、若intx=10;則表達式x%3的結(jié)果是?()
A.1
B.2
C.3
D.0
【答案】:答案解析:%是取余運算符,10除以3商3余1,故選A。42、以下if語句中,賦值語句和判斷語句混淆的是?()
A.if(x==5)
B.if(x=5)
C.if(x!=5)
D.if(x>5)
【答案】:答案解析:x=5是賦值(將5賦給x),x==5是判斷(x是否等于5),B混淆了兩者,故選B。43、若inta[3][3]={{1},{2,3},{4,5,6}};則a[1][0]的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:a[1][0]是第二行第一列,值為2,故選A。44、以下if語句語法正確的是?()
A.if(x>0)printf("yes");
B.ifx>0printf("yes");
C.if(x>0);printf("yes");
D.if(x>0){printf("yes")}
【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導(dǎo)致語句結(jié)束,D缺少分號,故選A。45、定義單精度浮點型變量y并賦值2.718的語句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是單精度,需加f后綴(否則默認(rèn)double),double是雙精度,故選B。46、以下for循環(huán)中,循環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年秋季學(xué)期散學(xué)典禮校長講話:寒假三“己”行蓄力再出發(fā)
- 武漢體檢活動策劃方案(3篇)
- 水管銅管施工方案(3篇)
- 河道棧道施工方案(3篇)
- 濟南錐頭施工方案(3篇)
- 現(xiàn)場質(zhì)量施工方案(3篇)
- 電站充水施工方案(3篇)
- 窗戶卷簾施工方案(3篇)
- 練兵跑步活動方案策劃(3篇)
- 翔安隧道施工方案(3篇)
- 2025 AHA心肺復(fù)蘇與心血管急救指南
- 2026年九江職業(yè)大學(xué)單招職業(yè)適應(yīng)性測試題庫帶答案詳解
- 危化品庫區(qū)風(fēng)險動態(tài)評估-洞察與解讀
- 激光焊接技術(shù)規(guī)范
- 中國危重癥患者營養(yǎng)支持治療指南(2025年)
- 消防聯(lián)動排煙天窗施工方案
- 二手房提前交房協(xié)議書
- 2025年高考物理 微專題十 微元法(講義)(解析版)
- 2025年國家能源投資集團有限責(zé)任公司校園招聘筆試備考題庫含答案詳解(新)
- 形位公差培訓(xùn)講解
- 醫(yī)學(xué)影像肺部結(jié)節(jié)診斷與處理
評論
0/150
提交評論