首页技术c语言函数详解?c语言必背50个函数

c语言函数详解?c语言必背50个函数

编程之家2026-06-141057次浏览

很多朋友对于c语言函数详解和c语言必背50个函数不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

c语言函数详解?c语言必背50个函数

什么是C语言函数,简单明了让你知道

函数是一组一起执行一个任务的语句。每个 C程序都至少有一个函数,即主函数 main(),所有简单的程序都可以定义其他额外的函数。

您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

C标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat()用来连接两个字符串,函数 memcpy()用来复制内存到另一个位置。

函数还有很多叫法,比如方法、子例程或程序,等等。

C语言中的函数定义的一般形式如下:

在 C语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

c语言函数详解?c语言必背50个函数

以下是 max()函数的源代码。该函数有两个参数 num1和 num2,会返回这两个数中较大的那个数:

创建 C函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。

当程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。

调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。例如:

如上把 max()函数和 main()函数放一块,编译源代码。当运行最后的可执行文件时,会产生下列结果:

形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。

c语言函数详解?c语言必背50个函数

当调用函数时,有两种向函数传递参数的方式:

默认情况下,C使用传值调用来传递参数。一般来说,这意味着函数内的代码不能改变用于调用函数的实际参数。

C语言函数的含义

C语言的发展颇为有趣,它的原型ALGOL 60语言。那么大家知道C语言函数是什么吗?下面一起来看看!

函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。

C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。

除了C语言自带的.函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Function)。自定义函数和库函数没有本质的区别,表现形式和使用方法一样,只是开发者不同而已。

这一章我们就来讲解如何编写和使用自己的函数。

参数

函数的一个明显特征就是使用时带括号(),必要的话,括号中还要包含数据或变量,称为参数(Parameter)。参数是函数需要处理的数据,例如:

strlen(str1)用来计算字符串的长度,str1就是参数。

puts("C语言中文网")用来输出字符串,"C语言中文网"就是参数。

返回值

既然函数可以处理数据,那就有必要将处理结果告诉我们,所以很多函数都有返回值(Return Value)。所谓返回值,就是函数的执行结果。例如:

char str1[]="C Language";

int len= strlen(str1);

strlen()的处理结果是字符串 str1的长度,是一个整数,我们通过 len变量来接收。

函数返回值有固定的数据类型(int、char、float等),用来接收返回值的变量类型要一致。

C语言中各种函数的具体作用,要详细点的

字符处理函数

本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换

头文件 ctype.h

函数列表<>

函数类别函数用途详细说明

字符测试是否字母和数字 isalnum

是否字母 isalpha

是否控制字符 iscntrl

是否数字 isdigit

是否可显示字符(除空格外) isgraph

是否可显示字符(包括空格) isprint

是否既不是空格,又不是字母和数字的可显示字符 ispunct

是否空格 isspace

是否大写字母 isupper

是否16进制数字(0-9,A-F)字符 isxdigit

字符大小写转换函数转换为大写字母 toupper

转换为小写字母 tolower

地区化

本类别的函数用于处理不同国家的语言差异。

头文件 local.h

函数列表

函数类别函数用途详细说明

地区控制地区设置 setlocale

数字格式约定查询国家的货币、日期、时间等的格式转换 localeconv

数学函数

本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)

头文件 math.h

函数列表

函数类别函数用途详细说明

错误条件处理定义域错误(函数的输入参数值不在规定的范围内)

值域错误(函数的返回值不在规定的范围内)

三角函数反余弦 acos

反正弦 asin

反正切 atan

反正切2 atan2

余弦 cos

正弦 sin

正切 tan

双曲函数双曲余弦 cosh

双曲正弦 sinh

双曲正切 tanh

指数和对数指数函数 exp

指数分解函数 frexp

乘积指数函数 fdexp

自然对数 log

以10为底的对数 log10

浮点数分解函数 modf

幂函数幂函数 pow

平方根函数 sqrt

整数截断,绝对值和求余数函数求下限接近整数 ceil

绝对值 fabs

求上限接近整数 floor

求余数 fmod

本分类函数用于实现在不同底函数之间直接跳转代码。头文件 setjmp.h io.h

函数列表

函数类别函数用途详细说明

保存调用环境 setjmp

恢复调用环境 longjmp

信号处理

该分类函数用于处理那些在程序执行过程中发生例外的情况。

头文件 signal.h

函数列表

函数类别函数用途详细说明

指定信号处理函数 signal

发送信号 raise

可变参数处理

本类函数用于实现诸如printf,scanf等参数数量可变底函数。

头文件 stdarg.h

函数列表

函数类别函数用途详细说明

可变参数访问宏可变参数开始宏 va_start

可变参数结束宏 va_end

可变参数访问宏访问下一个可变参数宏 va_arg

输入输出函数

该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现

头文件 stdio.h

函数列表

函数类别函数用途详细说明

文件操作

删除文件 remove

修改文件名称 rename

生成临时文件名称 tmpfile

得到临时文件路径 tmpnam

文件访问关闭文件 fclose

刷新缓冲区 fflush

打开文件 fopen

将已存在的流指针和新文件连接 freopen

设置磁盘缓冲区 setbuf

设置磁盘缓冲区 setvbuf

格式化输入与输出函数格式输出 fprintf

格式输入 fscanf

格式输出(控制台) printf

格式输入(控制台) scanf

格式输出到缓冲区 sprintf

从缓冲区中按格式输入 sscanf

格式化输出 vfprintf

格式化输出 vprintf

格式化输出 vsprintf

字符输入输出函数输入一个字符 fgetc

字符串输入 fgets

字符输出 fputc

字符串输出 fputs

字符输入(控制台) getc

字符输入(控制台) getchar

字符串输入(控制台) gets

字符输出(控制台) putc

字符输出(控制台) putchar

字符串输出(控制台) puts

字符输出到流的头部 ungetc

直接输入输出直接流读操作 fread

直接流写操作 fwrite

文件定位函数得到文件位置 fgetpos

文件位置移动 fseek

文件位置设置 fsetpos

得到文件位置 ftell

文件位置复零位 remind

错误处理函数错误清除 clearerr

文件结尾判断 feof

文件错误检测 ferror

得到错误提示字符串 perror

实用工具函数

本分类给出了一些函数无法按以上分类,但又是编程所必须要的。

头文件 stdlib.h

函数列表

函数类别函数用途详细说明

字符串转换函数字符串转换为整数 atoi

字符串转换为长整数 atol

字符串转换为浮点数 strtod

字符串转换为长整数 strtol

字符串转换为无符号长整型 strtoul

伪随机序列产生函数产生随机数 rand

设置随机函数的起动数值 srand

存储管理函数分配存储器 calloc

释放存储器 free

存储器分配 malloc

重新分配存储器 realloc

环境通信中止程序 abort

退出程序执行,并清除环境变量 atexit

退出程序执行 exit

读取环境参数 getenv

程序挂起,临时执行一个其他程序 system

搜索和排序工具二分查找(数据必须已排序) bsearch

快速排序 qsort

整数运算函数求绝对值 abs

div

得到除法运算底商和余数

求长整形底绝对值 labs

求长整形除法的商和余数 ldiv

多字节字符函数得到多字节字符的字节数 mblen

得到多字节字符的字节数 mbtowc

多字节字符转换 wctomb

多字节字符的字符串操作将多字节串转换为整数数组 mbstowcs

将多字节串转换为字符数组 mcstowbs

字符串处理

本分类的函数用于对字符串进行合并、比较等操作

头文件 string.h

函数列表

函数类别函数用途详细说明

字符串拷贝块拷贝(目的和源存储区不可重叠) memcpy

块拷贝(目的和源存储区可重叠) memmove

串拷贝 strcpy

按长度的串拷贝 strncpy

字符串连接函数串连接 strcat

按长度连接字符串 strncat

串比较函数块比较 memcmp

字符串比较 strcmp

字符串比较(用于非英文字符) strcoll

按长度对字符串比较 strncmp

字符串转换 strxfrm

字符与字符串查找字符查找 memchr

字符查找 strchr

字符串查找 strcspn

字符串查找 strpbrk

字符串查找 strspn

字符串查找 strstr

字符串分解 strtok

杂类函数字符串设置 memset

错误字符串映射 strerror

求字符串长度 strlen

日期和时间函数

本类别给出时间和日期处理函数

头文件 time.h

函数列表

函数类别函数用途详细说明

时间操作函数得到处理器时间 clock

得到时间差 difftime

设置时间 mktime

得到时间 time

时间转换函数得到以ASCII码表示的时间 asctime

得到字符串表示的时间 ctime

得到指定格式的时间 strftime

函数库未来的发展方向

本部分用于说明各类别函数库在将来如何发展。

序号库类别头文件详细说明

1错误处理 errno.h

2字符处理 ctype.h

3地区化 local.h

4数学函数 math.h

5信号处理 signal.h

6输入输出 stdio.h

7实用工具程序 stdlib.h

8字符串处理 string.h

好了,文章到这里就结束啦,如果本次分享的c语言函数详解和c语言必背50个函数问题对您有所帮助,还望关注下本站哦!

wow堕落火鹰?wow火鹰在哪个副本三角函数所有公式(三角函数对照表全部)