一、什么是函数?
函数是 C 语言中最基本的代码组织单位。你可以把它想象成一个"黑盒子":你给它输入(参数),它内部执行处理后,返回一个输出(返回值)。
没有函数的世界:所有代码挤在main函数里,几百行代码纠缠在一起,改一行可能影响全局。
有了函数的世界:代码被拆成一个个独立的小模块,每个模块只负责一件事,清晰、可复用、易维护。
二、函数的基本结构
以下就是一个函数的基本结构:
返回值类型 函数名(参数列表) {
// 函数体:具体的执行逻辑
return 返回值; // 如果返回值类型不是 void
}
2.1 一个简单的例子:打招呼
输出:
三、函数的参数与返回值
3.1 带参数的函数
参数让函数更灵活,同一个函数可以处理不同的数据。
关键点:
1.int a, int b是形参(形式参数),函数定义时的占位符
2.add(3, 5)中的3和5是实参(实际参数),调用时传入的具体数据
3. 形参和实参的类型必须匹配,数量也必须一致
3.2 返回值类型
以下是一段简短的 C 语言函数应用:
输出:
四、函数声明与定义
4.1 为什么需要函数声明?
C 语言编译器是从上到下逐行编译的。如果main函数里调用了一个在它后面定义的函数,编译器会报错:"这个函数我没见过!"
解决方案:
在main之前声明函数,告诉编译器"这个函数存在,稍后会定义"。
4.2 声明 vs 定义
五、变量的作用域
函数内部定义的变量,只在函数内部有效,这叫局部变量。
六、函数的实际应用:一个完整的例子
让我们写一个"简易计算器",把不同的运算拆成独立的函数:
输出:
七、编写好函数的几个原则
1. 单一职责:一个函数只做一件事。add就只做加法,不要顺便打印结果。
2. 命名清晰:函数名要能说明它的作用,如calculateArea比calc好得多。
3. 参数不宜过多:超过 4-5 个参数会让函数难以使用,考虑拆分或封装。
4. 适当注释:复杂逻辑加上注释,但简单的函数不需要过度注释。
5. 避免重复:同样的代码出现两次,就应该考虑写成函数。
八、小结
函数是 C 语言编程的基石。掌握它,你的代码就会从"一团乱麻"变成"结构清晰、模块化"。接下来,你可以尝试把平时写的练习题中的重复逻辑提取成函数,这是最好的练习方式!