第4章 循环结构.docx

上传人:b****3 文档编号:5210620 上传时间:2022-12-14 格式:DOCX 页数:15 大小:18.96KB
下载 相关 举报
第4章 循环结构.docx_第1页
第1页 / 共15页
第4章 循环结构.docx_第2页
第2页 / 共15页
第4章 循环结构.docx_第3页
第3页 / 共15页
第4章 循环结构.docx_第4页
第4页 / 共15页
第4章 循环结构.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

第4章 循环结构.docx

《第4章 循环结构.docx》由会员分享,可在线阅读,更多相关《第4章 循环结构.docx(15页珍藏版)》请在冰豆网上搜索。

第4章 循环结构.docx

第4章循环结构

第4章循环结构

一、            选择题

1、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是()

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

2、t为int类型,进入下面的循环之前,t的值为0

while(t=1)

{……}

则以下叙述中正确的是()

A)循环控制表达式的值为0

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

3、在C程序中,与while(m)中表达式m完全等价的是()

A)m==0B)m!

=0C)m==1D)m!

=1

4、有以下程序,程序运行后的输出结果是()。

main()

{inti=1,sum=0;

while(i<=4)

{

sum=sum+i;

i=i+1;

}

printf(“%d\n”,sum);}

A)4B)5C)10D)死循环

5、有以下程序,程序运行后的输出结果是()。

main()

{inti=1,sum=0;

while(i<=4)

sum=sum+i;

i=i+1;

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

}

A)4B)5C)10D)死循环

6、有如下程序

main(){

intn=9;

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

}

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

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

7、以下程序的输出结果是()

main()

{intnum=0;

while(num<=2)

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

}

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

222

33

4

8、有以下程序,若运行时输入3.62.4<回车>,则输出的结果是()。

main()

{floatx,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while

(1){

if(fabs(z)>1.0)

{

x=y;

y=z;

z=x/y;}

else

break;}

printf(“%f\n”,y);}

A)1.500000B)1.600000C)2.000000D)2.400000

9、执行以下程序段时

x=-1;

do

{x=x*x;}

while(!

x);

则下面描述正确的是()

A)循环体将执行一次B)循环体将执行两次

C)循环体将执行无限次D)系统将提示有语法错误

10、有以下程序段其输出结果是()

intx=3;

do

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

while(!

(--x));

A)1B)30C)1-2D)死循环

11、有如下程序

main(){

intx=23;

do

{

printf(“%d”,x);

x--;

}while(!

x);

}

该程序的执行结果是()

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

12、有以下程序段

intn=0,p;

do{scanf(“%d”,&p);n++;}while(p!

=12345&&n<3);

此处do—while循环的结束条件是()

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

13、以下不构成无限循环的语句或语句组是()

A)n=0;

do{++n;}while(n<0);

B)n=0;

while

(1){n++;}

C)n=10;

while(n);{n--;}

D)for(n=0,i=1;;i++)n+=i;

14、若i为整型变量,则以下循环执行的次数是()

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

A)无限次B)0次C)1次D)2次

15、执行语句for(i=1;i++<4;)后,变量i的值是()

A)3B)4C)5D)不定

16、有以下程序

main()

{

inty=9;

for(;y>0;y--)

if(y%3==0)printf("%d",--y);

}

程序的运行结果是()

A)741B)963C)852D)875421

17、以下程序执行后sum的值是()

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

main()

{inti,sum;

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

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

}

18、有如下程序

main()

{inti,sum=0;

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

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

}

该程序的执行结果是()

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

19、执行语句for(i=3;i>0;i--);i--;后,变量i的值是()

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

20、执行下面程序片段的结果是()。

intx;

for(x=3;x<6;x++)

printf((x%2)?

(“**%d”):

(”##%d\n”),x);

A)**3##4B)##3

**5**4##5

C)##3**4D)**3##4

**5##5

21、有以下程序,执行后输出的结果是()。

main()

{inti;

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

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

A)011122B)012C)012020D)120

22、有以下程序,程序运行后的输出结果是()。

main()

{intk=4,n=0;

for(;n

{n++;

if(n%3!

=0)continue;

k--;

}

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

}

A)1,1B)2,2C)3,3D)4,4

23、设变量已正确定义,则以下能正确计算f=n!

的程序段是()

A)f=0;

for(i=1;i<=n;i++)f*=i;

B)f=1;

for(i=1;i

C)f=1;

for(i=n;i>1;i++)f*=i;

D)f=1;

for(i=n;i>=2;i--)f*=i;

24、执行下面程序片段的结果是()。

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=20)

break;

if(b%3==1)

{

b+=3;continue;

}

b-=5;

}

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

}

A)7B)8C)9D)10

25、以下程序的输出结果是()。

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}

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

}

A)21B)32C)33D)11

26、以下程序的输出结果是()

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;}

x++;}

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

A)x=4B)x=8C)x=6D)x=12

27、有以下程序

main()

{

inti,j;

for(i=3;i>=1;i--)

{

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

printf("%d",i+j);

printf("\n");

}

}

程序的运行结果是()

A)234B)432C)23D)45

3455433434

4523

28、有以下程序

main()

{inti=5;

do

{

if(i%3==1)

if(i%5==2)

{printf("*%d",i);break;}

i++;

}while(i!

=0);

printf("\n");

}

程序的运行结果是()

A)*7B)*3*5C)*5D)*2*6

29、以下程序的结果是()

main()

{intn;

for(n=1;;)

{if(++n%2==0)continue;

if(++n%3==0)break;}

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

}

A)n=6B)n=5C)n=4D)死循环

30、以下叙述中正确的是()

A)break语句只能用于switch语句题中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

二、程序阅读题

1、以下程序运行后的输出结果是。

main()

{

inti=10,j=0;

do

{j=j+i;

i--;

}while(i>2);

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

}

2、设有以下程序:

main()

{

intn1,n2;

scanf(“%d”,&n2);

while(n2!

=0)

{

n1=n2%10;

n2=n2/10;

printf(“%d”,n1);

}

}

程序运行后,如果从键盘上输入1298;则输出结果为。

3、以下程序的输出结果是。

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

4、阅读下面程序,程序的结果是。

main()

{inti=7;

for(i=2;i>0;i--)

printf(”%d,”,i);

printf(”%d”,i);}

5、阅读下面程序,程序的结果是。

main()

{inti,j,m=0;

for(i=2;i<=10;i+=4)

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

{m++;i++;}

printf("%d,%d",i,m);}

6、阅读下面程序,程序的结果是。

main()

{intj,a=2,n=4;

longs=0,t=0;

for(j=0;j

t=t*10+a;

s=t;

for(j=1;j

{t=t/10;

s=s-t;}

printf(”%d”,s);

}

7、以下程序运行后的输出结果是

main()

{

charc1,c2;

for(c1=’0’,c2=’9’;c1

printf("%c%c",c1,c2);

printf("\n");

}

8、以下程序的输出结果是。

main()

{

ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

9、执行以下程序后,输出’#’号的个数是。

main()

{inti,j;

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

for(j=2;j<=i;j++)putchar(’#’);

}

10、以下程序的输出结果是

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;}

x++;}

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

三、            程序填空题

1、以下程序的功能是计算:

m=1-2+3-4+…+9-10,并输出结果。

请填空。

main()

{intm=0,f=1,i,n;

scanf(“%d”,&n);

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

{m+=i*f;

f=;

}

printf(“m=%d”,m)

}

2、以下程序的功能是计算s=1+1/2!

+1/3!

+1/4!

+…+1/n!

,请填空。

main()

{doubles=0.0,fac=1.0;inti;

intn;

scanf(“%d”,&n);

for(i=1,i<=n;i++)

{fac=fac*;

s=s+fac;}

printf(“s=%lf”,s);}

3、以下程序的功能是计算:

s=1+12+123+1234+12345。

请填空。

main()

{intt=0,s=0,i;

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

{t=i+;s=s+t;}

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

}

4、要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<=18;printf(“%d\n”,i+=2));

5、以下函数的功能是:

求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i

returnz;

}

6、以下程序的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

现在请你在下面的函数中填空,完成求π的功能。

main(){

doubles=0.0;longi,n;

scanf(“%ld”,&n);

for(i=1;i<=n;i++)s=s+;

printf(“%lf”,sqrt(6*s));

}

7、以下用来输出两整数M和N之间的所有素数(质数),请填空,使程序能正确运行。

#defineM4

#defineN30

main()

{ inti,j,k,s=0;

for(i=M;i<=;i++)

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

if(i%j==0)break;

if(j>=i)

{printf("%5d",i);

s=s+1;

if(s%5==0)printf("\n");}

}

printf("\n"); }

8、以下程序实现:

从键盘输入一位整数,计算其各位数字之和。

比如输入整数31421,则打印结果为11。

请填空。

main(){

inti,sum=0,a;

scanf("%d",&i);

while(i>0){

a=;

sum+=a;

i=;}

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

9、以下程序实现:

计算1~10之间(不含10)的奇数之和以及偶数之和

main()

{

inta,b,i;

a=b=0;

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

{

a=;

b=;}

printf("偶数为:

%d,奇数和为:

%d\n",a,b);

}

10、以下程序的功能是:

输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。

main()

{inti,j;

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

j=i*10+6;

if()continue;

printf(“%d”,j);}

}

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1