期末c語(yǔ)言試題及答案(名師系列)_第1頁(yè)
期末c語(yǔ)言試題及答案(名師系列)_第2頁(yè)
期末c語(yǔ)言試題及答案(名師系列)_第3頁(yè)
期末c語(yǔ)言試題及答案(名師系列)_第4頁(yè)
期末c語(yǔ)言試題及答案(名師系列)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

期末c語(yǔ)言試題第一部分單選題(50題)1、若charstr[]="Clanguage";則字符串長(zhǎng)度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串長(zhǎng)度以\0結(jié)束,"Clanguage"含10個(gè)字符(不含\0),故選A。2、以下關(guān)于指針的說(shuō)法正確的是?()

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

B.指針可提高程序效率

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

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問(wèn)、動(dòng)態(tài)內(nèi)存分配,故選D。3、以下數(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。4、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};則a[1][2]的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:a[1][2]是第二行第三列,值為6,故選B。5、若intx=6;執(zhí)行if(x<5)printf("A");else{printf("B");printf("C");}輸出結(jié)果是?()

A.A

B.BC

C.ABC

D.無(wú)輸出

【答案】:答案解析:x=6不滿足if,執(zhí)行else代碼塊,輸出BC,故選B。6、C語(yǔ)言程序編譯的正確順序是?()

A.預(yù)處理→編譯→匯編→鏈接

B.編譯→預(yù)處理→匯編→鏈接

C.預(yù)處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預(yù)處理

【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。7、指針變量的作用是存儲(chǔ)?()

A.變量的值

B.變量的地址

C.函數(shù)的地址

D.數(shù)組的元素

【答案】:答案解析:指針變量專門(mén)存儲(chǔ)其他變量的內(nèi)存地址,故選B。8、以下關(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缺少長(zhǎng)度,故選A。9、以下for循環(huán)的語(yǔ)法錯(cuò)誤是?()

A.for(inti=0;i<5;i++)printf("%d",i);

B.for(i=0;i<5;i++)printf("%d",i);

C.for(;i<5;i++)printf("%d",i);

D.for(i=0;;i++)printf("%d",i);

【答案】:答案解析:B中i未定義(需先聲明inti;),A(C99標(biāo)準(zhǔn)允許循環(huán)內(nèi)定義)、C(初始化省略)、D(條件省略,無(wú)限循環(huán))語(yǔ)法均正確,故選B。10、指針作為函數(shù)返回值時(shí),不能返回?()

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

B.全局變量的地址

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

D.局部變量的地址

【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會(huì)導(dǎo)致野指針,故選D。11、以下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(步長(zhǎng)2)的三個(gè)表達(dá)式均合法,循環(huán)邏輯正確,故選D。12、以下哪個(gè)字符串的長(zhǎng)度是3?()

A."abc"

B."a\0b"

C."ab\n"

D."ab"

【答案】:答案解析:字符串長(zhǎng)度以\0結(jié)束,"abc"含a、b、c(3個(gè)字符),"a\0b"長(zhǎng)度為1,故選A。13、以下哪個(gè)運(yùn)算符的優(yōu)先級(jí)最高?()

A.+

B.*

C.=

D.==

【答案】:答案解析:算術(shù)運(yùn)算符中*(乘)優(yōu)先級(jí)高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級(jí)更低,故選B。14、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()

A.0

B.3

C.隨機(jī)值

D.無(wú)定義

【答案】:答案解析:全局?jǐn)?shù)組默認(rèn)0,局部數(shù)組未初始化是隨機(jī)值?題目未說(shuō)明存儲(chǔ)類別,通常默認(rèn)全局,a[2]=0,故選A。15、以下數(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長(zhǎng)度5不足以存hello(含\0共6個(gè)字符),C無(wú)\0(字符串不完整),D長(zhǎng)度5超,故選A。16、指針的自增運(yùn)算(p++)的含義是?()

A.指針值加1

B.指針指向的變量值加1

C.指針指向地址偏移一個(gè)類型大小

D.指針指向地址偏移1字節(jié)

【答案】:答案解析:p++使指針指向地址偏移“指向類型大小”(如int指針+4字節(jié)),故選C。17、若inti=0;執(zhí)行while(1){if(i==3)break;printf("%d",i);i++;}輸出結(jié)果是?()

A.012

B.0123

C.無(wú)限循環(huán)

D.無(wú)輸出

【答案】:答案解析:while(1)是無(wú)限循環(huán),i=3時(shí)break,輸出012,故選A。18、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()

A.30

B.40

C.50

D.無(wú)定義

【答案】:答案解析:a+3指向a[3],*p=40,故選B。19、函數(shù)返回值的類型由______決定?()

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

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

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

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

【答案】:答案解析:函數(shù)返回類型在定義時(shí)指定,return表達(dá)式類型需與返回類型匹配(不匹配則強(qiáng)制轉(zhuǎn)換),故選B。20、數(shù)組在內(nèi)存中的存儲(chǔ)方式是?()

A.隨機(jī)存儲(chǔ)

B.連續(xù)存儲(chǔ)

C.鏈?zhǔn)酱鎯?chǔ)

D.散列存儲(chǔ)

【答案】:答案解析:數(shù)組元素在內(nèi)存中連續(xù)存放,便于通過(guò)下標(biāo)訪問(wèn),故選B。21、若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。22、若inti=0;執(zhí)行for(;i<5;){printf("%d",i);i++;}輸出結(jié)果是?()

A.01234

B.12345

C.無(wú)限循環(huán)

D.無(wú)輸出

【答案】:答案解析:for循環(huán)初始化和條件省略,循環(huán)體中i自增,執(zhí)行5次,輸出01234,故選A。23、遞歸函數(shù)的終止條件是?()

A.函數(shù)調(diào)用自身

B.函數(shù)返回值為0

C.不再調(diào)用自身的條件

D.無(wú)終止條件

【答案】:答案解析:遞歸函數(shù)必須有終止條件(否則無(wú)限遞歸棧溢出),終止條件是不再調(diào)用自身的判斷,故選C。24、以下if-else語(yǔ)句中,代碼塊正確的是?()

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,語(yǔ)法錯(cuò)誤,B用{}包裹代碼塊正確,故選B。25、C語(yǔ)言中,語(yǔ)句結(jié)束的標(biāo)志是?()

A.逗號(hào)

B.分號(hào)

C.冒號(hào)

D.句號(hào)

【答案】:答案解析:C語(yǔ)言單條語(yǔ)句以分號(hào)(;)結(jié)尾,復(fù)合語(yǔ)句用{}包裹,故選B。26、函數(shù)調(diào)用時(shí),實(shí)參的類型必須與形參的類型?()

A.完全一致

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

C.無(wú)關(guān)

D.實(shí)參類型大于形參類型

【答案】:答案解析:實(shí)參和形參類型可兼容(如int→float),編譯器自動(dòng)轉(zhuǎn)換,不兼容則編譯錯(cuò)誤,故選B。27、若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。28、以下哪個(gè)條件表達(dá)式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

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

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

D.5<=x&&<=10

【答案】:答案解析:C語(yǔ)言中連續(xù)比較不合法,需用邏輯與連接兩個(gè)判斷,A語(yǔ)法錯(cuò)誤,C邏輯錯(cuò)誤,D語(yǔ)法錯(cuò)誤,故選B。29、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無(wú)輸出

【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。30、以下哪個(gè)是合法的字符常量?()

A."a"

B.'ab'

C.'a'

D.a

【答案】:答案解析:字符常量用單引號(hào)包裹單個(gè)字符,A是字符串,B是兩個(gè)字符(錯(cuò)誤),D是標(biāo)識(shí)符,故選C。31、以下函數(shù)返回值類型為int的是?()

A.voidfun(){return;}

B.intfun(){return3.14;}

C.floatfun(){return5;}

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

【答案】:答案解析:A返回值類型void(不能return表達(dá)式),B返回類型int(3.14強(qiáng)制轉(zhuǎn)為3),C返回類型float,D返回類型char,故選B。32、若charstr[]="helloworld";則字符串長(zhǎng)度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11個(gè)字符(不含\0),長(zhǎng)度為11,故選B。33、以下關(guān)于指針的說(shuō)法正確的是?()

A.野指針是指向無(wú)效地址的指針

B.空指針是野指針的一種

C.避免野指針需初始化并及時(shí)置空

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識(shí)點(diǎn),故選D。34、轉(zhuǎn)義字符\0的作用是?()

A.表示空格

B.表示制表符

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

D.換行

【答案】:答案解析:\0ASCII碼為0,是字符串默認(rèn)結(jié)束標(biāo)志,不計(jì)入長(zhǎng)度,故選C。35、函數(shù)返回值的類型與return語(yǔ)句中表達(dá)式類型不一致時(shí),會(huì)?()

A.編譯錯(cuò)誤

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

C.程序崩潰

D.無(wú)影響

【答案】:答案解析:編譯器會(huì)將return表達(dá)式類型強(qiáng)制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報(bào)錯(cuò),故選B。36、函數(shù)的形參在______時(shí)分配內(nèi)存?()

A.函數(shù)定義

B.函數(shù)聲明

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

D.程序編譯

【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時(shí)分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。37、C語(yǔ)言中基本數(shù)據(jù)類型不包括以下哪項(xiàng)?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。38、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價(jià)于(str+1),值為'e',故選B。39、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無(wú)定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。40、若inta[4]={1,2,3,4},p=a;執(zhí)行p++后,*p的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:*p++先解引用(值為1),再p自增(指向a[1]),*p=2,故選B。41、以下哪個(gè)if語(yǔ)句的條件是“x是偶數(shù)且x大于10”?()

A.if(x%2==0&&x>10)

B.if(x%2=0&&x>10)

C.if(x%2==0||x>10)

D.if(x%2=0||x>10)

【答案】:答案解析:偶數(shù)判斷用x%2==0,邏輯與用&&,B是賦值,C、D是邏輯或,故選A。42、以下數(shù)組定義錯(cuò)誤的是?()

A.inta[5];

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

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

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

【答案】:答案解析:C初始化元素超5個(gè),編譯報(bào)錯(cuò),其余正確,故選C。43、若charstr="Clanguage";則(str+2)的值是?()

A.'C'

B.''

C.'l'

D.'a'

【答案】:答案解析:str+2指向第三個(gè)字符,值為'l',故選C。44、若intx=5;執(zhí)行if(x>3&&x<7)printf("yes");elseprintf("no");輸出結(jié)果是?()

A.yes

B.no

C.yesno

D.無(wú)輸出

【答案】:答案解析:x=5>3且<7,條件為真,輸出yes,故選A。45、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語(yǔ)言中假用0表示

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論