`提示:本篇是个人向总结概括
一、为什么需要函数?
- 函数可以避免重复性操作
- 函数有利于程序的模板化
- 函数的返回值 函数名字 (函数的形参列表)
{
函数的执行体
}
⑴ 终止被调函数,向主调函数返回表达式的值
⑵ 如果表达式为空,则只终止函数,不向被调函数返回任何值
void f()
{
return; //终止被调函数,向主调函数返回表达式的值
}
int f()
{
return 10; //第一终止函数,第二向主调函数返回10
}
3.函数返回值的类型/函数的类型
- 如果函数名前的返回值类型 和 函数执行体中的return表达式; 中表达式的类型不同的话,则最终函数返回值的类型 以函数名前的返回值类型为准
示例:
int f()
{
return 10.5; //因为函数的返回值类型是int
//所以最终f返回的是10而不是10.5
}
三.函数的分类
有参函数 和 无参函数 有返回值函数 和 无返回值函数 库函数 和 用户自定义函数 普通函数 和 主函数(mian函数) ⑴一个程序有且只有一个主函数,主函数是程序的入口和出口 ⑵主函数可以调用普通函数,普通函数不能调用主函数 ⑶普通函数可以相互调用函数实例:判断一个数是否是素数
# include四.注意的问题bool IsPrime(int val) //bool 逻辑型变量定义符,取值true或false { int i; for(i=2; i if(0 == val%i) break; } if(i == val) return true; //返回到IsPrime函数 else return false; } //这里的IsPrime函数只负责素数的判断,结果交由mian函数处理 int main(void) { int m; scanf("%d", &m); if(IsPrime(m)) //调用IsPrime函数的结果,其结果是true 或 false printf("YES!n"); else printf("NO!n"); return 0; }
⑴函数调用和函数定义的顺序
如果函数调用写在了函数定义前面,则必须加函数前置声明:
①告诉编译器可能出现的若干个字母代表的是一个函数
②告诉编译器可能出现的若干个字母所代表的函数的形参和返回值的具体情况
③函数声明 是一个语句,结尾必须加分号
④对库函数的声明是通过 # include <库函数所在的文件名字.h> 来实现的
⑵形参和实参
个数相同 位置一一对应 数据类型必须相互兼容
⑴ 函数功能尽可能单一,便于更改程序,同时也提高了代码的可重用性
只用main函数会使得重用性不高,且更复杂
⑵多学习,模仿大牛的代码



