2.设int型变量x有初始值3,则表达式x++*5/10的值是( )
2.设int型变量x有初始值3,则表达式x++*5/10的值是( )
++你用管 表达式x++*5/10 化解 x*5/10=1.5 因为是整型 所以是1 如果求x ,x=4;
如果 表达式 ++x*5/10 答案是 2
2.设int型变量x有初始值3,则表达式x++*5/10的值是( ) (A)0 (B)1 (C)2 (D)3 求理由和结果
首先你要明白x++和++x的区别。前者是说这句话执行之后x自动加一,后者是这句话执行之前x加一。也就是说x++*5/10执行时x是3,执行之后x=4.那么3*5=15。15/10=1;java的处罚是截断的,所以选b
若int型变量x=11,则表达式(x++*1/3)的值是?为什么? 谢谢
(x++*1/3)是4
首先,x++运算优先,先算x++,那么x = 12
再进行x*1/3 将12带人,就是12*1/3得到4
若int型变量x=11,则表达式(x++*1/3)的值是多少,为什么?
你说的是C语言吧:
因为x是int类型的,所以表达式最后的结果也是对(11*1/3=3.6666)进行强制类型转为int
结果是3.
i为int型变量,且初值为3,有表达式i=i+=i*5,则该表达式的值是?变量i的值是?
i=i+=i*5
=>i=(i=i+(i=i*5))
=>i=(i=i+i(i=15))
=>i=30
即原式=30,i=30
int型变量a=2,则表达式a+=a-=a+a的值是?
根据赋值为右侧运算原则
先运算a-=(a + a),即 a=(a - (a+a)),此时 a = -2;
然后a+=(a-=a+a),即a=a + a, 最终 a = -4;
设a是int型变量,x是float型变量,则表达式(int)a+x的类型是(),表达式(int)(a+x)是()
(int)a+x最终是float类型而(int)(a+x)最终是int类型
假定x和y为int型,则表达式x=5,y=x/2+3的值是
答案为5.
逗号表达式的求值过程是:
从左往右顺序执行,最后返回最右边的值,即:
先:x=5,给x赋值为5;
再:y=x/2+3,即y=5/2+3=2+3=5;
所以返回5.
可以编程测试:
int main(void)
{ int x,y;
printf("%d",(x=5,y=x/2+3));
getch();
return 0;
}
结果输出为5.
设x为int类型,其初值为25,则表达式:y=x++的值是
如果说y的值,那么是25;如果是x的值,那么是26,如果是指这个等式的值,不同编译器可能处理方法不同,你可以printf("%d", y=x++)试试
i为int型变量,且初值是3,有表达式i++-3则表达式的值是?说明理由
表达式的值为0,i的值为1。先看优先级,自加在前,减在后,i++是先运算再赋值,也就是i为3,3-3==0,最后再进行自加运算,i=i+1。