www.gsyw.net > 一个C语言题… 若x是单精度实型变量,表达式(x=10/4)的值是?答案是2.0,为什么?

一个C语言题… 若x是单精度实型变量,表达式(x=10/4)的值是?答案是2.0,为什么?

不对,因为x是单精度变量,即数学里的小数,10/4是整除,结果是2,所以x被赋值为2,但由于x是单精度型变量,就相当于x=2.0. 如果这道题x是整型变量,则值就是2. /是整除符号,这个符号的特点是:当且仅当/两边的被除数和除数是整数时结果就是整数就是小学学的真正的整除.而被除数或除数只要有一个是小数,算的结果就是小数.例如:10/4=2,10.0/4=2.5,10/4.0=2.5, 10.0/4.0=2.5

10/4是整型计算,结果取整.所以10/4=2 x=2 由于x是浮点型, 所以 x值为2.0 这只是一个写法, 写成2.00 或者2.000000 都是可以的.默认6位有效数字 只是printf输出的结果.

运算结果由表达式中运算对象的数据类型决定.10和4都是整型数,计算结构也是整型数:2 将2送入x中,只是将小数部分补零,结果为2.0 需要计算结果为实数,应该用实型数进行计算:x=10.0/4;或者 x=10/4.0;x的内容就是2.5啦

c语言: 若x 是单精度实型变量,表达式(x=10/4)的值是2.5爱是包容而不是放纵 爱是关怀而不是宠爱 爱是相互交融而不是单相思 爱是百味而不全是甜蜜

选B 分析:因为'/'表示求商,根据题目10与4是整型Int,并没有强制转为单精度,除的结果为,取整后的2,再根据x是单精度实型,把它转型为单精度即为2.0.故选B 这个是易错题,很容易选A.

10和4都是整型变量,所以10/4=2(不保留小数),又因为x是浮点型变量,则x=2.00000

你是问表达式的值,还是x的值啊,如果是x的值,答案应该是2.500000吧,表达式的值那就是TURE

右边操作数均为整型,执行整型运算,结果为1,再赋给单精度的X,结果为1.000000

x&1的意思是x与1按位进行与操作,当x的最低位为0的时候结果是0,x的最低位为1的时候是1;当x是奇数的时候,最低位为1,结果为1;当x是偶数的时候,最低位位0,结果为0;x%2的意思是x除2取余数,余数当然是0或者1;当x是奇数的时候,余数为1;当x是偶数的时候,余数为0;综合以上分析(x&1)与(x%2)总是相等的,即(x&1)==(x%2)的值必为“真”,在C语言中,真值用整数1表示.楼主参考.

因为采用%f或%lf格式符输出时,默认就是输出6位小数的;除非程序指定输出指定位数的小数;但是可以采用%g格式符来输出printf("%g\n",x);

相关搜索:

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com