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

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

#include
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
int main()
{
  printf("%.1f\n", 8.0/5.0);
  return 0;
}

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

C语言算法篇-1.1算数表达式_第1张图片

我们来做几个小实验:
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
#include
int main()
{
  printf("%.8f\n", 1+2 * sqrt(3)/(5-0.1));
  return 0;
}

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

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

你可能感兴趣的:(C语言算法篇-1.1算数表达式)