资源描述
精品文档 你我共享循环语句测试题一选择题 (40分)1.下面程序段int k=2;while (k=0) printf(“%d”,k);k-;则下面描述中正确的是 C 。A)while循环执行10次 B)循环是无限循环C)循环题语句一次也不执行 D)循环体语句执行一次2.下列表达式中,( B )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。A)x%2=0 B)!x%2!=0 C)(x/2*2-x)=0 D)!(x%2)3.以下程序段的循环次数是 B 。for (i=2; i=0; ) printf(“%d” , i-) ;A)无限次 B)0次 C)1次 D)2次4.下列关于break语句的叙述不正确的是(C )A break语句可用在循环体中,它将使执行流程跳出本层循环体。B break语句可用在switch语句中,它将使执行流程跳出当前switch语句。C break语句可用在if语句中,它将使执行流程跳出当前if语句。D break语句在一层循环体中可以多次出现。5.下面程序的输出结果是 。main (B ) int x=9;for (; x0; x-) if (x%3=0) printf(“%d”,-x); continue ;A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是 。DA) int i=100; B)for ( ; ; ) ;while (1) i=i%100+1 ;if (i100) break ; C) int k=0; D)int s=36;do +k; while (k=0); while (s) ; -s ;7.下述程序段的运行结果是 C 。int a=1,b=2, c=3, t;while (ab=1) & (x=200) & (x=1) | | (x=200) | | (x=1) & (x=200) & (x=1) | | (x=200) | | (x=210)9.下述语句执行后,变量k的值是 。Bint k=1;while (k+b) | (n=cd)后n的值为 。CA)1 B)3 C)2 D)411.下面for循环语句 ( B )。int i,k;for (i=0, k=-1; k=1; i+, k+)printf(“*”);A)判断循环结束的条件非法 B)是无限循环C)只循环一次 D)一次也不循环12.语句while (!E); 括号中的表达式!E等价于 C 。A)E=0 B)E!=1 C)E!=0 D)E=113.下面 B 是错误的if语句(设int x,a,b;) A)if (a=b) x+; B)if (a=b) x+; C)if (a-b) x+; D)if ( x ) x+;14.执行语句for (i=1;i+4;) ; 后变量i的值是 C 。A)3 B)4 C)5 D)不定15.以下程序段 。Cx=-1;do x=x*x; while (!x);A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误16.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择 B 填空。main ( ) int a,max=0;scanf(“%d”,&a);while (【 】) if (max+y;x=i+) i=x ;B)for ( ; ; x+=i ) ;C)while (1) x+ ; D)for (i=10 ; ; i-) sum+=i ;18.下面程序段的运行结果是 。Dx=y=0;while (x4) y+,x+=+y ;printf(“%d,%d”,y,x);A)20,7 B)6,12 C)20,8 D)4,619.以下for循环的执行次数是 C 。for (x=0,y=0; (y=123) & (x0 y= 0 x=0 y= -1 x05.程序段for (a=1,i=-1; -1i1; i+) a+ ; printf(“%2d”,a); ;printf(“%2d”,i) ;的运行结果是 。三判断题(10分)1.在while循环中允许使用嵌套循环,但只能是嵌套while循环。【x 】2.在实际编程中,do-while循环完全可以用for循环替换。【 x】3.continue语句只能用于三个循环语句中。【x】4.在不得已的情况下(例如提高程序运行效率),才使用goto语句。【 v】5.语句标号与C语言标识符的语法规定是完全一样的。【v】6.for循环的三个表达式可以任意省略,while,do-while也是如此。【 x】7.多个case可以执行相同的程序段。【 v】8.while的循环控制条件比do-while的循环控制条件严格。【 v 】9.if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【x 】10.do-while循环的while后的分号可以省略。【x 】四程序阅读题1.写出下面程序运行的结果。main ( ) int x,i ;for (i=1 ; i=A & c=Z) ? c+32 : c ; printf(“%c”,c);3.写出下面程序运行的结果。main ( ) int a,b;for (a=1,b=1 ; a=20) break;if (b%3=1) b+=3 ; continue ; b-=5;printf(“%dn”,a);84.写出下面程序运行的结果。main ( ) int k=1,n=263 ;do k*= n%10 ; n/=10 ; while (n) ;printf(“%dn”,k);365.写出下面程序运行的结果。main ( ) int i,k=0;for (i=1; ; i+) k+ ;while (ki*i) k+ ; if (k%3=0) goto loop ;loop:printf(“%d,%dn”,i,k);2,3六编程题1. 输入两个正整数m和n,求其最大公约数和最小公倍数。102. 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。103. 求 (即求1!+2!+3!+19!+20!)。54.任意范围内既能被5整除,又能被7整除的数的和55.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。 5薄雾浓云愁永昼,瑞脑消金兽。 佳节又重阳, 玉枕纱厨, 半夜凉初透。东篱把酒黄昏后, 有暗香盈袖。 莫道不消魂, 帘卷西风, 人比黄花瘦。高者未必贤,下者未必愚克知识改变命运
展开阅读全文