那4什么都没做吗???
追答什么都没做,他只是一个中间值,不用考虑,你可以写个小程序试验一下,试着修改一下值,看结果有什么不同,这样可以加深印象,也便于理解;
设int a;,则表达式a=2,4,a+1的值是( ) 为什么
设int a;,则表达式a=2,4,a+1的值是3,逗号运算符的运算规则是从左到右依此计算子表达式的值,并将最后一个表达式的值作为整个表达式的值,由此可见,第一个表达式将a=2,则的三个表达式值为3,即整个表达式的值3,而a的值为2;
设int a;则表达式a=2,4,a+1的值是
设int a;,则表达式a=2,4,a+1的值是3,逗号运算符的运算规则是从左到右依此计算子表达式的值,并将最后一个表达式的值作为整个表达式的值,由此可见,第一个表达式将a=2,则的三个表达式值为3,即整个表达式的值3,而a的值为2;
已经定义int a;则执行表达式a=11,a+1,a++后a的值是?为什么?
设int a;,则表达式a=2,4,a+1的值是3,逗号运算符的运算规则是从左到右依此计算子表达式的值,并将最后一个表达式的值作为整个表达式的值,由此可见,第一个表达式将a=2,则的三个表达式值为3,即整个表达式的值3,而a的值为2;
若已定义int a;则表达式a=11,a+1,a++的值是
11 逗号优先级最低所以先赋值a=11 逗号是左结合运算符是,返回右边表达式的值,所以多个逗号返回最右边的值:a 因为中间的a 1并没有改变a的值 而 运算符返回a改变之前的值,所以就是11
设int a=1 则表达式(true|(++a))&(a==2)的值是什么,为什么?
只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现。括号优先级最高,所以表达式是x&y的形式,因为是++a先取值在计算所以a=2 true是1 1|2 是01|10 所以是11所以是3,所以后面运算a==2时,a已经是2了,所以后面也是true,3&1 所以结果是true ...
有变量说明int a=2;, 则表达式a<1 &&++a>1的运算结果和a的值分别是
int a=2;, 则表达式a<1 &&++a>1的运算结果和a的值分别是 0 和 2 。这是因为当判别a<1时结果为假,而后面的是&&,则整个表达式的值已经得到,即为假。所以 ++a>1就不再判断。所以,a的值仍是2。
定义变量int a;,则表达式a=3,5;执行过后,a的值和表达式的值分别是?
a=3,5;执行的时候是 (a=3),(5);,3会赋值给a,一个语句执行的顺序是从左往右,最后执行到5,所以表达式的值是5。逗号运算符的优先级最低,a=15,后面的a*4,a+5不改变任何变量的值,a=(3*5, a*4, a+5)这样的式子就会等价于a=a+5=10,逗号运算符的规则就是从左往右依次执行,并...
c语言重要的基础知识点有哪些?
1、int x=y=10:错啦,定义时,不可以连续赋值。2、int x,y;x=y=10;对滴,定义完成后,可以连续赋值。3、赋值的左边只能是一个变量。4、int x=7.7;对滴,x就是7 5、float y=7;对滴,x就是7.0 3、复合的赋值表达式 int a=2;a*=2+3;运行完成后,a的值是12。一定要注意,首先...
若a是float型变量,则表达式a=1,a+1,a+=a的值为多少?
include <iostream> using namespace std;void main(){ float a;a=1;cout<<"---1--- a= "<<a<<endl;a=a+1;cout<<"---2--- a= "<<a<<endl;a+=a;cout<<"---3--- a= "<<a<<endl;} 输出:---1--- a= 1 ---2--- a= 2 ---3--- a= 4 ...