C語言復(fù)習(xí)題(一)_第1頁
C語言復(fù)習(xí)題(一)_第2頁
C語言復(fù)習(xí)題(一)_第3頁
C語言復(fù)習(xí)題(一)_第4頁
C語言復(fù)習(xí)題(一)_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言復(fù)習(xí)題

第I章C語言概述

1、C程序是()

A.順序執(zhí)行

B.從Main函數(shù)開始

C.從函數(shù)體開始

D.任意語句

參考答案:B

2、C語言程序由()組成

A.子程序

B.過程

C.函數(shù)

zD.xccc主程序段c.v程v序vvv圖

參考答案:C

3、以下說法中正確的是()。

A.C語言程序中是從第一定義的函數(shù)開始執(zhí)行

B.在C語言程序中,要調(diào)用的函數(shù)必須在main。函數(shù)中定

C.C語言程序總是從main()函數(shù)開始執(zhí)行

D.C語言程序中的main()函數(shù)必須放在程序的開始部分

參考答案:C

4、C語言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置()

A.必須在最開始

B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

C.可以任意

D.必須在最后

參考答案:C

5、若ch為char型變量,k為int型變量(已知字符a的ASCII

碼是97),則執(zhí)行下列語句后的輸出為()

ch='a':

k=12;

pfinff("%X,%0,",ch,ch,k);

pfinff("k=%%d\n”,k);

A.因變量類型與格式描述符的類型不匹配,輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為0或不定值

C.61,141,k=%d

D.61,141,k=%12

參考答案:C

6、不合法的十六進(jìn)制數(shù)是()

A.Oxff

B.0X11

C.Oxlg

D.OXabc

參考答案:C

7、以下()是不正確的轉(zhuǎn)義字符。

A.'W

B.'\"

C.'020'

D.'\0'

參考答案:C

8、一個(gè)C語言程序總是從()開始執(zhí)行

A.主過程

B.主函數(shù)

C.子程序

D.主程序

參考答案:B

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

A.必須在最開始

B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

C.可以任意

D.必須在最后

參考答案:C

10、若有代數(shù)式3ae/bc,則不正確的C語言表達(dá)式是()

A.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*3

參考答案:C

壬多選題:

二判斷題:

口填空題:

1、函數(shù)體用開始,用結(jié)束。

參考答案:{,}

2、C源程序的基本單位是

參考答案:函數(shù)

3、一個(gè)C源程序中至少應(yīng)包括一個(gè)

參考答案:main函數(shù)

4、在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為

和________

參考答案:/*,*/

5、C語言中的標(biāo)識(shí)符可分為、和預(yù)定義標(biāo)識(shí)符3類

參考答案:關(guān)鍵字、用戶標(biāo)識(shí)符

6、在c語言程序中,用關(guān)鍵字------定義基本整型變量,用關(guān)

鍵字——定義單精度實(shí)型變量,用關(guān)鍵字——定義雙精度買型變

量。

參考答案:intfloatdouble

7、一個(gè)c語言程序的開發(fā)過程包括:編輯、——、連接和運(yùn)行

4個(gè)步驟。

參考答案:編譯

8、C程序執(zhí)行過程生成的3種文件及擴(kuò)展名為——,——,——

參考答案:源文件.C目標(biāo)文件.Obj可執(zhí)行文件.exe

已問答題:

程序設(shè)計(jì)題:

1、編寫一個(gè)C程序,輸出以下信息:

Verygood!

學(xué)生答案:ttinclude

voidmain()

(

printf("*********************\n〃

Verygood!\n〃

)"

參考答案:(略)

2、編寫一個(gè)程序,輸入a,b,c三個(gè)值,輸出其中最大者。

學(xué)生答案:^include

voidmainO

(

intmax(intx,inty,intz);

inta,b,c,t;

scanf(〃%d,%d,%d〃,&a,&b,&c);

t=max(a,b,c,);

printf(,,max=%d\nz/,c);

)

intmax(intx,inty,intz);

intt;

if(x>y)t=x;

elset=y;

if(x>z)t=x;

elset=z;

if(y>z)t=y;

elset=z;

return(t);

)

參考答案:(略)

3、

顯示“Howareyou!v的c語言程序。

學(xué)生答案:ttinclude

voidmain()

printf(Z/Howareyou!\n,z);

)

參考答案:#include

main()/*主函數(shù)*/

(

printf("Howareyouf\n");/*調(diào)用庫函數(shù)printf()顯

示字符串*/

}

第2章程序的靈魂一算法

單選題:

1、已知字符A的ASCII碼值是65,以下程序()。

#incIude

main()

chara='A':

intb=20:

printf("%d,%0",(a=a+l,a+b,b),a+'a'-'A',b);

)

A,表達(dá)式非法,輸出零或不確定值

B.因輸出項(xiàng)過多,無輸出或輸出不確定值

C.輸出結(jié)果為20,141

D.輸出結(jié)果為20,1541,20

參考答案:C

2、對(duì)于條件表達(dá)式(M)?(a++):(a-),其中的表達(dá)式M等價(jià)于()。

A.M==0

B.M==l

C.M!=0

D.M!=l

參考答案:C

!多選題:

口判斷題:

填空題:

問答題:

1、什么是結(jié)構(gòu)化的算法?為什么要提倡結(jié)構(gòu)化的算法?

學(xué)生答案:

參考答案:(略)

2、算法有哪些特性?

學(xué)生答案:

參考答案:(略)

3、什么叫算法?為什么栗提倡結(jié)構(gòu)化算法?

學(xué)生答案:

參考答案:(略)

匚程序設(shè)計(jì)題:

第3章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

單選題:

1、若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2

的值是.

A.1

B.2

C.2.0

D.2.5

學(xué)生答案:C

參考答案:C

2、設(shè)intb=2;表達(dá)式b/(b*2)的值是.

A.0

B.0.5

C.0.500000

D.0.000000

學(xué)生答案:

參考答案:A

3、設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,

則下面表達(dá)式的值為0的是()。

A.'a'&&'b'

B.a<=b

C.a||b+c&&b~c

D.!((a<b)&&!c||1)

學(xué)生答案:B

參考答案:D

4、設(shè)x、y、z和k都是int型變量,則執(zhí)行表達(dá)式:

x=(y=4,z=16,k=32)后,x的值為o

A.4

B.16

C.32

D.52

學(xué)生答案:D

參考答案:C

5、下列賦值語句正確的是(設(shè)inta,x)()

A,a=(a[1]+a[2])/2

B.a*=*a+1

C.a=(x=1,x++,x+2)

D.a="good"

學(xué)生答案:A

參考答案:C

6、設(shè)有a=b=c=2,求表達(dá)式a+++b+++c+++的結(jié)果是

A.6

B.9

C.8

D.表達(dá)式出錯(cuò)

學(xué)生答案:C

參考答案:A

7、設(shè)有如下定義:

inta=1,b=2,c-3,d=4,m=2,n=2;

則執(zhí)行表達(dá)式:(m=a>b)&&(n=c>d)后,n的值為

A.1

B.2

C.3

D.0

學(xué)生答案:B

參考答案:B

8、表示關(guān)系X<=Y〈=Z的C語言表達(dá)式為.

A.(X<=Y)&&(Y<=Z)

B.(X<=Y)AND(Y<=Z)

C.(X<=Y<=Z)

D.(X<=Y)&(Y<=Z)

學(xué)生答案:C

參考答案:A

9、下面兩隊(duì)用戶定義標(biāo)識(shí)符哪個(gè)可讀性更強(qiáng)?

A.checkquaIitycomputeresaIarytotaI

B.check_quaIitycompute_saIary_totaI

C.

D.

學(xué)生答案:A

參考答案:B

10、設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為一

x=10;x+=x-=x-x;

A.10

B.20

C.40

D.30

學(xué)生答案:C

參考答案:B

11、執(zhí)行語句x=(a=3,b=a-)后x,a,b的值為.

A.332

B.322

C.323

D.232

學(xué)生答案:C

參考答案:C

12、若有兩條語句

staticcharx[]="abcde";

staticchary[]={'a','b','c','cT,'e'};

則下列語法中正確的是

A.x數(shù)組和y數(shù)組的長度相同

B.x數(shù)組的長度小于y數(shù)組的長度

C.x數(shù)組的長度大于y數(shù)組的長度

D,x數(shù)組等價(jià)于v數(shù)組

學(xué)生答案:B

參考答案:C

13、設(shè)A=3,B=4,執(zhí)行

printf("%d,%d",(A,B),(B,A));的輸出是.

A.3,4

B.4,3

C.3,3

D.4,4

學(xué)生答案:B

參考答案:B

14、C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是

A.DoubIe

B.short

C.integer

D.Char

學(xué)生答案:B

參考答案:B

15、下列程序的輸出結(jié)果是

main。

{doubIed=3.2;

intx,y;

x=1.2,y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3

B.3.2

C.0

D.3.07

學(xué)生答案:D

參考答案:C

16、下列程序的運(yùn)行結(jié)果是

#include

main。

{inta=2,c=5;

printf("a=%d,b=%d\n",a,c);}

A.a=%2,b=%5

B.a=2,b=5

C.a=d,b=d

D.a=%d,b=%d

學(xué)生答案:C

參考答案:B

17、設(shè)有如下定義:

intx=10,y=3,z;

則語句printf("%d\n",z=(x%y,x/y));

的輸出結(jié)果是

A.1

B.0

C.4

D.3

學(xué)生答案:C

參考答案:D

18、下面程序的輸出是

main()

(

charp1[10]="abc",p2[]="ABC”;

printf("%s\n",strcat(p1,p2));

}

A.ABCabc

B.ABabc

C.abcABC

D.不確定的值

學(xué)生答案:B

參考答案:C

19、以下程序運(yùn)行后,輸出結(jié)果是

main()

{chars[]="abcde";

s+-2;

printf("%ld\n",s);

1

A.cde

B.字符c的ASCII碼值

C.字符c的地址

D.出錯(cuò)

學(xué)生答案:B

參考答案:D

20、若有以下定義和語句:

chars1[]="12345",s2[]="1234";

printf(z/%d\n",strIen(strcpy(s1,s2)));

則輸出結(jié)果是

A.4

B.5

C.9

D.10

學(xué)生答案:A

參考答案:A

21、以下敘述中正確的是

A.輸入項(xiàng)可以是一個(gè)實(shí)型常量,如

B.只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,

例如:scanf("a=%d,b=%d");

C.當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分可以規(guī)定小數(shù)點(diǎn)

后的位數(shù),例如:

D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:

學(xué)生答案:C

參考答案:D

22、下面四個(gè)選項(xiàng)中,均是正確的數(shù)值常量或字符常量的選項(xiàng)是

A.0.0Of8.9e

B."a"3.9e-2.51e1

C.'3'011OxffOO0a

D.+001Oxabcd2e250.

學(xué)生答案:

參考答案:D

23、在C語言中,int、char和short三種類型數(shù)據(jù)在內(nèi)存中所

占用的字節(jié)數(shù)

A.由用用戶自己定義

B.均為2個(gè)字節(jié)

C.是任意的

D.由所用機(jī)器的機(jī)器字長決定

學(xué)生答案:C

參考答案:D

24、C語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是

A.%=

B./

C.二

D.〈二

學(xué)生答案:D

參考答案:A

25、若已定義x和y為doubIe類型,則表達(dá)式x=1,y=x+3/2的

值是

A.1

B.2

C.2.0

D.2.5

學(xué)生答案:D

參考答案:C

£多選題:

力判斷題:

口填空題:

1、設(shè)x和y均為int型變量,且x=1,y=2,則以下表達(dá)式:0+x/y

的值為—O

學(xué)生答案:

參考答案:0

2、計(jì)算表達(dá)式6*7%2+7%2*5的值是.

學(xué)生答案:

參考答案:5

3、計(jì)算表達(dá)式8.0*(1/2)的值是<,

學(xué)生答案:

參考答案:0

4、設(shè)有以下變量定義,并已賦確定的值

charw;intx;fIoaty;doubIez;

則表達(dá)式:w*x+z-y所求得的數(shù)據(jù)類型為

學(xué)生答案:

參考答案:double

5、C語言中最簡單的數(shù)據(jù)類型是、、

學(xué)生答案:

參考答案:整型、實(shí)型、字符型

6、若有說明語句intI,j,1=6,執(zhí)行j=(++I)+(l++)后,j

的值是O

學(xué)生答案:

參考答案:14

7、執(zhí)行下列語句后x的值是.

x=y=z=5;

x=y==z;

學(xué)生答案:

參考答案:1

8、假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)

的值為_____________

學(xué)生答案:

參考答案:9

9、C語言中的標(biāo)識(shí)符只能由三種字符組成,它們是,

______和___________

學(xué)生答案:

參考答案:字母,數(shù)字,下劃線

10、已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變

量,

則表達(dá)式ch='a'+'8'3'的值為

學(xué)生答案:

參考答案:'f'

11、若x和y都是double型變量,且x的初值為3.0,y的初值

為2.0,則表達(dá)式pow(y,fabs(x))的值為

學(xué)生答案:

參考答案:8.000000

12、若有定義:inte=1,f=4,g=2;

floatm=10.5,n=4.0,k;則計(jì)算賦值表達(dá)式

k=(e+f)/g+sqrt((doubIe)n)*1.2/g+m后k的值是

學(xué)生答案:

參考答案:13.700000

13、表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類

型為______

學(xué)生答案:

參考答案:int

14、表達(dá)式pow(2.8,sqrt(doubIe(x)))值的數(shù)據(jù)類型為

學(xué)生答案:

參考答案:double

15、假設(shè)m是一個(gè)三位數(shù),從左到右用a,b,c表示各位的數(shù)字,

則從左到右各個(gè)數(shù)字是bac的三位數(shù)的表達(dá)式是

學(xué)生答案:

參考答案:(m/10)%10*100+m/100*10+m%10

53問答題:

;程序設(shè)計(jì)題:

第4章最簡單的程序設(shè)計(jì)

單選題:

1、能正確表示邏輯關(guān)系:"a2=10或aW0”的C語言表達(dá)式

A.a>=10ora<=0

B.a>=0||a<=10

C.a>=10&&a<=0

D.a<=0||a>=10

學(xué)生答案:B

參考答案:D

2、以下程序的輸出結(jié)果是()。

#include'

main()

(

intw=4,x=3,y=2,z=1;

printf("%d\n",(w<z:x));w:z

A.1

B.2

C.3

D.4

學(xué)生答案:A

參考答案:A

3、如下程序的輸出結(jié)果是()。

#include

main()

{fIoatx=2.0,y;

if(x<0.0)y=0.0:

elseif(x<10.0)y=1.0/x;

eIsey=1.0;

printf("%f\n",y);

)

A.0.000000

B.0.250000

C.0.500000

D.1.000000

學(xué)生答案:C

參考答案:C

4、下面的程序()。

#include

main()

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

eIseprintf("####");

}

A.有語法錯(cuò)誤不能通過編譯

B.輸出****

C.可以通過編譯,但是不能通過連接,因而不能運(yùn)行

D.輸出####

學(xué)生答案:C

參考答案:D

5、以下程序的輸出結(jié)果是()。

#incIude

main()

{inta=T,b=4,k;

k=(++a<0)&&!(b—<-0);

printf("%d%d%d\n”,k,a,b);}

A.104

B.103

C.003

D.004

學(xué)生答案:A

參考答案:D

E多選題:

泠判斷題:

填空題:

1、從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出,程序如下

#include

main()

{chard,c2;

(D;

printf("%c,%d\n",d,d);

(2):

printf("%c,%d\n",c2,c2);}

學(xué)生答案:

參考答案:cl=getchar(),c2=cl+32;

2、以下程序不用第三個(gè)變量,實(shí)現(xiàn)將兩個(gè)數(shù)進(jìn)行對(duì)調(diào)操作:

#incIude

main()

{inta,b;

scanf("%d%d",&a,&b);

printf("a=%db=%d\n",a,b);

a=();b=();a=();

printf("a=%db=%d\n",a,b);)

學(xué)生答案:

參考答案:a+b,a-b,a-b

3、寫出該程序運(yùn)行的結(jié)果。

main()

charst='A';

inti=10;

st=st+i;

i=st%i;

printf("%C,%d\n",st,i);}

(已知字母A的ASCII碼為65)

學(xué)生答案:

參考答案:K,5

4、請(qǐng)寫出以下程序的輸出結(jié)果——。

#include

main()

(

inta=100:

if(a>100)

printf(v%d\n",a>100);

eIse

plintf("%d\n”,a<=100);}

學(xué)生答案:

參考答案:1

5、請(qǐng)寫出與以下表達(dá)式等價(jià)的表達(dá)式---,----。

(1)!(x>0)(2)!0

學(xué)生答案:

參考答案:x<=01

6、當(dāng)a=l,b=2,c=3時(shí),以下語句執(zhí)行后a、b、c中的值分別

為---、----、----O

if(a>c)

b-a;a-c;c-b;

學(xué)生答案:

參考答案:322

7、若變量已正確定義,以下語句段的輸出結(jié)果是——。

x=0;y=2:z=3;

switch(x)

(

case0:switch(y-2)

(

case1:printf("*");break;

case2:printf("%"):break;

}

case1:switch(z)

(

case1:printf("$");

case2tprintf(n$");break;

defauIt:printf("#"):

}

}

學(xué)生答案:

參考答案:*#

8、若有定義:inta=10,b=9,c=8;,接著順序執(zhí)行下列語句

后,變量b中的值是一一。

c=(a-=(b-5));

c=(a%11)+(b=3);

學(xué)生答案:

參考答案:3

9、表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語言表達(dá)

式是---o

學(xué)生答案:

參考答案:x>5||x<-5

10、下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>

#include

main。

(

inta=9,b=2;

fIoatx=,y=1.1,z;

z-a/2+b*x/y+1/2:

printf("%5.2f\n",z);

)

學(xué)生答案:

參考答案:6.6

11、若從鍵盤輸入58,則以下程序輸出的結(jié)果是——。

#incIude

main()

{inta;

scanf(n%d",&a);

if(a>50)prinff(v%d”,a);

if(a>40)prinff(J,%d”,a);

if(a>30)printf(n%d",a);

)

學(xué)生答案:

參考答案:585858

12、以下程序輸出的結(jié)果是---。

#incIude

main()

{inta=5,b=4,c~3,d;

d=(a>b>c);

printf("%d\n",d);

)

學(xué)生答案:

參考答案:0

13、以下程序運(yùn)行后的輸出結(jié)果是——。

#incIude

main()

{intx=10,y=20,t=0;

if(x=y)t=x;x=y;y二t;

printf(n%d,%d\n”,x,y);

)

學(xué)生答案:

參考答案:20,0

14、設(shè)a、b、c為整型數(shù),且a=2,b=3,c=4,則執(zhí)行完語句

a*-16+(b++)-(++c);后,a的值是

學(xué)生答案:

參考答案:28

15、若inti=10;,則執(zhí)行下列程序后,變量i的正確結(jié)果是

O

switch(i)

{case9:i+=1;

case10:i+=1;.

case11:i+=1:

default:i+=1;

}

學(xué)生答案:

參考答案:13

16、若運(yùn)行時(shí)輸入12,則以下程序的運(yùn)行結(jié)果是

#ineIude

main()

{intx,y;

seanf(w%d”,&x);

Y=x>127X+IO:x-12:

printf("%d\n",y);

)

學(xué)生答案:

參考答案:0

17、設(shè)x,y、z均為int型變量,請(qǐng)寫出描述“x或Y中至少有

一個(gè)小于Z”的表達(dá)式一一。

學(xué)生答案:

參考答案:x<Z||Y<>

£問答題:

程序設(shè)計(jì)題:

1、用scanf函數(shù)輸入一個(gè)年份year,然后用一個(gè)賦值語句計(jì)算

這一年中2月份的天數(shù)datesum,最后用格式輸出函數(shù)printf輸

出datesum值。

具體要求如下:(1)所有變量為整型

(2)輸入前栗有提示

(3)輸出結(jié)果時(shí)要有必要的文字說明

學(xué)生答案:

參考答案:略

2、由鍵盤輸入一個(gè)小于256的十進(jìn)制整數(shù),然后將該數(shù)轉(zhuǎn)換成

八位的二進(jìn)制形式輸出。

具體要求如下:

(1)輸入前要有提示

(2)若轉(zhuǎn)換成的二進(jìn)制數(shù)不夠八位,則在前面添“0”補(bǔ)足八位。

例如:十進(jìn)制數(shù)79轉(zhuǎn)換成的二進(jìn)制數(shù)為1001111,但應(yīng)輸出

01001111

(3)分別輸入十進(jìn)制數(shù)54,96,175,233,255來運(yùn)行這個(gè)程

序。

學(xué)生答案:

參考答案:略

第五章選擇結(jié)構(gòu)程序設(shè)計(jì)

單選題:

1、下面的程序是

main。

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

eIseprintf("####");

)

A.有語法錯(cuò)誤不能過通過編譯

B.輸出****

C.可能通過編譯,但是不能通過連接,因而不能運(yùn)行

D.輸出####

學(xué)生答案:B

參考答案:D

2、以下程序輸出結(jié)果是

main()

{intm=5;

if(m++>5)printf("%d\n",m);

eIseprintf("%d\n",m-);

}

A.7

B.6

C.5

D.4

學(xué)生答案:B

參考答案:B

3、兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出

結(jié)果是

main()

{intx;

scanf&x);

if(x++〉5)printf("%d",x);

eIseprintf("%d\n",x--);

1

A.7和5

B.6和3

C.7和4

D.6和4

學(xué)生答案:C

參考答案:A

4、下列語句正確的是()

A.if(a>b>c)temp=a

B.if((a=b)>0)temp=a

C.inta=b=c=4

D.inta;scanf(%d,a)

學(xué)生答案:B

參考答案:B

5、已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是

if(x>y)

z=x;x=y;y=z;

A.x=10,y=20,z=30

B.x—20,y—30,z—30

C.x=20,y=30,z=10

D.x=20,y=30,z=20

學(xué)生答案:A

參考答案:B

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

main。

{inta=100,x=10,y=20,ok1=5,ok2=0;

if(x<y)

if(y!=10)

if(!ok1)

a=1;

eIse

if(ok2)a=10;

a--1;

printf("%d\n",a);

)

A.1

B.0

C.-1

D.值不確定

學(xué)生答案:B

參考答案:C

7、若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<CR>(<CR>

表示回車),則下面程序的運(yùn)行結(jié)果是

#include

main()

{charc;

intv0=0,v1=0,v2=0;

do{

switch(c=getchar())

{case'a':case'A':

case'e':case'E':

case'i':case1I*:

case'o':case'0*:

case'u':case'U':vl+=l;

defau11:v0+=1;v2+=1;

)

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

printf("vO=%d,v1=%d,v2=%d\n",vO,v1,v2);

1

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=12,v1=4,v2=12

學(xué)生答案:C

參考答案:D

8、閱讀以下程序:

main。

{intx;

scanf("%d",&x);

if(x—<5)printf("%d"'x);

eIseprintf("%d"'x++);

)

程序運(yùn)行后,如果從鍵盤上輸入5,則輸出結(jié)果是

A.3

B.4

C.5

D.6

學(xué)生答案:D

參考答案:B

9、與y=(x>0?1:x<0?7:0);的功能相同的if語句是

A.if(x>0)y=1;eIseif(x<0)y=T;eIsey=0;

B.if(x)if(x>0)y=1;eIseif(x<0)y=T;eIsey=0;

C.y=-1if(x)y=1;elseif(x-0)y=0;eIsey=T;

D.y=0if(x>-0)if(x>0)y=1;eIsey=7;

學(xué)生答案:B

參考答案:A

10、若有定義:floatw;inta,b;則合法的switch語句是

A.switch(w){easel.0:printf("*\n");case2.0:

printf("**\n");}

B.switch(a);{case1printf("*\n");case2

printf("**\n");}

C.switch(b){casea:printf("*\n");defau11:

printf("\n");caseb:printf("**\n");}

D.switch(a+b){case1:printf("*\n");case2:

printf("**\n");defau11:printf("\n");}

學(xué)生答案:B

參考答案:D

11、以下程序段的輸出結(jié)果是()。

inti,j,m=0;

for(i-l;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++:

pfintf(w%d\n”,m).;

A.12

B.15

C.20

D.25

學(xué)生答案:C

參考答案:C

12、以下程序的輸出結(jié)果是()。

#include

main()

(

inty=10;

for(;y>0;y-—)

if(y%3==0)

(

printf(“%d",---y);

continue;

)

)

A.741

B.852

C.963

D.8754321

學(xué)生答案:C

參考答案:B

13、以下敘述正確的是()o

A.do-whiIe語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)

代替

B.只有do…whiIe語句構(gòu)成的循環(huán)能用break語句退出

C.用do…whiIe語句構(gòu)成循環(huán)時(shí),在while后的表達(dá)式為

零時(shí)不一定結(jié)束循環(huán)

D.用do…whiIe語句構(gòu)成循環(huán)時(shí),在whiIe后的表達(dá)式為

零時(shí)結(jié)束循環(huán)

學(xué)生答案:B

參考答案:D

14、有以下程序段:

intk=0:

while(k=1)k++0

whiIe循環(huán)執(zhí)行的次數(shù)是()o

A.無限次

B.有語法錯(cuò),不能執(zhí)行

C.一次也不執(zhí)行

D.執(zhí)行一次

學(xué)生答案:D

參考答案:A

15、有以下程序:

#incIude

inta=3;

mmn()

(

intS=0;

(

inta=5:

S+=a++:

}

S+=a++;printf(;,%d\n”,S);

}

A.8

B.10

C.7

D.11

學(xué)生答案:A

參考答案:A

16、以下的for循環(huán)()o

for(X=0,Y=0;(Y!=123)&&(X<4);X++);

A.是無限循環(huán)

B.循環(huán)次數(shù)不定

C.循環(huán)執(zhí)行4次

D.循環(huán)執(zhí)行3次

學(xué)生答案:C

參考答案:C

17、執(zhí)行下面程序片段的結(jié)果是()0

intX=23:

dO

(

printf("%d",X-);

}whiIe(!X);

A,打印出321

B.打印出23

C.不打印任何內(nèi)容

D.陷入死循環(huán)

學(xué)生答案:B

參考答案:C

18、請(qǐng)閱讀以下程序:.

#include

main()

{fIoatx,y;

scanf("%f",&x);

if(x<0.0)y=0.0:

elseif((x<5.0)&&(x!=2.0))

Y=1.0/(x+2.0);

elseif(x<10.0)Y=1.0/x;

eIsey=10.0;

printf%f\n”,y);

)

若運(yùn)行時(shí)從鍵盤上輸入2.0(表示回車),則上面程序的輸出結(jié)

果是()0

A.0.000000

B.0.250000

C.0.500000

D.1.000000

學(xué)生答案:B

參考答案:C

19、在while(x)語句中的x與下面條件表達(dá)式等價(jià)的是()0

A.x==0

B.x==1

C.x!=0

D.x!=1

學(xué)生答案:B

參考答案:C

20、下面程序段的輸出結(jié)果是()。

a=1;b=2;c=2;

while(a<B

printf(v%d,%d,%d”,a,b,c);

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

學(xué)生答案:A

參考答案:A

匕多選題:

目判斷題:

H填空題:

1、#include<stdio.h>

main()

{inti=0,j=0,a=6;

if((++i>0)||(j++>0))a++;

printf("i=%d,j=%d,a=%d\n",i,j,a);}

結(jié)果:_____

學(xué)生答案:

參考答案:1=1,j=0,a=7

2、若從鍵盤輸入58,則以下程序輸出的結(jié)果是

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

1

學(xué)生答案:

參考答案:585858

3、下列程序段的輸出結(jié)果是<

intn='c

switch(n++)

{default:printf("error");break;

case'a*:case,A*:case'b':case'B':printf("good");break;

case'c':case*0,:printf("pass");

case'd':case'D*:printf(''warm");

}

學(xué)生答案:

參考答案:passwarm

4、以下程序段的輸出結(jié)果是

intk,n,m;

h=10;m=I;k二I;

while(k<=n)

m*=2;

printf("%d\n",m);

學(xué)生答案:

參考答案:程序段無限循環(huán),沒有輸出結(jié)果

5、以下程序的功能是:從鍵盤上輸入若干學(xué)生的成績,統(tǒng)計(jì)并

輸出最高成績和最低成績

#incIude

main()

(

floatx,amax,amin;

scanf(v%r.,&x);

amax=x;amin=X;

whiIe((1))

{

if(X>amax)amax=x;

if((2))amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\nv,amax,amin);

)

學(xué)生答案:

參考答案:(l)x>=0(2)x0

6、下述程序的運(yùn)行結(jié)果是——。

#incIude

main()

ints=0,k;

for(k=7;k>4;k")

{

switch(k)

(

case1:

case4:

case7:S++;break;

case2:

case3:

case6:break;

case0:

case5:s+=2;break;

}

)

printf("s=%d",s);

)

學(xué)生答案:

參考答案:s=3

7、下面程序的功能是:計(jì)算1—10之間的奇數(shù)之和與偶數(shù)之和,

請(qǐng)?zhí)羁铡?/p>

#incIude

main()

{inta,b,c,i;

a-c:0:

for(i=0;i<=10;i+:2)

c十二b:

)

printf("偶數(shù)之和二%d\n",a);

printf(n奇數(shù)之和二%:1\!1",c-11);

學(xué)生答案:

參考答案:b=i+l

8、有以下程序:

#incIude

main()

{charc;

whiIe((c=getchar())!=,?')putchar(--c);

}

程序運(yùn)行時(shí),如果從鍵盤輸入:丫?距<回車),則輸出結(jié)果為

學(xué)生答案:

參考答案:X

9、下面程序的運(yùn)行結(jié)果是

#incIude

main()

{inty,a;

y=2;a=1;

while(y-!=-1)

{do{a*=y;a++;}whiIe(y-);

printf("%d,%d”,a,y);

)

學(xué)生答案:

參考答案:1,-2

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

i=1;s=3;

do{s+=i++;

if(s%7=0)continue;

eIse++i:

}whiIe(s<15);

printf(n%d”,i);

學(xué)生答案:

參考答案:8

53問答題:

門程序設(shè)計(jì)題:

1、編寫程序,從鍵盤輸入年號(hào)和月號(hào),計(jì)算這一年的這一月共

有幾天.

學(xué)生答案:

參考答案:mainO

(

intyear,month,day=0,leap;

printf(z,\npleaseinputyearandmonth:z,);

scanf(〃%d,%d〃,&year,&month);

if(year%4!=0)

leap=0;

elseif(year%100==0)

if(year%400==0)

leap=l;

else

leap=0;

else

leap=l;

switch(month)

case1:

case3:

case5:

case7:

case8:

case10:

case12:day=31;break;

case4:

case6:

case9:

case11:day=30;break;

case2:{if(leap==l)day=29;elseday=28;break;}

default:printf(z,the13thmonth!?z,);

}

printf(z,Ithas%ddaysin%d/%d,/,day,year,month);

)

2、編寫程序,輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸

出。

[程序分析]

我們想辦法把最小的數(shù)放到X上,先將X與y進(jìn)行比較,

如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,

如果x>z則將x與z的值進(jìn)行交換,這樣能使x最小。

學(xué)生答案:

參考答案:mainO

(

intx,y,z,t;

scanf("%d%d%d〃,&x,&y,&z);

if(x>y)

{t=x;x=y;y=t;}/*交換x,y的值*/

if(x>z)

{t=z;z=x;x=t;}/*交換x,z的值*/

if(y>z)

{t=y;y=z;z=t;}/*交換z,y的值*/

printf("smalltobig:%d%d%d〃,x,y,z);

)

3、編寫程序,輸入一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321

是回文數(shù),個(gè)位與萬位相同,十位與千位相同。

學(xué)生答案:

參考答案:main()

longge,shi,qian,wan,x;

scanf(〃%ld〃,&x);

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if(ge==wan&&shi==qian)/*個(gè)位等于萬位并且十位等于千位*/

printf(/z%disahuiwennumber.x);

else

printf(^disnotahuiwennumber.”,x);

)

4、編寫程序,將一個(gè)不大于256的十進(jìn)制正整數(shù)轉(zhuǎn)化為8位的

二進(jìn)制數(shù),若不足8位,則在前面補(bǔ)0,例如十進(jìn)制數(shù)2轉(zhuǎn)化位

8位二進(jìn)制數(shù)后是00000010,37轉(zhuǎn)化后是00100101。

試求出十進(jìn)制數(shù)5、23、189轉(zhuǎn)化位8位二進(jìn)制分別是多少?(要

求必須使用循環(huán)語句實(shí)現(xiàn))

學(xué)生答案:

參考答案:main()

(

inta,i,b[8];

printf("PleaseInputaNumber<=256:\n");

scanf("%d",&a);

for(i=l;i<=8;i++)

b[i]=0;

i=8;

while(i>=1)

{b[i]=a%2;

a=a/2;

if(a==0)

break;

i—;

)

for(i=l;i<=8;i++)

printfb[i]);

printfCW);

本題參考答案:0000010K0001011k10111101

第6章循環(huán)控制

單選題:

1、假定a和b為int型變量,則執(zhí)行以下語句后b的值為

a=1;b=10;

do

{b=b-a;a++;}

while(b—>0);

A.-3

B.-2

C.-1

D.-4

學(xué)生答案:B

參考答案:D

2、以下程序運(yùn)行后,輸出結(jié)果是

main()

{inty=18,i=0,j,a[8];

do

{a[i]=y%2;i++;

y=y/2;

}whiIe(y>=1);

for(j=i;j>0;j-)printf("%d\n",a[j]);

printf("\n");

}

A.1000

B.11010

C.01001

D.10100

學(xué)生答案:B

參考答案:C

3、以下程序的輸出結(jié)果是

main()

{inti;

for(i=1;i<6;i++)

{if(i%2){printf("#");continue;}

printf("*");

}

printf("\n"):

A.#*#*#

B.#####

C*****

D.*#*#*

學(xué)生答案:B

參考答案:A

4、以下程序段的輸出結(jié)果是

intx=3;

do

{printf("%3d",x-=2);)

whiIe(!(—x));

A.1

B.3,0

C.1,-2

D.死循環(huán)

學(xué)生答案:A

參考答案:C

5、閱讀下列程序:

main()

{intn[3],i,j,k;

for(i=0;i<3;i++)

n[i]=0;

k=2;

for(i=0;i<k;i++)

for(j=O;j<2;j++)

n[j]=n[i]+1;

printf("%d\n",n[1]);}

下述程序運(yùn)行后輸出結(jié)果是

A.2

B.1

C.0

D.3

學(xué)生答案:B

參考答案:D

6、定義如下變量:

intn=10

則下列循環(huán)的輸出結(jié)果是

while(n>7)

printf("%d\n",n);

)

A.1098

B.987

C.10987

D.9876

學(xué)生答案:B

參考答案:B

7、以下程序段的輸出結(jié)果是

intx=3;

do

{printf("%3d",x~=2);)

while(!(―x));

A.1

B.30

C.1-2

D.死循環(huán)

學(xué)生答案:C

參考答案:C

8、運(yùn)行以下程序后,如果從鍵盤上輸入6514<回車),則榆出

結(jié)果為

main()

(

intm,n;

printf("Enterm,n:");

scanf("%d%d",&m,&n);

while(m!=n)

(

whiIe(m>n)m-=n;

whiIe(n>m)n-=m;

)

printf("m=%d\n",m);

)

A.ni—3

B.m=2

C.m=1

D.m=0

學(xué)生答案:A

參考答案:C

9、以下程序的輸出結(jié)果是

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k=k+p[i]*2;

printf("%d\n",k);

}

A.20

B.21

C.22

D.23

學(xué)生答案:B

參考答案:B

10、執(zhí)行語句:for(i=1;i++<4;)后;變量i的值是()

A.3

B.4

C.5

D.不定

學(xué)生答案:C

參考答案:C

11、執(zhí)行語句:for(i=1;i++<4;)后;變量i的值是

A.3

B.4

C.5

D.不定

學(xué)生答案:B

參考答案:C

12、以下程序的輸出結(jié)果是

{in

溫馨提示

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