C程序設(shè)計(jì)(循環(huán))習(xí)題與答案_第1頁
C程序設(shè)計(jì)(循環(huán))習(xí)題與答案_第2頁
C程序設(shè)計(jì)(循環(huán))習(xí)題與答案_第3頁
C程序設(shè)計(jì)(循環(huán))習(xí)題與答案_第4頁
C程序設(shè)計(jì)(循環(huán))習(xí)題與答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、單選題

1、有以下程序段:

intk=2;

while(k=0){printf("%d",k);k-;}

則下面描述中正確的是()。

A循環(huán)體語句一次也不執(zhí)行

B.while循環(huán)執(zhí)行10次

C循環(huán)是無限循環(huán)

D.循環(huán)體語句執(zhí)行一次

正確答案:A

2、下面程序段執(zhí)行后的輸出結(jié)果是()。

inta=l,b=2,c=3,t;

while(a<b<c){

t=a;a=b;b=t;c-;

)

printf("%d,%d,%d",a,b,c);

A.2,1,0

B.2,1,1

C.1,2,0

D.1,2,1

正確答案:D

3、下面程序段執(zhí)行后的輸出結(jié)果是()o

#include<stdio.h>

intmain()

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

while(z->0&&++x<5)y=y-l;

printf("%d,%d,%d",x,y,z);

return0;

}

A.4,3,-1

B.5,-2,-5

C.3,2,0

D.3,2,-1

正確答案:D

4、下面程序的功能是從鍵盤輸入一組字符,從中統(tǒng)計(jì)大寫字母和小寫字母的個(gè)數(shù),選

擇()填入到【】中。

#include<stdio.h>

intmain()

{intm=0,n=0;charc;

while(([])!='\n'){

if(c>='A'&&c<=Z)m++;

if(c>='a'&&c<='z')n++;

)

return0;

)

A.scanf("%c",&c)

B.c==getchar()

C.getchar()

D.c=getchar()

正確答案:D

5、語句while(!E){……};中的表達(dá)式!E等價(jià)于()。

A.E!=0

B.E!=l

C.E==1

D.E==0

正確答案:D

6、以下程序段()。

x=-l;

do{

x=x*x;

}while(!x);

A循環(huán)執(zhí)行1次

B.是死循環(huán)

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

D.有語法錯(cuò)誤

正確答案:A

7、以下敘述正確的是().

A.do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替

B.用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)

C.用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)

D.do-while語句構(gòu)成的循環(huán)只能用break語句退出

正確答案:c

8、有以下程序段:

intn=0,p;

do{

scanf("%d",&p);

n++;

}while(p!=12345&&n<3);

此處do-while循環(huán)的結(jié)束條件是()。

A.p的值不等于12345或者n的值小于3

B.p的值等于12345或者n的值大于等于3

C.p的值等于12345并且n的值大于等于3

D.p的值不等于12345并且n的值小于3

正確答案:B

9、已知:inti=5,下歹(Jdo-while循環(huán)語句的循環(huán)次數(shù)為()。

do{

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

i--;

}while(i!=0);

A.l

B.O

C.無限

D.5

正確答案:C

10、下面程序段()。

x=3;

do

{

y=x-;

if(!y){

printf("%d",x);

continue;

)

printf。'#");

}while(x>=l&&x<=2);

A.含有不合法的控制表達(dá)式B將輸出##

C.將輸出###

D.是死循環(huán)

正確答案:C

11、下面程序執(zhí)行后的輸出結(jié)果是()?

#include<stdio.h>

intmain(){

charc='A';

intk=0;

do(

switch(c++){

case'A':k++;

break;

case

case'C':k+=2;

break;

case'D':k%=2;

continue;

case'E':k*=10;

break;

default:k/=3;

)

k++;

}while(c<'G');

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

return0;

)

A.k=0

B.k=4

C.k=3

D.k=2

正確答案:B

12、下面for循環(huán)語句()o

inti,k;

for(i=0,k=-l;k=l;i++,k++)printf("***");

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

B.只循環(huán)一次

C.判斷循環(huán)結(jié)束的條件非法

D.一次切循環(huán)

正確答案:A

13、下面程序執(zhí)行后的輸出結(jié)果是()。

#include<stdio.h>

intmain()

{intx=9;

for(;x>0;x-){

if(x%3==0){

printf("%d",-x);

continue;

)

}

return0;

)

A.963

B.852

C.741

D.875421

正確答案:B

14、下面程序段的循環(huán)次數(shù)是()。

for(i=2;i==0;)printf("%d",i-);

A.O次

B.2次

C.無限次

D.l次

正確答案:A

15、下面程序執(zhí)行后的輸出結(jié)果是()。

#include<stdio.h>

intmain()

{inti,sum=O;

for(i=l;i<6;i++)sum+=i;

printf("%d",sum);

return0;

)

A.14

B.15

C.不確定

D.O

正確答案:B

16、若有以下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大

于0)

s=a;

for(b=l;b<=c;b++)s=s+l;

則與上述程序段功能等價(jià)的賦值語句是()。

A.s=a+b;

B.s=b+c;

C.s=s+c;

D.s=a+c;

正確答案:D

17、下面程序執(zhí)行后的輸出結(jié)果是()。

#include<stdio.h>

intmain()

{inta=O,i;

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

switch(i){

case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

}

printf("%d",a);

return0;

)

A.10

B.20

C.13

D.31

正確答案:D

18、若變量已正確定義,不能完成求5!的程序段是()。

A.i=l;p=l;while(i<=5){p*=i;i++;}

B.for(i=l,p=l;i<=5;i++)p*=i;

C.for(i=l;i<=5;i++){p=l;p*=i;}

D.i=l;p=l;do{p*=i;i++;}while(i<=5);

正確答案:C

19、下面程序段中,()與其他三個(gè)程序段的作用不同。

A.intk,s=O;

for(k=l;k<=100;s+=++k);

printf("%d",s);

B.k=l;s=0;

do

s+=k;

while(++k<=100);

printf("%d",s);

C.k=l;s=0;

Repeat:

s+=k;

if(++k<=100)

gotoRepeat;

printf("%d",s);

D.k=l;s=0;

while(1){

s+=k;

k=k+l;

if(k>100)break;

}

printf("%d",s);

正確答案:A

20、以下不是死循環(huán)的程序段是()。

A.intk=0;

do{

++k;

}while(k>=0);

B.ints=36;

while(s);

-s;

C.inti=100;

while(1){

i=i%100+l;

if(i>100)break;

}

D.for(;;);

正確答案:A

21、以下是死循環(huán)的程序段是()。

A.i=l;

while(i-);

B.for(i=l;;){

if(i++%2==0)continue;

if(i++%3==0)break;

)

C.i=32767;

do{

if(i<0)break;

}while(++i);

D.for(i=l;;)if(++i<10)continue;

正確答案:D

22、下面關(guān)于循環(huán)語句的描述中,()是錯(cuò)誤的。

A循環(huán)體內(nèi)可以包含有循環(huán)語句

B彳盾環(huán)體內(nèi)必須同時(shí)出現(xiàn)break語句和continue語句

C循環(huán)體內(nèi)可以出現(xiàn)選擇語句

D.循環(huán)體內(nèi)可以是空語句

正確答案:B

23、C語言的跳轉(zhuǎn)語句中,對(duì)于break和continue說法正確的是()

A.break語句只應(yīng)用與循環(huán)體中

B.continue語句只應(yīng)用于循環(huán)體中

C.break是無條件跳轉(zhuǎn)語句,continue不是

D.break和continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問題

正確答案:B

24、下面程序段運(yùn)行時(shí)從鍵盤上輸入:2473/,其輸出結(jié)果是()。

#include<stdio.h>

intmain()

{intc;

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

switch(c-'2'){

case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

)

printf("\n");

return0;

)

A.668977

B.668966

C.66778777

D.6688766

正確答案:A

25、下面程序段中while循環(huán)的循環(huán)次數(shù)是()。

inti=0;

while(i<10){

if(i<l)continue;

if(i==5)break;

i++;

)

A.l

B.10

C.6

D.死循環(huán),不能確定次數(shù)

正確答案:D

26、下面程序執(zhí)行后的輸出結(jié)果是()o

#include<stdio.h>

intmain()

{inti=0,s=0;

for(;;){

if(i==3||i==5)continue;

if(i==6)break;

i++;s+=i;

);

printf("%d",s);

return0;

}

A.10

B.13

C.21

D.死循環(huán)

正確答案:D

27、下面程序執(zhí)行后的輸出結(jié)果是()o

#include<stdio.h>

intmain()

{intk=0,m=0,i,j;

for(i=0;i<2;i++){

for0=0;j<3;j++)k++;

k-=j;

)

m=i+j;

printf("k=%d,m=%d"/k,m);

return0;

}

A.k=0,m=3

B.k=0,m=5

C.k=l,m=3

D.k=l,m=5

正確答案:B

二、判斷題

1、do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)。(x)

2、do-while循環(huán)中,根據(jù)情況可以省略while。(x)

3、for循環(huán)中三個(gè)表達(dá)式可以任意省略,while、do-while的表達(dá)式也是如此。(V)

4、continue語句只能用于三個(gè)循環(huán)語句中。(V)

5、for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用大括號(hào)括起來。(7)

三、填空題

1、?寫出下面程序執(zhí)行后的運(yùn)行結(jié)果。

#indude<stdio.h>

intmain()

{inti,k=19;

while(i=k-l){

k-=3;

if(k%5==0){i++;continue;}

elseif(k<5)break;

i++;

}

printf("i=%d,k=%d",i,k);

return0;

)

正確答案:i=6,k=4

2、?下面程序運(yùn)行時(shí)從鍵盤上輸入:420/,寫出程序的運(yùn)行結(jié)果。

#include<stdio.h>

intmain()

{charc;

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

switch(c-'O'){

case0:

casel:putchar(c+2);

case2:putchar(c+3);break;

case3:putchar(c+4);

default:putchar(c+1);break;

)

return0;

)

正確答案:5523

3、?寫出下面程序執(zhí)行后的運(yùn)行結(jié)果。

#include<stdio.h>

intmain()

{intk=l,n=263;

do<k*=n%10;n/=10;}while(n);

printf("%d",k);

return0;

)

正確答案:36

4、?寫出下面程序執(zhí)行后的運(yùn)行結(jié)果。

#include<stdio.h>

intmain()

{inti=5;

do{

switch(i%10){

case4:i-;break;

case6:i-;continue;

)

i--;i-;

printf("%d",i);

}while(i>0);

retu

溫馨提示

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