清華c語(yǔ)言期末測(cè)試題及答案(全優(yōu))_第1頁(yè)
清華c語(yǔ)言期末測(cè)試題及答案(全優(yōu))_第2頁(yè)
清華c語(yǔ)言期末測(cè)試題及答案(全優(yōu))_第3頁(yè)
清華c語(yǔ)言期末測(cè)試題及答案(全優(yōu))_第4頁(yè)
清華c語(yǔ)言期末測(cè)試題及答案(全優(yōu))_第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ǔ)言期末測(cè)試題第一部分單選題(50題)1、以下函數(shù)參數(shù)傳遞方式中,能修改實(shí)參值的是?()

A.值傳遞

B.地址傳遞

C.都能

D.都不能

【答案】:答案解析:值傳遞修改的是形參(副本),不影響實(shí)參;地址傳遞通過(guò)指針修改實(shí)參值,故選B。2、以下關(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。3、以下哪個(gè)條件表達(dá)式表示“x是奇數(shù)”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇數(shù)除以2余數(shù)為1,x%2!=0表示奇數(shù),A是偶數(shù),故選B。4、執(zhí)行scanf("%d,%d",&a,&b);時(shí),正確的輸入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗號(hào)分隔符,輸入需嚴(yán)格對(duì)應(yīng),故選C。5、若floatx=3.14;則表達(dá)式(int)x的結(jié)果是?()

A.3

B.3.14

C.4

D.0

【答案】:答案解析:強(qiáng)制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。6、若inta[5];則數(shù)組a的元素個(gè)數(shù)是?()

A.4

B.5

C.6

D.不確定

【答案】:答案解析:數(shù)組a[5]定義5個(gè)元素(下標(biāo)0-4),故選B。7、以下if語(yǔ)句中,賦值表達(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。8、若inta[3]={1,2,3},p=a;則(p+2)的值是?()

A.1

B.2

C.3

D.無(wú)定義

【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故選C。9、若inta=10,b=20,*p=&a,q=&b;執(zhí)行p=q;后p的值是?()

A.10

B.20

C.&a

D.&b

【答案】:答案解析:p=q使p指向b,*p=b=20,故選B。10、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價(jià)于(str+1),值為'e',故選B。11、以下二維數(shù)組初始化正確的是?()

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

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

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

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

【答案】:答案解析:A行數(shù)超2,B元素不足6個(gè)(補(bǔ)0),C標(biāo)準(zhǔn)初始化,D元素超6個(gè),故選C。12、若inti;執(zhí)行for(i=0;i<5;i++)printf("%d",i);輸出結(jié)果是?()

A.01234

B.12345

C.012345

D.無(wú)輸出

【答案】:答案解析:for循環(huán)初始化i=0,條件i<5(成立時(shí)執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。13、C語(yǔ)言中,注釋的正確寫(xiě)法是?()

A.//單行注釋

B./*多行注釋/

C.--注釋

D.A和B

【答案】:答案解析:C語(yǔ)言支持//單行注釋和/...*/多行注釋,--不是注釋符號(hào),故選D。14、continue語(yǔ)句只能用于以下哪種結(jié)構(gòu)?()

A.循環(huán)語(yǔ)句

B.switch語(yǔ)句

C.if語(yǔ)句

D.所有結(jié)構(gòu)

【答案】:答案解析:continue僅用于循環(huán)語(yǔ)句(for/while/do-while),用于跳過(guò)本次循環(huán),故選A。15、若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。16、以下循環(huán)中,無(wú)限循環(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,條件恒真),無(wú)限循環(huán);A執(zhí)行5次,C(i初始0)執(zhí)行5次,D執(zhí)行5次,故選B。17、以下哪個(gè)函數(shù)用于讀取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()讀取單個(gè)字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。18、若inta[5]={10,20,30,40,50};則a[4]的值是?()

A.40

B.50

C.60

D.無(wú)定義

【答案】:答案解析:a[4]是第五個(gè)元素,值為50,故選B。19、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=0);輸出結(jié)果是?()

A.1

B.無(wú)輸出

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

D.12

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷i<=0為假,循環(huán)結(jié)束,故選A。20、若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。21、以下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。22、函數(shù)的形參在______時(shí)分配內(nèi)存?()

A.函數(shù)定義

B.函數(shù)聲明

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

D.程序編譯

【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時(shí)分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。23、以下關(guān)于函數(shù)參數(shù)的說(shuō)法正確的是?()

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。24、若inta[4]={1,2,3,4};則*(a+1)的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二個(gè)元素地址,*(a+1)=a[1]=2,故選B。25、若intx=5;則表達(dá)式++x的結(jié)果是?()

A.5

B.6

C.4

D.7

【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運(yùn)算,結(jié)果為6,故選B。26、函數(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。27、若int*p=(int)malloc(sizeof(int));則p的值是?()

A.0

B.隨機(jī)值

C.1

D.無(wú)定義

【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機(jī)值,故選B。28、若inti=3;執(zhí)行do{printf("%d",i);i--;}while(i>=1);輸出結(jié)果是?()

A.321

B.123

C.3210

D.無(wú)輸出

【答案】:答案解析:do-while先執(zhí)行,i從3減到1,輸出321,故選A。29、以下哪個(gè)數(shù)據(jù)類型用于存儲(chǔ)單個(gè)字符?()

A.int

B.char

C.float

D.double

【答案】:答案解析:char用于存儲(chǔ)單個(gè)字符(ASCII碼),int存儲(chǔ)整數(shù),float/double存儲(chǔ)浮點(diǎn)數(shù),故選B。30、數(shù)組名的本質(zhì)是?()

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

B.數(shù)組最后一個(gè)元素的地址

C.數(shù)組元素的個(gè)數(shù)

D.數(shù)組的大小

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可修改),故選A。31、邏輯表達(dá)式3&&0的結(jié)果是?()

A.0

B.1

C.3

D.真

【答案】:答案解析:邏輯與&&只要有一個(gè)operand為0則結(jié)果為0,3為真,0為假,故選A。32、以下函數(shù)參數(shù)為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。33、以下關(guān)于main函數(shù)的說(shuō)法正確的是?()

A.main函數(shù)可無(wú)返回值

B.main函數(shù)可帶參數(shù)

C.main函數(shù)是程序入口

D.以上都正確

【答案】:答案解析:main函數(shù)可聲明為void(無(wú)返回值),可帶argc/argv參數(shù),是程序唯一入口,故選D。34、以下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。35、以下數(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。36、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結(jié)果是?()

A.14

B.1234

C.1

D.無(wú)輸出

【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。37、若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。38、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機(jī)值

D.無(wú)定義

【答案】:答案解析:字符串自動(dòng)在末尾加\0,str[5]是\0,故選B。39、指針變量的作用是存儲(chǔ)?()

A.變量的值

B.變量的地址

C.函數(shù)的地址

D.數(shù)組的元素

【答案】:答案解析:指針變量專門(mén)存儲(chǔ)其他變量的內(nèi)存地址,故選B。40、若inta[4]={10,20,30,40};則*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三個(gè)元素地址,*(a+2)=a[2]=30,故選B。41、C語(yǔ)言程序編譯的正確順序是?()

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

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

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

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

【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。42、若inta[4]={10,20,30,40};則a+1表示?()

A.10的地址

B.20的地址

C.30的地址

D.40的地址

【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故選B。43、若inta=10,*p=&a;則sizeof(p)的值是?()

A.4

B.8

C.取決于系統(tǒng)

D.10

【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。44、以下if語(yǔ)句中,邏輯非運(yùn)算符使用正確的是?()

A.if(!x)printf("yes");

B.if(!x==0)printf("yes");

C.if(!(x>0))printf("yes");

D.A和C

【答案】:答案解析:!x表示“x為假(0)”,!(x>0)表示“x不大于0”,均正確;B中!x==0等價(jià)于x!=0,邏輯不同,故選D。45、以下哪個(gè)是合法的字符常量?()

A."a"

B.'ab'

C.'a'

D.a

【答案】:答案解析:字符常量用單引號(hào)包裹單個(gè)字符,A是字符串,B是兩個(gè)字符(錯(cuò)誤),D是標(biāo)識(shí)符,故選C。46、以下switch語(yǔ)句語(yǔ)法錯(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:

溫馨提示

  • 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)論