A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3) C)for(表达式1; 表达式1;表达式3) D)for(表达式1; 表达式3;表达式3) 3、下列说法中正确的是(C )。
A) break 用在switch语句中,而continue 用在循环语句中。
B) break 用在循环语句中,而continue用在switch语句中。 C) break 能结束循环,而continue只能结束本次循环。 D) continue能结束循环,而break只能结束本次循环。 4、以下正确的描述是(B )。
A) continue语句的作用是结束整个循环的执行
B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 5、若i为整型变量,则以下循环执行次数是(B )。
for(i=2;i==0;) printf(“%d”,i--); A)无限次 B)0次 C)1次 D)2次 6、以下for循环的执行次数是( C )。
for(x=0,y=0;(y=123)&&(x<4);x++) A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次 7、以下不是无限循环的语句为( A )。
A) for(y=0,x=1;x>++y;x=i++) i=x B) for(;;x++=i); C) while(1) { x++; }
D) for(i=10;;i--) sum+=i;
8、执行语句for(i=1;i++<4;);后变量i的值是( C )。 A)3 B)4 C)5 D)不定 9、下面程序段( D )。 for(t=1;t<=100;t++) { scanf(“%d”,&x); if(x<0) continue; printf(“=”,t); } A)当x<0时整个循环结束 B)x>=0时什么也不输出 C)printf函数永远也不执行 D)最多允许输出100个非负整数 10、下面程序段( C )。 x=3; do{ y=x--; if(!y) { printf(“x”); continue; } printf(“#”); }while(1<=x<=2); A)将输出## B)将输出##* C)是死循环 D)含有不合法的控制表达式 二、写出下列程序的运行结果
1、 #include
else continue; printf(“#”); } printf(“$\\n”); }
2、 #include
###* ##** #*** main() { int i,j; for(i=4;i>=1;i--) { for(j=1;j<=i;j++) putchar(‘#’); for(j=1;j<=4-i;j++) putchar(‘*’); putchar(‘\\n’); } }
3、 #include loop: printf(“%d,%d”,i,k); } 三、编程: 1、求1-3+5-7+ …… -99+101的值。 解:main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { t=t*i; s=s+t; t=t>0?-1:1; } printf(\; } 能力提高(B) 一、写出下列程序的运行结果 1、 #include x++; for(j=0;j<=3;j++) { if(j%2) continue; x++; } x++; } printf(“x=%d\\n”,x); } 2、 #include 二、根据程序的功能将程序补充完整 下面程序的功能是求1至1000之间满足“用3除余2;用5除余3;用7除余2”的数,且一行只打印5个数。 #include 1、有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和 2、输入n值,输出如图所示高为n的等腰三角形。 * *** ***** ******* ********* *********** 1、参考答案: main() {int n,t,number=20; float a=2,b=1,s=0; for(n=1;n } printf(“s=%9.6f\\n”,s); } 2、参考答案: #include int i,a; for(i=1;i<=10;i++) { scanf(“%d”,&a); if(a%7==0) { printf(“%d”,a); break ; } } if( i==11 ) printf(“not exist\\n”); }