两数相加 


#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数学函数都在这的更多相关文章

  1. Scala HandBook

    目录[-] 1.   Scala有多cool 1.1.     速度! 1.2.     易用的数据结构 1.3.     OOP+FP 1.4.     动态+静态 1.5.     DSL 1.6 ...

  2. DLL编程学习

    原文出处:http://www.blogjava.net/wxb_nudt/archive/2007/09/11/144371.html DLL编写教程 半年不能上网,最近网络终于通了,终于可以更新博 ...

  3. 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)

    转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...

  4. DLL编写教程

    本文对通用的DLL技术做了一个总结,并提供了源代码打包下载,下载地址为: http://www.blogjava.net/Files/wxb_nudt/DLL_SRC.rar   DLL的优点 简单的 ...

  5. (转)as3效率优化

    1.改进算法无论对于那一种程序,好的算法总是非常重要的,而且能够极大地提高程序性能,所以任何性能的优化第一步就是从算法或者说程序逻辑的优化开始,检查自己的程序是否有多余的运算,是否在没有必要的时候做了 ...

  6. Android 学习笔记之Volley开源框架解析(二)

    PS:Volley已经学完,可以安心的写一下博客总结一下了... 学习内容: 1.Request的完整封装... 2.RetryPolicy,DefaultRetryPolicy(请求重试策略源码解析 ...

  7. Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件

    Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...

  8. Eureka的故事,专注能让你看到别人看不到的事情

    有这么一句古老的箴言: 如果你手里有一把锤子,所有东西看上去都像钉子. 其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO.设计模式.语言(C, C++, Java, Python, Ru ...

  9. C++的头文件和实现文件分别写什么

    在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析.于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念. 对于以C起步,C#作为& ...

随机推荐

  1. VMWare虚拟机下为Windows Server 2012配置静态IP(NAT方式)

    利用VMWare Workstation安装了Windows Server 2012 R2, 对于服务器来说,使用动态分配的IP会很不方便,最好设置为静态IP,此例中虚拟机和主机的网络联接方式为NAT ...

  2. python第十九课——random模块中的常用函数

    1.random():返回一个[0,1)的随机浮点数(双精度浮点数) 2.uniform(a,b): 返回[a,b]之间的一个随机浮点数(双精度浮点数) [注意]a和b接受的数据大小随意 例如:3.r ...

  3. iOS应用内抓包、NSURLProtocol 拦截 APP 内的网络请求

    前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一.NSURLProto ...

  4. redis-Sentinel配置

    Sentinel介绍 Redis的主从模式下,主节点一旦发生故障不能提供服务,需要人 工干预,将从节点晋升为主节点,同时还需要修改客户端配置. 对于很多应用场景这种方式无法接受. Redis从 2.8 ...

  5. 第三部分 OpenStack镜像管理

    一.简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack. 不过如果是为生产环境进行部署的话,您一定需要构建含有定制软件或配置的镜像文件 ...

  6. R执行报错:Error in `[<-.ts`(`*tmp*`,...only replacement of elements is allowed

    原因: pred$mean是Time-Series类型,rbind函数不支持.通过as.double将其转换成double类型即可. 修改前代码: all_predata_time <- dat ...

  7. Freemarker 基础概念

    一.概述 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写,FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用 ...

  8. w10下Oracle 11g完全干净卸载

    1.关闭oracle所有的服务.可以在windows的服务管理器中关闭:   2.打开注册表:regedit 打开路径: <找注册表 :开始->运行->regedit>   H ...

  9. ios开发UI篇—UIScrollView属性及其代理方法

    一.UIScrollView是什么? 1.UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能. 2.UIScrollView是所有滚动 ...

  10. pyhton 面向对象之 小明左右手换牌

    '''#左右手交换牌 案列#小明手里有俩张牌,左手红桃♥K,右手黑桃♠A,小明交换俩手的牌后,手里分别是什么? 人类:    属性:小明,左手,右手    行为:展示手里的牌, 交换手里的牌手类:   ...