你这一辈子要用到的C数学函数都在这

两数相加
#include <stdio.h>
int main(void){
int a = 10; //定义变量a, 把10 赋值给a
int b = 20; //定义变量b, 把20 赋值给b
int c; //定义变量c
c = a + b; //将a加b的结果赋值给c, c等于30
printf("a+b = %d \n", c);
return 0;
}
两数相减
#include <stdio.h>
int main(void){
int a = 10; //定义变量a, 把10 赋值给a
int b = 20; //定义变量b, 把20 赋值给b
int c; //定义变量c
/* 将a减b的结果赋值给c,c等于-10 */
c = a - b;
printf("a - b = %d \n", c);
return 0;
}
两数相乘
#include <stdio.h>
int main(void){
int a = 10; //定义变量a, 把10 赋值给a
int b = 20; //定义变量b, 把20 赋值给b
int c; //定义变量c
/* 将a乘b的结果赋值给c,c等于200 */
c = a * b;
printf("a * b = %d \n", c);
return 0;
}
两数相除
#include <stdio.h>
int main(void){
int a = 10; //定义变量a, 把10 赋值给a
int b = 20; //定义变量b, 把20 赋值给b
int c; //定义变量c
int d; //定义变量d
/* 将a除b的结果赋值给c,c等于0 */
c = a / b;
/* 将b除a的结果赋值给c,c等于2 */
d = b / a;
printf("a / b = %d , b / a = %d\n", c, d);
return 0;
}
两数取模
#include <stdio.h>
int main(void){
int a = 10; //定义变量a, 把10 赋值给a
int b = 20; //定义变量b, 把20 赋值给b
int c; //定义变量c
int d; //定义变量d
/* 将a除以b得到的余数赋值给c,c等于10 */
c = a % b;
/* 将b除以a得到的余数赋值给c,c等于0 */
d = b % a;
/*注意: 在printf 里输出百分号,需要使用两个连续的%*/
printf("a %% b = %d , b %% a = %d\n", c, d);
return 0;
}
求绝对值
#include <stdio.h>
#include <math.h>
int main(void){
int a = -10; //定义变量a, 把10 赋值给a
float b = -20.0; //定义变量b, 把20 赋值给b
int c; //定义变量c
float d; //定义变量d
//方法一
/* 求a的绝对值赋值给c,c等于10 */
c = abs(a);
/* 求b的绝对值赋值给d,d等于20.0 */
d = fabs(b);
//方法二
/* 如果a是负数,将a乘-1赋值给c,c等于10 */
if(a<0) c=a * -1;
/* 如果b是负数,将b乘-1赋值给d,d等于20.0 */
if(b<0) d=b * -1;
//方法三
/* 如果a是负数,将a取反赋值给c,c等于10 */
if(a<0) c= -a;
/* 如果b是负数,将b取反赋值给d,d等于20.0 */
if(b<0) d= -b;
printf("abs(a) = %d , fabs(b) = %f\n", c, d);
return 0;
}
常用数学函数用法:
注意:下面这些函数不用死记硬背,先混个眼熟,以后再用到时查阅即可!使用时必须包含以下头文件
#include <math.h>
1. abs
原型:int abs(int x);
功能:求整数x的绝对值
说明:计算|x|, 当x不为负时返回x,否则返回-x
2. fabs
原型:float fabs(float x);
功能:求浮点数x的绝对值
说明:计算|x|, 当x不为负时返回x,否则返回-x
3. sqrt
原型:float sqrt(float x);
功能:计算x的平方根。
说明:x应大于等于零。
4. sin
原型:float sin(float x);
功能:计算x(弧度表示)的正弦值。
说明:x的值域为[-1.0,1.0]。
5. asin
原型:float asin(float x);
功能:求x(弧度表示)的反正弦值
说明:x的定义域为[-1.0,1.0],值域为[-π/2,+π/2]。
6. cos
原型:float cos(float x);
功能:求x(弧度表示)的余弦值
说明:返回值在[-1.0,1.0]之间。
7. acos
原型:float acos(float x);
功能:求x(弧度表示)的反余弦值
说明:x的定义域为[-1.0,1.0],值域为[0,π]。
8. tan
原型:float tan(float x);
功能:计算x(弧度表示)的正切值。
说明:返回x的正切值。
9. atan
原型:float atan(float x);
功能:求x(弧度表示)的反正切值
说明:值域为(-π/2,+π/2)。
10. atan2
原型:float atan2(float y, float x);
功能:求y/x(弧度表示)的反正切值
说明:值域为(-π/2,+π/2)。
11. sinh
原型:float sinh(float x);
功能:计算x(弧度表示)的双曲正弦值。
说明:sinh(x)=(e^x-e^(-x))/2。
12. cosh
原型:float cosh(float x);
功能:求x的双曲余弦值
说明:cosh(x)=(e^x+e^(-x))/2
13. tanh
原型:float tanh(float x);
功能:求x的双曲正切值
说明:tanh(x)=(e^x-e^(-x))/(e^2+e^(-x))
14. ceil
原型:float ceil(float x);
功能:求不小于x的最小整数
说明:返回x的上限,如74.12的上限为75,-74.12的上限为-74。返回值为float类型。
15. floor
原型:float floor(float x);
功能:求不大于x的最达整数
说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75。返回值为float类型。
16. exp
原型:float exp(float x);
功能:求e的x次幂
说明:e=2.718281828...
17. fmod
原型:float fmod(float x, float y);
功能:计算x/y的余数
说明:返回x-n*y,符号同y。n=[x/y](向离开零的方向取整)
18. modf
原型:float modf(float num, float *i);
功能:将浮点数num分解成整数部分和小数部分。
说明:返回小数部分,将整数部分存入*i所指内存中。
19. frexp
原型:float frexp(float x, int *exp);
功能:把浮点数x分解成尾数和指数。
说明:x=m*2^exp,m为规格化小数。返回尾数m,并将指数存入exp中。
20. ldexp
原型:float ldexp(float x, int exp);
功能:装载浮点数。
说明:返回x*2^exp的值。
21. hypot
原型:float hypot(float x, float y);
功能:对于给定的直角三角形的两个直角边,求其斜边的长度。
说明:返回斜边值。
22. log
原型:float log(float x);
功能:计算x的自然对数。
说明:x的值应大于零。
23. log10
原型:float log10(float x);
功能:计算x的常用对数。
说明:x的值应大于零。
24. pow
原型:float pow(float x, float y);
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
25. pow10
原型:float pow10(float x);
功能:计算10的x次幂。
说明:相当于pow(10.0,x)。
你这一辈子要用到的C数学函数都在这的更多相关文章
- Scala HandBook
目录[-] 1. Scala有多cool 1.1. 速度! 1.2. 易用的数据结构 1.3. OOP+FP 1.4. 动态+静态 1.5. DSL 1.6 ...
- DLL编程学习
原文出处:http://www.blogjava.net/wxb_nudt/archive/2007/09/11/144371.html DLL编写教程 半年不能上网,最近网络终于通了,终于可以更新博 ...
- 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)
转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...
- DLL编写教程
本文对通用的DLL技术做了一个总结,并提供了源代码打包下载,下载地址为: http://www.blogjava.net/Files/wxb_nudt/DLL_SRC.rar DLL的优点 简单的 ...
- (转)as3效率优化
1.改进算法无论对于那一种程序,好的算法总是非常重要的,而且能够极大地提高程序性能,所以任何性能的优化第一步就是从算法或者说程序逻辑的优化开始,检查自己的程序是否有多余的运算,是否在没有必要的时候做了 ...
- Android 学习笔记之Volley开源框架解析(二)
PS:Volley已经学完,可以安心的写一下博客总结一下了... 学习内容: 1.Request的完整封装... 2.RetryPolicy,DefaultRetryPolicy(请求重试策略源码解析 ...
- Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件
Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...
- Eureka的故事,专注能让你看到别人看不到的事情
有这么一句古老的箴言: 如果你手里有一把锤子,所有东西看上去都像钉子. 其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO.设计模式.语言(C, C++, Java, Python, Ru ...
- C++的头文件和实现文件分别写什么
在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析.于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念. 对于以C起步,C#作为& ...
随机推荐
- CORS跨域与Nginx反向代理跨域优劣对比
最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主 ...
- 【cs231n】图像分类-Nearest Neighbor Classifier(最近邻分类器)【python3实现】
[学习自CS231n课程] 转载请注明出处:http://www.cnblogs.com/GraceSkyer/p/8735908.html 图像分类: 一张图像的表示:长度.宽度.通道(3个颜色通道 ...
- python统计磁盘使用情况
#coding:utf-8import os; def SortList(item): return item[1]; def ReadSize(fileName): return flo ...
- PHP中include和require
1.include语句 使用include语句可以告诉PHP提取特定的文件,并载入它的全部内容 1 <?php 2 inlude "fileinfo.php"; 3 4 // ...
- Python基本知识3----序列
前言: 序列:列表/元组/字符串 3种序列的共同点: 都可以通过索引得到每一个元素 默认索引值从0开始(还支持负数) 都可以通过切片的方式得到范围内的元素的集合 有很多共同的操作符(重复操作符.拼接操 ...
- 初识Qt布局管理器
Qt布局管理器的类有4种,它们分别为QHBoxLayout.QVBoxLayout.QGridLayout和QStackLayout.其中,QHBoxLayout实现水平布局,QVBoxLayout实 ...
- 怎么用CIFilter给图片加上各种各样的滤镜_2
上一篇讲了怎么找到能用的的滤镜和大概怎么去寻找... 这里接着说如何详细地给图片加滤镜效果..前的准备工作... . 1. 在找到想用的滤镜名字之后.须要知道这个滤镜究竟须要什么參数. . 例如以下图 ...
- ABAP-DBC录屏
*&---------------------------------------------------------------------**& ZXXL_MM02_01*& ...
- 2.7 usb摄像头之usb摄像头描述符打印
学习目标:参考lsusb源码,打印USB摄像头的设备描述符.配置描述符.接口联合描述符.端点描述符: 一.lsusb命令和源码 使用命令lsusb可以看看设备的id,并执行 # lsusb -v -d ...
- uip.h 笔记
想了解uip,可以从uip.h开始,他对主体函数有详细的说明,和案例 初始化 1 设定IP网络设定 2 初始化uip 3 处理接收包 4 ARP包处理 5 周期处理,tcp协议处理 uip_proce ...