您的位置:首页 > 汽车 > 时评 > c++循环之高难度(二)习题讲解

c++循环之高难度(二)习题讲解

2024/7/3 2:51:08 来源:https://blog.csdn.net/m0_62681656/article/details/139999505  浏览:    关键词:c++循环之高难度(二)习题讲解

1.【单选题】

int i {},b {};

while( i++) b++;

b = ?

A. 0         B. -1         C. 1

解析:while(i++)相当于执行while(i),此时 i  = 0,然后i之后再加1,等于没有执行循环,所以b就等于初始化的值等于0,选A。

2.【单选题】

int i {}, b {};

while ( ++i ) b++;

b=?

A. 0         B. -1        C.1

解析:while(++i),i 会一直递增,循环会一直执行,但是int有取值范围,当i的值超出int的取值范围的时候,i 会等于 -1,此时 ++i 等于0,结束循环。这个时候 b 就等于 -1,结果选B。

3.【单选题】

int i { 1 };

do

{

        i++;

} while ( i++);

i = ?

A.0        B.1        C.-1        D.死循环

解析:这个循环 i 的初始值为 1 ,然后执行 i++ ,之后再进入判断 while( i++ ),整个过程 中 i 每次循环过后的值都会加2,也就是 2 ,4, 6, 8.......当i的值超出int的取值范围的时候,i的值为-1,加一后 i = 0,此时while(0++),会跳出循环,之后再加1。最后的结果就是等于1,选B。

4.【单选题】

int i {};

do

{

        i++;

} while( i++ );

i = ?

A.0        B.1        C.-1        D.死循环

解析:这个题和上一题的区别是 i 的初始值为 0 , 所以整个过程 中 i 每次循环过后的值都会加2,也就是 1 ,3, 5, 7.......当i的值超出int的取值范围的时候,此时while(-1++),会继续执行循环,之后 i 再加 2,while(1++)继续循环,所以为死循环,选D。

5.【单选题】

int i {};

do

{

        i++;

}  while ( false );

i = ?

A. 1        B. 0        C. -1

解析:这道题就很简单,先执行 i ++ ,之后while(false),不符合循环条件会结束循环,此时i 就等于1,结果选A。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com