在C语言中,(float)7/2的值是( ) A.3 B.3.0 C.3.5 D.以上都不是
8个回答
展开全部
其实查一下C语言的课本的附录《运算符和结合性》就知道,类型转换运算符(属单目运算符)优先级高于算术运算符,故先对7进行强制类型转换,然后再计算除法。
其实,有个最准确的方法,就是编程计算一下,程序如下:
#include<stdio.h>
int main( )
{
float f;
f=(float)7/2;
printf("\n %lf。\n", f);
return 0;
}
运行结果,3.500000
其实,有个最准确的方法,就是编程计算一下,程序如下:
#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的规定来的。
展开全部
你好!
C
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
如果对你有帮助,望采纳。
C
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
如果对你有帮助,望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选D。
先算7/2=3,这一步是整数除以整数
再把3转化为浮点型,即3.000 000
先算7/2=3,这一步是整数除以整数
再把3转化为浮点型,即3.000 000
追问
嗯,如何让它变成3.5呢/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
(float)7/2
根据运算符优先级,应该先是(float)7,成为7.0f/2,结果3.5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选C.
float将7变为了浮点数,相当于((float)7)/2
想让结果变为3的话,就去掉float. 或者改为(float)(7/2)
float将7变为了浮点数,相当于((float)7)/2
想让结果变为3的话,就去掉float. 或者改为(float)(7/2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询