首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
若有定义:int a=7;float x=2.5,y=4.7
[单选题]
若有定义:int a=7;float x=2.5,y=4.7;
则表达式 x+a%3*(int)(x+y)%2/4的值是()。
2.500000
2.750000
3.500000
0.000000
查看正确选项
添加笔记
求解答(2)
邀请回答
收藏(151)
分享
纠错
6个回答
添加回答
1
方平
int a=7, float x = 2.5, y = 4.7;
x+a%3*(int)(x+y)%2/4
= 2.5 + 7%3 * (int)(2.5 + 4.7) % 2 / 4 // 小括号优先级最高。
=
2.5 + 7%3 * 7 % 2 / 4
// %、*、/ 同优先级,按照从左到右顺序计算; + 优先级最低,最后计算。
= 2.5 + 1/4
= 2.5
发表于 2019-03-01 15:41:36
回复(0)
1
💦Low-key丶是一种态度
x+a%3*(int)(x+y)%2/4: 首先优先级由高到低顺序为:括号>强制类型转换>*,/,%(这三运算符优先级相同,按照从左到右运算)>+ 所以计算顺序如下: x+y=7.2 (int)(7.2)=7 a%3=1 1*7=7 7%2=1 1/4:因为1和4都是整型,所以结果也必须是整型,即1/4=(int)0.25=0 x+o=x:x为浮点数,所以答案为A
发表于 2018-07-30 16:11:34
回复(0)
15
Serious熊
此运算中,
第一优先级是:(括号表达式)
第二优先级是:(类型转换)
第三并行优先级是:* / %
第四优先级是:+
所以运算顺序依次为:(x+y)=7.2、(int)(x+y)=7、a%3=1、a%3*(int)(x+y)%2/4=1*7%2/4
因为此时参与运算的全是整型,所以1*7%2/4=1/4也转为整型
,最后x+1/4=2.5+0=2.5
编辑于 2017-08-31 10:20:58
回复(0)
0
孟婆木木
此运算中, 第一优先级是:(括号表达式) 第二优先级是:(类型转换) 第三并行优先级是:* / % 第四优先级是:+ 所以运算顺序依次为:(x+y)=7.2、(int)(x+y)=7、a%3=1、a%3*(int)(x+y)%2/4=1*7%2/4 因为此时参与运算的全是整型,所以1*7%2/4=1/4也转为整型,最后x+1/4=2.5+0=2.5
发表于 2019-11-07 20:23:13
回复(0)
0
玩世不恭201804102027533
倒数第二步算错,1/4为0
发表于 2018-07-30 08:23:00
回复(0)
0
大熊linux
因为int强转,x+y得到结果为7,然后因为是求整数的过程,小数的取值为0,因为最终结果为float,所以结果为2.500000
发表于 2017-08-28 06:11:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++
上传者:
赞花婆
难度:
6条回答
151收藏
7004浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
对于我们来说,谁是好的顾客?
销售常识
评论
(1)
小红书用户在不同使用场景下,对内容...
需求分析
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题