内容正文:
第7章 函数
第7章 函数
函数定义
函数调用及函数声明
数组作形参
变量的作用域
全局变量作用域的扩展
限制文件作用域
函数的易用性
递归1
递归2
库函数1
库函数2
团队开发++
函数定义
这节课我们再次讨论函数的定义。
3
定义函数常用的形式
返回值类型 函数名(参数列表){
语句序列
}
返回值类型是函数输出结果的类型,即函数值的类型,不能是数组。
参数列表规定了函数输入的个数和类型,通常形式为:类型 参数名1, 类型 参数名2, ……, 类型 参数名n。参数列表中的参数又称为形式参数,简称形参。
定义函数常用的形式
返回值类型 函数名(参数列表){
语句序列
}
返回值类型是函数输出结果的类型,即函数值的类型,不能是数组。
参数列表规定了函数输入的个数和类型,通常形式为:类型 参数名1, 类型 参数名2, ……, 类型 参数名n。
参数列表中的参数又称为形式参数,简称形参。
4
定义函数常用的形式
函数定义中的第一行又称为函数的首部,函数的首部清楚地表明了函数输入值(自变量)的个数与类型及输出值(因变量)的类型。
函数体紧接函数的首部,由一对花括号界定。函数体中的语句序列用来完成从输入值到输出值的映射。
函数的输出结果即函数值由return语句返回给函数的使用者(主调函数)。
return语句的形式有两种:return;和return 表达式;。
函数定义中的第一行又称为函数的首部,函数的首部清楚地表明了函数输入值(自变量)的个数与类型及输出值(因变量)的类型。
函数体紧接函数的首部,由一对花括号界定。函数体中的语句序列用来完成从输入值到输出值的映射。
函数的输出结果即函数值由return语句返回给函数的使用者(主调函数)。
return语句的形式有两种:return;和return 表达式;。
5
return关键字
在返回值类型为void的函数中可以使用语句return;立即结束函数的执行并返回,暂停执行的主调函数将继续执行。没有return语句时,函数执行完函数体,在界定函数体的封闭花括号“}“处返回。
有返回值的函数必须使用语句return 表达式;。
return 表达式;先计算表达式的值,再结束函数的执行,
并将表达式的值作为函数的返回值。
函数的返回值存储在约定的存储单元中供主调函数使用。
在返回值类型为void的函数中可以使用语句return;立即结束函数的执行并返回,暂停执行的主调函数将继续执行。
没有return语句时,函数执行完函数体,在界定函数体的封闭花括号“}“处返回。
有返回值的函数必须使用语句return 表达式;。
return 表达式;先计算表达式的值,再结束函数的执行,
并将表达式的值作为函数的返回值。
函数的返回值存储在约定的匿名存储单元中供主调函数使用。
6
函数的作用
函数是完成特定功能的一系列指令的集合。无需再次编写代码,通过调用已有函数就可以快速地完成特定的功能。如在显示器上输出信息时,只需调用printf函数,而不必编写具体的代码,极大地提高了编程效率。
函数的功能体现在函数的输入和输出,函数的使用者通常不关心把输入转换成输出的过程,只关注函数的返回值。
编程时通常把特定功能的代码组织成函数的形式以方便代码复用。
函数是完成特定功能的一系列指令的集合。无需再次编写代码,通过调用已有函数就可以快速地完成特定的功能。
如在显示器上输出信息时,只需调用printf函数,而不必编写具体的代码,极大地提高了编程效率。
函数的功能体现在函数的输入和输出,函数的使用者通常不关心把输入转换成输出的过程,只关注函数的返回值。
编程时通常把特定功能的代码组织成函数的形式以方便代码复用。
7
例7-1 定义一个验证正整数是否为质数的函数,并改写例5-17 输出100以内的质数。
函数需要一个int型输入,输出(返回)
逻辑值真假,用整数1或0表示,即
返回值类型为int型。函数名为isPrime,
函数的首部为:
int isPrime(int x)
函数体中判断形参x是否为质数。
函数需要一个int型输入,输出(返回) 逻辑值真假,用整数1或0表示,即
返回值类型为int型。函数名为isPrime,函数的首部为:
int isPrime(int x)
函数体中判断形参x是否为质数。
8
例7-1 定义一个验证正整数是否为质数的函数,并改写例5-17 输出100以内的质数。
定义并使用函数后,在循环结构中代码非常简洁,且可读性也非常好。
由于isPrime函数返回的是用1或0代表的逻辑值,因此if(isPrime(i) == 1)也可替换为if(isPrime(i))
9
思考题
其他程序员如何使用你开发的isPrime函数?
需要拷贝函数的定义。
函数调用
这