您好,欢迎访问三七文档
第一部分循环题目大纲:while语句。do—while语句。for语句。循环的嵌套。break语句和continue语句。循环语句程序举例。一:选择题1.下面有关for循环的正确描述是()A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来[解答]:D。2.对于for(表达式1;;表达式3)可理解为()A.for(表达式1;1;表达式3)B.for(表达式1:1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)[解答]:B。3.以下正确的描述是()。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句[解答]:B。4.C语言中()。A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环D.do—while语句构成的循环,当while语句中的表达式值为零时结束循环[解答]:D。5.C语言中while和do-while循环的主要区别是()A.do—while的循环体至少无条件执行一次B.while的循环控制条件比do—while的循环控制条件严格C.do—while允许从外部转到循环体内D.do-while的循环体不能是复合语句[解答]:A。6.下面程序段不是死循环的是()。A.intI=100;B.for(;;);while(1){I=I%100+1;if(I100)break;}C.intk=0;D.ints=36;do{++k;}while(s);while(k=0);--s;[解答]:A。7.下面程序的运行结果是()。#includestdio.hvoidmain(){inty=10;do{y--;}while(--y);printf(%d\n,y--);}A.-1B.1C.8D.0[解答]:D。8、有以下程序段intk=0;while(k=1)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次9、在C程序中,与while(m)中表达式m完全等价的是(B)A)m==0B)m!=0C)m==1D)m!=110、有以下程序,程序运行后的输出结果是(D)。main(){inti=1,sum=0;while(i=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4B)5C)10D)死循环11、执行以下程序段时x=-1;do{x=x*x;}while(!x);则下面描述正确的是(A)A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误12、有以下程序段其输出结果是(C)intx=3;do{printf(%d,x-=2);}while(!(--x));A)1B)30C)1-2D)死循环13、有如下程序main(){intx=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B)A)321B)23C)不输出任何内容D)陷入死循环14、有以下程序段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的值大于等于315、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次16、执行语句for(i=1;i++4;)后,变量i的值是(C)A)3B)4C)5D)不定17、有以下程序main(){inty=9;for(;y0;y--)if(y%3==0)printf(%d,--y);}程序的运行结果是(C)A)741B)963C)852D)87542118、以下程序执行后sum的值是(C)A)15B)14C)不确定D)0main(){inti,sum;for(i=1;i6;i++)sum+=i;printf(“%d\n”,sum);}19、有如下程序main(){inti,sum=0;for(i=1;i=3;sum++)sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A)6B)3C)死循环D)020、执行语句for(i=3;i0;i--);i--;后,变量i的值是(C)A)0B)10C)-1D)121、执行下面程序片段的结果是(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##522、有以下程序,执行后输出的结果是(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)12023、有以下程序,程序运行后的输出结果是(C)。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,424、设变量已正确定义,则以下能正确计算f=n!的程序段是(D)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;25、执行下面程序片段的结果是(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)1026、有以下程序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)453455433434452327、有以下程序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*628.运行下面程序#includestdio.hmain(){intk=0,a=1;while(k10){for(;;){if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/break;elsek--;}k=k+11;a=a+k;}printf(“k=%d\na=%d\n”,k,a);}则输出的结果是()A2132B2133C1112D101129.若i为整型变量,则以下循环执行的次数是()for(i=2;i==0;)printf(“%d”,i--);A.无限次B0次C1次D2次30以下程序的输出结果是:main(){inta,b;for(a=1,b=1;a=100;a++){if(b=10)break;if(b%3==1){b=b+3;continue;}}printf(“%d”,a);}A101B3C4D5二、程序阅读题(共10题)1、设有以下程序:main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序运行后,如果从键盘上输入1298;则输出结果为8921。2、以下程序的输出结果是5。main(){ints,i;for(s=0,i=1;i3;i++,s+=i);printf(%d\n,s);}3、阅读下面程序,程序的结果是2,1,0。main(){inti=7;for(i=2;i0;i--)printf(”%d,”,i);printf(”%d”,i);}4、阅读下面程序,程序的结果是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);}5、阅读下面程序,程序的结果是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);}6、以下程序运行后的输出结果是0918273645main(){charc1,c2;for(c1='0',c2='9';c1c2;c1++,c2--)printf(%c%c,c1,c2);printf(\n);}7、以下程序的输出结果是5。main(){ints,i;for(s=0,i=1;i3;i++,s+=i);printf(%d\n,s);}8、执行以下程序后,输出'#'号的个数是6。main(){inti,j;for(i=1;i5;i++)for(j=2;j=i;j++)putchar('#');}9、以下程序的输出结果是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*x;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
本文标题:C语言题目及答案
链接地址:https://www.777doc.com/doc-4905043 .html