版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
c語言上機(jī)考試題庫第一部分單選題(50題)1、以下關(guān)于指針數(shù)組和數(shù)組指針的說法正確的是?()
A.指針數(shù)組是數(shù)組,元素為指針
B.數(shù)組指針是指針,指向數(shù)組
C.int*arr[5]是指針數(shù)組,int(*arr)[5]是數(shù)組指針
D.以上都正確
【答案】:答案解析:A、B、C均準(zhǔn)確區(qū)分了指針數(shù)組和數(shù)組指針,故選D。2、若inta=10,*p=&a;則sizeof(p)的值是?()
A.4
B.8
C.取決于系統(tǒng)
D.10
【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。3、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。4、若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。5、以下哪個表達(dá)式可訪問數(shù)組a的第i個元素(i從1開始)?()
A.a[i]
B.a[i-1]
C.*(a+i)
D.*(a+i-1)
【答案】:答案解析:數(shù)組下標(biāo)從0開始,第i個元素對應(yīng)下標(biāo)i-1,a[i-1]正確,C、D是指針訪問(對應(yīng)下標(biāo)i),故選B。6、以下switch語句中,break語句的位置正確的是?()
A.case后任意位置
B.必須在case代碼最后
C.必須在default后
D.不能在default后
【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。7、若intx=2;執(zhí)行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}輸出結(jié)果是?()
A.01
B.23
C.0123
D.無輸出
【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出23,故選B。8、若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。9、以下數(shù)組初始化正確的是?()
A.charstr[]="hello";
B.charstr[5]="hello";
C.charstr[]={'h','e','l','l','o'};
D.charstr[5]={'h','e','l','l','o','\0'};
【答案】:答案解析:A字符串自動加\0,B長度5不足以存hello(含\0共6個字符),C無\0(字符串不完整),D長度5超,故選A。10、以下定義函數(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。11、指針的核心優(yōu)勢是?()
A.間接訪問變量,靈活操作內(nèi)存
B.提高程序效率,減少內(nèi)存開銷
C.支持動態(tài)內(nèi)存分配和函數(shù)回調(diào)
D.以上都正確
【答案】:答案解析:指針的核心優(yōu)勢包括間接訪問、高效、動態(tài)內(nèi)存、回調(diào)等,故選D。12、若intx=1;執(zhí)行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}輸出結(jié)果是?()
A.1
B.12
C.123
D.無輸出
【答案】:答案解析:x=1匹配case1,無break,穿透到case2(執(zhí)行后break),輸出12,故選B。13、以下轉(zhuǎn)義字符表示換行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。14、以下switch語句中,正確使用字符常量的是?()
A.switch(c){case'A':printf("A");break;}
B.switch(c){caseA:printf("A");break;}
C.switch(c){case"A":printf("A");break;}
D.switch(c){case'a':'b':printf("ab");break;}
【答案】:答案解析:字符常量用單引號,B是標(biāo)識符,C是字符串,D語法錯誤(多個case需分開),故選A。15、以下指針運算中,結(jié)果為指針的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。16、若inta[3]={1,2,3},p=a;則(p+2)的值是?()
A.1
B.2
C.3
D.無定義
【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故選C。17、若inta[5]={10,20,30,40,50};則a[4]的值是?()
A.40
B.50
C.60
D.無定義
【答案】:答案解析:a[4]是第五個元素,值為50,故選B。18、以下定義指向字符串的指針正確的是?()
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。19、函數(shù)參數(shù)傳遞中,值傳遞的特點是?()
A.形參修改影響實參
B.形參是實參的副本
C.傳遞的是變量地址
D.用于數(shù)組傳參
【答案】:答案解析:值傳遞時形參是實參的拷貝,修改形參不影響實參,地址傳遞才影響實參,故選B。20、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.無定義
【答案】:答案解析:if后分號表示空語句,else執(zhí)行a=20,故選B。21、表達(dá)式5>3&&2<4的結(jié)果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:5>3為真(1),2<4為真(1),邏輯與&&結(jié)果為1,故選B。22、以下哪個是C語言中的賦值運算符?()
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是賦值運算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。23、C語言中基本數(shù)據(jù)類型不包括以下哪項?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。24、以下哪個是合法的字符常量?()
A."a"
B.'ab'
C.'a'
D.a
【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標(biāo)識符,故選C。25、以下函數(shù)調(diào)用時,實參為常量的是?()
A.fun(5);
B.fun(a);
C.fun(&a);
D.fun("abc");
【答案】:答案解析:A中5是常量,B是變量,C是變量地址,D是字符串常量,題目問“常量”,A正確,故選A。26、若intx=6;執(zhí)行以下代碼后輸出結(jié)果是?()if(x<5){printf("A");}elseif(x<8){printf("B");}else{printf("C");}
A.A
B.B
C.C
D.無輸出
【答案】:答案解析:x=6<8,執(zhí)行第二個分支,輸出B,故選B。27、若inta[5]={1,2,3,4,5};則*(a+4)的值是?()
A.4
B.5
C.1
D.2
【答案】:答案解析:a+4是第五個元素地址,*(a+4)=a[4]=5,故選B。28、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。29、以下循環(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。30、若charstr="abcde";則(str+4)的值是?()
A.'d'
B.'e'
C.'\0'
D.無定義
【答案】:答案解析:str+4指向第5個字符,值為'e',故選B。31、函數(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。32、以下二維數(shù)組定義正確的是?()
A.inta[2][3];
B.inta[2][];
C.inta[][3]={1,2,3,4,5,6};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:B第二維不能省略,C第一維可省略(自動計算為2),D初始化元素超6個(2×3=6),A標(biāo)準(zhǔn)定義正確,故選A。33、以下switch語句中,case后的常量可以是?()
A.整數(shù)
B.字符
C.枚舉常量
D.以上都可以
【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。34、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}輸出結(jié)果是?()
A.012
B.0123
C.01234
D.無輸出
【答案】:答案解析:i=3時break,輸出012,故選A。35、以下switch語句語法錯誤的是?()
A.switch(x){case1:printf("1");break;}
B.switch(x){case'a':printf("a");break;}
C.switch(x){case1.5:printf("1.5");break;}
D.switch(x){default:printf("0");}
【答案】:答案解析:case后必須是整型常量,1.5是浮點型,語法錯誤,故選C。36、若inta[5]={1,2,3,4,5};則a[5]是?()
A.5
B.0
C.越界訪問
D.無定義
【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。37、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()
A.0
B.3
C.隨機(jī)值
D.無定義
【答案】:答案解析:全局?jǐn)?shù)組默認(rèn)0,局部數(shù)組未初始化是隨機(jī)值?題目未說明存儲類別,通常默認(rèn)全局,a[2]=0,故選A。38、以下哪個是C語言的循環(huán)語句?()
A.if
B.for
C.else
D.switch
【答案】:答案解析:C語言循環(huán)語句包括for、while、do-while,if/else是選擇語句,switch是多分支選擇語句,故選B。39、以下關(guān)于main函數(shù)的說法錯誤的是?()
A.程序從main開始執(zhí)行
B.main函數(shù)可帶參數(shù)
C.main函數(shù)必須有返回值
D.main函數(shù)可調(diào)用其他函數(shù)
【答案】:答案解析:main函數(shù)可聲明為void(無返回值),C說法錯誤,A、B、D正確,故選C。40、以下if語句中,條件表達(dá)式正確的是?()
A.if(x=5)printf("yes");
B.if(x==5)printf("yes");
C.if(x=5;)printf("yes");
D.if(x==5;)printf("yes");
【答案】:答案解析:if條件需是判斷表達(dá)式(==),A是賦值,C、D多加分號,故選B。41、以下二維數(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。42、表示“x大于5且小于10”的合法C語言表達(dá)式是?()
A.5<x<10
B.x>5||x<10
C.x>5&&x<10
D.x>5&x<10
【答案】:答案解析:邏輯與用&&,邏輯或用||,A是連續(xù)比較語法錯誤,&是按位與,故選C。43、以下指針與函數(shù)的關(guān)系正確的是?()
A.函數(shù)名是函數(shù)的地址
B.函數(shù)指針可指向函數(shù)
C.可通過函數(shù)指針調(diào)用函數(shù)
D.以上都正確
【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。44、以下關(guān)于return語句的說法正確的是?()
A.函數(shù)中可有多條return語句
B.函數(shù)中必須有return語句
C.return語句必須在函數(shù)末尾
D.return語句只能返回一個值
【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個值(返回多個值需用指針/
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計學(xué)堂考試試題及答案
- 快速適應(yīng)新環(huán)境能力測試題及答案
- 2025年國家公務(wù)員政治理論知識考試練習(xí)題(含答案)
- 2025年《醫(yī)療器械經(jīng)營監(jiān)督管理辦法》試題及答案
- 營救人質(zhì)考試題及答案
- LG(中國)校招面試題及答案
- 大學(xué)思修試題題庫及答案
- 未來五年自動化測試設(shè)備企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 中煤第三建設(shè)集團(tuán)(貴州)有限責(zé)任公司項目部管技人員招聘參考題庫附答案
- 興業(yè)銀行2026春季校園招聘備考題庫附答案
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人考試參考題庫及答案解析
- 耳鼻喉科2025年工作總結(jié)及2026年工作規(guī)劃
- 廢舊材料回收合同范本
- 2025年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院單招(計算機(jī))測試備考題庫附答案
- 鐵路治安管理大講堂課件
- 2026屆山東省高考質(zhì)量測評聯(lián)盟大聯(lián)考高三上學(xué)期12月聯(lián)考?xì)v史試題(含答案)
- 圓錐曲線壓軸題30題2023
- 浙江省杭州市2022-2023學(xué)年四年級上學(xué)期語文期末試卷(含答案)2
- 試模報告模板
- 《我們?yōu)槭裁匆獙W(xué)習(xí)》的主題班會
- 海岸動力學(xué)課后習(xí)題答案詳解
評論
0/150
提交評論