首页 >> 日常问答 >

问c 语言函数有哪些 库函数与自定义函数分类

2026-11-05 08:42:00

答

核心结论 c 语言里面函数分为两大类,一类是程序员自己编写的自定义函数,另一类是 C 标准库已经提前写好的库函数,库函数放在各个头文件里面,写代码只要 include 对应头文件就可以直接调用。C 语言程序本身就是由多个函数组合而成,main 函数是程序入口,属于特殊的自定义函数。库函数按照头文件划分,最常用的就是输入输出函数 stdio.h 字符串处理 string.h 数学运算 math.h 动态内存 stdlib.h 时间函数 time.h,考试和作业里面出现频率最高的就是 printf scanf strlen sqrt malloc 这类。自定义函数没有固定清单,是根据业务需求自己定义,比如求素数函数 排序函数 队列操作函数,作用是拆分代码,实现模块化,避免重复代码。函数还可以按照有没有返回值、有没有参数继续细分,分为无参无返回值 无参有返回值 有参无返回值 有参有返回值四种基础形式。

常用标准库函数清单

stdio.h 输入输出函数

清单

printf 格式化输出

scanf 格式化输入

getchar 读取单个字符

putchar 输出单个字符

gets 读取一行字符串

puts 输出字符串并自动换行

fopen fclose fread fwrite 文件读写函数

string.h 字符串处理函数

清单

strlen 计算字符串有效长度

strcpy 字符串拷贝

strcat 字符串拼接

strcmp 字符串比较

strstr 查找子串

memcpy 内存拷贝

memset 内存填充

math.h 数学函数

清单

sqrt 开平方

pow 求幂

fabs 浮点数绝对值

sin cos tan 三角函数

floor ceil 向下向上取整

stdlib.h 通用工具函数

清单

malloc 申请动态内存

free 释放动态内存

rand 生成随机数

srand 设置随机种子

atoi 字符串转整数

exit 终止程序

time.h 时间函数

清单

time 获取当前时间

localtime 转换本地时间

difftime 计算时间差

函数四种基础类型表格

类型特点例子
有参有返回值接收参数,return 带回结果int add(int a,int b)
有参无返回值接收参数,执行操作无返回void print(int n)
无参有返回值不传参数,return 带回结果int getNum()
无参无返回值不传参数,只执行动作void menu()

深度补充知识点

C 语言库函数不是 C 语言语法本身,是标准规范提供的工具集,不同编译器还会额外扩展一些非标准库函数,跨平台代码尽量只用 ANSI 标准库函数。

自定义函数必须先声明或者定义,之后才能调用,否则会出现隐式声明警告,函数声明也叫函数原型,写在源文件顶部,函数实现写在后面。

main 函数比较特殊,操作系统调用 main,main 的 return 值作为进程退出码,普通自定义函数 return 值返回到调用点。

递归函数属于自定义函数的特殊形式,函数内部自己调用自己,比如阶乘 斐波那契,需要设置递归出口,否则会栈溢出。

编码注意事项

第一 调用库函数一定要记得引入对应头文件,比如 sqrt 忘记 include math.h,会报隐式声明错误,gcc 编译 math 库还需要加 lm 参数

第二 自定义函数命名属于标识符,不能和关键字、库函数名重名,比如不要把自己函数命名成 printf

第三 函数参数传递默认是值传递,如果要修改实参,需要传递指针

第四 函数可以嵌套调用,但是 C 语言不支持函数内部再定义函数,这点和部分其他语言不一样

【相关 FAQ】

问题 1 c 语言函数有哪些,main 函数属于库函数吗

回答 1 c 语言函数有哪些,main 函数不属于标准库函数,它是程序入口函数,由程序员编写,操作系统启动程序的时候调用 main 函数。

问题 2 c 语言函数有哪些,库函数需要自己写吗

回答 2 c 语言函数有哪些,库函数是 C 标准库提前实现好的,不需要自己编写,只需要 include 对应的头文件,就可以直接调用库函数。

问题 3 c 语言函数有哪些,C 语言能不能在函数里面再定义函数

回答 3 c 语言函数有哪些,标准 C 不支持函数内部嵌套定义函数,但是支持函数嵌套调用,也就是一个函数里面调用另外一个已经定义好的函数。

问题 4 c 语言函数有哪些,自定义函数和库函数最大区别是什么

回答 4 c 语言函数有哪些,库函数是标准库自带通用工具,自定义函数是程序员根据业务需求自己编写,用来实现特定业务逻辑,实现代码拆分模块化。

免责申明:本文仅作为 c 语言函数有哪些相关知识学习参考,不同 C 标准版本库函数会有增补,部分扩展函数不属于 ANSI 标准,跨平台开发请核对标准规范,因头文件缺失错误调用函数造成编译异常,由使用者自行承担。

 

相关阅读

最新文章