[编程笔记]第六章 函数
【函数】
为什么需要函数
答:避免了重复性操作,有利于程序的模块化
什么叫函数
逻辑上:能够完成特定功能的独立代码块
物理上:能够对接受的数据进行处理
总结: 能够将数据处理的结果返回(当然也可以不返回任何值)
函数是个工具,它是为了解决大量类似问题而设计的
函数可以当做一个黑匣子
如何定义函数
格式:
函数返回值 函数名 (函数形参列表)
{
函数执行体 ;
}
1. 函数的定义本质是详细描述函数之所以能够实现某个特定的功能
的具体方法
2. return 表达式 ; 的含义 :
1>终止被调函数,向主调函数返回表达式的值
2>如果表达式为空,则只终止函数,不向主调函数返回任何值
3>break是用来终止循环和switch的,return是用来终止函数的
例子:
void f()
{
return ; //return只用来终止函数,不向主调函数返回任何值
}
int f()
{
return 10 ; //第一,终止函数,第二,向主调函数返回10
}
3. 函数返回值的类型也称为函数的类型,因为如果函数名前的返回值类型
和 函数执行体的return表达式; 表达式的类型不同的话,则最终函数
返回值的类型 以函数名前的返回值为准
//例子
int f ()
{
return 10.5
//因为函数的返回值类型是int
//最终f返回的是10而不是10.5
}
函数的分类
有参函数 和 无参函数
有返回值函数 和 无返回值函数
库函数 和 用户自定函数
值传递函数 和 地址传递函数
普通函数 和 主函数(main函数)
规定:
1. 一个程序必须有且只能有一个主函数
2. 主函数可以调用普通函数
3. 普通函数不能调用主函数
4. 主函数是程序的入口,也是程序的出口
注意的问题:
1. 函数调用和函数定义的顺序
2. 如果函数调用写在函数定义的前面,
则必须加函数前置声明
3. 函数前置声明
1>.告诉编译器即将可能出现的若干个字母代表的是一个函数
2>.告诉编译器即将可能的若干个字母所代表的函数的形参和返回值的具体情况
3>.函数声明是一个语句,末尾必须加分号
4>.对库函数的声明的是通过#incldue<库函数所在的文件的名字.h>来实现的
形参和实参
个数相同 位置一一对应 数据类型必须想相互兼容
如何在软件开发中的合理的设计函数来解决实际问题
一个函数的功能尽量独立,单一
多学习,多模仿牛人的代码
函数是C语言的基本单位,类是java,C++,C#的基本单位
常用的系统函数
double sqrt(double x) ; //求x的平方值
int abs(int x) ; //求x的绝对值
double fabs(double x) ; //求x的绝对值
专题:
递归
参见数据结构视频
Talk is cheap. Show me the code