c語(yǔ)言復(fù)試上機(jī)題目有答案_第1頁(yè)
c語(yǔ)言復(fù)試上機(jī)題目有答案_第2頁(yè)
c語(yǔ)言復(fù)試上機(jī)題目有答案_第3頁(yè)
c語(yǔ)言復(fù)試上機(jī)題目有答案_第4頁(yè)
c語(yǔ)言復(fù)試上機(jī)題目有答案_第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ǔ)言復(fù)試上機(jī)題目第一部分單選題(50題)1、以下哪個(gè)數(shù)據(jù)類(lèi)型的占用字節(jié)數(shù)最大?()

A.char

B.short

C.int

D.double

【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。2、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

C.charstr[]={'C'};

D.charstr[2]={'C','\0'};

【答案】:答案解析:A用雙引號(hào)定義字符串(自動(dòng)加\0),B單引號(hào)用于字符常量,C無(wú)\0,D長(zhǎng)度2正確但A更簡(jiǎn)潔,故選A。3、以下哪個(gè)是C語(yǔ)言的循環(huán)語(yǔ)句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C語(yǔ)言循環(huán)語(yǔ)句包括for、while、do-while,if/else是選擇語(yǔ)句,switch是多分支選擇語(yǔ)句,故選B。4、以下if語(yǔ)句的語(yǔ)法正確的是?()

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語(yǔ)法正確(else后{}可加可不加),故選B。5、以下哪個(gè)轉(zhuǎn)義字符表示制表符?()

A.\n

B.\t

C.\b

D.\r

【答案】:答案解析:\t是制表符(Tab),\n換行,\b退格,\r回車(chē),故選B。6、以下函數(shù)聲明正確的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正確

【答案】:答案解析:函數(shù)聲明可省略形參名(只留類(lèi)型),A、B、C均符合語(yǔ)法,故選D。7、do-while循環(huán)的語(yǔ)法格式正確的是?()

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

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

C.do語(yǔ)句while(條件);

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

【答案】:答案解析:do-while格式為“do循環(huán)體;while(條件);”,循環(huán)體可是單條語(yǔ)句或代碼塊,B缺少分號(hào),C缺少分號(hào),D循環(huán)體為空,故選A。8、以下for循環(huán)的循環(huán)變量初始化表達(dá)式為“i=5”的是?()

A.for(i=0;i<5;i++)

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

C.for(i=2;i<=5;i++)

D.for(i=5;i<10;i+=2)

【答案】:答案解析:初始化表達(dá)式是for循環(huán)第一個(gè)部分,B中i=5符合,其余初始化非5,故選B。9、轉(zhuǎn)義字符\的作用是?()

A.表示反斜杠

B.表示換行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉(zhuǎn)義字符沖突,故選A。10、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}輸出結(jié)果是?()

A.13

B.024

C.01234

D.無(wú)輸出

【答案】:答案解析:i為偶數(shù)(0、2、4)時(shí)continue,輸出奇數(shù)1、3,故選A。11、指針變量的作用是存儲(chǔ)?()

A.變量的值

B.變量的地址

C.函數(shù)的地址

D.數(shù)組的元素

【答案】:答案解析:指針變量專(zhuān)門(mén)存儲(chǔ)其他變量的內(nèi)存地址,故選B。12、若inti=0;執(zhí)行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}輸出結(jié)果是?()

A.012

B.01

C.01234

D.無(wú)輸出

【答案】:答案解析:i=2時(shí)break,輸出012,故選A。13、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=5>3,執(zhí)行第三個(gè)分支,輸出C,故選C。14、二維數(shù)組a[3][4]的元素個(gè)數(shù)是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個(gè)元素,故選B。15、以下函數(shù)聲明錯(cuò)誤的是?()

A.voidfun(int);

B.voidfun(inta);

C.voidfun(inta,intb);

D.voidfun(inta;intb);

【答案】:答案解析:函數(shù)聲明中參數(shù)用逗號(hào)分隔,不能用分號(hào),D語(yǔ)法錯(cuò)誤,故選D。16、以下if語(yǔ)句中,邏輯運(yùn)算符使用正確的是?()

A.if(x>3&&x<7)

B.if(x>3&x<7)

C.if(x>3|||x<7)

D.if(x>3||x<7)

【答案】:答案解析:邏輯與用&&,邏輯或用||,B是按位與,C多寫(xiě)||,D邏輯錯(cuò)誤(x>3或x<7恒為真),故選A。17、數(shù)組名作為函數(shù)參數(shù)時(shí),函數(shù)形參的正確寫(xiě)法是?()

A.inta[]

B.int*a

C.inta[5]

D.以上都是

【答案】:答案解析:數(shù)組形參可寫(xiě)為inta[]、int*a(指針)、inta[5](長(zhǎng)度可忽略),本質(zhì)均為指針,故選D。18、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}輸出結(jié)果是?()

A.0134

B.01234

C.01

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

【答案】:答案解析:i=2時(shí)執(zhí)行continue,跳過(guò)printf,輸出0134,故選A。19、break語(yǔ)句在循環(huán)中的作用是?()

A.跳過(guò)本次循環(huán),繼續(xù)下一次

B.終止整個(gè)循環(huán)

C.終止當(dāng)前語(yǔ)句

D.無(wú)作用

【答案】:答案解析:break在循環(huán)中用于終止整個(gè)循環(huán)(跳出循環(huán)體),continue是跳過(guò)本次循環(huán),故選B。20、以下關(guān)于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見(jiàn)定義,C是定義空指針,均正確,故選D。21、若intx=5;則表達(dá)式++x的結(jié)果是?()

A.5

B.6

C.4

D.7

【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運(yùn)算,結(jié)果為6,故選B。22、以下關(guān)于void類(lèi)型函數(shù)的說(shuō)法正確的是?()

A.不能有return語(yǔ)句

B.可以有return語(yǔ)句(無(wú)表達(dá)式)

C.必須有return語(yǔ)句

D.可返回任意類(lèi)型

【答案】:答案解析:void函數(shù)可寫(xiě)return;(無(wú)表達(dá)式),用于提前結(jié)束函數(shù),不能返回表達(dá)式,故選B。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=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。25、指針作為函數(shù)返回值時(shí),不能返回?()

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

B.全局變量的地址

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

D.局部變量的地址

【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會(huì)導(dǎo)致野指針,故選D。26、若floatf=5.9;強(qiáng)制轉(zhuǎn)換為整型的表達(dá)式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:強(qiáng)制類(lèi)型轉(zhuǎn)換格式為(目標(biāo)類(lèi)型)變量,(int)f結(jié)果為5(取整數(shù)部分),故選B。27、若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。28、以下for循環(huán)中,用于計(jì)算1到5的平方和的是?()

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

B.s=0;for(i=1;i<=5;i++)s+=i2;

C.s=1;for(i=1;i<=5;i++)s*=i;

D.s=0;for(i=1;i<=5;i++)s+=i+i;

【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。29、若intx=5;則表達(dá)式x+++x的結(jié)果是?()

A.10

B.11

C.12

D.9

【答案】:答案解析:結(jié)合性從左到右,x+++x等價(jià)于(x++)+x=5+6=11,故選B。30、以下switch語(yǔ)句語(yǔ)法正確的是?()

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語(yǔ)句case后可加break(跳出)或不加(穿透),default可選,A、B、C語(yǔ)法均正確,故選D。31、以下關(guān)于指針的說(shuō)法錯(cuò)誤的是?()

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

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

C.指針可指向自身

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

【答案】:答案解析:指針不能指向自身(類(lèi)型不匹配),A、B、D說(shuō)法正確,故選C。32、C語(yǔ)言程序的基本單位是?()

A.語(yǔ)句

B.函數(shù)

C.變量

D.表達(dá)式

【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實(shí)現(xiàn)功能,故選B。33、若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.無(wú)輸出

【答案】:答案解析:x=2匹配case2,無(wú)break,穿透到case3,輸出23,故選B。34、以下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:printf("2");}

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

【答案】:答案解析:case后常量不能重復(fù),D中case1重復(fù),編譯報(bào)錯(cuò),故選D。35、以下循環(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。36、函數(shù)調(diào)用時(shí),實(shí)參的順序必須與形參的順序?()

A.一致

B.相反

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

D.部分一致

【答案】:答案解析:實(shí)參和形參需按順序一一對(duì)應(yīng)(類(lèi)型、個(gè)數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯(cuò)誤,故選A。37、以下循環(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是無(wú)限循環(huán),C(i初始0)執(zhí)行3次,D執(zhí)行5次,題目問(wèn)“3次”,A明確正確,故選A。38、以下關(guān)于return語(yǔ)句的說(shuō)法正確的是?()

A.函數(shù)中可有多條return語(yǔ)句

B.函數(shù)中必須有return語(yǔ)句

C.return語(yǔ)句必須在函數(shù)末尾

D.return語(yǔ)句只能返回一個(gè)值

【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無(wú)return,Creturn可在任意位置,Dreturn只能返回一個(gè)值(返回多個(gè)值需用指針/數(shù)組),故選A。39、若inta=3;執(zhí)行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:優(yōu)先級(jí)先乘后加,a+=aa等價(jià)于a=a+(aa)=3+(33)=12,故選A。40、以下數(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。41、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語(yǔ)言中假用0表示,故選B。42、若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。43、執(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。44、以下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。45、若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。46、指針與結(jié)構(gòu)體的關(guān)系,以下說(shuō)法正確的是?()

A.結(jié)構(gòu)體指針通過(guò)->訪問(wèn)成員

B.結(jié)構(gòu)體變量通過(guò)。訪問(wèn)成

溫馨提示

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