美文网首页
C语言学习----变量与算术表达式

C语言学习----变量与算术表达式

作者: c与php | 来源:发表于2017-06-26 16:58 被阅读22次

    华氏温度和摄氏温度的转换程序
    一、整数版

    #include <stdio.h>
    int main()
    {
      int fahr,celsius;
      int lower,upper,step;
    
      lower = 0;
      upper = 300;
      step = 20;
      
      fahr = lower;
      while(fahr <= upper)
      {
        celsius = 5 * (fahr - 32) / 9;
        printf("%d\t%d\n", fahr, celsius);
        fahr = fahr + step;
      }
    }
    

    1.celsius = 5 * (fahr - 32) / 9;表达式中先乘5再除以9而不是直接写5/9,原因是C语言及其他很多语言中,整数除法操作执行舍位,结果中的任何小数部分都会被舍弃。由于5和9都是整数,5/9后截取后得到0,因此这样求得的所有摄氏温度都是0。
    2.printf是标准库函数中的所以在用到printf函数时需要include <stdio.h>
    二、浮点数版

    #include <stdio.h>
    int main()
    {
      float fahr,celsius;
      int lower,upper,step;
    
      lower = 0;
      upper = 300;
      step = 20;
      
      fahr = lower;
      while(fahr <= upper)
      {
        celsius = (5.0 / 9.0) * (fahr - 32.0) ;
        printf("%3.0f\t%6.1f\n", fahr, celsius);
        fahr = fahr + step;
      }
    }
    

    1.5/9按照整型除法结果是0,5.0/9.0是两个浮点数相除,结果不会被舍位。
    2.一个整型跟一个浮点型进行运算时,将会被自动转化成浮点型。fahr - 32中32将会被转化成浮点型。fahr <= upper也是将整型转化成浮点型再进行运算
    3.printf函数打印
    %d 按照十进制整型打印
    %6d 按照十进制整型打印,至少6个字符宽
    %f 按照浮点数打印
    %6f 按照浮点数打印,至少6个字符宽
    %.2 按照浮点数打印,小数点后有两位小数
    %6.2 按照浮点数打印,至少6个字符宽,小数点后两位小数

    printf函数还支持下列格式:%o表示八进制数,%x表示十六进制数,%c表示字符,%s表示字符串,%%表示百分号(%)本身

    相关文章

      网友评论

          本文标题:C语言学习----变量与算术表达式

          本文链接:https://www.haomeiwen.com/subject/xnwdcxtx.html