C++ 基础学习笔记(4)---循环控制结构(测试题)

2014-11-24 13:01:22 · 作者: · 浏览: 0

一、选择题

1、若给定条件表达式(M) (a++):(a--),则其中表达式M( C )。

(A)和(M==0)等价 (B)和(M==1)等价

(C)和(M!=0)等价 (D)和(M!=1)等价

2、在C/C+语言中,结束while语句循环的条件为( A )。

(A)0 (B)1 (C) true (D)非0

在C/C++语言中,结束do-while语句循环的条件为( A )。

(A)0 (B)1 (C) true (D)非0

3、若k为整型,以下while循环体中的语句执行( B )。

k=2;

while(k=0)

{

printf("%d",k);

k--;printf(" ");

}

(A)无限次 (B)0次 (C)1次 (D)2次

4、以下语句段中,不是无限循环的程序段是( D )。C

(A) i=100; (B)for(;;);

while (1)

{

i=i%100;i++;

if(i>100)break;

}

(C) k=32764; (D) s=32764;

do{ while((s++%2)||(s%2))s++;

k++;k++;

} while(k>0);

5、C语言中用于结构化程序设计的3种基本结构是( A )。

(A)顺序结构、选择结构、循环结构 (B) if,switch,break

(C) for,while,do-while (D) if,for,continue

6、对于下面的程序段

int t=0;

while (t=l)

{...}

以下叙述正确的是( B )。

(A)循环控制表达式的值为0 (B)循环控制表达式的值为1

(C)循环控制表达式不合法 (D)以上说法都不对

7、在下列选项中,会构成死循环的是( B )。

(A) int i=100; (B)for(;;); (C) int k=10000; (D) int s=36;

while(1) do {k++;}while(k>10000); while(s)--s;

{

i=i%100+1;

if(i==100)break;

}

8、在下面给出的4个语句段中,能够正确表示以下的函数关系的是( A )。

-1 (x<0)

y= 0 (x=0)

1 (x>0)

(A)if(x!=0) (B)y=0; (C)if(x<0)y=-l; (D)y=-1;

if(x>0)y=l; if(x>=0) if(x!=0)y=1; if(x!=0)

else y=-l; if(x)y=l; else y=0; if(x>0) y=l;

else y=0; else y=-l; else y=0;

二、读程序分析程序的运行结果

9、设int a=5, b=6, 表达式(++a==b--) ++a:--b的值是 7 。

10、以下程序的输出为( B )。

#include

void main( )

{

int i,j,x=0;

for(i=0;i<2;i++)

{

x++;

for(j=0;j<=3;j++)

{

if(j%2) continue;

x++;

}

x++;

}

printf("x=%d ",x);

}

(A)x=4 (B)x=8 (C) x=6 (D) x=12

11、以下程序的输出为( B )。

#include

void main( )

{

int x=1,y=0,a=0,b=0;

switch(x)

{

case 1:

switch(y)

{

case 0:a++;break;

case 1:b++;break;

} //后面没有break,所以继续执行case 2

case 2:

a++;b++;break;

case 3:

a++;b++;

}

printf("a=%d,b=%d ",a,b);

}

(A)a=l,b=0 (B)a=2,b=1 (c)a=1,b=l (D)a=2,b=2

12、以下程序的输出为( B )

#include

void main( )

{

int i,j,k=0,m=0;

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)