美文网首页C语言
C语言算法篇-1.1算数表达式

C语言算法篇-1.1算数表达式

作者: 亦一银河 | 来源:发表于2017-03-06 00:28 被阅读90次

    输出一个简单的1+2的算式,简单的方式你的是什么呢?
    是否是a=1,b=2;然后printf("%d\n",a+b);
    其实简单的可以是下面的这样

    #include<stdio.h>
    int main()
    {
      printf("%d\n", 1+2);
      return 0;
    }
    

    来做几个小实验吧:

    1. 输出 3-4 的结果
    2. 输出 5×6 的结果
    3. 输出 8÷4 的结果
    4. 输出 8÷5 的结果
      注意:“÷” 用 “/” 代替,“×” 用 “*” 代替
      等等!实验4的结果应该是1.6啊,怎么答案不一样呢?
      其实并不是计算机计算有误,而是在C语言中,8/5的确切含义是得到8÷5的整数部分。
      下面的修正程序:
    #include<stdio.h>
    int main()
    {
      printf("%.1f\n", 8.0/5.0);
      return 0;
    }
    

    注意:%后面是一个小数点,然后才是数字1,最后的是小写字母f。不能输错,在C语言中,大写和小写字母代表的意义不同!

    简书

    我们来做几个小实验:
    5.吧%.1f的数字改成2,看结果如何?尝试猜猜“1”的含义。再或者把小数点和 1 都删了,看看 %f 的含义是什么
    6.把 8.0/5.0 改成 8/5 试试,看看结果怎么样?
    7.把 %.1f 改成原来的 %d,8.0/5.0 不变,看看是什么结果。

    提示 1-1:整数值用 %d 输出,实数用 %f 输出。

    这里的整数值是指 1+2 , 8/5 这样的“整数之间的运算”。只要两边都是整数,结果也会是整数。

    提示 1-2:整数 / 整数 = 整数,浮点数 / 浮点数 = 浮点数。

    复杂点的数学表达式:

    #include<stdio.h>
    #include<math.h>
    int main()
    {
      printf("%.8f\n", 1+2 * sqrt(3)/(5-0.1));
      return 0;
    }
    

    这里的 sqrt 是开平方的意思:sqrt(x)的作用是计算 x 的算数平方根。sqrt 函数包含在 math.h 头文件里,所以需要加上#include<math.h>这句话。
    那么问题来了,这里有 :“整数 - 浮点数” 那么,这个答案是什么呢?
    读者可以回去做实验,会和你的想法一样吗?

    今天就先介绍到这里,还会有更新哟。

    相关文章

      网友评论

        本文标题:C语言算法篇-1.1算数表达式

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