预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

循环结构程序设计复习题一.选择题以下while循环中,循环体执行的次数是:()k=1;while(--k)k=10;a)10次b)无限次c)一次也不执行d)1次有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=0;while(!x!=0)x++;a)退出while循环后,x的值为0b)退出while循环后,x的值为1c)while的控制表达式是非法的d)while循环执行无限次3.有以下程序段,其中n为整型变量,执行后输出结果是:()n=20;while(n--);printf(“%d”,n);a)2b)10c)-1d)04.有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()t=1;while(-1){t--;if(t)break;}a)循环一次也不执行b)循环执行一次c)循环控制表达式(-1)不合法d)循环执行2次5.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=-1;do{;}while(x++);printf(“x=%d”,x);a)该循环没有循环体,程序错误b)输出x=1c)输出x=0d)输出x=-16.有以下程序段,其中x,y为整型变量,程序输出结果是:()for(x=0,y=0;(x<=1)&&(y=1);x++,y--);printf(“x=%d,y=%d”,x,y);a)x=2,y=0b)x=1,y=0c)x=1,y=1d)x=0,y=0解析:在开始时x=0,y=0;进入循环判断(x<=1)&&(y=1)条件成立,同时把1赋给y,此时x=0,y=1;然后执行x++,y--,执行之后x=1,y=0;再进入循环判断(x<=1)&&(y=1),条件成立,同时同时把1赋给y,此时x=1,y=1;然后执行x++,y--,执行之后x=2,y=0;再进入循环判断(x<=1)&&(y=1),条件不成立,跳出循环输出x=2,y=0。7.有以下程序:main(){intx=0,y=0;while(x<5&&++y)y--,x++;printf(“%d,%d”,y,x);}程序的输出结果是:()a)0,5b)1,5c)0,4d)1,48.有以下程序:main(){intnum=0;do{num++;printf(“%d\n”,num);}while(num<=2);}程序的输出结果是:()a)1b)1c)1d)12223349.有以下程序:main(){intx=3;do{printf(“%d”,x-=2);}while(!(--x));}程序的输出结果是:()a)1b)30c)1-2d)死循环10.有以下程序:main(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}程序的输出结果是:()a)1b)-1c)8d)011.有以下程序:main(){intx=3,y;do{y=--x;if(!y)printf(“x”);elseprintf(“y”);}while(x);}程序的输出结果是:()a)xyxb)yyxc)yxxd)yxy12.有以下程序段,此处do-while循环的结束条件是:()intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);a)p的值不等于12345并且n的值小于3b)p的值等于12345并且n的值大于等于3c)p的值不等于12345或者n的值小于3d)p的值等于12345或者n的值大于等于313.有以下程序:main(){inta,b,t;for(a=3,b=0;!a==b;a--,b++)if(a>b){t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);}程序的输出结果是:()a)4,1b)1,4c)4,-1d)-1,414.有以下程序:main(){intx=3,y=0;do{while(!y)y=-x;}while(x--);printf(“%d,%d\n”,x,y);}程序的输出结果是:()a)-1,3b)-1,-3c)0,0d)1,-315.有以下程序:main(){intm,n;printf(“Enterm,n:”);scanf(“%d%d”,&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf(“m=%d\n”,m);}程序的输出结果是:()a)m=3b)m=2c)m=1d)m=016.有以下程序:main(){inti,s=1;for(i=1;i<=50;i++)if(!(i%5)&&!(i%3))s+=i;printf(“%d\n”,s);}程序的输出结果是:()a)409b)277c)1d)9117.有以下程序:main(){intx=0,y=0,i;for(i=1;;