7.4 函数的易用性-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
2023-06-12
|
18页
|
103人阅读
|
0人下载
精品
内容正文:
第7章 函数
第7章 函数
函数定义
函数调用及函数声明
数组作形参
变量的作用域
全局变量作用域的扩展
限制文件作用域
函数的易用性
递归1
递归2
库函数1
库函数2
团队开发++
函数的易用性
这节课我们讨论用函数编程。一方面把特定功能的代码实现为函数;另一方面,需要特定功能时先找已定义好的函数,而不是急于编码。
3
用函数编程
用函数编程是指编程时用函数实现特定的功能,若可能,则直接使用已经定义好的函数。利用已有的函数既可以提高编程效率,又可以提高程序的可靠性。
例7-19 编程求出1000以内的完全数,输出格式如6=1+2+3。如果一个整数恰好等于它除本身之外的其余因数之和,则称该数为“完全数”。
用穷举法。判断一个整数是否为完全数实现为函数isPerfectNumber;若是,则函数返回整数1;否则返回整数0。
用函数编程是指编程时用函数实现特定的功能,若可能,则直接使用已经定义好的函数。
利用已有的函数既可以提高编程效率,又可以提高程序的可靠性。
例7-20 编程求出1000以内的完全数,输出格式如6=1+2+3。如果一个整数恰好等于它除本身之外的其余因数之和,则称该数为“完全数”。
用穷举法。判断一个整数是否为完全数实现为函数isPerfectNumber;若是,则函数返回整数1;否则返回整数0。
有了isPerfectNumber函数,程序的实现如图所示。
4
isPerfectNumber函数的实现
函数有一个整型形参,返回值为整型,用1表示是真,即是完全数;用0表示假,即不是。函数首部为int isPerfectNumber(int m)。
判断形参m是否为完全数的关键在于求出m除它本身之外的因数的和。
函数sumUpFactor求一个整数除它本身之外的因数的和。有了这个函数之后,isPerfectNumber函数可实现为:
函数有一个整型形参,返回值为整型,用1表示是真,即是完全数;用0表示假,即不是。函数首部为int isPerfectNumber(int m)。
判断形参m是否为完全数的关键在于求出m除它本身之外的因数的和。
函数sumUpFactor求一个整数除它本身之外的因数的和。有了这个函数之后,isPerfectNumber函数可实现为:
5
sumUpFactor函数的实现
函数sumUpFactor有一个整型形参,返回值为整型。int sumUpFactor(int m)
用穷举法找因数。
函数sumUpFactor有一个整型形参,返回值为整型。函数首部为int sumUpFactor(int m)。
用穷举法找因数。函数的实现如图所示。找到因数并求出因数和。
实现这个函数之后,程序如图所示。还有一个问题输出完全数的连加形式。
先找出因数,再输出成连加形式。sumUpFactor函数求因数和时已经找过因数,
可以把因数存储到全局变量中,这样在main函数中就可以直接使用了。
6
sumUpFactor函数
定义一个具有全局作用域的一维整型数组。
sumUpFactor函数把找到的因数保存到数组中,main函数中直接使用。
为方便使用,因数的个数用0号数组元素保存。
定义一个具有全局作用域的一维整型数组。
sumUpFactor函数把找到的因数保存到数组中,main函数中直接使用。
为方便使用,因数的个数用0号数组元素保存。
7
把数组中因数输出成连加的形式
实现为print函数,功能是把全局变量一维整型数组a中的a[0]个因数,输出成连加的形式。
把数组中因数输出成连加的形式实现为print函数,
函数的功能是把全局变量一维整型数组a中的a[0]个因数,输出成连加的形式。
实现如图所示。输出时最后一个因数需特殊处理。
8
例7-19 编程求出1000以内的完全数,输出格式如6=1+2+3。
程序中main函数调用了isPerfectNumber函数,isPerfectNumber函数又调用了sumUpFactor函数,
main函数又调用了print函数,函数的调用关系如图所示。
9
函数的使用说明
为方便函数的使用,函数通常有详细的使用说明。
为方便函数的使用,函数通常有详细的使用说明。
10
思考题
1.sumUpFactor函数易于重用吗?
使用sumUpFactor函数时,需要有全局变量一维整型数组a,这给函数的使用带来不便。
2.判断一个整数是否为完全数有必要实现为函数isPerfectNumber吗?
函数功能非常简单时,没有必要实现为函数。
1.sumUpFactor函数易于重用吗?
使用sumUpFactor函数时,需要有全局变量一维整型数组a,这给函数的使用带来不便。
2.判断一个整数是否为完全数有必要实现为函数isPerfectNumber吗?
函数功能非常简单时,
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。