关于类型转换--C语言

#include <stdio.h>
/**
    类型转换
       --在C语言中整型、实型和字符型三种数据可以进行类型转换而进行混合运算
       --并不是所有的数据类型之间都可以进行类型转换,例如指针就不可以和这三种数据之间进行类型转换
       --字符型数据和整型数据发生类型转换时,字符型必先转换为整数,C语言规定,字符型数据和整型数据之间可以通用,这也是下面把字符型和整型数据算作同一类型的依据
       --short数据也是必先转为int型数据,他们同属于整型数据
       --float数据在运算时一律转换为double类型,以提高运算精度
       --不同类型的数据发生转换时,遵循低级类型向高级类型转换的规则,
       --int和double类型发生转换时,int类型转换为double类型再进行运算,结果为double类型
*/
int main(void)
{

    //定义和赋值变量
    int a = 5;
    float b = 6.254894;
    double c = 9.254;
    char d = 'o';

    double result;


    /**
        同类型数据间进行运算并输出
            -- 先解释一下char类型,char类型是整型数据之一,但是用来定义字符型变量;
            -- 整型和字符型相加,转换为整型,会把字符转换为ASCII值然后进行运算
            -- 整型和字符型相加,转换为ASCII字元时,会把字符转换为ASCII值然后进行运算,然后把他们的和转换为ASCII控制字符
    */

    printf("a + d = %d
",a + d );     //输出结果为116
    printf("a + d = %c
",a + d );     //输出结果为t
    printf("b + c = %f
",c + b );     //输出结果为15.508894

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

    printf("a + c = %f
",a + c );     //输出结果为14.254000
    printf("d + b = %f
",b + d );     // 输出结果为117.254894

    /**
       进行混合运算
    */

    result = a + d * (b + c);

    printf("result = %f
",result );    //值为 1726.487210   根据运算法则,最后的值应该是double类型的

    return 0;
}
杂念太多,必然根基浅薄
原文地址:https://www.cnblogs.com/starshine-zhp/p/12370216.html