常用库函数

  1. 数组的整体操作:
    头文件:<cstring>

Ÿ           将a[]初始化:memset(a, 0, sizeof(a));
第二个参数应该传入0、-1或0x7F。传入0或-1时,a[]中每个元素的值都是0或-1;如果传入0x7F时,那么a[]中每个元素的值都是0x7F7F7F7F(不是0x7F!),可认为是“无穷大”。

Ÿ           将a[]整体复制到b[]中:memcpy(b, a, sizeof(a));

Ÿ           判断a[]和b[]是否等价:memcmp(a, b, sizeof(a));           // 返回0表示等价

  1. 字符操作
    头文件:<cctype>

Ÿ           tolower(c)、toupper(c):将c转化为小写或大写。

Ÿ           isdight(c)、isalpha(c)、isupper(c)、islower(c)、isgraph(c)、isalnum(c):分别判断c是否为十进制数字、英文字母、大写英文字母、小写英文字母、非空格、字母或数字。

  1. 最大值/最小值
    头文件:<algorithm>
    max(a,b)返回a和b中的最小值,min(a,b)返回a和b中的最大值。
    其实我们可以自己写:
  2. 交换变量的值:swap(a,b)
    头文件:<algorithm>
    其实我们可以自己写:inline void swap(int &a, int &b) { int t=a; a=b; b=t; }
  3. 数学函数

Ÿ           头文件:<cmath>

Ÿ           abs(x):求x的绝对值(该函数同时包含于<cstdlib>)。

Ÿ           sin、cos、tan、asin、acos、atan:三角函数,角的单位为弧度。
可用atan(1)*4表示π

Ÿ           sinh、cosh、tanh、asinh、acosh、atanh:双曲函数

Ÿ           sqrt:求平方根

Ÿ           ceil(x)、floor(x):分别返回大于等于x的最小整数、小于等于x的最大整数。注意,参数和返回值都是浮点数类型。

Ÿ           exp(x)、log(x)、log10:分别求ex、lnx、lgx
(顺便提一句,指数可以把加法问题转化为乘法问题,对数可以把乘法问题转化为加法问题。)

Ÿ           pow(a,b):计算ab。由于精度问题,你仍然需要学会快速幂。

Ÿ           fmod(a,b):计算a除以b的余数。当然,这是浮点数的版本。

posted @ 2016-01-05 16:49  九江镇中  阅读(795)  评论(0编辑  收藏  举报