C语言类型,不同数据类型 计算结果类型是什么,存在怎样阴性类型转换

.设有定义int a; double x; char ch; ,表达式(a+ch)-10+x*2 结果的数据类型是_______.
A)char B)int C)float D) double

double型
类型的隐式转换,都是从低到高,比如,char +int 成int型.
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-17
c 位数最长的,
第2个回答  2008-06-18
1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
3)所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4)char型和short型参与运算时,必须先转换成int型。
5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。

参考资料:谭浩强版C语言程序设计

本回答被提问者采纳

C语言类型,不同数据类型 计算结果类型是什么,存在怎样阴性类型转换
double型 类型的隐式转换,都是从低到高,比如,char +int 成int型.

C语言中不同数据类型的数据在运算时采用的规则有哪些?
不同数据类型之间的转换有2种方式:隐式转换和显式转换。隐式转换指的是默认做的一些转换式,比如整形和实型做混合运算(这里我说的运算是合法的运算,不会是取余这样对操作数有数据类型要求的运算),得到的结果是自动由精度低的或占位数低的数据类型向高的数据类型做转换,也就是上述问题得到的结果...

C语言不同数据类型怎么转换成同一数据类型的
1.表达式中有几种可计算类型时,自动向“高”看齐,即自动把位数少的类型通过填加无效0而达到表达式中位数最多的类型,计算结果也是“高”类型。这种转换不需程序员干预,也不损失数据。2.通过赋值自动转换,即自动将右边表达式计算结果的类型转换为表达式左边变量的类型。这种转换也无需程序员干预,但若...

c语言数据类型转换
c语言算术表达式的计算,在计算过程中,每一步计算所得结果的数据类型由参与运算的运算对象决定,相同数据类型的两个对象运算,结果数据类型不变,不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。精度的高低:double>float>int 需要注意的是,数据类型的转换是在计算过程中逐步进行...

C语言中的类型转换
对于不同类型的运算,遵循一个原则:将类型级别较低的数据转换为较高级别的类型,以适应运算需求。例如,char与int运算结果为int。而char与long运算结果为long,int与long运算结果为long。浮点与整型运算结果为浮点类型。混合运算遵循相同原则。类型转换通常自动进行,确保运算顺利进行。转换依据类型级别,从低...

c语言中 int a,b; y=(float)a\/b; 那么结果是什么?能够说说具体是什么...
首先是类型的强制转换 a会被转换成float 也就是单精度浮点型 然后是不同类型混合计算。当float型和int型进行计算时,结果为float型。所以 如果a=3 b=2的话 那么(float)a\/b的值是1.5 至于赋值给y 取决于y的类型。如果y为float或者double型,那么y值就是计算结果。如果y为int或者其它整数类型, ...

c语言,数据类型转换!又要掉头发了!
在计算机执行算术运算时,操作数的大小与存储方式需保持一致,以确保运算的准确性。通常,两个16位整数能直接相加,但若涉及不同大小或不同类型的数据,则需要数据类型转换。C语言允许在表达式中混合使用基本数据类型,如整数、浮点数与字符,但可能需要编译器生成指令以适应不同类型的转换。例如,将16位...

c语言数据类型转换
1、C语言类型转换分级别,一般多是:默认状态:低级向高级转换,级别高低小到大int、float、double注意char只可以和int之间转换;2、若要高级向低级转换:就要用到强制类型转换符;3、强制类型转换是通过类型转换运算来实现的。其一般形式为: 类型说明符表达式 其功能是把表达式的运算结果强制转换成类型说明...

c语言数据类型转换规则
c语言数据类型转换规则如下:1、自动类型转换:在C语言中,自动类型转换遵循以下规则:①若参与运算量的类型不同,则先转换成同一类型,然后进行运算。②转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。a、若两种类型的字节数不同,转换成...

C语言中,数据类型的隐式转换与显式转换分别是个什么意思?
显式转换,就是强制转换。在被转换的表达式前加(类型),比如:(float)5,就是把5显式转换成float类型。隐式转换,就是不需要加强制转换,系统会自动做这个操作,比如:double k;k=10;10是int型,不需要显式转换,系统自动会把它转为10.0。

相似回答
大家正在搜