c語言編程期末測試題及答案(網(wǎng)校專用)_第1頁
c語言編程期末測試題及答案(網(wǎng)校專用)_第2頁
c語言編程期末測試題及答案(網(wǎng)校專用)_第3頁
c語言編程期末測試題及答案(網(wǎng)校專用)_第4頁
c語言編程期末測試題及答案(網(wǎng)校專用)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

c語言編程期末測試題第一部分單選題(50題)1、函數(shù)定義和函數(shù)聲明的區(qū)別是?()

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

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

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

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

【答案】:答案解析:函數(shù)定義是完整實(shí)現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。2、C語言程序的基本單位是?()

A.語句

B.函數(shù)

C.變量

D.表達(dá)式

【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實(shí)現(xiàn)功能,故選B。3、若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。4、轉(zhuǎn)義字符\0的作用是?()

A.表示空格

B.表示制表符

C.字符串結(jié)束標(biāo)志

D.換行

【答案】:答案解析:\0ASCII碼為0,是字符串默認(rèn)結(jié)束標(biāo)志,不計(jì)入長度,故選C。5、以下循環(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。6、以下數(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。7、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)中修改數(shù)組元素會影響主調(diào)函數(shù)中的數(shù)組嗎?()

A.會(指針傳遞)

B.不會(值傳遞)

C.取決于數(shù)組長度

D.不確定

【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會同步到主調(diào)函數(shù)數(shù)組,故選A。8、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)形參不能是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均可作為數(shù)組形參,故選D。9、以下關(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。10、以下switch語句語法錯(cuò)誤的是?()

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ù),編譯報(bào)錯(cuò),故選D。11、以下轉(zhuǎn)義字符表示換行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。12、以下數(shù)組初始化錯(cuò)誤的是?()

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初始化元素個(gè)數(shù)超數(shù)組長度(5),編譯報(bào)錯(cuò),A、B、C正確,故選D。13、以下哪個(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。14、若intx=3;執(zhí)行以下代碼后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;

A.10

B.20

C.30

D.無定義

【答案】:答案解析:x=3>2,執(zhí)行第二個(gè)分支,a=20,故選B。15、若inta[5]={1,2,3,4,5};則a[5]是?()

A.5

B.0

C.越界訪問

D.無定義

【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯(cuò)誤),故選C。16、若inta=7;執(zhí)行if(a%3==1)printf("A");elseif(a%3==2)printf("B");elseprintf("C");輸出結(jié)果是?()

A.A

B.B

C.C

D.無輸出

【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,條件1成立?哦7%3=1,應(yīng)輸出A?不對,7%3=1,第一個(gè)條件成立,輸出A?重新計(jì)算:7÷3=2余1,a%3=1,執(zhí)行第一個(gè)分支,輸出A,故選A(原解析修正:之前誤算,正確結(jié)果A)。17、若inti=1;執(zhí)行while(i<=3){printf("%d",i);i++;}輸出結(jié)果是?()

A.123

B.1234

C.012

D.無輸出

【答案】:答案解析:i初始1,滿足i<=3,執(zhí)行3次,輸出123,i最終4,循環(huán)結(jié)束,故選A。18、以下函數(shù)聲明正確的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正確

【答案】:答案解析:函數(shù)聲明可省略形參名(只留類型),A、B、C均符合語法,故選D。19、以下for循環(huán)中,用于計(jì)算1到5的平方和的是?()

A.s=0;for(i=1;i<=5;i++)s+=ii;

B.s=0;for(i=1;i<=5;i++)s+=i2;

C.s=1;for(i=1;i<=5;i++)s*=i;

D.s=0;for(i=1;i<=5;i++)s+=i+i;

【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。20、以下關(guān)于指針的說法錯(cuò)誤的是?()

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

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

C.指針可指向自身

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

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。21、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價(jià)于a=a/3=6/3=2,故選A。22、以下函數(shù)參數(shù)為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。23、若inta=3;執(zhí)行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:優(yōu)先級先乘后加,a+=aa等價(jià)于a=a+(aa)=3+(33)=12,故選A。24、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=3);輸出結(jié)果是?()

A.123

B.1234

C.012

D.無輸出

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷,共執(zhí)行3次,輸出123,故選A。25、以下if-else語句的語法錯(cuò)誤是?()

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

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

C.if(x>0)printf("a");else;printf("b");

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

【答案】:答案解析:else后不能直接加分號(否則else無作用),C中else;后printf獨(dú)立執(zhí)行,故選C。26、以下函數(shù)無返回值的是?()

A.intfun(){return0;}

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

C.floatfun(){return3.14;}

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

【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。27、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達(dá)式均正確的是?()

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)的三個(gè)表達(dá)式均合法,循環(huán)邏輯正確,故選D。28、以下關(guān)于函數(shù)的說法錯(cuò)誤的是?()

A.函數(shù)可嵌套調(diào)用

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

C.函數(shù)可重定義

D.函數(shù)可聲明多次

【答案】:答案解析:C函數(shù)名不能重定義(重復(fù)定義編譯報(bào)錯(cuò)),A、B、D正確,故選C。29、以下關(guān)于指針的說法正確的是?()

A.指針可用于實(shí)現(xiàn)多返回值函數(shù)

B.指針可提高程序效率

C.指針可用于動態(tài)內(nèi)存分配

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動態(tài)內(nèi)存分配,故選D。30、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語言中假用0表示,故選B。31、若intx=4;執(zhí)行if(x++>4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:x++是后置自增,條件判斷時(shí)x=4,4>4為假,執(zhí)行else(輸出B),后x變?yōu)?,故選B。32、若inta[5]={10,20,30,40,50};則a[4]的值是?()

A.40

B.50

C.60

D.無定義

【答案】:答案解析:a[4]是第五個(gè)元素,值為50,故選B。33、以下數(shù)組定義中,可省略數(shù)組長度的是?()

A.inta[5];

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

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

D.inta[][3];

【答案】:答案解析:初始化時(shí)可省略長度(編譯器自動計(jì)算),D二維數(shù)組第二維不能省略,故選B。34、函數(shù)參數(shù)傳遞中,值傳遞的特點(diǎn)是?()

A.形參修改影響實(shí)參

B.形參是實(shí)參的副本

C.傳遞的是變量地址

D.用于數(shù)組傳參

【答案】:答案解析:值傳遞時(shí)形參是實(shí)參的拷貝,修改形參不影響實(shí)參,地址傳遞才影響實(shí)參,故選B。35、以下if語句中,賦值表達(dá)式作為條件的是?()

A.if(x==3)

B.if(x=3)

C.if(x>3)

D.if(x!=3)

【答案】:答案解析:x=3是賦值表達(dá)式,結(jié)果為3(非0,真),其余是判斷表達(dá)式,故選B。36、若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。37、以下函數(shù)定義正確的是?()

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

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。38、以下switch語句中,default的執(zhí)行時(shí)機(jī)是?()

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

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

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

D.任何時(shí)候

【答案】:答案解析:default僅在所有case都不匹配時(shí)執(zhí)行,故選A。39、若inta[5]={1,2,3,4,5};則*(a+4)的值是?()

A.4

B.5

C.1

D.2

【答案】:答案解析:a+4是第五個(gè)元素地址,*(a+4)=a[4]=5,故選B。40、以下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。41、以下哪個(gè)操作會導(dǎo)致野指針?()

A.指針未初始化

B.指針指向的內(nèi)存被釋放后未置空

C.指針越界訪問

D.以上都是

【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導(dǎo)致野指針,故選D。42、以下函數(shù)定義錯(cuò)誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達(dá)式),return無表達(dá)式錯(cuò)誤,A、B、C正確,故選D。43、函數(shù)返回值的類型由______決定?()

A.return語句中的表達(dá)式類型

B.函數(shù)定義時(shí)的返回類型

C.函數(shù)調(diào)用時(shí)的參數(shù)類型

D.編譯器默認(rèn)類型

【答案】:答案解析:函數(shù)返回類型在定義時(shí)指定,return表達(dá)式類型需與返回類型匹配(不匹配則強(qiáng)制轉(zhuǎn)換),故選B。44、以下哪個(gè)不是C語言的關(guān)鍵字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C語言關(guān)鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。45、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。46、以下循環(huán)中,無限循環(huán)的是?()

A.for(i=0;i<5;i++)

B.while(i=5)

C.do{i++;}while(i<5);

D.for(i

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論