版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
期末c語言試題第一部分單選題(50題)1、指針與數(shù)組的關(guān)系,以下說法正確的是?()
A.數(shù)組名是常量指針,不能自增
B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組
C.p[i]等價于*(p+i)
D.以上都正確
【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價,故選D。2、若inti=0;執(zhí)行while(i<5){i++;if(i==3)continue;printf("%d",i);}輸出結(jié)果是?()
A.1245
B.12345
C.01245
D.無輸出
【答案】:答案解析:i=3時continue,跳過printf,輸出1、2、4、5,故選A。3、C語言中,語句結(jié)束的標(biāo)志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。4、二維數(shù)組a[3][4]的元素個數(shù)是?()
A.7
B.12
C.3
D.4
【答案】:答案解析:3行4列,共3×4=12個元素,故選B。5、若inta=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。6、以下數(shù)組定義中,可省略數(shù)組長度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化時可省略長度(編譯器自動計算),D二維數(shù)組第二維不能省略,故選B。7、若inti=0;執(zhí)行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}輸出結(jié)果是?()
A.012
B.01
C.01234
D.無輸出
【答案】:答案解析:i=2時break,輸出012,故選A。8、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。9、若inta[4]={1,2,3,4};則a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四個元素,值為4,故選B。10、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。11、C語言程序編譯的正確順序是?()
A.預(yù)處理→編譯→匯編→鏈接
B.編譯→預(yù)處理→匯編→鏈接
C.預(yù)處理→匯編→編譯→鏈接
D.鏈接→編譯→匯編→預(yù)處理
【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。12、若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。13、以下函數(shù)遞歸調(diào)用的例子是?()
A.計算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。14、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.無定義
【答案】:答案解析:if后分號表示空語句,else執(zhí)行a=20,故選B。15、以下if語句的語法正確的是?()
A.if(x>0){printf("a");elseprintf("b");}
B.if(x>0)printf("a");else{printf("b");}
C.if(x>0)printf("a");elseprintf("b");}
D.if(x>0){printf("a");}elseprintf("b");}
【答案】:答案解析:A缺少},C多},D多},B語法正確(else后{}可加可不加),故選B。16、若inta=10,*p=&a,q=p;則q的值是?()
A.10
B.&a
C.p
D.無定義
【答案】:答案解析:q=p使q指向a,*q=10,故選A。17、若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。18、若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。19、若inti=0,s=0;執(zhí)行while(i<=3){s+=i2;i++;}后s的值是?()
A.12
B.6
C.8
D.10
【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故選A。20、若inta[4]={1,2,3,4};則*(a+1)的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a是首地址,a+1是第二個元素地址,*(a+1)=a[1]=2,故選B。21、以下switch語句中,default的位置可以在?()
A.所有case之前
B.所有case之后
C.兩個case之間
D.以上都可以
【答案】:答案解析:default位置靈活,可在case前、后或中間,不影響執(zhí)行邏輯,故選D。22、函數(shù)返回值的類型與return語句中表達(dá)式類型不一致時,會?()
A.編譯錯誤
B.自動強制轉(zhuǎn)換為函數(shù)返回類型
C.程序崩潰
D.無影響
【答案】:答案解析:編譯器會將return表達(dá)式類型強制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報錯,故選B。23、若intx=5;則表達(dá)式++x的結(jié)果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運算,結(jié)果為6,故選B。24、若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。25、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。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、以下關(guān)于指針的說法正確的是?()
A.野指針是指向無效地址的指針
B.空指針是野指針的一種
C.避免野指針需初始化并及時置空
D.以上都正確
【答案】:答案解析:A、B、C均是野指針的核心知識點,故選D。28、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()
A.30
B.40
C.50
D.無定義
【答案】:答案解析:a+3指向a[3],*p=40,故選B。29、以下函數(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。30、以下指針運算正確的是?()
A.inta=10,*p=&a;p++;
B.inta=10,*p=&a;p=a;
C.inta=10,*p=&a;p=&5;
D.inta=10,*p=&a;*p=&a;
【答案】:答案解析:A指針p自增(指向a的下一個地址),B不能將int值賦給指針,C不能取常量地址,D不能將地址賦給int變量,故選A。31、以下for循環(huán)的循環(huán)次數(shù)是?()for(inti=2;i<=8;i+=2)
A.3次
B.4次
C.5次
D.6次
【答案】:答案解析:i取值2、4、6、8,共4次,故選B。32、以下指針運算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
D.p-2
【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。33、若inti=1;執(zhí)行while(i<5){printf("%d",i);i+=2;}輸出結(jié)果是?()
A.13
B.135
C.1234
D.無輸出
【答案】:答案解析:i初始1,每次加2,執(zhí)行2次(1、3),輸出13,故選A。34、以下循環(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。35、以下哪個是C語言中的賦值運算符?()
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是賦值運算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。36、以下哪個表達(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。37、以下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。38、以下關(guān)于指針的說法錯誤的是?()
A.指針可指向變量、數(shù)組、函數(shù)
B.指針可進(jìn)行算術(shù)運算(如++、--)
C.指針可指向自身
D.指針可用于動態(tài)內(nèi)存分配
【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。39、以下函數(shù)定義中,參數(shù)為指針的是?()
A.voidfun(int*a){printf("%d",*a);}
B.voidfun(inta){printf("%d",a);}
C.voidfun(inta[]){printf("%d",a[0]);}
D.A和C
【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。40、若intx=5;執(zhí)行if(x>3&&x<7)printf("yes");elseprintf("no");輸出結(jié)果是?()
A.yes
B.no
C.yesno
D.無輸出
【答案】:答案解析:x=5>3且<7,條件為真,輸出yes,故選A。41、若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。42、以下哪個是NULL指針?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正確
【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。43、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。44、若inta[3][4]={{1,2},{3,4,5},{6}};則a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值為2,故選B。45、以下函數(shù)定義錯誤的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回類型int(必須return表達(dá)式),return
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 焊工證的模擬試題及答案
- (完整)醫(yī)師定期考核考試題庫及參考答案
- 齊齊哈爾市甘南縣招聘協(xié)管員考試真題及答案
- 江蘇航運考試題型及答案
- 高頻管教能手面試試題大全及答案
- 元江哈尼族彝族傣族自治縣公開遴選公務(wù)員筆試題及答案解析(A類)
- 生保產(chǎn)品考試及答案
- 高頻六大部門面試試題及答案
- 體育教招筆試題目及答案
- 高級經(jīng)濟(jì)師《工商管理》試題庫及答案
- 醫(yī)療行業(yè)知識產(chǎn)權(quán)教育的必要性
- 2024-2025學(xué)年滬教版(五四學(xué)制)(2024)初中英語六年級下冊(全冊)知識點歸納
- 五年級數(shù)學(xué)下冊寒假作業(yè)每日一練
- 傳染病院感防控課件
- 寒假生活有計劃主題班會
- 羅馬機場地圖
- 實習(xí)生醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 橫穿公路管道施工方案
- 快樂讀書吧:非洲民間故事(專項訓(xùn)練)-2023-2024學(xué)年五年級語文上冊(統(tǒng)編版)
- GB/T 19609-2024卷煙用常規(guī)分析用吸煙機測定總粒相物和焦油
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
評論
0/150
提交評論