C语言标准库函数

(1)数学函数

数学库函数声明在 math.h 中,主要有:
abs(x) 求整型数x 的绝对值
cos(x) x(弧度)的余弦
fabs(x) 求浮点数x 的绝对值
ceil(x) 求不小于x 的最小整数
floor(x) 求不大于x 的最大整数
log(x) 求x 的自然对数
log10(x) 求x 的对数(底为10)
pow(x, y) 求x 的y 次方
sin(x) 求x(弧度)的正弦
sqrt(x) 求x 的平方根

(2)字符串处理函数

字符串处理在 ctype.h 中声明,主要有:
int isdigit(int c) 判断c 是否是数字字符
int isalpha(int c) 判断c 是否是一个字母
int isalnum(int c) 判断c 是否是一个数字或字母
int islower(int c) 判断 c 是否是一个小写字母
int islower(int c) 判断 c 是否是一个小写字母
int isupper(int c) 判断 c 是否是一个大写字母
int toupper(int c) 如果 c 是一个小写字母,则返回其大写字母
int tolower (int c) 如果 c 是一个大写字母,则返回其小写字母

(3)字符串与内存操作函数

字符串和内存操作函数声明在 string.h 中,在调用这些函数时,可以用字符串常量或
字符数组名,以及char * 类型的变量,作为其 char * 类型的参数。字符串函数常用的有:
char * strchr(char * s, int c)
  如果s 中包含字符c, 则返回一个指向s 第一次出现的该字符的指针, 否则返回
NULL
char * strstr(char * s1, char * s2)
  如果s2 是s1 的一个子串,则返回一个指向s1 中首次出现s2 的位置的指针,否则
返回NULL
char * strlwr(char * s)
  将s 中的字母都变成小写
char * strupr( char * s)
  将s 中的字母都变成大写
char * strcpy( char * s1, char * s2)
  将字符串s2 的内容拷贝到s1 中去
char * strncpy( char * s1, char * s2, int n)
  将字符串s2 的内容拷贝到s1 中去,但是最多拷贝n 个字节。如果拷贝字节数达到
n,那么就不会往s1 中写入结尾的’\0’
char * strcat( char * s1, char * s2)
  将字符串s2 添加到s2 末尾
int strcmp( char * s1, char * s2)
  比较两个字符串,大小写相关。如果返回值小于0,则说明s1 按字典顺序在s2 前
面;返回值等于0,则说明两个字符串一样;返回值大于0,则说明s1 按字典顺序在
s2 后面。
int stricmp( char * s1, char * s2)
  比较两个字符串,大小写无关。其他和strcmp 同。
int strlen(const char *string)
  计算字符串的长度
char * strncat(char *strDestination, const char *strSource, size_t count)
  将字符串strSource 中的前count 个字符添加到字符串strDestination 的末尾
int strncmp(const char *string1, const char *string2, size_t count)
  分别取两个字符串的前count 个字符作为子字符串,比较它们的大小
char * strrev(char *string)
  将字符串string 前后颠倒。
void * memcpy( void * s1, void * s2, int n)
  将内存地址s2 处的n 字节内容拷贝到内存地址s1
void * memset( void * s, int c, int n)
  将内存地址s 开始的n个字节全部置为c

(4)字符串转换函数

  有几个函数,可以完成将字符串转换为整数、或将整数转换成字符串等这类功能。它们
定义在 stdlib.h 中:
int atoi(char *s)
  将字符串s 里的内容转换成一个整型数返回。比如,如果字符串s 的内容是“1234”,
那么函数返回值就是1234
double atof(char *s)
  将字符串s 中的内容转换成浮点数。
char *itoa(int value, char *string, int radix);
  将整型值value 以radix 进制表示法写入 string。比如:
  char szValue[20];
  itoa( 32, szValue, 10); 则使得szValue 的内容变为 “32”
  itoa( 32, szValue, 16); 则使得szValue 的内容变为 “20”

posted @ 2011-04-28 18:36  Pengchao Bai  阅读(1198)  评论(0编辑  收藏  举报