您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第4章循环结构(答案)
第4章循环结构一、选择题1、有以下程序段intk=0;while(k=1)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次2、t为int类型,进入下面的循环之前,t的值为0while(t=1){……}则以下叙述中正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B)A)m==0B)m!=0C)m==1D)m!=14、有以下程序,程序运行后的输出结果是(C)。main(){inti=1,sum=0;while(i=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4B)5C)10D)死循环5、有以下程序,程序运行后的输出结果是(D)。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(n6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A)987B)876C)8765D)98767、以下程序的输出结果是(B)main(){intnum=0;while(num=2){num++;printf(“%d\n”,num);}}A)1B)1C)1D)l2223348、有以下程序,若运行时输入3.62.4回车,则输出的结果是(B)。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;}elsebreak;}printf(“%f\n”,y);}A)1.500000B)1.600000C)2.000000D)2.4000009、执行以下程序段时x=-1;do{x=x*x;}while(!x);则下面描述正确的是(A)A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误10、有以下程序段其输出结果是(C)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);}该程序的执行结果是(B)A)321B)23C)不输出任何内容D)陷入死循环12、有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n3);此处do—while循环的结束条件是(D)A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A)n=0;do{++n;}while(n0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++4;)后,变量i的值是(C)A)3B)4C)5D)不定16、有以下程序main(){inty=9;for(;y0;y--)if(y%3==0)printf(%d,--y);}程序的运行结果是(C)A)741B)963C)852D)87542117、以下程序执行后sum的值是(C)A)15B)14C)不确定D)0main(){inti,sum;for(i=1;i6;i++)sum+=i;printf(“%d\n”,sum);}18、有如下程序main(){inti,sum=0;for(i=1;i=3;sum++)sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A)6B)3C)死循环D)019、执行语句for(i=3;i0;i--);i--;后,变量i的值是(C)A)0B)10C)-1D)120、执行下面程序片段的结果是(A)。intx;for(x=3;x6;x++)printf((x%2)?(“**%d”):(”##%d\n”),x);A)**3##4B)##3**5**4##5C)##3**4D)**3##4**5##521、有以下程序,执行后输出的结果是(A)。main(){inti;for(i=0;i3;i++)switch(i){case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}A)011122B)012C)012020D)12022、有以下程序,程序运行后的输出结果是(B)。main(){intk=4,n=0;for(;nk;){n++;if(n%3!=0)continue;k--;}printf(%d,%d\n,k,n);}A)1,1B)2,2C)3,3D)4,423、设变量已正确定义,则以下能正确计算f=n!的程序段是(A)A)f=0;for(i=1;i=n;i++)f*=i;B)f=1;for(i=1;in;i++)f=f*i;C)f=1;for(i=n;i1;i++)f*=i;D)f=1;for(i=n;i=2;i--)f*=i;24、执行下面程序片段的结果是(B)。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)1025、以下程序的输出结果是(B)。main(){inti=0,a=0;while(i20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf(%d\n,a);}A)21B)32C)33D)1126、以下程序的输出结果是(A)main(){inti,j,x=0;for(i=1;i2;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=1227、有以下程序main(){inti,j;for(i=3;i=1;i--){for(j=1;j=2;j++)printf(%d,i+j);printf(\n);}}程序的运行结果是(D)A)234B)432C)23D)453455433434452328、有以下程序main(){inti=5;do{if(i%3==1)if(i%5==2){printf(*%d,i);break;}i++;}while(i!=0);printf(\n);}程序的运行结果是(A)A)*7B)*3*5C)*5D)*2*629、以下程序的结果是(A)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、以下叙述中正确的是(C)A)break语句只能用于switch语句题中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同二、程序阅读题(共10题)1、以下程序运行后的输出结果是52。main(){inti=10,j=0;do{j=j+i;i--;}while(i2);printf(“%d\n”,j);}2、设有以下程序:main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序运行后,如果从键盘上输入1298;则输出结果为8921。3、以下程序的输出结果是5。main(){ints,i;for(s=0,i=1;i3;i++,s+=i);printf(%d\n,s);}4、阅读下面程序,程序的结果是2,1,0。main(){inti=7;for(i=2;i0;i--)printf(”%d,”,i);printf(”%d”,i);}5、阅读下面程序,程序的结果是14,4。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、阅读下面程序,程序的结果是1978。main(){intj,a=2,n=4;longs=0,t=0;for(j=0;jn;j++)t=t*10+a;s=t;for(j=1;jn-1;j++){t=t/10;s=s-t;}printf(”%d”,s);}7、以下程序运行后的输出结果是0918273645main(){charc1,c2;for(c1='0',c2='9';c1c2;c1++,c2--)printf(%c%c,c1,c2);printf(\n);}8、以下程序的输出结果是5。main(){ints,i;for(s=0,i=1;i3;i++,s+=i);printf(%d\n,s);}9、执行以下程序后,输出'#'号的个数是6。main(){inti,j;for(i=1;i5;i++)for(j=2;j=i;j++)putchar('#');}10、以下程序的输出结果是x=4main(){inti,j,x=0;for(i=1;i2;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=-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*1.0/i;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+t*10;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;iy;i++)z=z*y;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+1.0/(i*i);printf(“%lf”,sqrt(6*s));}7、以下用来输出两整数M和N之间的所有素数(质数),请填空,使程序能正
本文标题:第4章循环结构(答案)
链接地址:https://www.777doc.com/doc-2194907 .html