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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

清華c語言期末測試題第一部分單選題(50題)1、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數(shù)組下標從0開始,a[2]是第三個元素30,故選C。2、以下switch語句中,default的作用是?()

A.匹配所有case

B.匹配除case外的所有情況

C.終止switch語句

D.無實際作用

【答案】:答案解析:default用于匹配所有case未覆蓋的情況,可選且位置靈活,故選B。3、以下for循環(huán)中,循環(huán)變量更新表達式為“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等價于i=i-2,A的更新表達式正確,故選A。4、以下哪個表達式可訪問數(shù)組a的第i個元素(i從1開始)?()

A.a[i]

B.a[i-1]

C.*(a+i)

D.*(a+i-1)

【答案】:答案解析:數(shù)組下標從0開始,第i個元素對應下標i-1,a[i-1]正確,C、D是指針訪問(對應下標i),故選B。5、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。6、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。7、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質是ASCII碼整數(shù)),故選D。8、以下數(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。9、C語言中,宏定義的預處理命令關鍵字是?()

A.include

B.define

C.ifdef

D.endif

【答案】:答案解析:#define用于宏定義,#include用于包含頭文件,#ifdef/endif是條件編譯,故選B。10、若intx=10,y=20;則表達式x!=y的結果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。11、若intx=9;執(zhí)行以下代碼后輸出結果是?()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í)行第二個分支,輸出B,故選B。12、函數(shù)聲明的作用是?()

A.告訴編譯器函數(shù)的存在

B.實現(xiàn)函數(shù)功能

C.分配函數(shù)內存

D.調用函數(shù)

【答案】:答案解析:函數(shù)聲明用于向編譯器說明函數(shù)名、參數(shù)、返回類型(確保調用正確),定義才是實現(xiàn)功能,故選A。13、以下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。14、若inti=0;執(zhí)行while(i<5){i++;if(i==3)continue;printf("%d",i);}輸出結果是?()

A.1245

B.12345

C.01245

D.無輸出

【答案】:答案解析:i=3時continue,跳過printf,輸出1、2、4、5,故選A。15、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機值

D.無定義

【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。16、以下循環(huán)中,用于計算1到10的乘積的是?()

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

B.s=1;for(i=1;i<=10;i++)s*=i;

C.s=0;while(i<=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i<=10);

【答案】:答案解析:乘積初始值為1,累加初始值為0,B的邏輯是12...*10,正確,故選B。17、以下二維數(shù)組定義中,行數(shù)為2的是?()

A.inta[2][3];

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

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

D.以上都是

【答案】:答案解析:A行數(shù)2,B初始化6個元素(3列×2行),C行數(shù)2,故選D。18、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價于(str+1),值為'e',故選B。19、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結果是?()

A.012

B.0123

C.01

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。20、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}輸出結果是?()

A.13

B.024

C.01234

D.無輸出

【答案】:答案解析:i為偶數(shù)(0、2、4)時continue,輸出奇數(shù)1、3,故選A。21、若intx=5;執(zhí)行if(x>3&&x<7)printf("yes");elseprintf("no");輸出結果是?()

A.yes

B.no

C.yesno

D.無輸出

【答案】:答案解析:x=5>3且<7,條件為真,輸出yes,故選A。22、C語言程序編譯的正確順序是?()

A.預處理→編譯→匯編→鏈接

B.編譯→預處理→匯編→鏈接

C.預處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預處理

【答案】:答案解析:C程序編譯流程為預處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標文件)→鏈接(生成可執(zhí)行文件),故選A。23、以下switch語句語法錯誤的是?()

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

B.switch(x){case'a':printf("a");break;}

C.switch(x){case1.5:printf("1.5");break;}

D.switch(x){default:printf("0");}

【答案】:答案解析:case后必須是整型常量,1.5是浮點型,語法錯誤,故選C。24、以下數(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字符串自動加\0,B長度5不足以存hello(含\0共6個字符),C無\0(字符串不完整),D長度5超,故選A。25、以下關于函數(shù)的說法正確的是?()

A.函數(shù)可提高代碼復用性

B.函數(shù)可簡化程序結構

C.函數(shù)可便于維護

D.以上都正確

【答案】:答案解析:函數(shù)的核心優(yōu)勢是復用、簡化結構、便于維護,故選D。26、C語言程序的基本單位是?()

A.語句

B.函數(shù)

C.變量

D.表達式

【答案】:答案解析:C程序由函數(shù)構成,main是入口函數(shù),其他函數(shù)實現(xiàn)功能,故選B。27、若inta=3,b=4;則表達式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。28、函數(shù)調用時,實參的類型必須與形參的類型?()

A.完全一致

B.兼容(可自動轉換)

C.無關

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

【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉換,不兼容則編譯錯誤,故選B。29、以下定義指向二維數(shù)組的指針正確的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=&a;

【答案】:答案解析:A是指向3列數(shù)組的指針(匹配二維數(shù)組a的行),B、C、D類型不匹配,故選A。30、以下哪個字符串的長度是3?()

A."abc"

B."a\0b"

C."ab\n"

D."ab"

【答案】:答案解析:字符串長度以\0結束,"abc"含a、b、c(3個字符),"a\0b"長度為1,故選A。31、若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。32、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},(p)[3]=a;則((p+1)+2)的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:p是指向3列數(shù)組的指針,p+1指向第二行,(p+1)+2指向第二行第三列,值為6,故選B。33、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}輸出結果是?()

A.012

B.0123

C.01234

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。34、若inta[4]={1,2,3,4};則a[3]的值是?()

A.3

B.4

C.1

D.2

【答案】:答案解析:a[3]是第四個元素,值為4,故選B。35、continue語句在循環(huán)中的作用是?()

A.終止整個循環(huán)

B.跳過本次循環(huán)剩余部分,繼續(xù)下一次

C.暫停循環(huán)

D.無作用

【答案】:答案解析:continue跳過本次循環(huán)剩余代碼,直接進入下一次循環(huán)條件判斷,故選B。36、若intx=2;執(zhí)行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}輸出結果是?()

A.01

B.23

C.0123

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出23,故選B。37、若charstr[]="helloworld";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。38、若charstr="Clanguage";則(str+2)的值是?()

A.'C'

B.''

C.'l'

D.'a'

【答案】:答案解析:str+2指向第三個字符,值為'l',故選C。39、以下函數(shù)參數(shù)為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質是指針,B是值參數(shù),故選D。40、以下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。41、以下定義指向數(shù)組的指針正確的是?()

A.inta[5],*p=a;

B.inta[5],*p=&a;

C.inta[5],p=a;

D.inta[5],*p=a[0];

【答案】:答案解析:a是數(shù)組名(首元素地址),p=a等價于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。42、若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。43、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()

A.0

B.3

C.隨機值

D.無定義

【答案】:答案解析:全局數(shù)組默認0,局部數(shù)組未初始化是隨機值?題目未說明存儲類別,通常默認全局,a[2]=0,故選A。44、以下if語句中,條件表達式正確的是?()

A.if(x=5)printf("yes");

B.if(x==5)printf("yes");

C.if(x=5;)printf("yes");

D.if(x==5;)printf("yes");

【答案】:答案解析:if條件需是判斷表達式(==),A是賦值,C、D多加分號,故選B。45、若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。46、break語句不能用于以下哪種結構

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論