1.数据类型转换

问题说明:

c语言规定,不同类型的数据需要转换成同一类型后才能进行计算,在整型,实型喝字符型数据之间通过类型转换便可以进行混合运算。

当混合不同类型的变量进行计算时,便可能会发生类型转换。

相同类型的数据在转换时有规律可循,如字符必定先转换为整数,short型转化为INT型,float型数据在运算时一律转换为双精度double型,以提高运算精度。

不同类型的数据发生转换时,遵循低级类型向高级类型转换的原则,例如int型数据于double型数据进行运算时,是先将int型数据转换成double类型,然后再进行运算,结果为double类型。

此外,在一个赋值语句中,若发生类型转换,则是赋值语句右部(表达式一侧)的值转换成左部(目标一侧)的类型。

程序实例:

#include <stdio.h>

void main()

{

 //定义变量并赋初值    

    int a = 5;

    char c = 'a';

    float f = 5.3;

    double m = 12.65;

    double result;

    //同类型数据间进行运算并输出结果

    printf("a + c = %d\n",a + c);

    printf("a + c = %c\n",a + c);

    printf("f + m = %f\n",f + m);

//不同类型数据间进行运算并输出结果

    printf("a + m = %f\n",a + m);

    printf("c + f = %f\n",c + f);

//将上述四个变量进行混合 运算,并输出结果

    result = a + c * (f + m);

    printf("double = %f\n",result);

}

 

程序说明:

程序中分别定义可一个整型数据a,一个字符型数据c,以及两个实型数据f和m。

当整型数据和字符型数据进行运算时,结果会随输出格式说明的不同而不同,当结果以整型输出格式"%d"输出时,结果为整数,若以字符型输出格式"%c"输出时,结果为字符。

当整型数据和双精度型数据进行运算时,c先将整型数据转换为双精度型数据,再进行运算,结果为双精度类型的数据。同样,当字符型数据和实型数据进行运算时,c先将字符型数据转换成实型数据,然后进行计算,结果为实型数据。

当表达式求解时,按运算符的优先级别的高低次序执行,例如先乘除后加减。若在一个运算对象两侧的运算符的优先级别相同,那么按照“自左向右”的方向进行结合,但若在表达式中存在括号,则括号中运算的优先级别最高,最先被执行。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值