1、 . . . . 一、选择题:1、以下循环体的执行次数是( )#include main()int i,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(“%dn”,i);A)3 B)2 C)1 D)02、有如下程序:#include main() int n=9; while(n6) n-;printf(“%d”,n);该程序段的输出结果是( )A)987 B)876 C)8765 D)98763、有以下程序段: int k=0; while(k=1) k+;while 循环的次数是( )A)无限次 B)有语法错误 C)一次也不执行 D)执行一次4、以下程序中,whi
2、le循环的循环次数是( )#include main() int i=0; while(i10) if(i1) continue;if(i=5) break;i+;.A)1 B)10 C)6 D)死循环,不能确定次数5、以下程序的输出结果是( )#include main() int i=0,a=0; while(i20) for( ; ; ) if(i%10)=0) break;else i-;i+=11;a+=i;printf(“%dn”,a);A)21 B)32 C)33 D)116、有以下程序:#include int a=3;main() int s=0; int a=5; s+=a
3、+;s+=a+;printf(“%dn”,s);程序运行后的输出结果是( )A)8 B)10 C)7 D)117、语句while(!E);中的条件!E等价于( )A)E=0 B)E!=1 C)E!=0 D)E8、以下的for循环( )for(x=0,y=0; (y!=123)&(x4);x+);A)是无限循环 B)循环次数不定 C)循环执行4次 D)循环执行3次9、执行下面程序片段的结果是( )int x=23;do printf(“%d”,x-);while(!x);A)打印出321 B)打印出23 C)不打印任何容 D)陷入死循环10、请阅读以下程序:#include main() flo
4、at x,y; scanf(“%f”,&x); if(x0.0) y=0.0;else if(x5.0)&(x!=2.0) y=1.0/(x+2.0); else if(x10.0) y=1.0/x; else y=10.0;printf(“%fn”,y);若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是( )。A)0.000000 B)0.250000 C)0.500000 D)1.00000011、下面的for语句的循环次数为( )。for(x=1,y=0;(y!=123)&(x4);x+);A)是无限循环 B)循环次数不定 C)循环执行4次 D)循环执行3次12、在whil
5、e(x)语句中的x与下面条件表达式等价的是( )。A)x=0 B)x=1 C)x!=1 D)x!=013、下面程序的输出结果是( )#include main() int k,j,m; for(k=5;k=1;k-) m=0; for(j=k;j=5;j+) m=m+k*j;printf(“%dn”,m);A)124 B)25 C)36 D)15 14、下面程序的输出结果是( )#include main() int x=10,y=10,i; for(i=0;x8;y=+i)printf(“%d %d”,x-,y);A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10
6、 9 115、下面程序段的输出结果是( )a=1;b=2;c=2;while(abc) t=a;a=b;b=t;c-;printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,116、若有如下语句,则程序段( )int x=6;do printf(“%dn”,x-=2);while(-x);A)输出的是1 B)输出的是4和1C)输出的是3和0 D)是死循环17、下面有关for循环的正确描述是( )A) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体,后判断表达式C) 在for循环中,不能用break语句跳出循环体D)
7、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。二、填空题1、下面程序功能是:计算1-10之间的奇数之和与偶数之和,请填空#include main() int a,b,c,i; a=c=0; for(i=0;i=10;i+=2) a+=i;c+=b;printf(“偶数之和=%dn”,a);printf(“奇数之和=%dn”,c-11);2、下面程序的功能是:输出100以能被3整除且个位数为6的所以整数,请填空。#include main() int i,j; for(i=0;i+) j=i+10+6; if() continue;printf(“%d”,j); 3、以下程
8、序的输出结果是( )#include main() int i=10,j=0;do j=j+i; i-;while(i2);printf(“%dn”,j);4、以下程序的输出结果是#include main()int x=15; while(x10&x50) x+; if(x/3) x+;break; else continue;printf(“%dn”,x);5、有以下程序:#include main() char c; while(c=getchar()!=?) putchar(-c);6、下面程序的运行结果是( )#include main() int a,s,n,count; a=2;
9、s=0;n=1;count=1; while(count=0);8、下面程序段的运行结果是( )x=2;do printf(“*”);x-;while(x);9、下面程序的运行结果是( )#include main() int y,a; y=2;a=1; while(y-!=-1) doa*=y;a+;while(y-); printf(“%d,%d”,a,y);10、下面程序段的运行结果是( )i=1;s=3;do s+=i+;if(s%7=0) continue; else +i;while(s15);printf(“%d”,i);答案:一、选择题1C2B3A4D5B6A7A8C9B10C11D12D13D14D15A16B二、填空题1b=i+12i10 j%3!=03524 175X6s=254738* *91,-21086 / 6