您当前所在位置:首页 > 高中 > 高二 > 高二数学 > 高二数学试题

高二数学循环语句检测试题

编辑:sunw

2017-11-10

我们为大家收集整理了关于高二数学循环语句检测试题,以方便大家参考。

一.选择题 (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的值是 。B

int 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的值为 。C

A)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.以下程序段 。C

x=-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.下面程序段的运行结果是 。D

x=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     ;

3.将条件“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(“%dn”,a);

}

8

4.写出下面程序运行的结果。

main ( )

{ int k=1,n=263 ;

do { k*= n%10 ; n/=10 ; } while (n) ;

printf(“%dn”,k);

}

36

5.写出下面程序运行的结果。

main ( )

{ int i,k=0;

for (i=1; ; i++)

{

k++ ;

while (k<i*i)

{

k++ ;

if (k%3==0) goto loop ;

}

}

loop:

printf(“%d,%dn”,i,k);

}

2,3

六.编程题

1. 输入两个正整数m和n,求其最大公约数和最小公倍数。10

2. 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。10

3. 求 (即求1!+2!+3!+…+19!+20!)。5

4.任意范围内既能被5整除,又能被7整除的数的和5

5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

希望大家可以学会高二数学循环语句检测试题.想了解更多精彩内容,请关注我们的网站!

免责声明

威廉希尔app (51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。