以下内容均为看郝斌老师视频和教学大纲,总结,复制粘贴而来的笔记。
一.为什么需要函数?
避免了重复性操作
有利于程序的模块化
二.什么叫函数?
逻辑上:能够完成特定功能的独立的代码块
物理上:
能够接收数据【当然也可以不接收数据】
能够对接收的数据进行处理
能够将数据的处理结果返回【当然也可以不返回任何值】
总结:
函数是个工具,它是为了解决大量类似问题而设计的
函数可以当做一个黑匣子
三.如何定义函数?
函数的返回值 函数的名字(函数的形参列表)
{
函数的执行体;
}
1.函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法
2.return 表达式的含义:
(1)终止被调函数,向主调函数返回表达式的值
(2)如果表达式为空,则只终止函数,不向主调函数返回任何值
(3)break是用来终止循环和switch的,return是用来终止函数的
3.函数返回值的类型也称为函数的类型,因为如果函数名前的返回值的类型和函数执行体中的return表达式中的表达式的类型不同的话,则最终函数返回值的类型以函数名前的返回值类型为准。
函数的分类
有参函数和无参函数
有返回值函数和无返回值函数
库函数和用户自定义函数
值传递函数和地址传递函数
普通函数和主函数(main函数)
一个程序必须有且只有一个主函数
主函数可以调用普通函数,普通函数不能调用主函数
普通函数可以互相调用
主函数是程序的入口,也是程序的出口
注意的问题
函数调用和定义的顺序
如果函数调用写在了函数定义的前面,则必须加函数前置声明
函数前置声明:
1.告诉编译器即将可能出现的若干个字母代表的是一个函数
2.告诉编译器即将可能出现的若干个字母所代表的函数的形参和返回值的具体情况
3.函数声明是一个语句,末尾必须加分号
4.对库函数的声明是通过 #include<库函数所在的文件的名字.h>来实现的形参和实参
个数相同 位置一一对应 数据类型必须相互兼容