C語言考試題庫(綜合題)_第1頁
C語言考試題庫(綜合題)_第2頁
C語言考試題庫(綜合題)_第3頁
C語言考試題庫(綜合題)_第4頁
C語言考試題庫(綜合題)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言考試題庫第一部分單選題(50題)1、以下關(guān)于數(shù)組初始化的說法正確的是?()

A.數(shù)組必須初始化

B.數(shù)組初始化時元素個數(shù)不能少于長度

C.數(shù)組初始化時可部分賦值

D.數(shù)組初始化后不能修改

【答案】:答案解析:數(shù)組可部分賦值(未賦值元素默認(rèn)0),A數(shù)組可不用初始化,B可少于長度,D數(shù)組元素可修改,故選C。2、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()

A.012

B.0123

C.01

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。3、以下if-else語句的語法錯誤是?()

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獨立執(zhí)行,故選C。4、以下指針與函數(shù)的關(guān)系正確的是?()

A.函數(shù)名是函數(shù)的地址

B.函數(shù)指針可指向函數(shù)

C.可通過函數(shù)指針調(diào)用函數(shù)

D.以上都正確

【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。5、以下哪個函數(shù)用于輸出字符串?()

A.putchar()

B.printf()

C.gets()

D.scanf()

【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個字符,故選B。6、若inta[5]={1,2,3,4,5};則a[5]是?()

A.5

B.0

C.越界訪問

D.無定義

【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。7、以下哪個是NULL指針?()

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正確

【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。8、指針變量的作用是存儲?()

A.變量的值

B.變量的地址

C.函數(shù)的地址

D.數(shù)組的元素

【答案】:答案解析:指針變量專門存儲其他變量的內(nèi)存地址,故選B。9、指針作為函數(shù)返回值時,不能返回?()

A.靜態(tài)局部變量的地址

B.全局變量的地址

C.動態(tài)分配內(nèi)存的地址

D.局部變量的地址

【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會導(dǎo)致野指針,故選D。10、以下關(guān)于指針的說法正確的是?()

A.指針可用于遍歷數(shù)組

B.指針可用于字符串操作

C.指針可用于函數(shù)參數(shù)傳遞

D.以上都正確

【答案】:答案解析:指針在數(shù)組遍歷、字符串處理、參數(shù)傳遞中均有核心作用,故選D。11、以下數(shù)組初始化錯誤的是?()

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初始化元素個數(shù)超數(shù)組長度(5),編譯報錯,A、B、C正確,故選D。12、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

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

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

【答案】:答案解析:A用雙引號定義字符串(自動加\0),B單引號用于字符常量,C無\0,D長度2正確但A更簡潔,故選A。13、以下數(shù)組初始化中,未賦值元素默認(rèn)為0的是?()

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

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局?jǐn)?shù)組未初始化默認(rèn)為0,局部數(shù)組未初始化是隨機值,A初始化部分元素,未賦值默認(rèn)為0,故選A。14、以下關(guān)于數(shù)組越界的說法正確的是?()

A.編譯時會報錯

B.運行時一定會崩潰

C.可能導(dǎo)致程序錯誤

D.無影響

【答案】:答案解析:數(shù)組越界屬于未定義行為,編譯時不報錯,運行時可能正常或崩潰,故選C。15、若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。16、以下哪個條件表達式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

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

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

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個判斷,A語法錯誤,C邏輯錯誤,D語法錯誤,故選B。17、若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。18、以下if語句中,邏輯運算符使用正確的是?()

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邏輯錯誤(x>3或x<7恒為真),故選A。19、while循環(huán)的語法格式正確的是?()

A.while(條件)語句;

B.while條件語句;

C.while(條件);語句;

D.while(條件){語句}

【答案】:答案解析:while后條件需加括號,語句可是單條(加分號)或代碼塊(用{}),D缺少分號,故選A。20、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。21、函數(shù)調(diào)用時,實參的類型必須與形參的類型?()

A.完全一致

B.兼容(可自動轉(zhuǎn)換)

C.無關(guān)

D.實參類型大于形參類型

【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉(zhuǎn)換,不兼容則編譯錯誤,故選B。22、do-while循環(huán)中,循環(huán)體至少執(zhí)行幾次?()

A.0次

B.1次

C.2次

D.不確定

【答案】:答案解析:do-while“先執(zhí)行后判斷”,無論條件是否滿足,循環(huán)體至少執(zhí)行一次,故選B。23、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數(shù)組下標(biāo)從0開始,a[2]是第三個元素30,故選C。24、若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。25、以下哪個是C語言的循環(huán)語句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C語言循環(huán)語句包括for、while、do-while,if/else是選擇語句,switch是多分支選擇語句,故選B。26、若charstr[]="helloworld";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。27、以下關(guān)于指針的說法錯誤的是?()

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

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

C.指針可指向自身

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

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。28、若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。29、若inta=3;執(zhí)行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:優(yōu)先級先乘后加,a+=aa等價于a=a+(aa)=3+(33)=12,故選A。30、若inta=4,b=6;則表達式a<b?a+b:a-b的結(jié)果是?()

A.10

B.-2

C.4

D.6

【答案】:答案解析:a<b為真,取a+b=4+6=10,故選A。31、以下關(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。32、定義整型變量x、y并均賦值10的語句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。33、函數(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。34、以下關(guān)于函數(shù)遞歸的說法錯誤的是?()

A.必須有終止條件

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

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

D.代碼簡潔

【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。35、shortint類型的有符號取值范圍是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.無固定范圍

【答案】:答案解析:16位shortint有符號取值標(biāo)準(zhǔn)為-32768~32767,無符號為0~65535,故選B。36、若inti=0,s=0;執(zhí)行for(i=0;i<4;i++)s+=i;后s的值是?()

A.6

B.10

C.4

D.0

【答案】:答案解析:累加0+1+2+3=6,s=6,故選A。37、定義單精度浮點型變量y并賦值2.718的語句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是單精度,需加f后綴(否則默認(rèn)double),double是雙精度,故選B。38、函數(shù)定義的格式是?()

A.返回類型函數(shù)名(參數(shù)列表){函數(shù)體}

B.函數(shù)名(返回類型,參數(shù)列表){函數(shù)體}

C.函數(shù)名(參數(shù)列表)返回類型{函數(shù)體}

D.返回類型函數(shù)名{參數(shù)列表,函數(shù)體}

【答案】:答案解析:函數(shù)定義標(biāo)準(zhǔn)格式為“返回類型函數(shù)名(參數(shù)列表){函數(shù)體}”,故選A。39、以下函數(shù)定義錯誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。40、若intx=2;執(zhí)行switch(x){case1:printf("a");case2:printf("b");case3:printf("c");}輸出結(jié)果是?()

A.b

B.bc

C.abc

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出bc,故選B。41、函數(shù)指針的作用是?()

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

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

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

D.以上都正確

【答案】:答案解析:函數(shù)指針存儲函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。42、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機值

D.無定義

【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。43、以下哪個數(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。44、若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。45、以下函數(shù)聲明正確的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正確

【答案】:答案解析:函數(shù)聲明可省略形參名(只留類型),A、B、C均符合語法,故選D。46、do-while循環(huán)的語法格式正確的是?()

A.do語句;while(條件);

B.do{語句}while(條件)

C.do語句while(條件);

D.do;語句;while(條件);

【答案】:答案解析:do-while格式為“do循環(huán)體;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論