当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 5.8 复习题 第3题 for循环的执行过程

C++ Primer Plus 6th 5.8 复习题 第3题 for循环的执行过程

更新时间:2019-04-24 09:23:25浏览次数:1+次

C++ Primer Plus复习题5.8 第3题 for循环的执行过程
题目:
3.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?

int j ;
for(j=0;j<11; j+=3)
    cout<<j;
cout << endl << j <<endl;

答案: 

它将打印下面的内容:

0369
12

C++技术网辅导详解解答:

    本题有两个点,一是循环的步进值,另一个是完整的for循环的执行流程。对于新手来讲,第一印象是循环一次只增加一。另外,认为循环体执行完后就万事大吉了。结果一高兴,最后的输出就错了。

    鉴于第二题,此题最后的输出的缩进没有设坎。大家比较容易看出来最后一句代码不是在循环体内的。自己可以体会一下。我们知道循环的步进是3,即j每次都是增加3而不是1,所以循环的4次输出就是0369。

    循环执行完之后,最后一行输出什么呢?因为j是在循环体外定义的,所以循环的执行会对j产生持久的影响,循环之后的结果会存储在j中。否则的话,最后一句代码会报错。既然如此,那么循环的完整执行流程就非常需要注意了。

    for循环最后一个j的增加是在循环体执行完后再执行的,执行完之后再进行条件判断。所以最后一次执行后,j会被自增到9+3即12,然后条件不符合而退出循环。所以最后一句代码会输出12哦。