貴州大學(xué)c語言期末試題(典優(yōu))_第1頁
貴州大學(xué)c語言期末試題(典優(yōu))_第2頁
貴州大學(xué)c語言期末試題(典優(yōu))_第3頁
貴州大學(xué)c語言期末試題(典優(yōu))_第4頁
貴州大學(xué)c語言期末試題(典優(yōu))_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

貴州大學(xué)c語言期末試題第一部分單選題(50題)1、若inta=3,b=4;則表達(dá)式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先參與運(yùn)算(ab=3*4=12),再自增(b變?yōu)?),故選A。2、若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時(shí)break,輸出012,故選A。3、以下switch語句中,default的執(zhí)行時(shí)機(jī)是?()

A.所有case都不匹配時(shí)

B.第一個(gè)case不匹配時(shí)

C.最后一個(gè)case不匹配時(shí)

D.任何時(shí)候

【答案】:答案解析:default僅在所有case都不匹配時(shí)執(zhí)行,故選A。4、以下關(guān)于函數(shù)遞歸的說法錯(cuò)誤的是?()

A.必須有終止條件

B.可能導(dǎo)致棧溢出

C.效率比循環(huán)高

D.代碼簡(jiǎn)潔

【答案】:答案解析:遞歸調(diào)用會(huì)創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯(cuò)誤,故選C。5、若inta[5]={1,2,3};則a[3]的值是?()

A.0

B.3

C.隨機(jī)值

D.無定義

【答案】:答案解析:初始化時(shí)未賦值的元素默認(rèn)為0,a[3]=0,故選A。6、若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時(shí)執(zhí)行continue,跳過printf,輸出0134,故選A。7、若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。8、下列變量定義語法正確的是?()

A.inta=5;

B.inta=b=5;

C.int5a;

D.inta;b;

【答案】:答案解析:B不能連續(xù)賦值定義,C標(biāo)識(shí)符開頭錯(cuò)誤,D分號(hào)分隔需分別定義(inta;intb;),故選A。9、若charstr="abcde";則(str+4)的值是?()

A.'d'

B.'e'

C.'\0'

D.無定義

【答案】:答案解析:str+4指向第5個(gè)字符,值為'e',故選B。10、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。11、以下if-else語句中,代碼塊正確的是?()

A.if(x>0)printf("a");printf("b");elseprintf("c");

B.if(x>0){printf("a");printf("b");}elseprintf("c");

C.if(x>0)printf("a");{printf("b");}elseprintf("c");

D.if(x>0)printf("a");printf("b");else{printf("c");}

【答案】:答案解析:else需與最近的if匹配,A、C、D中else前有獨(dú)立printf,語法錯(cuò)誤,B用{}包裹代碼塊正確,故選B。12、若intx=9;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>8)printf("B");elseif(x>6)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=9>8,執(zhí)行第二個(gè)分支,輸出B,故選B。13、函數(shù)返回值的類型與return語句中表達(dá)式類型不一致時(shí),會(huì)?()

A.編譯錯(cuò)誤

B.自動(dòng)強(qiáng)制轉(zhuǎn)換為函數(shù)返回類型

C.程序崩潰

D.無影響

【答案】:答案解析:編譯器會(huì)將return表達(dá)式類型強(qiáng)制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報(bào)錯(cuò),故選B。14、若inti=0;執(zhí)行while(i<5){i++;if(i==3)continue;printf("%d",i);}輸出結(jié)果是?()

A.1245

B.12345

C.01245

D.無輸出

【答案】:答案解析:i=3時(shí)continue,跳過printf,輸出1、2、4、5,故選A。15、函數(shù)指針的作用是?()

A.存儲(chǔ)函數(shù)的地址

B.調(diào)用函數(shù)

C.實(shí)現(xiàn)回調(diào)函數(shù)

D.以上都正確

【答案】:答案解析:函數(shù)指針存儲(chǔ)函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。16、以下if語句中,邏輯運(yùn)算符使用正確的是?()

A.if(x>3&&x<7)

B.if(x>3&x<7)

C.if(x>3|||x<7)

D.if(x>3||x<7)

【答案】:答案解析:邏輯與用&&,邏輯或用||,B是按位與,C多寫||,D邏輯錯(cuò)誤(x>3或x<7恒為真),故選A。17、以下關(guān)于指針的說法錯(cuò)誤的是?()

A.指針可指向變量、數(shù)組、函數(shù)

B.指針可進(jìn)行算術(shù)運(yùn)算(如++、--)

C.指針可指向自身

D.指針可用于動(dòng)態(tài)內(nèi)存分配

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。18、邏輯表達(dá)式!5的結(jié)果是?()

A.0

B.1

C.5

D.真

【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。19、數(shù)組名作為函數(shù)參數(shù)時(shí),傳遞的是?()

A.數(shù)組第一個(gè)元素的值

B.數(shù)組所有元素的值

C.數(shù)組第一個(gè)元素的地址

D.數(shù)組長(zhǎng)度

【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。20、以下哪個(gè)函數(shù)用于讀取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()讀取單個(gè)字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。21、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價(jià)于a=a-2,4-2=2,故選A。22、以下二維數(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。23、函數(shù)中局部變量的作用域是?()

A.整個(gè)程序

B.函數(shù)內(nèi)部

C.函數(shù)外部

D.所有函數(shù)

【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。24、以下哪個(gè)函數(shù)用于輸出字符串?()

A.putchar()

B.printf()

C.gets()

D.scanf()

【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個(gè)字符,故選B。25、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

C.charstr[]={'C'};

D.charstr[2]={'C','\0'};

【答案】:答案解析:A用雙引號(hào)定義字符串(自動(dòng)加\0),B單引號(hào)用于字符常量,C無\0,D長(zhǎng)度2正確但A更簡(jiǎn)潔,故選A。26、以下關(guān)于return語句的說法正確的是?()

A.函數(shù)中可有多條return語句

B.函數(shù)中必須有return語句

C.return語句必須在函數(shù)末尾

D.return語句只能返回一個(gè)值

【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個(gè)值(返回多個(gè)值需用指針/數(shù)組),故選A。27、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。28、以下數(shù)組定義中,長(zhǎng)度為5的是?()

A.inta[5];

B.inta[]={1,2,3,4,5};

C.charstr[]="abcd";

D.以上都是

【答案】:答案解析:A長(zhǎng)度5,B長(zhǎng)度5,C字符串"abcd"含\0共5個(gè)字符,故選D。29、以下switch語句語法錯(cuò)誤的是?()

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是浮點(diǎn)型,語法錯(cuò)誤,故選C。30、以下函數(shù)調(diào)用正確的是?()

A.fun();

B.fun(1,2);

C.fun("test");

D.取決于函數(shù)定義

【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個(gè)數(shù)),A、B、C均可能正確,故選D。31、以下函數(shù)聲明中,返回類型為float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回類型為float,B無返回值,C返回類型int,D返回類型char,故選A。32、表達(dá)式5>3&&2<4的結(jié)果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:5>3為真(1),2<4為真(1),邏輯與&&結(jié)果為1,故選B。33、以下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。34、若inta=4;執(zhí)行if(a--<4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a--是后置自減,條件判斷時(shí)a=4,4<4為假,執(zhí)行else(輸出B),后a變?yōu)?,故選B。35、以下函數(shù)無返回值的是?()

A.intfun(){return0;}

B.voidfun(){printf("hello");}

C.floatfun(){return3.14;}

D.charfun(){return'b';}

【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。36、以下哪個(gè)是C語言的循環(huán)語句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C語言循環(huán)語句包括for、while、do-while,if/else是選擇語句,switch是多分支選擇語句,故選B。37、若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。38、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語言中假用0表示,故選B。39、若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。40、以下哪個(gè)條件表達(dá)式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

B.x>=5&&x<=10

C.x>=5||x<=10

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個(gè)判斷,A語法錯(cuò)誤,C邏輯錯(cuò)誤,D語法錯(cuò)誤,故選B。41、函數(shù)定義和函數(shù)聲明的區(qū)別是?()

A.定義包含函數(shù)體,聲明不包含

B.聲明包含函數(shù)體,定義不包含

C.定義和聲明無區(qū)別

D.定義在程序開頭,聲明在結(jié)尾

【答案】:答案解析:函數(shù)定義是完整實(shí)現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。42、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()

A.偶數(shù)

B.奇數(shù)

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。43、若floatf=5.9;強(qiáng)制轉(zhuǎn)換為整型的表達(dá)式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:強(qiáng)制類型轉(zhuǎn)換格式為(目標(biāo)類型)變量,(int)f結(jié)果為5(取整數(shù)部分),故選B。44、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價(jià)于a=a/3=6/3=2,故選A。45、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是局部變量

B.實(shí)參是局部變量

C.形參在函數(shù)調(diào)用后釋放

D.實(shí)參在函數(shù)調(diào)用后釋放

【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時(shí)分配內(nèi)存,調(diào)用結(jié)束釋放),實(shí)參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。46、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。47、以下指針運(yùn)算錯(cuò)誤的是?()

A.inta

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論