【习题】若有定义“int a=7; float x=2.5, y=4.7;“,则表达式x+a%3*(int)(x+y)%a/4值是( )

若有定义"int a=7; float x=2.5, y=4.7;",则表达式x+a%3*(int)(x+y)%a/4值是(  )

  • A. 2.500000
  • B. 3.500000
  • C. 2.750000
  • D. 3.750000

答案:A

解析:在运算之前我们要清楚程序中出现的几种运算符的优先级,其中“(x+y)”优先级最高,因为它由括号包含,其次是取余“%”,乘“ * ”,除“ / ”,这三个运算符按照先左后右的顺序运算,最后是加“+”。运算式中(int)的含义是将后面紧随的(x+y)的运算结果1强行转化为整形类型,我们正式开始运算。

 x+y=7.2

转化为整形后为7

7%a=7%7=0

0/4=0

x+0=2.5+0=2.5

故选择A选项。

转化成c代码如下,同学们可自行拷贝验证。

#define _CRT_SECURE_NO_WARNINGS 1//vs编译环境下会用到这个,在这里没用
#include<stdio.h>
int main()
{
	int a = 7; 
	float x = 2.5, y = 4.7;
	printf("%f", (x + a % 3 * (int)(x + y) % a / 4));
	return 0;
}

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒雒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值