版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
c語言基礎(chǔ)知識(shí)試題第一部分單選題(50題)1、若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。2、以下哪個(gè)數(shù)據(jù)類型的占用字節(jié)數(shù)最大?()
A.char
B.short
C.int
D.double
【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。3、以下for循環(huán)的循環(huán)變量初始化表達(dá)式為“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)
【答案】:答案解析:初始化表達(dá)式是for循環(huán)第一個(gè)部分,B中i=5符合,其余初始化非5,故選B。4、以下函數(shù)定義錯(cuò)誤的是?()
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表達(dá)式a,語法錯(cuò)誤,故選D。5、若intx=5;則表達(dá)式++x的結(jié)果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運(yùn)算,結(jié)果為6,故選B。6、若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。7、若intx=4;執(zhí)行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}輸出結(jié)果是?()
A.04
B.4
C.204
D.無輸出
【答案】:答案解析:x=4匹配case4,執(zhí)行輸出4,break跳出,故選B。8、以下指針運(yùn)算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
D.p-2
【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。9、二維數(shù)組a[3][4]的元素個(gè)數(shù)是?()
A.7
B.12
C.3
D.4
【答案】:答案解析:3行4列,共3×4=12個(gè)元素,故選B。10、若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ī)值?題目未說明存儲(chǔ)類別,通常默認(rèn)全局,a[2]=0,故選A。11、指針與數(shù)組的關(guān)系,以下說法正確的是?()
A.數(shù)組名是常量指針,不能自增
B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組
C.p[i]等價(jià)于*(p+i)
D.以上都正確
【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價(jià),故選D。12、邏輯表達(dá)式!0的結(jié)果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C語言中非0為真,!是邏輯非,!0(假)結(jié)果為1(真),故選B。13、邏輯表達(dá)式!5的結(jié)果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。14、以下關(guān)于指針數(shù)組的定義正確的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指針數(shù)組(5個(gè)int指針),B是指向數(shù)組的指針,C是普通數(shù)組,D缺少長度,故選A。15、表達(dá)式5>3&&2<4的結(jié)果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:5>3為真(1),2<4為真(1),邏輯與&&結(jié)果為1,故選B。16、以下if語句中,邏輯非運(yùn)算符使用正確的是?()
A.if(!x)printf("yes");
B.if(!x==0)printf("yes");
C.if(!(x>0))printf("yes");
D.A和C
【答案】:答案解析:!x表示“x為假(0)”,!(x>0)表示“x不大于0”,均正確;B中!x==0等價(jià)于x!=0,邏輯不同,故選D。17、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)形參不能是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均可作為數(shù)組形參,故選D。18、以下數(shù)組定義中,長度為5的是?()
A.inta[5];
B.inta[]={1,2,3,4,5};
C.charstr[]="abcd";
D.以上都是
【答案】:答案解析:A長度5,B長度5,C字符串"abcd"含\0共5個(gè)字符,故選D。19、若inta[4]={10,20,30,40};則*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三個(gè)元素地址,*(a+2)=a[2]=30,故選B。20、以下函數(shù)參數(shù)為指針的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。21、若inta=2;執(zhí)行a*=a+3;后a的值是?()
A.7
B.10
C.14
D.5
【答案】:答案解析:a*=a+3等價(jià)于a=a*(a+3)=2*(2+3)=10,故選B。22、若inta=10,*p=&a,q=p;則q的值是?()
A.10
B.&a
C.p
D.無定義
【答案】:答案解析:q=p使q指向a,*q=10,故選A。23、定義整型變量x、y并均賦值10的語句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定義多個(gè)變量用逗號(hào)分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。24、以下哪個(gè)字符串的長度是3?()
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串長度以\0結(jié)束,"abc"含a、b、c(3個(gè)字符),"a\0b"長度為1,故選A。25、若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。26、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負(fù)");elseif(x==0)printf("零");elseprintf("正");
A.多個(gè)條件可同時(shí)滿足
B.僅執(zhí)行第一個(gè)滿足的條件分支
C.所有滿足的條件分支都執(zhí)行
D.無滿足條件則不執(zhí)行
【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個(gè)滿足條件的分支,故選B。27、若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í)行第三個(gè)分支,輸出C,故選C。28、若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。29、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)中修改數(shù)組元素會(huì)影響主調(diào)函數(shù)中的數(shù)組嗎?()
A.會(huì)(指針傳遞)
B.不會(huì)(值傳遞)
C.取決于數(shù)組長度
D.不確定
【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會(huì)同步到主調(diào)函數(shù)數(shù)組,故選A。30、若inta[5];則數(shù)組a的元素個(gè)數(shù)是?()
A.4
B.5
C.6
D.不確定
【答案】:答案解析:數(shù)組a[5]定義5個(gè)元素(下標(biāo)0-4),故選B。31、若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。32、若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。33、以下switch語句中,case穿透的情況是?()
A.case后加break
B.case后不加break
C.有default
D.無default
【答案】:答案解析:case后不加break會(huì)繼續(xù)執(zhí)行下一個(gè)case的代碼(穿透),加break則跳出,故選B。34、以下數(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字符串自動(dòng)加\0,B長度5不足以存hello(含\0共6個(gè)字符),C無\0(字符串不完整),D長度5超,故選A。35、以下哪個(gè)函數(shù)用于讀取字符?()
A.putchar()
B.gets()
C.getchar()
D.printf()
【答案】:答案解析:getchar()讀取單個(gè)字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。36、以下二維數(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個(gè)元素(3列×2行),C行數(shù)2,故選D。37、函數(shù)調(diào)用時(shí),實(shí)參的順序必須與形參的順序?()
A.一致
B.相反
C.無關(guān)
D.部分一致
【答案】:答案解析:實(shí)參和形參需按順序一一對(duì)應(yīng)(類型、個(gè)數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯(cuò)誤,故選A。38、以下定義指向數(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等價(jià)于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。39、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。40、以下關(guān)于數(shù)組的說法正確的是?()
A.數(shù)組長度可動(dòng)態(tài)修改
B.數(shù)組元素可不同類型
C.數(shù)組在內(nèi)存中連續(xù)存儲(chǔ)
D.數(shù)組名可作為左值賦值
【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。41、以下哪個(gè)操作會(huì)導(dǎo)致野指針?()
A.指針未初始化
B.指針指向的內(nèi)存被釋放后未置空
C.指針越界訪問
D.以上都是
【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會(huì)導(dǎo)致野指針,故選D。42、以下switch語句中,break語句的位置正確的是?()
A.case后任意位置
B.必須在case代碼最后
C.必須在default后
D.不能在default后
【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。43、以下數(shù)組定義中,正確的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合數(shù)組定義規(guī)則,故選D。44、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.無定義
【答案】:答案解析:if后分號(hào)表示空語句,else執(zhí)行a=20,故選B。45、以下關(guān)于函數(shù)遞歸的說法錯(cuò)誤的是?()
A.必須有終止條件
B.可能導(dǎo)致棧溢出
C.效率比循環(huán)高
D.代碼簡潔
【答案】:答案解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南鄭州技師學(xué)院招聘輔導(dǎo)員、教師備考題庫及答案詳解參考
- 2025河北承德市寬城滿族自治縣人力資源和社會(huì)保障局招聘公益性崗位人員11人備考題庫完整參考答案詳解
- 2026云南玉溪市華寧縣衛(wèi)生健康局事業(yè)單位招聘9人備考題庫及答案詳解參考
- 2026山西呂梁市石樓縣人民政府征兵辦公室面向社會(huì)遴選聘用廉潔征兵監(jiān)督員備考題庫帶答案詳解
- 2026河北張家口市康??h公安局招聘警務(wù)輔助工作人員23人備考題庫含答案詳解
- 2026廣西百色市應(yīng)急管理局招聘百色市綜合性森林消防應(yīng)急救援支隊(duì)隊(duì)員7人備考題庫完整答案詳解
- 2025年山東省體育局所屬事業(yè)單位公開招聘人員備考題庫(2名)及參考答案詳解1套
- 2026寧夏招錄選調(diào)生選報(bào)5人備考題庫完整參考答案詳解
- 2026上半年黑龍江省水利廳事業(yè)單位招聘25人備考題庫及一套答案詳解
- 2026廣東廣州市越秀區(qū)華樂街招聘輔助人員1人備考題庫及參考答案詳解一套
- 工程投資估算與審核編制操作規(guī)程
- 《小企業(yè)會(huì)計(jì)準(zhǔn)則》教案(2025-2026學(xué)年)
- 合成生物學(xué)在呼吸系統(tǒng)疾病治療中的應(yīng)用
- 華為全員持股協(xié)議書
- 2025至2030中國代駕行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評(píng)估報(bào)告
- 2026屆黑龍江省優(yōu)才計(jì)劃 中學(xué)生標(biāo)準(zhǔn)學(xué)術(shù)能力測試高三數(shù)學(xué)聯(lián)考試題(含解析)
- 2025年國家開放大學(xué)《交通運(yùn)輸管理》期末考試備考試題及答案解析
- 天然氣埋管施工方案
- 2025-2026學(xué)年浙美版二年級(jí)美術(shù)上冊(cè)全冊(cè)教案
- 春節(jié)前停工停產(chǎn)安全培訓(xùn)課件
- 儀表安全生產(chǎn)責(zé)任制
評(píng)論
0/150
提交評(píng)論