设变量x为float ,能将x的数值保留到小数后
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/16 08:10:31
答案A在算术运算中:系统会自动的将低优先级的数向高优先级的数转换赋值运算时:赋值运算符右边的值需要转换为左边变量的类型,左边变量的类型即赋值表达式结果的类型
该题应该选择B答案,因为求余运算符两边的操作数只能是整形变量,不能为float型.另外替你分析一下其他选项:A:++是自增运算符,即x的值先加1后再使用x的值,该值正确.B:略.C:符合运算符,x*=
答案是Bx*100+0.5是float型,强制转成int型后,会保留整数,而去掉小数*100实现了保留2位小数,+0.5是对第3位四舍五入给你看个实例
#includeintmain(){\x05floaty;\x05intx=-3;\x05y=x%2;//y的值是-1\x05printf("%f\n",y);//输出-1printf("%d\n",
因为B是正确的.n是浮点数,乘100+0.5后,若原先小数第三位>=5,则+0.5后就向前进位了;否则不进位,赋给整型m后,小数部分丢弃,达到了四舍五入的目的;再除以100是恢复原数的大小.比如:n=
!(!x)两次取反,所以表达式与x相同bool值,也就是说,x为非0则表达式为真,x为0则表达式为假.A.x==0x为非0则表达式为假,不同.B.x==1x为2则表达式为假,不同C.x!=0x为非0则
是D啊.A中"abc"不是char,而是string;B中函数没有返回值,它是void型的;C中'65'不是一个字符,是非法的表示,也不是string.D中第一个32是作为字符强制转为char型,在编
C(f*100+0.5)得到的是放大100倍的一个小数,且如果千分位上大于等于5将自动在个位数加1这样只要取得这个小数的整数部分就可以实现将小数点后第3位四舍五入,保留小数点后两位的所以:(int)(
∫(0~2)cx=1c(4/2)=1c=1/2连续型随机变量任意一点概率都为0P(X=2)=0P(0
floatx,y=3.14;这一句只是对y赋值了floatx=y=3.14;这一句直接就是语法错误,没有这种写法,定义变量的时候不可以这么写,因为y是未定义的写成floatx=3.14,y=3.14;
很高兴为你解决问题哈~作为一个从事软件开发的人员,你这种问题在我曾经也是犯过错误的哈在数值类型里面有个优先级关系:一般来讲,占位越长或者精度越高的数据类型的等级越高,当你做运算的时候,系统会自动的将低
答案A改变了数值,显然不对;答案B第三位舍入了可得到的浮点数2位以后没舍掉;答案C先放大百倍接着对三位进行了舍入取整数保证了小数部分舍弃再除百得到两位小数;答案D先除了改变了小数点前的整数值显然错误,
floatx=3.2;printf("%f,%f",x,++x);
答案C(int)(x*100+0.5)把float型数据(x*100+0.5)强转成int,这样就可以去掉小数点,+0.5就是为了四舍五入例如x=4.256,则(4.256*100+0.5)=426.
C你将X设为某一个小数.我设X=1.1111那么A就=1(不用解释了)B就=0.01(1.1111变成1,在除以100,=0.01)C就=1.11(1.1111*100=111.11,四舍五入后=11
就是C因为为了保证小数点后两位,所以必须先乘以100.排除D.第三位四舍五入,就得用类型转换.
B取余运算只能是2个整数来运算
xmod2=1除2余1
运行了,说float可能损失精度,运行有错误.然后我换成double,都是4.2,4.2