清華c語言期末測試題及答案(新)_第1頁
清華c語言期末測試題及答案(新)_第2頁
清華c語言期末測試題及答案(新)_第3頁
清華c語言期末測試題及答案(新)_第4頁
清華c語言期末測試題及答案(新)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

清華c語言期末測試題第一部分單選題(50題)1、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語言中假用0表示,故選B。2、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()

A.5

B.20

C.10

D.無定義

【答案】:答案解析:if后分號(hào)表示空語句,else執(zhí)行a=20,故選B。3、以下關(guān)于指針的說法正確的是?()

A.野指針是指向無效地址的指針

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

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

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識(shí)點(diǎn),故選D。4、若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。5、以下關(guān)于指針的說法錯(cuò)誤的是?()

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

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

C.指針可指向自身

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

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

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價(jià)于a=a-2,4-2=2,故選A。7、函數(shù)調(diào)用時(shí),實(shí)參和形參的個(gè)數(shù)必須?()

A.相等

B.實(shí)參多于形參

C.形參多于實(shí)參

D.無要求

【答案】:答案解析:函數(shù)調(diào)用時(shí)實(shí)參和形參個(gè)數(shù)、類型需匹配,否則編譯錯(cuò)誤,故選A。8、以下哪個(gè)轉(zhuǎn)義字符表示制表符?()

A.\n

B.\t

C.\b

D.\r

【答案】:答案解析:\t是制表符(Tab),\n換行,\b退格,\r回車,故選B。9、若intx=5;則表達(dá)式++x的結(jié)果是?()

A.5

B.6

C.4

D.7

【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運(yùn)算,結(jié)果為6,故選B。10、以下if語句中,賦值語句和判斷語句混淆的是?()

A.if(x==5)

B.if(x=5)

C.if(x!=5)

D.if(x>5)

【答案】:答案解析:x=5是賦值(將5賦給x),x==5是判斷(x是否等于5),B混淆了兩者,故選B。11、若inti=1,s=0;執(zhí)行while(i<=5){s+=i;i++;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:循環(huán)累加1+2+3+4+5=15,s=15,故選A。12、以下數(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。13、若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。14、定義整型變量x、y并均賦值10的語句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定義多個(gè)變量用逗號(hào)分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。15、以下哪個(gè)是合法的字符常量?()

A."a"

B.'ab'

C.'a'

D.a

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

A.intfun(intx,inty);

B.intfun(int,int);

C.intfun(intx;inty);

D.A和B

【答案】:答案解析:函數(shù)聲明可寫參數(shù)名或只寫類型,A、B正確,C用分號(hào)錯(cuò)誤,故選D。17、函數(shù)調(diào)用時(shí),實(shí)參的順序必須與形參的順序?()

A.一致

B.相反

C.無關(guān)

D.部分一致

【答案】:答案解析:實(shí)參和形參需按順序一一對(duì)應(yīng)(類型、個(gè)數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯(cuò)誤,故選A。18、函數(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。19、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)中修改數(shù)組元素會(huì)影響主調(diào)函數(shù)中的數(shù)組嗎?()

A.會(huì)(指針傳遞)

B.不會(huì)(值傳遞)

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

D.不確定

【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會(huì)同步到主調(diào)函數(shù)數(shù)組,故選A。20、以下函數(shù)調(diào)用錯(cuò)誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.無錯(cuò)誤(需看函數(shù)定義)

【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對(duì)應(yīng)無參函數(shù),B對(duì)應(yīng)單參函數(shù),C對(duì)應(yīng)雙參函數(shù),均可能正確,故選D。21、以下for循環(huán)的循環(huán)次數(shù)是?()for(inti=2;i<=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故選B。22、若inti=1;執(zhí)行while(i<5){printf("%d",i);i+=2;}輸出結(jié)果是?()

A.13

B.135

C.1234

D.無輸出

【答案】:答案解析:i初始1,每次加2,執(zhí)行2次(1、3),輸出13,故選A。23、以下switch語句中,正確使用字符常量的是?()

A.switch(c){case'A':printf("A");break;}

B.switch(c){caseA:printf("A");break;}

C.switch(c){case"A":printf("A");break;}

D.switch(c){case'a':'b':printf("ab");break;}

【答案】:答案解析:字符常量用單引號(hào),B是標(biāo)識(shí)符,C是字符串,D語法錯(cuò)誤(多個(gè)case需分開),故選A。24、以下哪個(gè)操作會(huì)導(dǎo)致野指針?()

A.指針未初始化

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

C.指針越界訪問

D.以上都是

【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會(huì)導(dǎo)致野指針,故選D。25、while循環(huán)的語法格式正確的是?()

A.while(條件)語句;

B.while條件語句;

C.while(條件);語句;

D.while(條件){語句}

【答案】:答案解析:while后條件需加括號(hào),語句可是單條(加分號(hào))或代碼塊(用{}),D缺少分號(hào),故選A。26、指針與字符串的關(guān)系,以下說法正確的是?()

A.字符串常量是字符數(shù)組,數(shù)組名是指針

B.字符串可通過指針遍歷

C.字符指針可指向字符串常量

D.以上都正確

【答案】:答案解析:A、B、C均是指針與字符串的基本關(guān)系,故選D。27、若inta=2;執(zhí)行a*=a+3;后a的值是?()

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等價(jià)于a=a*(a+3)=2*(2+3)=10,故選B。28、若inta[3][2]={{1,2},{3,4},{5,6}};則a[2][1]的值是?()

A.5

B.6

C.3

D.4

【答案】:答案解析:a[2][1]是第三行第二列,值為6,故選B。29、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價(jià)于a=a/3=6/3=2,故選A。30、以下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。31、putchar()函數(shù)的功能是?()

A.讀取一個(gè)字符

B.輸出一個(gè)字符

C.讀取字符串

D.輸出字符串

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

A.40

B.50

C.60

D.無定義

【答案】:答案解析:a[4]是第五個(gè)元素,值為50,故選B。33、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。34、do-while循環(huán)的語法格式正確的是?()

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

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

C.do語句while(條件);

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

【答案】:答案解析:do-while格式為“do循環(huán)體;while(條件);”,循環(huán)體可是單條語句或代碼塊,B缺少分號(hào),C缺少分號(hào),D循環(huán)體為空,故選A。35、若inta[3][3]={{1,2},{3,4},{5,6}};則a[1][1]的值是?()

A.2

B.4

C.5

D.6

【答案】:答案解析:a[1][1]是第二行第二列,值為4,故選B。36、以下for循環(huán)中,循環(huán)變量更新表達(dá)式為“i-=2”的是?()

A.for(i=10;i>0;i-=2)

B.for(i=0;i<10;i+=2)

C.for(i=10;i>0;i--)

D.for(i=0;i<10;i=2)

【答案】:答案解析:i-=2等價(jià)于i=i-2,A的更新表達(dá)式正確,故選A。37、若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。38、函數(shù)參數(shù)傳遞中,地址傳遞的特點(diǎn)是?()

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

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

C.傳遞的是變量地址

D.用于簡單變量傳參

【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實(shí)參值,值傳遞是副本,故選C。39、C語言中,注釋的正確寫法是?()

A.//單行注釋

B./*多行注釋/

C.--注釋

D.A和B

【答案】:答案解析:C語言支持//單行注釋和/...*/多行注釋,--不是注釋符號(hào),故選D。40、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。41、以下指針與函數(shù)的關(guān)系正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。42、若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。43、指針作為函數(shù)參數(shù)時(shí),傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實(shí)參值,故選D。44、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。45、以下switch語句語法正確的是?()

A.switch(x){case1:printf("1");break;case2:printf("2");}

B.switch(x){case1:printf("1");case2:printf("2");break;}

C.switch(x){case1:printf("1");break;default:printf("0");}

D.以上都正確

【答案】:答案解析:switch語句case后可加break(跳出)或不加(穿透),default可選,A、B、C語法均正確,故選D。46、以下數(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。47、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)形參不能是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B

溫馨提示

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