C语言的一道小问题~高手们帮忙。谢!

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:10:33
1,若有以下定义,则计算表达式y+=y-=m*=y后的y值是 ?
int m=5,y=2;
(2)、若s是int型变量且s=6,则下面表达式的值为?
S%2+(s+1)%2
(3)、若a是int 型变量,则计算表达式后a的值为?
A=25/3%3
(4)、字符串“AB”在机器中占 个字节
(5)、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)/4的值是?

Y=-16;
1;
2;
两;
38.5;
以上依次就是答案。

1,若有以下定义,则计算表达式y+=y-=m*=y后的y值是 ?
int m=5,y=2;
表达式在编译解析的时候应该是从右向左的顺序:
m*=y; //m=5*2=10
y-=m; //y=5-10=-5
y+=y; //y=(-5)+(-5)=-10

(2)、若s是int型变量且s=6,则下面表达式的值为?
S%2+(s+1)%2
因为6%2=0,7%2=1,所以表达式的值为1

(3)、若a是int 型变量,则计算表达式后a的值为?
A=25/3%3
25/3=8.333...取整得8,8%3=2,所以A=2

(4)、字符串“AB”在机器中占 个字节
'A''B''\0'所以是三个字节

(5)、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)/4的值是?
2.5+7%3*(int)(2.5+4.7)/4
=2.5+1*(int)(7.2)/4
=2.5+7/4=2.5+1=3.5
如果没算错的话应该是3.5

谁还用自己算啊,编译一下就好啦

y=-6
6
2
2
3.5

哥们,你这个题是从那里来的呀,你找个C语言软件编译一下不就知道了。

-10
1
2
2
3.5