MSE C语言第四章习题.docx

上传人:b****5 文档编号:7393437 上传时间:2023-05-11 格式:DOCX 页数:33 大小:29.40KB
下载 相关 举报
MSE C语言第四章习题.docx_第1页
第1页 / 共33页
MSE C语言第四章习题.docx_第2页
第2页 / 共33页
MSE C语言第四章习题.docx_第3页
第3页 / 共33页
MSE C语言第四章习题.docx_第4页
第4页 / 共33页
MSE C语言第四章习题.docx_第5页
第5页 / 共33页
MSE C语言第四章习题.docx_第6页
第6页 / 共33页
MSE C语言第四章习题.docx_第7页
第7页 / 共33页
MSE C语言第四章习题.docx_第8页
第8页 / 共33页
MSE C语言第四章习题.docx_第9页
第9页 / 共33页
MSE C语言第四章习题.docx_第10页
第10页 / 共33页
MSE C语言第四章习题.docx_第11页
第11页 / 共33页
MSE C语言第四章习题.docx_第12页
第12页 / 共33页
MSE C语言第四章习题.docx_第13页
第13页 / 共33页
MSE C语言第四章习题.docx_第14页
第14页 / 共33页
MSE C语言第四章习题.docx_第15页
第15页 / 共33页
MSE C语言第四章习题.docx_第16页
第16页 / 共33页
MSE C语言第四章习题.docx_第17页
第17页 / 共33页
MSE C语言第四章习题.docx_第18页
第18页 / 共33页
MSE C语言第四章习题.docx_第19页
第19页 / 共33页
MSE C语言第四章习题.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MSE C语言第四章习题.docx

《MSE C语言第四章习题.docx》由会员分享,可在线阅读,更多相关《MSE C语言第四章习题.docx(33页珍藏版)》请在冰点文库上搜索。

MSE C语言第四章习题.docx

MSEC语言第四章习题

下面是研究生考试网为报考GCT软件工程硕士的考生整理的MSE考研复习备考资料。

希望这些资料能够给考生一定帮助。

在此,预祝考生复习备考顺利!

第五章循环结构

一、单项选择题

1.inta=1,x=1;循环语句while(a<10)x++;a++;的循环执行()。

A.无限次B.不确定次C.10次D.9次

2.下列语句中,错误的是()。

A.while(x=y)5;B.dox++while(x==10);

C.while(0);D.do2;while(a==b);

3.循环语句for(x=0,y=0;(y!

=123)||(x<4);x++);的循环执行()。

A.无限次B.不确定次C.4次D.3次

4.循环语句for(i=0,x=1;i=10&&x>0;i++);的循环执行()。

A.无限次B.不确定次C.10次D.9次

5.i、j已定义为int类型,则以下程序段中内循环体的执行次数是()。

for(i=5;i;i--)

for(j=0;j<4;j++){………}

A.20B.24C.25D.30

6.while循环,执行次数是()

i=4;while(--i)printf(“%d”,i);

A.3次B.4次C.0次D.无数次

7.下列程序段执行后s的值为()

inti=1,s=0;while(i++)if(!

(i%3))break;elses+=i;

A.2B.3C.6D.以上均不是

8.下列程序输出结果是()

#include

voidmain()

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

while(x++!

=(y-=1)){z++;if(y

}

A.x=4,y=4,z=1B.x=5,y=4,z=3C.x=5,y=4,z=1D.x=5,y=5,z=1

9.inti=1,s=0;

while(i<100){s+=i++;if(i>100)break;}

执行以上程序段后,s的值是()。

A.1到101的和B.1到100的和C.1到99的和D.以上均不是

10.假定i和j为int型变量,则执行以下语句后i的值为()。

inti=1;

switch(i++){

case1:

for(j=0;j<9;j++)if(i==1)break;

case2:

for(j=1;j<10;j++)if(i==2)break;

case3:

printf(“i=%d\n”,i);

}

A.0B.1C.9D.10

11.假定a和b为int型变量,则执行以下语句后b的值为()。

a=1;b=10;

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

while(b--<0);

A.9B.-2C.-1D.8

12.设x和y均为int型变量,则执行下面的循环后,y的值为()。

for(y=1,x=1;y<=50;y++){

if(x>=10)break;

if(x%2==1){x+=5;continue;}

x-=3;

}

A.2B.4C.6D.8

13.求整数1至10的和并存入变量s,下列语句中错误的是()。

A、s=0;for(i=1;i<=10;i++)s+=i;B、s=0;i=1;for(;i<=10;i++)s=s+i;

C、for(i=1,s=0;i<=10;s+=i,i=i+1);D、for(i=1;s=0;i<=10;i++)s=s+i;

14.若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是()。

A、intjc=1;for(inti=2;i<=10;i++)jc*=i;

B、for(floatjc=1,inti=2;i<=10;i++,jc*=i);

C、floatjc=1;for(inti=2;i<=10;jc*=i,i=i+1);

D、for(floatjc=1;i=2;i<=10;i++)jc*=i;

15.下列语句中,哪一个可以输出26个大写英文字母()。

A、for(a=’A’;a<=’Z’;printf(”%c”,++a));B、for(a=’A’;a<’Z’;a++)printf(”%c”,a);

C、for(a=’A’;a<=’Z’;printf(”%c”,a++));D、for(a=’A’;a<’Z’;printf(”%c”,++a));

16.与语句while(i>=0&&i<=10){if(i++==5)continue;printf(”%f\n”,1.0/(i-5));}

功能相同的是()。

A、for(;i>=0&&i<=10;i++)if(i!

=5)printf(”%f\n”,1.0/(i-5));

B、for(;i>=0&&i<=10;i++)if(i==5)printf(”%f\n”,1.0/(i-5));

C、for(;i>=0&&i<=10;i++)if(i!

=5)printf(”%f\n”,1.0/(i-5));elsebreak;

D、for(;i<=0&&i>=10;i++)if(i!

=5)printf(”%f\n”,1.0/(i-5));

17.下列语句中与语句while

(1){if(i>=100)break;s+=i;i++;}功能相同的是()。

A、for(;i<100;i++)s=s+i;B、for(;i<100;i++;s=s+i);

C、for(;i<=100;i++)s+=i;D、for(;i>=100;i++;s=s+i);

18.在C语言中,下列说法中正确的是()。

A.不能使用“do语句while(条件)”的循环

B.“do语句while(条件)”的循环必须使用“break”语句退出循环

C.“do语句while(条件)”的循环中,当条件为非0时将结束循环

D.“do语句while(条件)”的循环中,当条件为0时将结束循环

19.C语言中while和do-while循环的主要区别是(    )。

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

20.以下描述中正确的是(  )。

A)若while循环中循环体语句只有一条可执行语句,就可以不使用复合语句

B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C)在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作

D)do-while循环中,根据情况可以省略while

21设有程序段

intk=10;

while(k)k=k-1;

则下面描述中正确的是(   )。

A)while循环执行10次B)循环是无限循环

C)循环体语句一次也不执行D)循环体语句执行一次

22.下列循环语句中有语法错误的是()。

A)while(x=y)5;B)while(0);

C)doprintf(“%d”,a);while(a--);D)dox++while(x==10);

23.已知inti=1;执行语句while(i++<4);后,变量i的值为()。

A)3B)4C)5D)6

24、语句while(!

E);中的表达式!

E等价于(   ) 。

A)E==0B)E!

=1C)E!

=0D)E==1

25、下面程序段的运行结果是(   )。

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

while(a

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

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

26、下面程序的运行结果是(   )。

#include

main()

{

intnum=0;

while(num<=2)

{

num++;

printf(“%d\n”,num);

}

}

A)1B)1C)1D)1

222

33

27、以下能正确计算1×2×3×…×10的程序段是(    )。

A)do{i=1;s=1;B)do{i=1;s=0;

   s=s*i;s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

C)i=1;s=1;D)i=1;s=0;

do{s=s*i;do{s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

28、下面程序的运行结果是(   )。

#include

main()

{

inty=10;

do{y--;}while(--y);

printf(“%d\n”,y--);

}

A)-1B)1C)8D)0

29、已知inti=1,j=0;执行下面语句后j的值是()。

while(i)

switch(i)

{case1:

i+=1;j++;break;

case2:

i+=2;j++;break;

case3:

i+=3;j++;break;

default:

i--;j++;break;

}

A)1B)2C)3D)死循环

30、若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果是(   )。

#include

main()

{

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”);

}

A)668977B)668966C)66778777D)6688766

31、下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#include

main()

{

intm=0,n=0;

charc;

while(()!

=‘\n’)

{

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

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

}

printf(“%d\n”,m

);

}

(1)A)c=getchar()B)getchar()C)scanf(“%c”,c)

(2)A)n:

mB)m:

nC)m:

mD)n:

n

32.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include

main()

{

inta,max=0;

scanf(“%d”,&a);

while()

{

if(max

scanf(“%d”,&a);

}

printf(“%d”,max);

}

A)a==0B)aC)!

a==1D)!

a

33.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。

#include

main()

{

intn,sum=0;

n=2345;

do{

sum=sum+;

n=;

}while(n);

printf(“sum=%d”,sum);

}

(1)A)n%10B)(n%10)*(n%10)C)n/10D)(n/10)*(n/10)

(2)A)n/1000B)n/100C)n/10D)n%10

34.以下While循环中,循环体执行的次数是。

k=1;

while(--k)k=10;

A.10次B.无限次C.一次也不执行D.1次

35.有以下程序段,其中n为整型变量。

运行结果为

n=2;

while(n--);printf("%d",n);

A.2B.10C.–1D.0

36.若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是

A.i=1;s=1;do{s=s+i;i++;}while(i<5);

B.i=0;s=0;do{i++;s=s+i;}while(i<5);

C.i=1;s=0;do{s=s+i;i++;}while(i<6);

D.i=1;s=0;do{s=s+i;i++;}while(i<=5);

37.有以下程序段,其中x为整型变量:

x=-1;do{;}while(x++);printf("x=%d",x);

以下选项中叙述正确的是

A.该循环没有循环体,程序错误B.输出:

x=1

C.输出:

x=0D.输出:

x=-1

38.以下程序的输出结果是()

A、10,19,2B、9,87,6C、10,99,0D、10,109,1

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

39.以下程序的输出结果是()

A、20B、31C、321D、210

main()

{intn=4;

while(n--)printf("%d",--n);

}

40.以下程序的输出结果是()

A、#*#*#B、#####C、*****D、*#*#*

main()

{inti;

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

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

printf("*");

}

printf("\n");

}

41.以下程序的输出结果是()

A、编译不通过,无输出B、aceg

C、acegiD、abcdefghi

main()

{inti;

for(i='A';i<'I';i++,i++)printf("%c",i+32);

printf("\n");

}

42.以下循环体的执行次数是()

A、3B、2C、1D、0

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i);

}

43.以下程序段的执行结果是()

A、a=12y=12B、a=12y=12

a=14y=16        a=16y=28

a=16y=20         a=18y=24

C、a=12y=12D、a=12y=12

a=14y=26a=14y=44

inta,y;

a=10;y=0;

do

{a+=2;y+=a;

printf("a=%dy=%d\n",a,y);

if(y>20) break;

}while(a=14);

44.有如下程序

main()

{inti,sum;

for(i=1;i<=3;sum++) sum+=i;

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

}

该程序的执行结果是()

A、6B、3C、死循环D、0

45.有如下程序

main()

{intx=23;

do

{printf("%d",x--);}while(!

x);}

该程序的执行结果是()

A、321B、23C、不输出任何内容D、陷入死循环

46.有如下程序

main()

{intn=9;

while(n>6){n--;printf("%d",n);}

}

该程序段的输出结果是()

A、987B、876C、8765D、9876

47.有以下程序段

intk=0;

while(k=1) k++;

while循环执行的次数是()

A、无限次B、有语法错,不能执行C、一次也不执行D、执行1次

48.以下程序执行后sum的值是()

A、15B、14C、不确定D、0

min()

{inti,sum;

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

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

}

49.有以下程序段

intx=3;

do

{printf("%d",x-=2);}while(!

(--x));}

其输出结果是()

A、1B、30C、1–2D、死循环

50.t为int类型,进人下面的循环之前,t的值为0()

while(t=l)

{……}

则以下叙述中正确的是

A、循环控制表达式的值为0B、循环控制表达式的值为1

C、循环控制表达式不合法D、以上说法都不对

51.以下循环中,while循环的次数是()

 main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

……

}

A、1B、10C、6D、死循环,不能确定次数

52.以下程序的输出结果是()

 main()

{inta=0,j;

for(j=0;j<4;j++)

{switch(j)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

}

A、36B、13C、10D、20

二、读程序,写运行结果

1.阅读下列程序,写出程序运行的输出结果。

voidmain()

{inty=9;

for(;y>0;y--)

if(y%3==0){printf(“%d”,--y);continue;}

}

2.阅读下列程序,写出程序运行的输出结果。

voidmain()

{inti=5;

do{

switch(i%2){

case4:

i--;break;

case6:

i--;continue;

}

i--;i--;

printf(“i=%d”,i);

}while(i>0);

}

3.阅读下列程序,写出程序运行的输出结果。

#include

voidmain()

{intk=0;charc='A';

do{

switch(c++){

case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;break;

case'E':

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<'G');

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

}

4.阅读下列程序,当输入为:

ab*AB%cd#CD$时,写出程序运行的输出结果。

voidmain()

{charc;

while((c=getchar())!

=’$’)

{if(‘A’<=c&&c<’Z’)putchar(c);

elseif(‘a’<=c&&c<=’z’)putchar(c-32);

}

}

5.阅读下列程序,输入数据:

2,4,写出程序运行的输出结果。

#include

voidmain()

{ints=1,t=1,a,n;

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

for(inti=1;i

t=t*10+1;s=s+t;

}

s*=a;printf("SUM=%d\n",s);

}

7.读下列程序,写出程序运行的输出结果.

#include

voidmain()

{inti,j,n;

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

for(j=1;j<=i;j++)printf("");

n=7-2*i;

for(j=1;j<=n;j++)printf("%1d",n);

printf("\n");

}

}

7.main()

{inti,s=0;

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

{if(i%10!

=0)continue;

s=s+i;

}

printf("i=%d,s=%d\n",i,s);

}

8.main()

{inti,s=0;

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

{s=s+i;

if(i==10)break;

}

printf("i=%d,s=%d\n",i,s);

}

9.main()

{

inti=1;

while(i<=15)

if(++i%3!

=2)continue;

elseprintf("%d",i);

printf("\n");

}

10.main()

{

inti,j,k;

charspace='';

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

{for(j=1;j<=i;j++)

printf("%c",space);

for(k=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2