- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随着要处理的问题越来越复杂,程序也变得越来越长。长程序的编写会带来许多问题,长的程序开发困难,牵涉的情况较复杂,编写程序的人更难把握。此外,长程序的阅读和理解也会困难,这将影响到程序的开发和维护。如果要修改程序,就必须先理解每一项改动对整个程序的影响,防止其破坏了程序的内在一致性。另外,随着程序变大,程序也常出现一些相同或类似的代码片段,这使程序变得更长,也增加了要处理程序里不同部分之间的相互关系的问题。 处理复杂问题的基本方法就是设法把它分解成一些相对简单的部分,分别处理这些部分,然后用各个部分的解去构造这个问题的解。也就是说,对复杂的大程序,先将它划分为若干个程序模块,每个模块用来实现一个特定的功能。例如,一个学校的学生成绩管理系统(如图5-1所示)是由学生成绩录入模块、学生成绩浏览模块、学生成绩查询模块、学生成绩修改模块和学生成绩打印模块等根据用户的需求而开发的,其中每一个模块的开发我们用子程序来完成,而在C语言中,子程序可以通过函数来实现。一个C程序可由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。 函数是组成C程序的基本单位,也是C程序设计的核心。函数是完成一定功能的可执行代码段。我们可以把函数看做一个“黑盒子”,只要把数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。 5.2.1 函数基础 在C语言中,程序从主函数main开始执行,到main函数结束处终止。其他函数在main函数、其他的函数或自身函数进行调用后才能执行。 一个C程序必须且只能包含一个名为main的函数,即主函数。程序的执行从main函数开始,调用其他函数后回到main函数,并在main函数中结束。主函数是一个命名的独立的C程序段,它完成一个特定的任务并可选择是否将一个值返回给调用函数。 下面我们先来看一个简单的例子。 ? 【例5-1】 显示一个文本信息。 程序清单如下://--------------使用自定义函数显示输出一个文本信息------//--------------文件名ex5_1.cpp-----------------------------------#include stdio.hvoid main(){ void echoline(); //对函数echoline的说明 void echotext(); //对函数echotext的说明 echoline(); //调用自定义函数echoline echotext(); //调用自定义函数echotext echoline(); //再次调用自定义函数echoline} //定义函数echoline,功能是输出一行*号void echoline(){ printf(*********************\n); printf(\n);} //定义函数echotext,功能是输出一行文本信息void echotext(){ printf(* 学生信息管理系统 *\n); printf(\n);} 运行结果如图5-2所示。 如果我们将上面的两个自定义函数变为如下内容:void echoline(){ printf(◎◎◎◎◎◎◎◎◎◎◎◎◎\n); printf(\n);} void echotext(){ printf(◎ 学生信息管理系统 ◎\n); printf(\n);}运行结果如图5-3所示。 在这个程序中,主函数中调用了三次函数,echoline()函数的作用是显示一行字符,它被调用了两次。echotext()的作用是显示一行文字,被调用了一次。程序的运行结果是两行?*?字符中间有一行文字,很是漂亮。如果我们觉得字符?*?不好看,想显示两行◎号,那么只要修改显示字符的函数,将所有的?*?号替换为◎号。这样修改一次,程序中只要显示字符行的地方就都显示◎号了。如果我们不用函数,而用三条printf()语句也可以完成显示字符的功能,但是在完成上述修改的时候,就要改两次才行。如果编了一个大程序,里面用到很多显示一行?*?字符的功能,但是没有用函数,这样要完成上述修改,就要将所有的显示?*?号的地方都找到,一个一个地修改;如果使用函数完成这个程序中的显
文档评论(0)