目录

  • 1 第一章  C语言概述
    • 1.1 第一节  C语言的产生和发展
    • 1.2 第二节  C语言的特点
    • 1.3 第三节  两个简单的C程序
    • 1.4 第四节  C程序的上机步骤
    • 1.5 第五节  Dev-C++介绍
    • 1.6 第六节  VC2010学习版介绍
    • 1.7 第七节  宏定义和文件包含
    • 1.8 本章小结
    • 1.9 本章单元测试
  • 2 第二章  基本数据类型与简单程序设计
    • 2.1 第一节  C语言的基本数据类型
    • 2.2 第二节  常量
    • 2.3 第三节  变量
    • 2.4 第四节  赋值语句
    • 2.5 第五节  数据输出
    • 2.6 第六节 数据输入
    • 2.7 第七节  运算符
    • 2.8 第八节  常用的数学函数
    • 2.9 第九节  顺序结构程序设计
    • 2.10 本章小结
    • 2.11 本章单元测试
  • 3 第三章  分支结构程序设计
  • 4 第四章  循环结构程序设计
  • 5 附录
    • 5.1 附录A   编译常见错误提示
    • 5.2 附录B  常见C语言英语单词
    • 5.3 什么是编译器
    • 5.4 与编译器相关的几个知识点
第八节  常用的数学函数
  • 1 文字讲解
  • 2 视频讲解


2.7  常用的数学函数

前面介绍了几个常用的输入/输出函数。除了这些函数外,C语言还提供了许多具有不同功能的基本函数,比较常用的是数学函数,使用这些函数可以进行一些基本的数学运算。

在使用数学函数之前,要求在程序开头包含头文件 math,即

#include <math.h>

以下函数的参数类型和函数值类型均为实型:

      sqrt( x )     求x的平方根,x≥0

       pow(x,y)    求

       exp(x)       求 

       abs(x)      求x的绝对值,x为int型数。

       fabs(x)     求x的绝对值,x为 double型浮点数。

      log(x)        求x的对数,以e为底,x>0

       log10(x)    求x的对数,以10为底,x>0

       sin(x)        求x的正弦,x的单位为弧度。

        cos(x)        求x的余弦,x的单位为弧度。

        tan(x)         求x的正切,x的单位为弧度。

         rand( )    产生0~32767范围内的随机整数。

例2-14   输入一个正数x,求x的平方根。

#include   <stdio.h>

#include   <math.h>

main()

{   float x;   double  y;

    printf("input x:");

    scanf("%f", &x );

    y= sqrt( x );

    printf("sqrt(%-7.2)=%7.2f   \n", x, y);

}

运行程序的结果如图2-12所示。

其中,格式符“%-7.2f”中的“-”号表示输出格式为左对齐。

例2-15   使用pow()函数求幂函数a。

#include <stdio.h>

#include <math. h>

main()

{   float a, b;   double y;

   printf("a=");    scanf(%f", &a );

   printf("b=");     scanf("%", &b );

   y=pow(a, b);

   printf("a=%.1f, b=%.1f, a^b =%.1f\n", a, b, y );

}

运行上面的程序,输出结果如图2-13所示

例2-16    使用pow()函数求平方根或立方根

源程序如下:

 #include  <stdio.h>

#include   <math. h>

main()

{     double   k, j;

      k=25;

      j=1.0 / 2;

      printf("%f, %f, %f \n", pow(k, j), sqrt(k), pow(k, 1/3.0));

}

 运行结果如图2-14所示。

由例2-16可知,可利用pow()函数求某非负数的平方根或立方根。注意上面的语句:

 不能写成:

 j=1/2;

 这是因为“j=1/2”为两个整数相除,结果为整数0。应该使用以下格式

 pow(x,0.5)或pow(x,1.0/2)或pow(x,1/2.0)

例2-17  三角函数的应用。

 使用三角函数时,若给定的是角度值x,则应转换为弧度 x*PI/180,其中PI为圆周率,x为实数。

源程序如下: 

#include <stdio.h>

 #include <math.h>

 #define PI    13.1415926

 main()

{    float x;

     printf("输入一个角度数:    ");

     scanf("%f", &x);

     printf("弧度数为: %7.1f\n", sin(x*PI/180) );

 }

该程序运行结果如图2-15所示。

例2-18    计算一元二次方程的根

源程序如下:

#include      <stdioh>

#include      <math.h>

main( )

{     float a, b, c, d; double x1,   x2;

      a=5;

      b=17;

      d=b*b-4 * a * c;

      x1 = (-b + sqrt(d)) /( 2*a);

      x2 = (-b - sqrt(d)) /(2*a);

      printf("x1=%f, x2=%f\n", x1, x2);

}

 运行结果如图2-16所示。