作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/14 09:11:11
在C语言中,(float)7/2的值是( ) A.3 B.3.0 C.3.5 D.以上都不是
其实查一下C语言的课本的附录《运算符和结合性》就知道,类型转换运算符(属单目运算符)优先级高于算术运算符,故先对7进行强制类型转换,然后再计算除法.
其实,有个最准确的方法,就是编程计算一下,程序如下:
#include
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的规定来的。