c语言函数详解?c语言必背50个函数
很多朋友对于c语言函数详解和c语言必背50个函数不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
什么是C语言函数,简单明了让你知道
函数是一组一起执行一个任务的语句。每个 C程序都至少有一个函数,即主函数 main(),所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
C标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat()用来连接两个字符串,函数 memcpy()用来复制内存到另一个位置。
函数还有很多叫法,比如方法、子例程或程序,等等。
C语言中的函数定义的一般形式如下:
在 C语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
以下是 max()函数的源代码。该函数有两个参数 num1和 num2,会返回这两个数中较大的那个数:
创建 C函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。
当程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。
调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。例如:
如上把 max()函数和 main()函数放一块,编译源代码。当运行最后的可执行文件时,会产生下列结果:
形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。
当调用函数时,有两种向函数传递参数的方式:
默认情况下,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个函数问题对您有所帮助,还望关注下本站哦!