c语言a++ b/ b=6.0的意思是什么啊?

作者&投稿:哀韵 (若有异议请与网页底部的电邮联系)
~

(int)a+b/b=6.0。

(int)a = 5;对于b/b,因为b是double类型,所以它们的商也是一个double类型,为2.5/2.5 = 1.0(注意要在小数位上加一个0);

最后计算5 + 1.0 = 6.0,因为5是int类型,而1.0是double类型,它们俩相加时,5将自动转换成double类型数据5.0,从而实际参加运算的是:5.0 + 1.0 = 6.0。

在C语言中,将一个double类型的数据强转成int类型时,将会丢弃该数据的小数部分,而只保留它的整数部分。

强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。

扩展资料

数字数据类型有Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和 Currency(货币型)。

类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。

无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。

参考资料来源:百度百科-强制类型转换

参考资料来源:百度百科-数据类型




恩施市17032315264: C语言(++b)+(++b)+(++b)); -
贰骅来比: 运算的顺序是从左到右: 第一次:++b —— b = 4 第二次:++b —— b = 5 ++b + ++b —— result = 5 + 5 = 10第三次:++b —— b = 6 10 + ++b —— result = 16

恩施市17032315264: c语言,int a=7,b=6,c=5,则表达式(a+b)>(c*b)&&b!=c||c>b的值为 -
贰骅来比: (a+b)>(c*b)&&b!=c||c>b13>30 && 6!=5 || 5>60 && 1 || 5>60 || 00

恩施市17032315264: 几道C语言的基础题,求解!!! 求讲解!~!!! -
贰骅来比: 1、int c;c=a>b?a++:b++;则c=5原因:?:拆开就是if(a>b) c=a++;else c=b++;2、c解释见http://zhidao.baidu.com/question/282749106.html3、3个因为到第3个字符,'\0'时,会当作串尾处理4、输出为125、b是错误的~ad为普通int,c是赋值给一个long型变量

恩施市17032315264: c语言a++ -
贰骅来比: ++在变量后面,就先取变量的值进行计算,然后再对变量进行+1的操作.所以b=5*5=25,b计算完之后,对a进行了2次++的操作,这个时候a=7.同理 b =(a++)*(++a) 则b=6*6=36, a=7; b =(++a)*(a++) 则b=6*6=36, a=7; b =(++a)*(++a) 则b=7*7=36, a=7;

恩施市17032315264: 我记得c语言中a=b=6;这个表达式是不对的,为什么我在vc中可以实现呢?这个表达式到底对不对? -
贰骅来比: 像这样的是不对的 int a=b=6; 但是 int a,b; a=b=6; 这个能 第一个因为你没有定义b

恩施市17032315264: C语言中:a+++b是什么意思? -
贰骅来比: 就近原则,与编译器无关. 要说在c语言中这充其量只能算作是“伪代码”. 在vb、pascal等程序设计语言中,<>是“不等于”的意思. 在c中,“不等于”的关系应表示为“!=” if(a != b+c) printf("a不等于b+c\n"); else printf("a等于b+c\n")...

恩施市17032315264: C语言中,a+++++b的含义是什么? -
贰骅来比: a+++++b = (a++)+(++b) = a+(b+1),最终a,b都加一 例如,若a = b = 0,则c = a+++++b = 0+(b+1) = 0+0+1 = 1 a = 1; b = 1; 代码 void main() { int a,b,c; a = b = 0; c = (a++)+(++b); printf("%d\n%d\n%d\n",c,a,b); }

恩施市17032315264: C语言里运算符的级别 -
贰骅来比: ++a||++b&&++c,加上括号为(++a)||(++b&&++c),++a先算,其结果为2,其值不为0,为真,这时整个表达式为真,后面的就不算了,因此b和c仍然保持为1

恩施市17032315264: C语言问题:a+++++b应该怎么理解?
贰骅来比: 这是个优先级问题 //WindowsXP VC++6,0 #include<stdio.h> int main() { int a,b; a=1; b=2; printf("%d %d\n%d\n",a,b,(a++)+(++b)); printf("%d %d\n",a,b); return 0; } 编译下,或许对理解有帮助.

恩施市17032315264: c语言中a&& b的结果是多少? -
贰骅来比: a&&b,a和b的逻辑与的值.是C语言里的一种逻辑表达式.&&表示的意思是数学中的逻辑与操作. 在C语言中非0则是1,因为题目中a=4,b=5,所以a&&b的结果为1.所以题目中x的最后结果为1.计算过程a&&b=1,c<'B'=1,x=1&&1,所以x=1...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网