《C语言及程序设计》资料——C语言中数学函数

返回:贺老师课程教学链接  C语言及程序设计初步  

C语言的数学库函数提供了大多数常用的数学功能。

使用下面的函数,要求程序前写预处理命令:

#include<math.h>

以sin函数为例,说明其用法。

"double sin(double);意味着参数应该提供一个double型数据,其求值结果,也是一个double型的值。额外提示,三角函数的角,用弧度为单位
例如:求78度角的正弦值并输出,用下面的程序段

double v;
v = sin(78.0/180*3.1345926);
printf("%f\n", v); 

下面是这些函数的分类清单:

1、 三角函数
double sin(double);正弦
double cos(double);余弦
double tan(double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2,PI/2]
double acos (double); 结果介于[0,PI]
double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。
double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp
double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x,double y);计算x的y次幂
float powf(float x,float y); 功能与pow一致,只是输入与输出皆为浮点数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
5 、取整
double ceil (double); 取上整,返回不比x小的最小整数
double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
6 、绝对值
int abs(int i); 求整型的绝对值
double fabs (double);求实型的绝对值
double cabs(struct complex znum);求复数的绝对值
7 、标准化浮点数
double frexp (double f,int *p); 标准化浮点数,f = x * 2^p,已知f求x,p (x介于[0.5,1])
double ldexp (double x,int p); 与frexp相反,已知x,p求f
8 、取整与取余
double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分
double fmod (double,double); 返回两参数相除的余数
9 、其他
double hypot(double x,double y);已知直角三角形两个直角边长度,求斜边长度
double ldexp(double x,int exponent);计算x*(2的exponent次幂)
double poly(double x,int degree,double coeffs []);计算多项式
int matherr(struct exception *e);数学错误计算处理程序

时间: 2024-12-19 09:25:50

《C语言及程序设计》资料——C语言中数学函数的相关文章

C语言及程序设计提高例程-25 指针作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 例:冒泡排序函数的新写法 #include <stdio.h> void bubblesort(int*, int); int main( ) { int i,a[10]= {3,5,9,1,3,6,-9,-7,10,12}; bubblesort(a,10); for(i=0; i<10; i++) printf("%d ", a[i]); return 0; } void bubblesort(int *p, in

《Python语言程序设计》——第3章数学函数、字符串和对象3.1 引言

第3章 数学函数.字符串和对象 学习目标 使用math模块中的函数解决数学问题(第3.2节). 表示和处理字符串和字符(第3.3-3.4节). 使用ASCII和Unicode对字符编码(第3.3.1-3.3.2节). 使用ord函数获取一个字符的数值编码以及使用chr函数将一个数值编码转换成一个字符(第3.3.3节). 调用带参数end的print函数(第3.3.5节). 使用str函数将数字转换成字符串(第3.3.6节). 使用运算符+来连接字符串(第3.3.7节). 从键盘读取字符串(第3.

《C语言及程序设计》实践参考——字符串处理函数

返回:贺老师课程教学链接  实践要求 [项目4-字符串处理函数]指针是神奇的,指向整型的指针int *p1,可以操作整型数组int a[]:指向字符型的指针char *p2,可以操作字符数组(字符串)char str[]:更灵活的是,在函数的传递中,指针.数组名在一定程度上可以互换.请编制函数,对字符串的进行各种操作. 序 功能 用数组名作形参 用指针作形参 1 字符串str1和str2连接,连接后的结果存放到str1中 char *astrcat(char str1[], char str2[

《C语言及程序设计》实践项目——数组与函数应用

返回:贺老师课程教学链接 [项目1-有序数组中插入数据(函数版)] 有一个足够"大"的数组a,其中已经存储了n个呈升序排列的数据.调用函数insert(a, n, m),可以将数m插入到a中的合适位置,使其仍然保持升序,并且返回值为数组中有效数字的个数(即原先的n加1). 例如,若a中数据为1 7 8 17 23 24 59 62 101,n=9,需要插入的数字m为50,调用函数insert(a, n, m)后,a中数据为1 7 8 17 23 24 50 59 62 101,n=10

《C语言及程序设计》实践参考——两段函数求值

返回:贺老师课程教学链接  项目要求 [项目:两段函数求值]编程序,计算下面函数的值并输出(x取整型即可)[参考解答] 解法1: #include <stdio.h> int main ( ) { int x, y; scanf("%d", &x); if (x>=1) y=x-1; else y=-x+1; printf("%d\n",y); return 0; } 上面的程序,用一个完整的双分支求值,之后再输出.先求解,再输出,这一&q

《C语言及程序设计》实践参考——求解分段函数的值

返回:贺老师课程教学链接  项目要求 [项目2-求解分段函数的值] #include<stdio.h> double f(double); //这一句是对自定义函数f的声明 int main( ) { double x; printf("请输入x的值:"); scanf("%lf", &x); printf("解得:f(%.2f)=%.2f\n", x, f(x)); //调用函数f求解 return 0; } //将自定义函

javascript中数学函数round()四舍五入例子

round函数可以对数字取整,它是一个四舍五入函数,下面来看看round的语法:   1 Math.round(number) 下面来看几个范例:  代码如下 复制代码 1 document.write (Math.round(2.65));// print 3 2 document.write (Math.round(7.05));// print 7 3 document.write (Math.round(-2.65));// print -3 4 document.write (Math

《C语言及程序设计》资料——C语言中的运算符

返回:贺老师课程教学链接  C语言及程序设计初步   C语言中的运算符 优先级 运算符  功   能  结合方式 1  () [] -> . 括号,数组,两种结构成员访问 由左向右 2 ! ~ ++ -- + -  * & (类型) sizeof  否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小 由右向左 3  * / %  乘,除,取模  由左向右 4  + -  加,减  由左向右 5  << >>  左移,右移  由左向右 6  < &

C语言及程序设计[套餐]课程主页

课程链接:http://edu.csdn.net/combo/detail/30,提供所有的视频和课件下载. 三部分的课程主页,提供了为每一课时配套的自测.示例下载,以及程序阅读.程序填空.实践项目.参考解答等.这是本课最具价值的部分,是保证学习效果的根本保证.请在看视频基础上,完成相关的实践. 这三部分的课程主页的链接分别是:[初步篇].[提高篇].[进阶篇] 本课QQ交流群:528582245 学员列表:高 强 本  马莱(马荣超) 邓帅 杨婕 王琨   刘亦鑫  Frank  金叶  刘树