


人教版新课标B必修31.2.3循环语句教案及反思
展开
这是一份人教版新课标B必修31.2.3循环语句教案及反思,共6页。
《循环语句》复习班测试题一.选择题 (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 (; x>0; x--) {if (x%3==0) { printf(“%d”,--x); continue ;} } } A)741 B)852 C)963 D)875421 6.以下不是死循环的程序段是 。D A) int i=100; B)for ( ; ; ) ; while (1) {i=i%100+1 ;if (i>100) 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 (a<b<c) {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,1 8.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。C A)(x>=1) && (x<=10) && (x>=200) && (x<=210) B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210) C)(x>=1) && (x<=10) | | (x>=200) && (x<=210) D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210) 9.下述语句执行后,变量k的值是 。Bint k=1;while (k++<10); A)10 B)11 C)9 D)无限循环,值不定 10.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=c>b) || (n=c>d)后n的值为 。CA)1 B)3 C)2 D)4 11.下面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==1 13.下面 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<a) max=a ; scanf (“%d”,&a); } printf(“%d”,max);} A)a==0 B)a C)!a==1 D)!a 17.以下不是死循环的语句是 。A A)for (y=9,x=1;x>++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 (x<4) y++,x+=++y ;printf(“%d,%d”,y,x); A)20,7 B)6,12 C)20,8 D)4,6 19.以下for循环的执行次数是 C 。for (x=0,y=0; (y=123) && (x<4) ; x++) ; A)无限循环 B)循环次数不定 C)4次 D)3次 20.以下程序输出结果是 B 。main ( ){ int x=1,y=0,a=0,b=0; switch(x) { case 1:switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2:a++; b++; break; case 3:a++; b++;} printf(“a=%d,b=%d”,a,b);} A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2 二.填空题 (10分)1.C语言三个基本结构语句分别是 顺序 语句,选择 语句和 循环 语句。 2.至少执行一次循环体的循环语句是 do while ; 将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式 ___ y%4==0&&y%100!=0||y%400==0 __________ 4. 计算下列分段函数的 if 语句是_ __。 y= 1 x>0 y= 0 x=0 y= -1 x<0 5.程序段 for (a=1,i=-1; -1<i<1; 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<=100; i++){ x=i; if (++x%2==0) if (++x%3==0) if(++x%7==0) printf(“%d ”,x) ; }}28 70 2.写出下面程序运行的结果。下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。main ( ){ char c; c = getchar ( ) ;c = (c>=’A’ && c<=’Z’) ? c+32 : c ; printf(“%c”,c);}3.写出下面程序运行的结果。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; } printf(“%d\n”,a);} 84.写出下面程序运行的结果。main ( ){ int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k);} 365.写出下面程序运行的结果。main ( ){ int i,k=0; for (i=1; ; i++) { k++ ; while (k<i*i) { k++ ; if (k%3==0) goto loop ; } }loop: printf(“%d,%d\n”,i,k);}2,3 六.编程题输入两个正整数m和n,求其最大公约数和最小公倍数。10 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。10 求 (即求1!+2!+3!+…+19!+20!)。5 4.任意范围内既能被5整除,又能被7整除的数的和5 5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。 5
相关教案
这是一份高中数学1.2.3循环语句教学设计,共3页。教案主要包含了教学目标,教学的重点,教学方法与手段,教学过程等内容,欢迎下载使用。
这是一份高中数学人教版新课标B必修31.2.3循环语句教学设计,共5页。教案主要包含了知识与技能,过程与方法,情态与价值等内容,欢迎下载使用。
这是一份高中数学1.2.3循环语句教学设计,共3页。教案主要包含了学习导航,课堂互动,经典范例等内容,欢迎下载使用。