设变量x为float型且已复制
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/07 15:43:29
![设变量x为float型且已复制](/uploads/image/f/7257127-31-7.jpg?t=%E8%AE%BE%E5%8F%98%E9%87%8Fx%E4%B8%BAfloat%E5%9E%8B%E4%B8%94%E5%B7%B2%E5%A4%8D%E5%88%B6)
答案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",
C(f*100+0.5)得到的是放大100倍的一个小数,且如果千分位上大于等于5将自动在个位数加1这样只要取得这个小数的整数部分就可以实现将小数点后第3位四舍五入,保留小数点后两位的所以:(int)(
等于1了,因为x,y是int型,所以x/y=0,然后加1,然后转换为double型.不过结果后面肯定有很多0.因为是double型的.1.0000000
(a*100+0.5)=468.35/100.0=4.6835,再让它变为整型的数去掉后面的小数点.等于4.
答案A改变了数值,显然不对;答案B第三位舍入了可得到的浮点数2位以后没舍掉;答案C先放大百倍接着对三位进行了舍入取整数保证了小数部分舍弃再除百得到两位小数;答案D先除了改变了小数点前的整数值显然错误,
floatx=3.2;printf("%f,%f",x,++x);
**a=10,x=18.18**用scanf函数从键盘获取数据时,键盘输入的内容只替换引号内%d%f等等其他的都不动,当然\n是不用输入的,它只是起换行的作用.要注意空格数哦,空格也是不能出错的,
答案C(int)(x*100+0.5)把float型数据(x*100+0.5)强转成int,这样就可以去掉小数点,+0.5就是为了四舍五入例如x=4.256,则(4.256*100+0.5)=426.
就是C因为为了保证小数点后两位,所以必须先乘以100.排除D.第三位四舍五入,就得用类型转换.
答案A、其值为0,!((x
是否是式子抄错了.D如果是:!(x
1/a过后(1/a)就是0了所以你b=0.0
1,a=172,a=633,(n%=n)=0,所以a%0是个错误的表达式.4,a=155,a=66,a=-36
选择b再问:WHY再答:输入不支持字符精度再问:%6f什么意思,为什么不是%3%f再答:小数点后六位再问:36.582只有三位啊再答:嗯是三位啊二级题库的题灰常恶心你钻它干嘛
B.错误n
运行了,说float可能损失精度,运行有错误.然后我换成double,都是4.2,4.2