C語(yǔ)言習(xí)題有答案_第1頁(yè)
C語(yǔ)言習(xí)題有答案_第2頁(yè)
C語(yǔ)言習(xí)題有答案_第3頁(yè)
C語(yǔ)言習(xí)題有答案_第4頁(yè)
C語(yǔ)言習(xí)題有答案_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

本文格式為Word版,下載可任意編輯——C語(yǔ)言習(xí)題有答案第一章習(xí)題

一、選擇題

1.C語(yǔ)言的主要特點(diǎn)有哪些?(多項(xiàng)選擇)

A.簡(jiǎn)單、緊湊,使用便利、靈活,易于學(xué)習(xí)和應(yīng)用。B.C語(yǔ)言是面向結(jié)構(gòu)化程序設(shè)計(jì)的語(yǔ)言。

C.C語(yǔ)言允許直接對(duì)位、字節(jié)和地址進(jìn)行操作。D.數(shù)據(jù)類型豐富。

E.C語(yǔ)言生成的目標(biāo)代碼質(zhì)量高。答案:ABCDE

2.C語(yǔ)言程序由什么組成?(單項(xiàng)選擇)

A.子程序B.主程序和子程序C.函數(shù)D.過(guò)程答案:C

3.源程序要正確地運(yùn)行,必需要有什么函數(shù)?(單項(xiàng)選擇)A.printf函數(shù)B.自定義的函數(shù)

C.main函數(shù)D.不需要函數(shù)答案:C

4.一個(gè)C程序的執(zhí)行是從_____。

A.本程序的main函數(shù)開始,到main函數(shù)終止

B.本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最終一個(gè)函數(shù)終止C.本程序的main函數(shù)開始,到本程序文件的最終一個(gè)函數(shù)終止D.本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)終止答案:A

5.以下表達(dá)正確的是:

A.在C程序中,main函數(shù)必需位于程序的最前面B.C程序的每行中只能寫一條語(yǔ)句C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句

D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)解釋中的拼寫錯(cuò)誤答案:C

6.以下表達(dá)不正確的是。

A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B.一個(gè)C源程序必需包含一個(gè)main函數(shù)C.C程序的基本組成單位是函數(shù)

D.在C程序中,解釋說(shuō)明只能位于一條語(yǔ)句的后面D

7.C語(yǔ)言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置。

A.必需在最開始B.必需在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意D.必需在最終C

8.一個(gè)C語(yǔ)言程序是由

A.一個(gè)主程序和若干子程序組成B.函數(shù)組成

C.若干過(guò)程組成D.若干子程序組成B

1

其次章習(xí)題

一、選擇題

1.指出下面合法的標(biāo)識(shí)符:(多項(xiàng)選擇)

A.3abB.intC.ABCD.a_3E.sum.aF.#abcG._stu2H.abcf答案:CDG

2.指出下面哪些是關(guān)鍵字:(多項(xiàng)選擇)

A.charB.abcC.printfD.IntE.floatF.defineG.includeH.PI答案:AE

3.指出下面哪些是合法的用戶定義的標(biāo)識(shí)符?(多項(xiàng)選擇)P-SB.put11C.doubleD._908E.*parF.sheep!G.windH.xy答案:BDG

4.C語(yǔ)言的基本類型哪些:(多項(xiàng)選擇)

A.整型B.枚舉型C.數(shù)組型D.指針型E.字符型F.構(gòu)造型G.實(shí)形H.空類型答案:ABEG

5.這段程序中的常量有:(多項(xiàng)選擇)#definePI3.14voidmain(){intsum;

sum=10+15;

printf(\printf(\}

這段程序中常量有:

A.10B.sumC.15D.25E.mainF.PI答案:ACF

6.C語(yǔ)言中整形常量按進(jìn)制劃分,有以下幾種:(多項(xiàng)選擇)

A.十六進(jìn)制常量B.十進(jìn)制常量C.八進(jìn)制常量D.二進(jìn)制常量答案:ABC

7.75的十六進(jìn)制寫法為___,八進(jìn)制寫法為___。0x75的八進(jìn)制寫法為___,十進(jìn)制寫法為___。075的十進(jìn)制寫法為___,十六進(jìn)制寫法為___。

答案:0x4b01130165117610x3d

8.假使要把常量327存入變量a中,a可以定義成哪些類型?(多項(xiàng)選擇)A.intB.charC.longD.float答案:ACD

9.下面哪些寫法是對(duì)的,而且是常量?(多項(xiàng)選擇)

A.125B.-.456C.1.25e20D.'AB'

2

E.E6F.0238G.0xabcdefH.\答案:ABCGH

10.下面哪個(gè)表達(dá)式的值為4.(單項(xiàng)選擇)

A.11/3B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)答案:D

11.已知整型變量a=6,b=7,c=1,則下面表達(dá)式的值為多少?a+3___(b-a*3)/5___c*(a+b)+b*(c+a)___3.2*(a+b+c)___

答案:9-26244.8

12.已知整型變量a=6,字符型變量ch='A',浮點(diǎn)數(shù)變量f=2.1,則下面表達(dá)式的值為多少?(提醒:'A'的ASCII碼為65)a+4.5___ch+a+f___(a+30)/5___(a+30)/5.0___

答案:10.573.177.2

13.指出下面錯(cuò)誤的表達(dá)式:(多項(xiàng)選擇)A.a+b=5B.56=a11C.i=i++D.5.6+6.2%3.1E.12F.a=5,b=6,c=7答案:ABD

14.若變量f已說(shuō)明為float類型,i為int類型,則下面哪些表達(dá)式(或語(yǔ)句)能夠?qū)崿F(xiàn)將f中的數(shù)值保存小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入的運(yùn)算?(多項(xiàng)選擇)A.f=(f*100+0.5)/100.0B.i=f*100+0.5,f=i/100.0;C.f=(int)(f*100+0.5)/100.0;D.f=(f/100+0.5)*100.0;答案:BC

15.下面哪些是非法的C語(yǔ)言轉(zhuǎn)義字符?(多項(xiàng)選擇)

A.'\\t'B.'\\08'C.'\\0xaf'D.'\\\\'答案:BC

16.若有以下說(shuō)明語(yǔ)句:(單項(xiàng)選擇)chars='\\\\\\092';

則下面哪一項(xiàng)為哪一項(xiàng)正確的.

A.使s的值包含2個(gè)字符B.說(shuō)明語(yǔ)句不合法

C.使s的值包含6個(gè)字符D.使s的值包含4個(gè)字符答案:B

17.請(qǐng)從下面的選項(xiàng)中選出正確的C語(yǔ)言的轉(zhuǎn)義字符。(多項(xiàng)選擇)

A.'//'B.'\\''C.'\\t'D.'\\n'E.'\\1011'F.'/018'G.'/123'H.'\\xaa'答案:BCDH

18.在C語(yǔ)言中(以16位PC機(jī)為例),5種基本數(shù)據(jù)類型的存儲(chǔ)空間長(zhǎng)度的排列順序?yàn)?/p>

A.char范圍為:

A.0~255B.0~32767C.0~65535D.0~2147483647C

39.putchar函數(shù)可以向終端輸出一個(gè):

A.整型變量表達(dá)式值B.實(shí)型變量值C.字符串D.字符或字符型變量值D

40.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。假使字符串長(zhǎng)度大于5,則輸出按方式

A.從左起輸出該字串,右補(bǔ)空格B.按原字符長(zhǎng)從左向右全部輸出C.右對(duì)齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息B

41.設(shè)x、y均為f1oat型變量,則以下不合法的賦值語(yǔ)句是

A.++x;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;B

42.x,y,z均為int型變量,則執(zhí)行語(yǔ)句x=(y=(z=10)+5)-5;后,x、y和Z的值是:A.x=10B.x=10C.x=10D.x=10

y=15y=10y=10y=5z=10z=10z=15z=10

A

43.規(guī)律運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型是:

A.只能是0或1B.只能是0或非0正數(shù)C.只能是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù)D

44.以下運(yùn)算符中優(yōu)先級(jí)最高的是:

A.voidmain(){

charch=0x31;

printf(\屏幕顯示___printf(\屏幕顯示___printf(\屏幕顯示___printf(\屏幕顯示___}答案:4961311

7

3.以下程序輸入三個(gè)整數(shù)值給a,b,c,程序把b中的值給a,把c中的值給b,把a(bǔ)中的值給c,然后輸出a,b,c的值。請(qǐng)?zhí)羁铡?includemain(){___

inttemp;

printf(\scanf(\___a=b;b=c;___

printf(\}

答案:inta,b,c;c=temp;

4.輸入兩個(gè)實(shí)數(shù)a,b,然后交換它們的值,最終輸出(提醒:要交換兩個(gè)數(shù)得借助一個(gè)中間變量temp。首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。voidmain(){

floata,b,temp;

printf(\請(qǐng)輸入a和b的值:\scanf(\temp=a;______

printf(\交換后,a=%d,b=%d\\n\}答案:b=temp;a,b

第四章習(xí)題

一、選擇題

1.假設(shè)所有變量均已說(shuō)明,寫出以下各程序段運(yùn)行后x的值。(多項(xiàng)選擇)ok1=1;ok2=2;ok3=0;x=15;a=3;b=4;(1)if(!ok1)x++;

elseif(ok2){

if(ok3)x=3;elsex=4;}

8

運(yùn)行后x的值為下面哪一個(gè)?A.15B.3C.16D.4(2)if(ok1){

if(ab)

a=b,b=c;c=a;

printf(\A.a=7b=8c=7B.a=7b=9c=7C.a=8b=9c=7D.a=8b=9c=8答案:A

4.該程序的運(yùn)行結(jié)果是:(單項(xiàng)選擇)voidmain(){

inta,b,c;a=2;b=7;c=5;switch(a>0){

case1:

switch(ba=b=c=1;++a||++bB.if(x==y)x+=y;

C.if(x!=y)scanf(\)elsescanf(\if(X5)printf(\e1seprintf(\}

A.4B.5C.6D.7

C

二、填空題

1.當(dāng)a,b,c的值分別為3,4,5時(shí),以下各語(yǔ)句執(zhí)行后a,b,c的值為多少?(1)if(a>c)

{a=b;b=c;c=a;}else

{a=c;c=b;b=a;}

執(zhí)行后a,b,c的值為___,___,___(2)if(avoidmain(){

floatd1,d2,result;charop;interror=0;

scanf(\switch(op){

case'+':result=___;break;case'-':result=___;break;case'*':result=___;break;case'/':result=___;break;default:error=1;}

if(error)

printf(\運(yùn)算操作符輸入有錯(cuò)!\else

12

printf(\}

答案:d1+d2d1-d2d1*d2d1/d2d1,op,d2,result

第五章習(xí)題

一、選擇題

1.該程序的輸出結(jié)果是多少?(單項(xiàng)選擇)m=37;n=13;while(m!=n){

while(m>n)m=m-n;while(n>m)n-=m;}

printf(\輸出結(jié)果為:

A.m=13B.m=11C.m=1D.m=2答案:C

2.該程序的輸出結(jié)果是多少?(單項(xiàng)選擇)for(i=0;i2)break;

printf(\}

printf(\輸出結(jié)果為:

A.10,3B.5,2C.5,3D.10,2答案:C

3.該程序的輸出結(jié)果是什么?(單項(xiàng)選擇)#includevoidmain(){

intn;n=0;

13

while(nmain(){

inti,j,x=0;for(i=0;imain(){

inty=10;while(y--);

printf(\}

A.y=0B.while構(gòu)成死循環(huán)C.y=1D.y=-1答案:D

7.圓周率pi的近似率可用下面的公式求得:

pi*pi/6約等于1/(1*1)+1/(2*2)+...+1/(n*n)

由以上公式可知,若n取值10000,則最終一項(xiàng)的值為1E-4,認(rèn)為可達(dá)到精度要求。以下程序用來(lái)求pi的近似值。請(qǐng)?zhí)羁铡?其中函數(shù)sqrt(a)用于求a的平方根)(單項(xiàng)選擇)#include#includemain(){

longi;floatpi;pi=0.0;

for(i=1;ivoidmain(){

inti,s;i=0;s=0;while(iwhile(k=0)k=k—1;則下面描述中正確的是

A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)

C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次C

10.下面程序段的運(yùn)行結(jié)果是:

x=y=0;

while(xmain()

{inta,b,t;

scanf(\while(________){if(a>b)

{t=a;a=b;b=t;}printf(\scanf(\}

}

A.!a=bB.a!=bC.a==bD.a=b

B12.下面程序的功能是從鍵盤輸入的一組字符中統(tǒng)計(jì)出大寫字母的個(gè)數(shù)m和小寫字母的個(gè)數(shù)n,并輸出m、n中的較大者,請(qǐng)選擇填空:

#indude\main()

{intm=0,n=0;charc;1

while((_____)!='\\n')

{if(c>='A'if(c>='a'}

printf(\}

A.c=getchar()B.getchar()C.c=getchar()D.scanf(\CA

13.下面程序的功能是將小寫字母變成對(duì)應(yīng)大寫字母后的其次個(gè)字母。其中y變成A,z變成B.請(qǐng)選擇填空。

#include\main()

16

{charc;

while((c=getchar())!='\\n')

{if(c>='a'

if(c>'z'}

printf(\}

A.c='B'B.c='A'C.c-=26D.c=c+26

C

14.下面程序的功能是在輸入的一批正整數(shù)中求出最大者,輸入0終止循環(huán),請(qǐng)選擇填空。

#includemain()

{inta,max=0;scanf(\while(_____)

{if(maxprintf(\}

A.a==oB.AC.!A==1D.!aB

15.若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor(CR)表示回車),則下面程序的運(yùn)行結(jié)果是:

#includemain(){charc;

intv0=0.v1=0,v2=0;do{

switch(c=getchar())

{case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':

case'u':case'U':v1+=1;default:v0+=1;v2+=1;};

}while(c!='\\n');

printf(\}

A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=12,vl=4,v2=12

17

D

16.以下for循環(huán)的執(zhí)行次數(shù)是:

for(x=0,y=0;(y=123)x++);

A.是無(wú)限循環(huán)B.循環(huán)次數(shù)不定C.執(zhí)行4次D.執(zhí)行3次C

17.下面程序段的運(yùn)行結(jié)果是:

for(y=1;y·main()

{inti,sum=0;

for(i=1;imain()

{inti,b,k=0;

for(i=1;i=0)k++;}

printf(\}

A.3,-1B)8,-1C.3,0D.8,-2D

20.以下正確的描述是。

A.continue語(yǔ)句的作用是終止整個(gè)循環(huán)的執(zhí)行

B.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用一致D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句B

21.下面程序段:

for(t=1;t=0時(shí)什么也不輸出C.printf函數(shù)永遠(yuǎn)也不執(zhí)行D.最多允許輸出100個(gè)非負(fù)整數(shù)

D

22.與下面程序段等價(jià)的是:

for(n=100;nmain(){longI,n;

doubles=0.0;

scanf(“%ld〞,for(I=1;I=0{if(x>max)max=x;

if(________②______)min=x;答案:x

答案:d

6.以下程序段的輸出是

inta[6]={1,2,3,4,5,6};intx,*p=a;

x=(*p)*(*p+2)*(*p+4);printf(“%d〞,x);

A.13B.14C.15D.16C

7.若有以下定義:int*P,*q,X,Y;則____是合法的運(yùn)算。A.P=**

A.*(a+2)B.*(P+10)C.a+2D.*inti;

for(i=0;i#defineLAYER10

#defineLAYER_1(LAYER+1)

#defineNUM(LAYER_1*(LAYER_1/2))voidmain(){

intarray[NUM],*p[LAYER],i,j,pos;for(i=0;i

37

#defineSIZE3

voidswap(int*a,int*b);voidmain(){

intdata[SIZE];inti,j;

for(i=0;idata[j])

swap(for(i=0;i

intfunc(inta,int*p);voidmain(){

38

89

inta=1,b=2,c;c=func(a,b=func(c,a=func(b,

printf(\}

intfunc(inta,int*p){

a++;*p=a+2;

return(*p+a);}

答案:a=36,b=16,c=19

6、以下程序段的輸出結(jié)果為()

inta[3][4]={{10,20,30,40},{50,60,70,80},{90,100,110,120}};int(*p)[4]=a;

printf(“%d〞,*(*(p+2)+3));

A.70B.120C.110D.80

答案:b

7、寫出以下程序的運(yùn)行結(jié)果

#include#include

voidinv(char*ch,intn);voidmain()

{chara[100]=“abcdefg〞;inti;

inv(a,strlen(a));puts(a);}

voidinv(char*ch,intn){inti,j;chart;

for(i=0,j=n-1;i

39

#includevoidmain()

{char*x=“456〞;

inti,n,y=0;n=strlen(x)-1for(i=n;i>=0;i--)

y=y*10+(x[i]-‘1’);

printf(“y=%d〞,y);}

三、編程題

1、依據(jù)x的取值范圍求y的值:

x(x≤1)

y=2x-1(1

printf(\

A.14B.3C.9D.字符串中有非法字符答案:B

6.若有以下說(shuō)明和語(yǔ)句,則輸出結(jié)果是___。(單項(xiàng)選擇)

溫馨提示

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