期末c語言考試題及完整答案_第1頁
期末c語言考試題及完整答案_第2頁
期末c語言考試題及完整答案_第3頁
期末c語言考試題及完整答案_第4頁
期末c語言考試題及完整答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

期末c語言考試題第一部分單選題(50題)1、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結(jié)果是?()

A.14

B.1234

C.1

D.無輸出

【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。2、以下if語句的語法正確的是?()

A.if(x>0){printf("a");elseprintf("b");}

B.if(x>0)printf("a");else{printf("b");}

C.if(x>0)printf("a");elseprintf("b");}

D.if(x>0){printf("a");}elseprintf("b");}

【答案】:答案解析:A缺少},C多},D多},B語法正確(else后{}可加可不加),故選B。3、若floatf=5.9;強制轉(zhuǎn)換為整型的表達式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:強制類型轉(zhuǎn)換格式為(目標類型)變量,(int)f結(jié)果為5(取整數(shù)部分),故選B。4、以下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前有獨立printf,語法錯誤,B用{}包裹代碼塊正確,故選B。5、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。6、以下關(guān)于指針數(shù)組和數(shù)組指針的說法正確的是?()

A.指針數(shù)組是數(shù)組,元素為指針

B.數(shù)組指針是指針,指向數(shù)組

C.int*arr[5]是指針數(shù)組,int(*arr)[5]是數(shù)組指針

D.以上都正確

【答案】:答案解析:A、B、C均準確區(qū)分了指針數(shù)組和數(shù)組指針,故選D。7、以下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。8、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=3);輸出結(jié)果是?()

A.123

B.1234

C.012

D.無輸出

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷,共執(zhí)行3次,輸出123,故選A。9、以下switch語句語法錯誤的是?()

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:printf("2");}

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

【答案】:答案解析:case后常量不能重復,D中case1重復,編譯報錯,故選D。10、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數(shù)組下標從0開始,a[2]是第三個元素30,故選C。11、C語言中基本數(shù)據(jù)類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。12、若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。13、二維數(shù)組a[2][3]在內(nèi)存中存儲的順序是?()

A.a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]

B.a[0][0],a[1][0],a[0][1],a[1][1],a[0][2],a[1][2]

C.隨機順序

D.按列存儲

【答案】:答案解析:二維數(shù)組按行優(yōu)先連續(xù)存儲,順序為第一行所有元素,再第二行,故選A。14、數(shù)組名作為函數(shù)參數(shù)時,函數(shù)形參的正確寫法是?()

A.inta[]

B.int*a

C.inta[5]

D.以上都是

【答案】:答案解析:數(shù)組形參可寫為inta[]、int*a(指針)、inta[5](長度可忽略),本質(zhì)均為指針,故選D。15、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。16、若intx=3;執(zhí)行以下代碼后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;

A.10

B.20

C.30

D.無定義

【答案】:答案解析:x=3>2,執(zhí)行第二個分支,a=20,故選B。17、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缺少分號,C缺少分號,D循環(huán)體為空,故選A。18、函數(shù)定義的格式是?()

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

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

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

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

【答案】:答案解析:函數(shù)定義標準格式為“返回類型函數(shù)名(參數(shù)列表){函數(shù)體}”,故選A。19、數(shù)組在內(nèi)存中的存儲方式是?()

A.隨機存儲

B.連續(xù)存儲

C.鏈式存儲

D.散列存儲

【答案】:答案解析:數(shù)組元素在內(nèi)存中連續(xù)存放,便于通過下標訪問,故選B。20、函數(shù)的形參在______時分配內(nèi)存?()

A.函數(shù)定義

B.函數(shù)聲明

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

D.程序編譯

【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。21、轉(zhuǎn)義字符\的作用是?()

A.表示反斜杠

B.表示換行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉(zhuǎn)義字符沖突,故選A。22、若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。23、putchar()函數(shù)的功能是?()

A.讀取一個字符

B.輸出一個字符

C.讀取字符串

D.輸出字符串

【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。24、以下if語句語法正確的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

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

D.if(x>0){printf("yes")}

【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導致語句結(jié)束,D缺少分號,故選A。25、若charstr[]="Clanguage";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。26、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()

A.5

B.8

C.&a

D.無定義

【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。27、若inta[3][3]={{1},{2,3},{4,5,6}};則a[1][0]的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值為2,故選A。28、以下關(guān)于函數(shù)的說法正確的是?()

A.函數(shù)必須有返回值

B.函數(shù)可嵌套定義

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

D.函數(shù)名可重定義

【答案】:答案解析:A函數(shù)可無返回值(void),B不能嵌套定義(可嵌套調(diào)用),D函數(shù)名不能重定義,C遞歸調(diào)用正確,故選C。29、do-while循環(huán)中,循環(huán)體至少執(zhí)行幾次?()

A.0次

B.1次

C.2次

D.不確定

【答案】:答案解析:do-while“先執(zhí)行后判斷”,無論條件是否滿足,循環(huán)體至少執(zhí)行一次,故選B。30、指針與數(shù)組的關(guān)系,以下說法正確的是?()

A.數(shù)組名是常量指針,不能自增

B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組

C.p[i]等價于*(p+i)

D.以上都正確

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價,故選D。31、以下函數(shù)調(diào)用正確的是?()

A.fun();

B.fun(1,2);

C.fun("test");

D.取決于函數(shù)定義

【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個數(shù)),A、B、C均可能正確,故選D。32、若inti=0;執(zhí)行while(i<5){i++;if(i==3)continue;printf("%d",i);}輸出結(jié)果是?()

A.1245

B.12345

C.01245

D.無輸出

【答案】:答案解析:i=3時continue,跳過printf,輸出1、2、4、5,故選A。33、二維數(shù)組a[3][4]的元素個數(shù)是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個元素,故選B。34、若inta=3,b=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(a>b)printf("A");elseprintf("B");

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a=3<b=5,條件為假,執(zhí)行else分支,輸出B,故選B。35、數(shù)組作為函數(shù)參數(shù)時,函數(shù)中修改數(shù)組元素會影響主調(diào)函數(shù)中的數(shù)組嗎?()

A.會(指針傳遞)

B.不會(值傳遞)

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

D.不確定

【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會同步到主調(diào)函數(shù)數(shù)組,故選A。36、若intx=2;執(zhí)行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}輸出結(jié)果是?()

A.01

B.23

C.0123

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出23,故選B。37、以下指針運算錯誤的是?()

A.inta=5,*p=&a;p++;

B.inta=5,*p=&a;*p++;

C.inta=5,*p=&a;p=&a+1;

D.inta=5,*p=&a;p=p+2;

【答案】:答案解析:&a是地址常量,不能進行算術(shù)運算(&a+1錯誤),A、B、D均正確,故選C。38、C語言程序的入口函數(shù)是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。39、若inta[4]={10,20,30,40};則*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。40、continue語句在循環(huán)中的作用是?()

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

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

C.暫停循環(huán)

D.無作用

【答案】:答案解析:continue跳過本次循環(huán)剩余代碼,直接進入下一次循環(huán)條件判斷,故選B。41、以下循環(huán)中,循環(huán)次數(shù)為3次的是?()

A.for(i=1;i<=3;i++)

B.while(i=3)

C.do{i++;}while(i<3);

D.for(i=5;i>0;i--)

【答案】:答案解析:A執(zhí)行3次(1-3),B是無限循環(huán),C(i初始0)執(zhí)行3次,D執(zhí)行5次,題目問“3次”,A明確正確,故選A。42、以下哪個是NULL指針?()

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正確

【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。43、以下函數(shù)參數(shù)為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。44、以下二維數(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個(補0),C標準初始化,D元素超6個,故選C。45、以下哪個賦值語句是正確的?()

A.inta=5;

B.a=5;

C.inta=b=5;

D.a=b=5

溫馨提示

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

最新文檔

評論

0/150

提交評論