C++(练习)第2章,程序控制结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一,单选题

1. 有如下语句序列:

int k=0;

do

{

k+=5;

cout<<'$';

}while(k<19);

while(k-->0)

cout <<'*';

执行上面的语句序列输出字符“$”和“*”的个数分别是()。

A 4和20

B 5和20

C 4和21

D 5和21

参考答案

A

2. 循环体被至少执行一次的循环语句为_______。

A while

B for

C do ...while

D 多重循环

参考答案

C

3. 有如下程序:

int x=3;

do

{

x-=2;

cout<

} while(!(--x));

执行这个程序的输出结果是()。

A 1

B 3 0

C 1-2

D 死循环

参考答案

C

4. 有如下程序段:

int i=1;

while(1)

{ i++;

if (i%3==0) cout<<"*";

}

执行这个程序段输出字符*的个数是( )。

A 1

B 2

C 3

D 4

参考答案

C

5. 以下为死循环的程序段是()。

A

for ( int x=0; x<3; x-- )

x+=2;

B

int k = 0;

do

{ ++k; } while ( k>=0 );

C

int a = 5;

while ( a )

{ a--; }

D

int i = 3;

for ( ; i; i-- );

参考答案

B

6. C++语言的跳转语句中,对于break和continue说法正确的是__________。

A break语句只应用于循环体中

B continue语句只应用于循环体中

C break是无条件跳转语句,continue不是

D break和continue的跳转范围不够明确,容易产生问题

参考答案

B

7. 有如下程序段:

int i=1;

while(1)

{ i++;

if (i%3==0) cout<<"*";

}

执行这个程序段输出字符*的个数是( )。

A 1

B 2

C 3

D 4

参考答案

C

8. 下列说法不正确的是:____________。

A for,while 和do-while循环体中的语句可以是空语句。

B 使用while 和do-while循环时,循环变量初始化的操作应在循环语句之前完成。

C for和do-while循环都是先执行循环体语句,后判断循环条件表达式。

D while循环是先判断循环条件表达式,后执行循环体语句。

参考答案

C

9. while(!x)

其中表达式!x等价于__________。

A x=1

B x!=0

C x==0

D x!=1

参考答案

C

10. 以下程序段的结果是()。

int m=0, n=0;

if ( m++ && n++ )

m++;

cout << m << "," << n << endl;

A 0,0

B 1,1

C 1,0

D 2,1

参考答案

C

11. 若有定义int i=1;则执行完循环while(i++<5);以后i的值为__________。

A 6

B 5

C 4

D 7

参考答案

A

12. 有以下函数:

以下程序段中不能根据x值正确计算出y值的是()。A

if (x>0) y=1;

else if (x==0) y=0;

else y= -1;

B

y=0;

if (x>0) y=1;

else if (x<0) y= -1;

C

y=0;

if (x>=0)

if (x>0) y=1;

else y= -1;

D

if (x>=0)

if (x>0) y=1;

else y=0;

else y= -1;

参考答案

C

二.填空题

1. 有如下循环语句:

for(int i=50; i>20; i-=2) cout<

运行时循环体的执行次数是__1__次。

参考答案

1:15

2. 符合结构化原则的三种基本控制结构是:选择结构、循环结构和__1__。

参考答案

1:顺序结构

3. 一个数如果等于它的因子(包括1)之和,则称该数为完数,如:6=1+2+3; 编程求2到100之间的完数。填写空缺部分。

#include

using namespace std;

int main( )

{int m,i,s=0;

for(m=2;m<100;m++)

{__1__ ;

i=1;

while( __2__ )

{if(m%i==0) s=s+i;

i++;

}

if( __3__)

cout<<" "<

}

cout<

return 0;

}

参考答案

1:s=0

2:ii

3:s==m 或m==s

4. 求1000内所有的完数。所谓“完数”是指与其因子之和相等的数(除本身之外)。例如:6=1+2+3,而1、2和3都是6的因子。要求以如下形式输出:6——>1,2,3。

#include

using namespace std;

int main()

{

int i,j,sum;

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

{

for(sum=1,j=2;j<=i/2;j++) //求i的因子和

if(i%j==0)sum+=j;

if( __1__ ) //判断i是否为完数

{

cout<1";

for(j=2;j<=i/2;j++) //按指定格式输出完数

相关文档
最新文档