while (ks=2) ks++; A)无限次 B)有语法错误,不能执行 C)一次也不执行 D)执行一次
x y x=x+4 x 20 40 24 T int x=20,y=40,z=60; 24 40 28 T while (x 32 printf(\ A)40,36,30 B)32,28,7 C)32,28,30 D)32,28,7.5 36 40 15. 下面有关for循环的正确描述是( D )。D A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,必须用花括号括起 16. 对for(表达式1; ;表达式3)可理解为( B )。B A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 17. 若i、j均为整型变量,则以下循环( D )。D for (i=0,j=-1;j=1;i++,j++) //是赋值符号 printf(―%d,%d\\n‖,i,j); A)循环体只执行一次 B)循环体一次也不执行 C)判断循环结束的条件不合法 D)是无限循环 18. 以下的for循环( B )。B for(x=0,y=0; (y!=123)&&(x<4); x++) ; A)执行3次 B)执行4次 C)循环次数不定 D)是无限循环 19. 若x是int型变量,且有下面的程序片段: for(x=3;x<6;x++) printf(x%2)?(\\\n\上面程序片段的输出结果是( D )。D A) **3 B)##3 C) ##3 D)**3 ##4 ##4 **4 ##4 ##5 **5 **5 **5 20. 有以下程序: #include char c[N]; int i=0; for(;i 输入以下3行,每行输入都是在第一列上开始, a 21 cdef 程序的输出结果是( C )。C A)abcdef B) a C) a D) a b b b c cd cdef d e f 21. 若i、j已定义为int型,则以下程序段中,内循环总的执行次数是( A )。A for(i=5;i;i--) for(j=0;j<4;j++) {??} A)20 B)24 C)25 D)30 22. 下列循环语句会进入死循环的是( C )。C A)i=0; do { i++; }while(i = =100); B)for(i=0; i<100; i+=3.14); C)for(i=0; ; i+=2); D)k=1; do { k--;} while(k); 23. 执行下面程序: y y%3==0 --y y— main( ) { 9 0==0 8 7 int y=9; for ( ; y>1 ;y--) 7 1 6 if (y%3= =0) printf (\ 6 0 5 4 } 输出结果为( B )。B A)741 B)852 C)963 D)875421 24. 若a,b是int型变量,有以下程序段 for(a=1,b=1;b<=20;b++) a b a>10 a%2 a=a+5 a=a-3 { 1 1 F 1 6 if(a>10) break; 6 2 F 0 3 if(a%2= =1) 3 3 F 1 8 { 8 4 F 0 5 a+=5; 5 5 F 1 10 continue; 10 6 F 7 } 7 7 F 1 12 a-=3; 12 8 T break } 执行以上程序段后,a的值为( C )。C A)10 B)7 C)12 D)1 x y y++ ++y x=x+y 二、阅读程序写出程序运行结果 0 0 1 2 2 1. 下面程序段的运行结果是 8,20 。 2 8,20 3 4 6 2 x=y=0; 6 4 5 6 12 while(x<15) y++,x+ = ++y; 12 6 7 8 20 22 2. 3. 4. 5. 6. printf(―%d,%d‖,y,x); 若从键盘输入65 14↙(↙表示回车),则下面程序的运行结果是 m=1 。m=1 #include 程序的运行结果是 2 5 8 11 14 。 2 5 8 11 14 #include i ++i i%3 输出 main( ) 1 2 2 2 { 2 3 0 int i=1; 3 4 1 while(i<=15) 4 5 2 5 if(++i%3!=2) continue; 5 6 0 else printf(―%d ‖,i); 6 7 1 printf(―\\n‖); 7 8 2 8 } 下述程序的输出结果是 y=-1 。y=-1 #include int y=0; while(y--) ; printf(\} 执行下面程序后,k值是 36 。36 k=1;n=263; k n n k=k* n=n/10 do 1 263 3 3 26 { 3 26 6 18 2 k*=n; 18 2 2 36 0 n/=10; }while (n); 下面程序段的运行结果是 a=-5 i 。a=-5 a s s*i a=a+ s=-s i++ i=1;a=0;s=1; 1 0 1 1 1 -1 2 do 2 1 -1 -2 1+(-2) 1 3 23 3 -1 1 3 1+(-2)+3...... 1-2+3-4+5-6+7-8+9-10 { a=a+s*i; s= -s; i++; }while(i<=10); printf(―a=%d‖,a); 7. 假定a和b为int型变量,则执行以下语句后b 的值为 8 。 8 a=1;b=10; do a b b=b-a a++ b<0 b-- { 1 10 9 2 9 8 b-=a; a++; }while (b--<0); 8. 若运行时从键盘上输入3.6 2.4↙(↙表示回车),则输出结果是 1.600000 。1.600000 #include #include float x,y,z; scanf(\while(1) { if(fabs(z)>1.0) {x=y;y=z;z=x/y;} else break; } printf(\,y); } 9. 下面程序段的运行结果是 8 。 8 i=1;s=3; do i s s=s+i i++ s%7 ++i { 1 3 4 2 4 3 s+=i++; 3 4 7 4 0 if(s%7= =0) continue; 4 7 11 5 4 6 else ++i; 6 11 17 7 3 8 }while (s<15); printf(―%d‖,i); 10. 面程序的运行结果是 a=16 y=60 。 a=16 y=62 #include int a,y; a=10;y=0; a y a=a+2 y=y+a do 10 0 12 12 { a+=2; 14 12 16 28 24 14 28 16 44 14 44 16 60 break y+=a; if(y>50) break; }while(a=14); printf(―a=%d y=%d\\n‖,a,y); } 11. 设j为int型变量,则下面for循环语句的执行结果是 7 4 。7 4 for(j=10;j>3;j--) j j%3 j-- --j --j 输出 j-- { 10 1 9 8 7 7 6 if (j%3) j--; 6 0 5 4 4 3 --j;--j; printf(―%d ‖,j); } 12. 执行下列程序后,a的值为 8 。 8 main( ) { int a,b; for(a=1,b=1;a<=100;a++) { if (b>=20) break; if(b%3= =1) { b+=3; continue; } b-=5; } } 13. 以下程序的输出结果是 *#*#*#$ 。*#*#*#$ ?? #include i i%2 printf ?? { 1 1 *# int i; 2 0 ?? for ( i=1;i<=5;i++ ) 3 1 *# { if ( i%2 ) 4 0 printf(\ 5 1 *# ?? else $\\n continue; printf(\} ?? printf(\ } 14. 设x和y 均为int型变量,则执行下面的循环后,y 的值为 6 。6 for (y=1,x=1;y<=50;y++) { if (x>=10) break; if (x%2= =1) 25