C语言从入门到精通(第6版)
上QQ阅读APP看书,第一时间看更新

3.6 混合运算

不同类型的数据之间可以进行混合运算,如10+'a'−1.5+3.2*6。在进行这样的运算时,不同的数据类型要先转换成同一类型,然后再进行运算。类型之间的转换规律如图3.13所示。

【例3.9】不同数据类型间的混合运算(实例位置:资源包\TM\sl\03\09)

在本实例中,计算(10+'a')−1.5+3.2*6的结果,最后使用printf函数将其输出。

    #include<stdio.h>
 
    int main()
    {
         int iInt1=10;                                   /*定义整型变量*/
         int iInt2=6;
         char cChar='a';                                 /*定义字符变量,a的ASCII码值为97*/
         float fFloat1=1.5f;                             /*定义单精度型变量*/
         float fFloat2=3.2f;
         double result=(iInt1+cChar)-fFloat1+fFloat2*iInt2 ; /*进行混合运算*/
         printf("%f\n",result);                          /*输出混合运算结果*/
         return 0;                                       /*程序结束*/
    }

运行程序,显示效果如图3.14所示。

图3.13 不同类型之间的转换规律

图3.14 混合运算

编程训练(答案位置:资源包\TM\sl\03\编程训练\)

训练5:混合运算1 编写程序,计算1.68+'s'+8-9*9+8+'d',并使用printf函数输出混合运算结果。

训练6:混合运算2 编写程序,计算(1.68+'s'+8-9)*(9+8+'d'),并使用printf函数输出混合运算结果。