执行语句“for(i=1;i++<4;);”后,变量i的值是?为什么不是4?为什么i++还要再做一次自加?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
执行语句: for(i=1;i++<4;);后,变量i的值是???为什么

5
因为先判断i<4再i加1
如果是for(i=1;i<4;i++)
则i=4因为表达式i<4后就不执行了

执行语句 for (i=1; i++<4;) ; 后变量 i 的值是5。
当i==3时(判断后i变为4),满足条件,执行循环;
当i==4时(判断后i变为5),不满足条件,退出循环。
++i表示先加1后赋值。当i变化为4时,4<4不成立,但i=i+1仍然执行,但不执行循环体。循环结束,故i最终变化为5。

扩展资料:
执行语句包括以下几种。
1) 控制语句,完成一定的控制功能。C++有9种控制语句,即:
1、if( )~else~ (条件语句)
2、for( )~ (循环语句)
3、while( )~ (循环语句)
4、do~while( ) (循环语句)
5、continue(结束本次循环语句)
6、break(中止执行switch或循环语句)
7、switch (多分支选择语句)
8、goto (转向语句)
9、return (从函数返回语句)
2) 函数和流对象调用语句。函数调用语句由一次函数调用加一个分号构成一个语句,例如:
sort(x,y,z); //假设已定义了sort函数,它有3个参数
cout<<x<<endl; //流对象调用语句
3) 表达式语句。由一个表达式加一个分号构成一个语句。最典型的是:由赋值表达式构成一个赋值语句。
i=i+1 //是一个赋值表达式
i=i+1; //是一个赋值语句
任何一个表达式的最后加一个分号都可以成为一个语句。一个语句必须在最后出现分号。表达式能构成语句是C和C++语言的一个重要特色。C++程序中大多数语句是表达式语句(包括函数调用语句)。

for语句最后有分号,一直执行i循环,直到不满足循环条件。
i++<4,i++是执行语句之后i自增1,即将i与4比较,比较之后自增1
i=1<4,i自增1,i=2
i=2<4,i自增1,i=3
i=3<4,i自增1,i=4
i=4,不满足i<4的条件,结束循环,i自增1,i=5
因此执行语句后,变量i的值是5
本题的关键是理解i++<4,是将i与4比较,而不是i自增之后与4比较。

之前的你知道把?i=4时不满足条件了,所以要退出for循环,但i++还是要做的的,所以就是5,这个C语言考试经常考的,i++是先用i的值然后+1,但不是不满足循环的条件就不加了,是这样的~

i++是先取得i的值,进行操作,然后再执行++操作
就拿for循环举例吧
...
int i=0;
for(i=1,i<4,1++){
... //第一次就是取i=1,进行操作,本次结束做i++的操作
}
//因为每次循环都会先判断是否满足i<4这个条件,然后执行循环体
System.out.print(i); //当i=4的时候,不满足条件,循环结束不再执行循环体,输出 i 的结果:4

像++i,就是先执行++操作,再执行其他计算。。
这两个定义需要搞清楚...

最后一次执行循环时,i=4,i++<4不成立,执行后,i的值为5。

i++<4相当于i<4,i++。
i++叫后缀形式,先取i的值,再++.

  • 执行语句“for(i=1;i++<4;);”后,变量i的值是( )。
    答:【答案】:C for循环结束时,i++的值应为4,i自加后此时应为5,故选择C选项。
  • 执行语句for(i=1;i<9;i+=3;+);后变量i的值是?
    答:执行语句 for(i=1;i<9;i+=3;+);后变量i的值是7。这条语句是一个for循环语句,其中i=1表示循环变量i的初始值为1,i<9表示循环条件为i小于9,i+=3表示每次循环i的值要增加3,最后的+);是多余的。for循环的执行过程是:第一次循环,i=1 第二次循环,i=1+3=4 第三次循环,i=4+...
  • 执行语句“for(i=1;i++<4;);”后,变量i的值是?为什么不是4?为什么i++...
    答:for语句最后有分号,一直执行i循环,直到不满足循环条件。i++<4,i++是执行语句之后i自增1,即将i与4比较,比较之后自增1 i=1<4,i自增1,i=2 i=2<4,i自增1,i=3 i=3<4,i自增1,i=4 i=4,不满足i<4的条件,结束循环,i自增1,i=5 因此执行语句后,变量i的值是5 本题的...
  • 求助!c语言 执行语句“for(i=1;i++<5;);"后变量i的值是?
    答:c语言 执行语句“for(i=1;i++<5;);"后变量i的值是 6 因为当i==4时,(随后i变为5)判断为真,执行循环 当i==5时,(随后i变为6)判断为假,退出循环
  • 执行语句for(i=1;i++;);后变量i的值是
    答:for(i=1;i++;);这里将i++作为第二段条件,那么第一次循环时i=1就条件成立,退出了循环,加上后置加法,因此i等于是初始1后加了1,最后值为2.
  • 2、执行语句“for(i=1;i++<4;);”后,变量i的值是( )。
    答:结果是4,i++先比较后自增,一共循环了3次,第一次比较后,i自增变为2,当i=3<4时比较成立,i自增变为4,4<4不成立循环结束。
  • 执行语句 for (i=1; i++<4;) ; 后变量 i 的值是
    答:5 当i==4时候跳出for,后缀在之后又+了一次
  • C语言问题:执行语句for(i=1;i++<4; ); 后,变量i的值是多少啊??
    答:for语句最后有分号,因此反复执行判断i是否>=4,如果i<4,则i自加1,直到i>=4为止,退出循环,i自加1,然后执行下一条语句。因此到i=4时,跳出循环,i自加1,变成5 执行语句后,i的值是5
  • 如果for(i=1; i<=10: i++)执行多少遍
    答:A:循环9次;B:循环10次;C:循环9次;D:循环10次。A for(i=1;i<10:i++):A:循环9次;B i=10;while(i>0){--i;}B:循环10次;C i=1;do{i++;}while(I<=10);C:循环9次;D i=1;m:if(i<=10){i++;goto m;}D:循环10次;...
  • 执行for(i=1;i++<4; ; );语句后,变i的值为()答案是5,求解释?不应该是i...
    答:首先说说i++ i++是先取 i 的值来用然后才执行++ 比如i=1; j=i++; 那么执行完这段语句后 j=1,i=2;这里先取 i 的值 1,然后赋值给j,然后再执行 i++ 而++i,则是相反,先++,得的新值在拿来用 for(i=1;i++<4; )也是这样 i=1,i++<4 (1<4)成立 ,然后i++,i...