版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
期末c語言試題第一部分單選題(50題)1、以下關(guān)于循環(huán)語句的說法錯誤的是?()
A.for循環(huán)三個表達(dá)式均可省略
B.while循環(huán)先判斷后執(zhí)行
C.do-while循環(huán)至少執(zhí)行一次
D.continue可用于switch語句
【答案】:答案解析:continue僅用于循環(huán)語句,不能用于switch,A、B、C說法正確,故選D。2、以下字符串?dāng)?shù)組定義正確的是?()
A.charstr[5][10]={"hello","world"};
B.charstr[5][]={"hello","world"};
C.charstr[][10]={"hello","world","!"};
D.charstr[5][10]={"hello","world","!"};
【答案】:答案解析:B第二維不能省略,A、C、D均正確?D最完整(5行10列,初始化3個字符串),故選D。3、以下哪個是NULL指針?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正確
【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。4、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.無定義
【答案】:答案解析:if后分號表示空語句,else執(zhí)行a=20,故選B。5、以下for循環(huán)中,用于計算1到5的平方和的是?()
A.s=0;for(i=1;i<=5;i++)s+=ii;
B.s=0;for(i=1;i<=5;i++)s+=i2;
C.s=1;for(i=1;i<=5;i++)s*=i;
D.s=0;for(i=1;i<=5;i++)s+=i+i;
【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。6、以下函數(shù)遞歸調(diào)用的例子是?()
A.計算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。7、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。8、以下指針的算術(shù)運算中,單位是?()
A.1字節(jié)
B.指針指向類型的大小
C.4字節(jié)
D.8字節(jié)
【答案】:答案解析:指針?biāo)阈g(shù)運算(如p++)偏移量是指向類型的大小(如int指針+1偏移4字節(jié)),故選B。9、指針作為函數(shù)參數(shù)時,傳遞的是?()
A.指針的值
B.指針的地址
C.變量的值
D.變量的地址
【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。10、若intx=5;則表達(dá)式x+++x的結(jié)果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:結(jié)合性從左到右,x+++x等價于(x++)+x=5+6=11,故選B。11、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");
A.A
B.B
C.C
D.
【答案】:答案解析:x=5>3,執(zhí)行第三個分支,輸出C,故選C。12、若inti=0;執(zhí)行for(;;){if(i==4)break;printf("%d",i);i++;}輸出結(jié)果是?()
A.0123
B.01234
C.無限循環(huán)
D.無輸出
【答案】:答案解析:for(;;)是無限循環(huán),i=4時break,輸出0123,故選A。13、函數(shù)嵌套調(diào)用是指?()
A.函數(shù)調(diào)用自身
B.函數(shù)調(diào)用另一個函數(shù)
C.函數(shù)定義中包含另一個函數(shù)
D.多個函數(shù)互相調(diào)用
【答案】:答案解析:嵌套調(diào)用是函數(shù)A調(diào)用函數(shù)B,函數(shù)B調(diào)用函數(shù)C,遞歸是調(diào)用自身,故選B。14、以下指針運算中,結(jié)果為指針的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。15、以下定義指向二維數(shù)組的指針正確的是?()
A.inta[2][3],(*p)[3]=a;
B.inta[2][3],*p=a;
C.inta[2][3],p=a[0];
D.inta[2][3],*p=&a;
【答案】:答案解析:A是指向3列數(shù)組的指針(匹配二維數(shù)組a的行),B、C、D類型不匹配,故選A。16、若inta[3][2]={{1,2},{3,4},{5,6}};則a[2][1]的值是?()
A.5
B.6
C.3
D.4
【答案】:答案解析:a[2][1]是第三行第二列,值為6,故選B。17、以下關(guān)于數(shù)組的說法正確的是?()
A.數(shù)組長度可動態(tài)修改
B.數(shù)組元素可不同類型
C.數(shù)組在內(nèi)存中連續(xù)存儲
D.數(shù)組名可作為左值賦值
【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。18、若inta=3,b=4;則表達(dá)式ab++的值是?()
A.12
B.15
C.16
D.7
【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。19、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()
A.形參是局部變量
B.實參是局部變量
C.形參在函數(shù)調(diào)用后釋放
D.實參在函數(shù)調(diào)用后釋放
【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放),實參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。20、以下switch語句中,break語句的作用是?()
A.終止當(dāng)前case
B.終止switch語句
C.跳過下一個case
D.無作用
【答案】:答案解析:break在switch中用于跳出整個switch語句,避免case穿透,故選B。21、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}輸出結(jié)果是?()
A.13
B.024
C.01234
D.無輸出
【答案】:答案解析:i為偶數(shù)(0、2、4)時continue,輸出奇數(shù)1、3,故選A。22、若inta[4]={10,20,30,40};則*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。23、以下函數(shù)調(diào)用錯誤的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.無錯誤(需看函數(shù)定義)
【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應(yīng)無參函數(shù),B對應(yīng)單參函數(shù),C對應(yīng)雙參函數(shù),均可能正確,故選D。24、以下定義指向字符串的指針正確的是?()
A.char*str="hello";
B.charstr[]="hello";
C.char(*str)[]="hello";
D.charstr[5]="hello";
【答案】:答案解析:A是指向字符串常量的指針,B是字符數(shù)組,C是數(shù)組指針(類型不匹配),D長度不足(含\0需6字節(jié)),故選A。25、定義單精度浮點型變量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。26、以下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。27、函數(shù)調(diào)用時,實參和形參的個數(shù)必須?()
A.相等
B.實參多于形參
C.形參多于實參
D.無要求
【答案】:答案解析:函數(shù)調(diào)用時實參和形參個數(shù)、類型需匹配,否則編譯錯誤,故選A。28、函數(shù)定義和函數(shù)聲明的區(qū)別是?()
A.定義包含函數(shù)體,聲明不包含
B.聲明包含函數(shù)體,定義不包含
C.定義和聲明無區(qū)別
D.定義在程序開頭,聲明在結(jié)尾
【答案】:答案解析:函數(shù)定義是完整實現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。29、以下關(guān)于指針的說法正確的是?()
A.指針可用于遍歷數(shù)組
B.指針可用于字符串操作
C.指針可用于函數(shù)參數(shù)傳遞
D.以上都正確
【答案】:答案解析:指針在數(shù)組遍歷、字符串處理、參數(shù)傳遞中均有核心作用,故選D。30、break語句不能用于以下哪種結(jié)構(gòu)?()
A.for循環(huán)
B.while循環(huán)
C.do-while循環(huán)
D.if語句
【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。31、若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。32、以下循環(huán)語句中,語法正確的是?()
A.while(i<5){printf("%d",i);i++;}
B.while(i<5)printf("%d",i);i++;
C.do{printf("%d",i);i++;}while(i<5)
D.for(i=0;i<5)printf("%d",i);
【答案】:答案解析:B中i++在循環(huán)體外(循環(huán)無限),C缺少分號,D缺少更新表達(dá)式,A語法正確,故選A。33、若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。34、若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。35、以下關(guān)于return語句的說法正確的是?()
A.函數(shù)中可有多條return語句
B.函數(shù)中必須有return語句
C.return語句必須在函數(shù)末尾
D.return語句只能返回一個值
【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個值(返回多個值需用指針/數(shù)組),故選A。36、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。37、定義整型變量x、y并均賦值10的語句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。38、指針變量的作用是存儲?()
A.變量的值
B.變量的地址
C.函數(shù)的地址
D.數(shù)組的元素
【答案】:答案解析:指針變量專門存儲其他變量的內(nèi)存地址,故選B。39、do-while循環(huán)的語法格式正確的是?()
A.do語句;while(條件);
B.do{語句}while(條件)
C.do語句while(條件);
D.do;語句;while(條件);
【答案】:答案解析:do-while格式為“do循環(huán)體;while(條件);”,循環(huán)體可是單條語句或代碼塊,B缺少分號,C缺少分號,D循環(huán)體為空,故選A。40、以下關(guān)于動態(tài)內(nèi)存分配的說法正確的是?()
A.malloc函數(shù)用于動態(tài)分配內(nèi)存,返回void*
B.free函數(shù)用于釋放動態(tài)分配的內(nèi)存
C.動態(tài)分配的內(nèi)存需手動釋放,避免內(nèi)存泄漏
D.以上都正確
【答案】:答案解析:A、B、C均是動態(tài)內(nèi)存分配的核心規(guī)則,故選D。41、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()
A.23
B.2;3
C.2,3
D.2和3
【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴(yán)格對應(yīng),故選C。42、C語言程序編譯的正確順序是?()
A.預(yù)處理→編譯→匯編→鏈接
B.編譯→預(yù)處理→匯編→鏈接
C.預(yù)處理→匯編→編譯→鏈接
D.鏈接→編譯→匯編→預(yù)處理
【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。43、以下關(guān)于數(shù)組的說法錯誤的是?()
A.數(shù)組元素必須是同一類型
B.數(shù)組長度必須是常量
C.數(shù)組可在函數(shù)內(nèi)定義
D.數(shù)組可整體賦值
【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。44、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。45、轉(zhuǎn)義字符\0的作用是?
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)主播培訓(xùn)公司制度
- 木材加工廠教育培訓(xùn)制度
- 產(chǎn)科人員培訓(xùn)與演練制度
- 縣委黨校培訓(xùn)外出制度規(guī)定
- 安全上崗培訓(xùn)管理制度
- 包裝工廠人員培訓(xùn)制度
- 汽車維護人員培訓(xùn)制度
- 培訓(xùn)機構(gòu)火災(zāi)人員疏散制度
- 手術(shù)室護理教育培訓(xùn)制度
- 村務(wù)監(jiān)督委員會培訓(xùn)制度
- 年末節(jié)前安全教育培訓(xùn)
- GB/T 93-2025緊固件彈簧墊圈標(biāo)準(zhǔn)型
- 建筑公司工資薪酬管理制度(3篇)
- 2025至2030中國疝氣修補術(shù)行業(yè)調(diào)研及市場前景預(yù)測評估報告
- 建設(shè)工程測繪驗線標(biāo)準(zhǔn)報告模板
- 2024-2025學(xué)年福建省廈門市雙十中七年級(上)期末英語試卷
- 漢語言本科畢業(yè)論文范文模板
- 2025年協(xié)警輔警招聘考試題庫(新)及答案
- 統(tǒng)編版九年級上冊語文期末復(fù)習(xí):全冊重點考點手冊
- 鋼結(jié)構(gòu)施工優(yōu)化策略研究
- 車間輪崗工作總結(jié)
評論
0/150
提交評論