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”

C语言标准库函数与功能讲解

时间: 2025-01-13 11:12:28

C语言标准库函数与功能讲解的相关文章

C语言标准库函数qsort详解

1 函数简介 功 能: 使用快速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *)); 参数: 1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序 2 基本用法 使用qsort()排序并用 bsearch()搜索是一个比较常用的组合,使用方便快捷. qsort 的函数原型是

C语言标准库函数strcpy与strcmp的简单实现

1 //C语言标准库函数strcpy的一种简单实现. 2 3 //返回值:目标串的地址. 4 5 //对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL. 6 7 //参数:des为目标字符串,source为原字符串. 8 9 char* strcpy(char* des,const char* source) 10 { 11 char* r=des; 12 13 assert((des != NULL) && (source != NULL)); 14

设置-安全-手机加密功能讲解

        此功能可以用来加密手机上的所有数据,包括 Google 帐户.应用数据.音乐和其他媒体信息.已下载的信息等.如果执行了加密操作,您每次开机时都必须输入数字 PIN 或密码. 请注意,上述 PIN 或密码与您在未加密状态下解锁手机时所用的相同,无法单独设置. 警告:加密操作无法撤消.要将手机恢复为未加密状态,唯一的方法是恢复出厂设置,但这会清除您的所有数据. 如果您的手机遭窃,加密可提供额外保护,某些组织可能要求或建议使用加密.在启用加密前,请先咨询您的系统管理员.很多情况下,您设

运算符、整形&字符串pycharm功能讲解

1.运算符: 算术运算:+  -  *  /  **  %  // 赋值运算:=   +=  -=  *=  /=   %=  //= 算术运算符和赋值运算符结果是值 比较运算:==   <   >   <=   >=   !=   <> 成员运算:in    not in(判断某个东西是否在某个东西里面包含) 逻辑运算:and or not 比较运算符.成员运算符.逻辑运算符结果是布尔值 and or执行顺序: 先计算括号内的 从前到后 :结果是True,遇到or,不

easyUI拖拽功能讲解以及多选拖拽的实现

首先我们考虑这样一个业务场景:一个维修部门中分了N个维修组,维修部门的负责人需要将这个部门的维修人员分配到这些组里去. 当然,他可以选中一个维修人员,然后给他分配维修组,但是从人性化角度考虑,若利用拖拽是否更加的快捷和明确呢? 比如我们可以将维修组和维修人员都列出来,然后只需要将维修人员拖动到对应的组里即可完成分组. 另外,由于一个个拖还是太繁琐,还需要实现选中多个维修人员一起分组.那么我们下面一步步来,先实现单个的拖拽功能,再加入多选拖动支持~ 单选拖动 首先,根据我们刚才描述的场景,简单设计

三周学会小程序第二讲:客户端代码准备和基础功能讲解

通过上一讲大家已经申请了小程序了,这一讲我们主要讲解三部分,小程序开发工具使用,客户端代码准备,和基础的客户端讲解,并且运行第一预览版本. 本文不会带你从零搭建一个小程序,而是直接提供一个可预览版本.总结小编自己的编程经历,如果让你从基本类型,控制语句,for循环开始学 JAVA,那么可能几个月以后你才能真正动手做项目,所以我们按照"拿来主义",直接拿来就读,读懂就改,改完就上线.不过你不用担心这样学习的不彻底,因为开发过程中你已经融会贯通了. 代码准备 想必大家都用过Github吧,

C++模板常用功能讲解

前言 泛型编程是C++继面向对象编程之后的又一个重点,是为了编写与具体类型无关的代码.而模板是泛型编程的基础.模板简单来理解,可以看作是用宏来实现的,事实上确实有人用宏来实现了模板类似的功能.模板,也可以理解为模具行业的模型.根据分类,有函数模板和类模板.根据传入的不同模板参数,函数模板会生成不同模板函数.类模板则生成不同的模板类. 模板参数 1.    概念 模板定义以关键字template开始,<>中是模板参数列表(template parameter list),模板参数列表即表示可以是

iOS8 UISearchViewController搜索功能讲解

在iOS8以前我们实现搜索功能需要用到UISearchbar和UISearchDisplayController, 在iOS8之后呢, UISearchController配合UITableView的使用相比之下简单很多,  需要签订两个代理协议UISearchControllerDelegate, UISearchResultsUpdating.还有一个很重要的属性self.searchVC.active,,返回的BOOL如果为yes,UITableView的数据源应该为搜索后的数组即resu

Zookeeper开源客户端Curator之基本功能讲解

简介 Curator是Netflix公司开源的一套Zookeeper客户端框架.了解过Zookeeper原生API都会清楚其复杂度.Curator帮助我们在其基础上进行封装.实现一些开发细节,包括接连重连.反复注册Watcher和NodeExistsException等.目前已经作为Apache的顶级项目出现,是最流行的Zookeeper客户端之一.从编码风格上来讲,它提供了基于Fluent的编程风格支持. 除此之外,Curator还提供了Zookeeper的各种应用场景:Recipe.共享锁服