C语言中,z=x+a%3*(int)(x+y)%2/4;的运算顺序是什么?谢...

 我来答
yihla5739
高粉答主

2018-12-09 · 每个回答都超有意思的
知道答主
回答量:149
采纳率:100%
帮助的人:4.7万
展开全部

解题步骤:

1、(int)(2.5+4.7)=(int)(7.2)=7,式子变 x + a%3 *7 %2/4;

2、a%3=1,式子变 x + 1 *7 %2/4;

3、1*7=7,式子变 x + 7 %2/4;

4、7 %2=1,式子变 x+1/4;

5、1/4 整数除整数的除法先做,商得 0,式子变 x + 0;

6、x+0=2.5 + 0=2.5,答案2.5。

字符解释:

(int)(x+y) -- 括号里的先做

2/4 -- 整数2除以整数4,得整数0,但这里前面还有运算符%,所以你不能先做2除以4的整数除法。

% 是整数与整数的除法求余数运算,得余数,(略去商)。

2.0/4.0 -- 浮点数除以浮点数,得浮点数的商 0.5。


扩展资料:

C语言算术编程示例:

#include <stdio.h>

int main()

{

int a = 21;

int b = 10;

int c ;

c = a + b;

printf("Line 1 - c 的值是 %d\n", c );

c = a - b;

printf("Line 2 - c 的值是 %d\n", c );

c = a * b;

printf("Line 3 - c 的值是 %d\n", c );

c = a / b;

printf("Line 4 - c 的值是 %d\n", c );

c = a % b;   printf("Line 5 - c 的值是 %d\n", c );

c = a++;  // 赋值后再加 1 ,c 为 21,a 为 22

printf("Line 6 - c 的值是 %d\n", c );

c = a--;  // 赋值后再减 1 ,c 为 22 ,a 为 21

printf("Line 7 - c 的值是 %d\n", c );

}

匿名用户
2011-03-07
展开全部
x+a%3*(int)(x+y)%2/4;

1. x+y
2. (int)(x+y)
3. a%3
4. a%3*(int)(x+y)
5. a%3*(int)(x+y)%2
6. a%3*(int)(x+y)%2/4
7. x + a%3*(int)(x+y)%2/4

如果是你自己写程序,强烈建议不要写这种“令人困惑的C”,如果是考试,就另当别论了。
参考资料:
8
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dbplov
2011-03-07 · TA获得超过430个赞
知道答主
回答量:30
采纳率:0%
帮助的人:13.6万
展开全部
(1)计算a%3和(int)(x+y)
(2)计算a%3和(int)(x+y)相乘
(3)上述乘数%2,再/4
(5)x加上上述得数,赋值给z
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式