C语言表达式2/5*10的值为什么不是4!!!

答案是什么???

学术上有这样的符号 |_ 5 /  2 _|, 这样的符号是指取下限。所以,对5/2取下限,结果2.5超过2的部分被舍去,即_ 5 /  2 _| = 2.


c语言里德除法也采用了类似的取下限的方式。所以

2/5*10 = (2/5)*10 = 0*10 = 0;

 晕,才5分!!

追问

为什么变零 默认什么了吗 不是0.4吗?

追答

会做除法么? 6/5 商1 余 1, 20/5 商 4 余0, 2/5 商0 余2, 换个说法就是, c语言里的 "/"就是会舍去余数的,只保留商的操作。

更标准的定义: a/b = a 除以 b的结果取下限, 或者说, a/b = a 除以b的结果,只保留整数,舍去小数部分。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-27
第一项21%4取余数为1,2/4由于c语言为整除为0,所以最终为1
第2个回答  2014-02-26
2/5 = 0
0*10 = 0追问

为什么2/5=0?

追答

因为是整数,0.4不足1,就变成0了

追问

我是想知道为什么取零?默认什么了吗?

追答

因为2和5都是整数,所以他们的商也要是整数,不足1就取0

追问

恩 谢了 一般都这样吗?什么原理啊

追答

整数和整数当然生不出小数。就跟人和人生不出狗一个原理。

本回答被提问者采纳

C语言表达式2\/5*10的值为什么不是4!!!
c语言里德除法也采用了类似的取下限的方式。所以 2\/5*10 = (2\/5)*10 = 0*10 = 0; 晕,才5分!!

一些C语言题目!求高手答疑!谢谢了!!!
所以(x--,--y)是4 而x++是输出printf后再执行的,所以是2 5,(!x || y--),!x说明第一个是假了,x才是真,所以会判断下一个,y=1,所以或表达式中有一个语句是true,即整个表达式的逻辑值为true,所以你输出的是整个式子的逻辑值,1表示true,注意,y--是等整个式子运算完后再--不等...

C语言,第六题为什么是0
如果左边不是变量名,则会出现:3=4,53=a这样滑稽的语句。本例中赋值号左边是一个数字,所以,语法错误的表达式不会有值。二、如果表达式中间的等于号(=)有两个,则这个表达式是9\/2*2 ==9*2\/2,这个表达式是有意义的。这是因为,C语言中,“==”(双等于号)是一个判断相等的“逻辑运算...

关于C语言有几道题不会,求助大神
C正确,选C——下标从0开始,所以a[2]的值是3,a[a[2]]就是a[3],显然a[3]是第4个数值是4。C A 没有正确选项,输出是23 C C A C C 没有正确选项,应该是fun(10,12.5);这种形式 B

c语言逗号运算符 a=3,a*4,a++\/\/逗号表达式的值为3 为什么不是4
因为这个逗号表达式的第2个表达式"a*4"并没有改变变量"a"的值,a的值还是3,最后的表达式a++为后置自加(先取a的值后再自加)因此整个表达式的值为最后一个表达式(a++)的值,即:3

C语言求余问题:当 被除数 小于 除数 时,比如2%5,怎么计算啊,谢谢啦!
首先明确:求余(%)运算又叫模(mod)运算,C\/C++当中求余(%)运算的操作数只能是整型(int)当被除数小于除数时,求余结果就等于被除数。例如:2%5=2,3%10=3.理解的话有两个角度:1.从数学角度来理解很简单,就按照数学上求余数的方法来求余:例如:2÷5=0……2(商0余2)2.从编程...

有关c语言2个问题
第一题:表达式为(int)(b\/3*(int)(a+c)\/2)%4的值为3 ;表达式(int)(7\/21\/2)%4的值为0,就算你不加(int)强制类型转换它的值也为0,所以(int)在这不起作用 ; 7\/21\/2值为0,因为int计算结果仍为int类型取整数部分 ;可以用代码演示你的问题 int b=7;float a=2.5,c=4.7;...

C语言问题!!!
4、5 5、2 分析:2、x+++y相当于 (x++)+y,关于后增运算符++是先取x的值作为表达式的值,计算完整个表达式后再使x增1,所以x++这个表达式的值是当前x的值3,加上y结果为5(然后再使x增1变为4),故结果为5 4、x<y?y:x++的计算方式为,先判断x<y是否为真,如果真,则整个表达式的...

逻辑运算符的运算问题
逻辑运算符是根据表达式的值来返回真值或是假值。其实在c语言中没有所谓的 真值和假值,只是认为非0为真值,0为假值。符号 功能 && 逻辑与 || 逻辑或 !逻辑非 例如:5!3;0||-2&&5;!4;当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都 为真时,总的式子才为真。

c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者...

相似回答