(七十九)第五章复习题

1.入口条件循环和出口条件循环之间的区别是什么?各种C++循环分别属于其中的哪一种?

答:

入口条件循环是先判断,再循环,有可能不循环。

出口条件循环是先执行一次循环,再判断,至少会循环一次。

for和while是入口条件循环

do while是出口条件循环

 

 

2.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?

int i;

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

cout<<i;

cout<<endl;

答:

01234(换行)

 

 

 

3.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?

int j;

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

cout<<j;

cout<<endl<<j<<endl;

答:

0369

12(此处有一个换行)

 

 

 

 

 

4.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?

int j=5;

do

cout<<" k = "<<k<<endl;

while(k++<9);

答:

 k = 5

 k = 6

 k = 7

 k = 8

 k = 9

 

 

 

 

5.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?

int k=8;

do 

cout<<" k = " << k <<endl;

while(k++ <5 );

答:

 k = 8(这里有一个换行符)

 

 

 

6.编写一个打印1、2、4、8、16、32、64的for循环,每轮循环都将计数变量的值乘以2.

答:

for(int i=1;i<65;i*=2)cout<<i<<endl;

 

 

 

7.如何在循环体中包括多条语句?

答:

使用大括号{}将这些语句括起来。例如{int a=1;int b=2;}注意,最后一个语句结尾要有分号,但是大括号外面无需分号。

 

 

 

 

8.下面的语句是否有效?如果无效,原因是什么?如果有效,他将完成什么工作?

int x =(1,024);

下面的语句又如何呢?

int y;

y=1,024;

答:

int x=(1,024);的效果是,x=024; (024是八进制)原因在于,(1,024)被认为是一个表达式,而表达式的值是由逗号最右边的式子决定的,即024,而024是0开头,编译器会认为是八进制数字

int y;

y=1,024;

给int类型 a赋值1,原因在于y被赋值1,右边的 ,024只是一个单纯的表达式,并没有赋值,因此也没有影响。

 

 

 

9.在查看输入方面,cin>>ch同cin.get(ch)和ch=cin.get()有什么不同?

答:

cin>>ch不能读取空格,换行符,tab字符等。他从遇见的第一个非这些字符开始读取(之前的这些字符将被舍弃),一直读取到遇见这些字符为止,且不读取,且不舍弃。他可以读取各种类型,如int、double、long、char、string等

 

cin.get(ch)的效果是将读取到的字符赋值给ch,他读取空格、换行符、tab字符等。但他对类型有限制,char类型是可以的(貌似且只能读取char类型)。

 

ch=cin.get()也是只读取一个字符,可以读取空格、换行符、tab等,但是他可以读取int类型,读取string类型等多个类型,但他只能读取char内存宽度的字符,假如字符宽度超过char类型,他无法全部读取。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值