首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符型转整型具体如何转

2012-10-18 
字符型转整型具体怎么转float a2.0int b6,c3求表达式a*b/c-1.5+‘a+(b-5)的值这其中的关系是怎么转的

字符型转整型具体怎么转
float a=2.0;
int b=6,c=3;
求表达式a*b/c-1.5+‘a'+(b-5)的值


这其中的关系是怎么转的我不懂?这其中的字符型a转化成int型的答案为97.0是怎么转的尤其不懂,麻烦有人能告诉我其中的转化关系是怎么的,还有int型转double型具体是怎么转的也告诉我 谢谢···

[解决办法]
这是C++的语法规定,不同类型运算时,自动转换类型.... 

自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则: 

1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。 

2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。 

3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。 

4.char型和short型参与运算时,必须先转换成int型。 

5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

当参加算术或比较运算的两个操作数类型不统一时,将简单类型向复杂类型转换,
char(short) -> int(long) -> float -> double
[解决办法]
'a' = 97 是因为ASCII查出来的
剩下的楼上说的很明白了
[解决办法]
字符'a'的ASCII码就是97.

常见的ASCII对应关系应该记住, 'A'是0x41, 'a'是0x61, '0'-'9'是0x30-0x39
[解决办法]
范围小的提升为范围大的
[解决办法]

探讨

这是C++的语法规定,不同类型运算时,自动转换类型....

自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:

1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

3.所有的浮点……

[解决办法]
探讨

这是C++的语法规定,不同类型运算时,自动转换类型....

自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:

1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

3.所有的浮点……

[解决办法]
2楼正解
[解决办法]
C/C++ code
#include <stdio.h>void main(){    float a=2.0 ;    int b=6,c=3 ;//    a*b/c-1.5+'a'+(b-5) ;    printf("占字节%d\n", sizeof(1.5)) ; /*注意:这里输出为 8 ,说明对于一个浮点型常量,系统分配8字节存储,即 double 型*/    printf("占字节%d\n", sizeof(a*b)) ; /*我这里输出为 4 ,这里浮点型运算 ,把int型提升为float型 ,并没有提升到double型 *//*下面两个输出为8字节,没有问题,因为1.5以double型存储;;字符参与算术运算,要以其对应的ASCII进行*/    printf("占字节%d\n", sizeof(a*b/c-1.5)) ;    printf("占字节%d\n", sizeof(a*b/c-1.5+'a'+(b-5))) ;}
[解决办法]
/*我这里输出为 4 ,这里浮点型运算 ,把int型提升为float型 ,并没有提升到double型 */

借宝地发问一下!!
我也记得浮点型参与运算是要提升到double型,不过我的输出为4字节;难道又与编译器有关??
[解决办法]
1#回答已经很清楚了

热点排行