在C语言中,(float)7/2的值是( ) A.3 B.3.0 C.3.5 D.以上都不是

 我来答
liwenwei2010
2011-07-16 · TA获得超过768个赞
知道答主
回答量:119
采纳率:0%
帮助的人:188万
展开全部
其实查一下C语言的课本的附录《运算符和结合性》就知道,类型转换运算符(属单目运算符)优先级高于算术运算符,故先对7进行强制类型转换,然后再计算除法。

其实,有个最准确的方法,就是编程计算一下,程序如下:
#include<stdio.h>

int main( )
{
float f;
f=(float)7/2;
printf("\n %lf。\n", f);
return 0;
}

运行结果,3.500000
追问
(float)7/2的值应该是3.000000
而(float)7.0/2应该是3.5
追答
我刚刚又试了一下,结果还是像前面提到的那样。我不知道你是用的那个编译器。我用的是gcc编译的(32位处理器),符合ANSI C标准要求。你仔细看C语言的教科书会发现,常常会出现这样一句话“有的C编译不遵循ANSI C标准的规定”(有些较早版本的C编译就有次情况)。但是,考试时,如无特殊说明,肯定是按标准C的规定来的。
阴静枫丘又
2020-01-14 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:722万
展开全部
你好!
C
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
如果对你有帮助,望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DY031DY
2011-07-16 · TA获得超过404个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:151万
展开全部
选D。
先算7/2=3,这一步是整数除以整数
再把3转化为浮点型,即3.000 000
追问
嗯,如何让它变成3.5呢/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2011-07-16 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
C
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
善祖86
2011-07-16 · TA获得超过113个赞
知道答主
回答量:116
采纳率:0%
帮助的人:76.3万
展开全部
选C.
float将7变为了浮点数,相当于((float)7)/2
想让结果变为3的话,就去掉float. 或者改为(float)(7/2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式