版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
期末c語言試題第一部分單選題(50題)1、遞歸函數(shù)的終止條件是?()
A.函數(shù)調(diào)用自身
B.函數(shù)返回值為0
C.不再調(diào)用自身的條件
D.無終止條件
【答案】:答案解析:遞歸函數(shù)必須有終止條件(否則無限遞歸棧溢出),終止條件是不再調(diào)用自身的判斷,故選C。2、以下哪個函數(shù)用于讀取字符?()
A.putchar()
B.gets()
C.getchar()
D.printf()
【答案】:答案解析:getchar()讀取單個字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。3、若inti=0,s=0;執(zhí)行for(i=1;i<=4;i++)s+=i;后s的值是?()
A.10
B.9
C.8
D.7
【答案】:答案解析:累加1+2+3+4=10,s=10,故選A。4、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達式均正確的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=0;i<5;i+=2)
D.以上都正確
【答案】:答案解析:A(遞增)、B(遞減)、C(步長2)的三個表達式均合法,循環(huán)邏輯正確,故選D。5、以下哪個是C語言中的賦值運算符?()
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是賦值運算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。6、以下二維數(shù)組定義中,行數(shù)為2的是?()
A.inta[2][3];
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][3]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A行數(shù)2,B初始化6個元素(3列×2行),C行數(shù)2,故選D。7、以下關(guān)于return語句的說法正確的是?()
A.函數(shù)中可有多條return語句
B.函數(shù)中必須有return語句
C.return語句必須在函數(shù)末尾
D.return語句只能返回一個值
【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個值(返回多個值需用指針/數(shù)組),故選A。8、以下關(guān)于循環(huán)語句的說法錯誤的是?()
A.for循環(huán)三個表達式均可省略
B.while循環(huán)先判斷后執(zhí)行
C.do-while循環(huán)至少執(zhí)行一次
D.continue可用于switch語句
【答案】:答案解析:continue僅用于循環(huán)語句,不能用于switch,A、B、C說法正確,故選D。9、若inta[5]={10,20,30,40,50};則a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:數(shù)組下標從0開始,a[2]是第三個元素30,故選C。10、以下關(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。11、若charstr="Clanguage";則(str+2)的值是?()
A.'C'
B.''
C.'l'
D.'a'
【答案】:答案解析:str+2指向第三個字符,值為'l',故選C。12、以下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。13、continue語句只能用于以下哪種結(jié)構(gòu)?()
A.循環(huán)語句
B.switch語句
C.if語句
D.所有結(jié)構(gòu)
【答案】:答案解析:continue僅用于循環(huán)語句(for/while/do-while),用于跳過本次循環(huán),故選A。14、break語句在循環(huán)中的作用是?()
A.跳過本次循環(huán),繼續(xù)下一次
B.終止整個循環(huán)
C.終止當(dāng)前語句
D.無作用
【答案】:答案解析:break在循環(huán)中用于終止整個循環(huán)(跳出循環(huán)體),continue是跳過本次循環(huán),故選B。15、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。16、若inti=5,s=0;執(zhí)行while(i>0){s+=i;i--;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故選A。17、以下函數(shù)調(diào)用正確的是?()
A.fun(5);
B.fun(3,4);
C.fun("hello");
D.取決于函數(shù)定義
【答案】:答案解析:函數(shù)調(diào)用需匹配函數(shù)定義的參數(shù)類型和個數(shù),A、B、C是否正確取決于函數(shù)定義,故選D。18、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}輸出結(jié)果是?()
A.0134
B.01234
C.01
D.無限循環(huán)
【答案】:答案解析:i=2時執(zhí)行continue,跳過printf,輸出0134,故選A。19、以下哪個是合法的字符常量?()
A."a"
B.'ab'
C.'a'
D.a
【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標識符,故選C。20、putchar()函數(shù)的功能是?()
A.讀取一個字符
B.輸出一個字符
C.讀取字符串
D.輸出字符串
【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。21、遞歸函數(shù)的優(yōu)點是?()
A.代碼簡潔,邏輯清晰
B.效率高,占用內(nèi)存少
C.避免棧溢出
D.適合所有問題
【答案】:答案解析:遞歸優(yōu)點是代碼簡潔(如階乘、斐波那契數(shù)列),缺點是效率低、占用??臻g多(可能溢出),故選A。22、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()
A.012
B.0123
C.01
D.無輸出
【答案】:答案解析:i=3時break,輸出012,故選A。23、函數(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。24、若charstr[]="helloworld";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。25、函數(shù)返回值的類型由______決定?()
A.return語句中的表達式類型
B.函數(shù)定義時的返回類型
C.函數(shù)調(diào)用時的參數(shù)類型
D.編譯器默認類型
【答案】:答案解析:函數(shù)返回類型在定義時指定,return表達式類型需與返回類型匹配(不匹配則強制轉(zhuǎn)換),故選B。26、以下關(guān)于數(shù)組的說法錯誤的是?()
A.數(shù)組元素必須是同一類型
B.數(shù)組長度必須是常量
C.數(shù)組可在函數(shù)內(nèi)定義
D.數(shù)組可整體賦值
【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。27、函數(shù)調(diào)用的一般格式是?()
A.函數(shù)名(實參列表);
B.函數(shù)名實參列表;
C.返回類型函數(shù)名(實參列表);
D.函數(shù)名=實參列表;
【答案】:答案解析:函數(shù)調(diào)用格式為“函數(shù)名(實參列表);”,實參與形參匹配,故選A。28、以下if語句中,賦值表達式作為條件的是?()
A.if(x==3)
B.if(x=3)
C.if(x>3)
D.if(x!=3)
【答案】:答案解析:x=3是賦值表達式,結(jié)果為3(非0,真),其余是判斷表達式,故選B。29、以下for循環(huán)的循環(huán)變量初始化表達式為“i=5”的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=2;i<=5;i++)
D.for(i=5;i<10;i+=2)
【答案】:答案解析:初始化表達式是for循環(huán)第一個部分,B中i=5符合,其余初始化非5,故選B。30、定義單精度浮點型變量y并賦值2.718的語句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是單精度,需加f后綴(否則默認double),double是雙精度,故選B。31、以下指針的算術(shù)運算中,單位是?()
A.1字節(jié)
B.指針指向類型的大小
C.4字節(jié)
D.8字節(jié)
【答案】:答案解析:指針算術(shù)運算(如p++)偏移量是指向類型的大?。ㄈ鏸nt指針+1偏移4字節(jié)),故選B。32、若inti=0;執(zhí)行while(1){if(i==3)break;printf("%d",i);i++;}輸出結(jié)果是?()
A.012
B.0123
C.無限循環(huán)
D.無輸出
【答案】:答案解析:while(1)是無限循環(huán),i=3時break,輸出012,故選A。33、以下switch語句語法正確的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");}
B.switch(x){case1:printf("1");case2:printf("2");break;}
C.switch(x){case1:printf("1");break;default:printf("0");}
D.以上都正確
【答案】:答案解析:switch語句case后可加break(跳出)或不加(穿透),default可選,A、B、C語法均正確,故選D。34、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。35、以下switch語句中,break語句的位置正確的是?()
A.case后任意位置
B.必須在case代碼最后
C.必須在default后
D.不能在default后
【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。36、以下循環(huán)語句中,執(zhí)行次數(shù)為5次的是?()
A.for(i=0;i<5;i++)
B.while(i<5){i++;}
C.do{i++;}while(i<5);
D.for(i=1;i<=5;i--)
【答案】:答案解析:A執(zhí)行5次(0-4),B、C未初始化i(若i初始0則5次,否則不確定),D初始i=1>0,執(zhí)行0次,故選A。37、以下關(guān)于數(shù)組初始化的說法正確的是?()
A.數(shù)組必須初始化
B.數(shù)組初始化時元素個數(shù)不能少于長度
C.數(shù)組初始化時可部分賦值
D.數(shù)組初始化后不能修改
【答案】:答案解析:數(shù)組可部分賦值(未賦值元素默認0),A數(shù)組可不用初始化,B可少于長度,D數(shù)組元素可修改,故選C。38、指針作為函數(shù)返回值時,不能返回?()
A.靜態(tài)局部變量的地址
B.全局變量的地址
C.動態(tài)分配內(nèi)存的地址
D.局部變量的地址
【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會導(dǎo)致野指針,故選D。39、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=0);輸出結(jié)果是?()
A.1
B.無輸出
C.無限循環(huán)
D.12
【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷i<=0為假,循環(huán)結(jié)束,故選A。40、以下數(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。41、若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。42、以下關(guān)于數(shù)組越界的說法正確的是?()
A.編譯時會報錯
B.運行時一定會崩潰
C.可能導(dǎo)致程序錯誤
D.無影響
【答案】:答案解析:數(shù)組越界屬于未定義行為,編譯時不報錯,運行時可能正?;虮罎ⅲ蔬xC。43、以下switch語句中,default的執(zhí)行時機是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。44、以下函數(shù)參數(shù)為指針的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。45、以下哪個字符串的長度是3?()
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串長度以\0結(jié)束,"abc"含a、b、c(3個字符),"a\0b"長度為1,故選A。4
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- XX初中2025年秋季學(xué)期課堂教學(xué)改革推進報告
- 江門旗袍活動策劃方案(3篇)
- ??诘匕迨┕し桨?3篇)
- 溫泉鉆探施工方案(3篇)
- 烤魚燒烤活動方案策劃(3篇)
- 白色膜施工方案(3篇)
- 確實施工方案(3篇)
- 竹制圍擋施工方案(3篇)
- 防水工程專項施工方案
- 聚氨酯地面施工方案(3篇)
- 北京市順義區(qū)2025-2026學(xué)年八年級上學(xué)期期末考試英語試題(原卷版+解析版)
- 中學(xué)生冬季防溺水主題安全教育宣傳活動
- 2026年藥廠安全生產(chǎn)知識培訓(xùn)試題(達標題)
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫及參考答案詳解1套
- 英語A級常用詞匯
- 整車安全滲透測試白皮書
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 小兒支氣管炎護理課件
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- 打針協(xié)議免責(zé)書
- 四川省成都市八年級上學(xué)期物理期末考試試卷及答案
評論
0/150
提交評論