C语言基础填空题,在线等,要详细步骤和解题思路?

如题所述

1. 第一题

   int i=1,j=0;

   while(i++<3)

   {  j++;  }

   答案:j=2,i=4

解释:i++ 加号在i 后面,属于 后加加,就是先求表达式的结果,然后再加1.

         第1次循环:初始值i=1 j=0,表达式 i<3 计算结果为TRUE, 执行j++和i+1 ,

                             执行结果: i=2,j=1

         第2次循环:i=2, 表达式i<3 计算结果为TRUE, 执行j++和 i+1,执行结果 :i=3,j=2

         第2次循环:i=3, 表达式i<3 计算结果为FALSE,不执行 j++ 但是仍然执行i+1,              

                                执 行结果:i=4,j=2


    第二题: 答案:j=3,i=4

     do{ j++;  } while(i++<3); 此语句 是先循环 再检查条件 和上一题不同。

        初始化值:int i=1,j=0;

       第1次循环:先执行j++, 然后  求表达式 i<3 ,为TRUE,最后i+1,执行结果:j=1,i=2; 

       第2次循环:先执行j++, 然后  求表达式 i<3 ,为TRUE,最后i+1,执行结果:j=2,i=3;

       第3次循环:先执行j++, 然后  求表达式 i<3 ,为FALSE,最后i+1,执行结果:j=3,i=4;  

程序测试结果:

希望我的回答对你的学习有所帮助,欢迎继续提问,很高兴和你一起讨论和学习C/C++

温馨提示:答案为网友推荐,仅供参考
相似回答