- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[C讲义第4章
函数概述 函数是构成C++程序的基本模块,每个函数均具有相对独立的功能。任一C++程序都是由若干个函数组成的,即使最简单的程序,也要有一个主函数(即main函数)。因此,程序的设计最终都落实到一个个函数的设计和编写上。而合理地编写函数可以简化程序模块的结构,便于阅读和调试,是结构化程序设计方法的主要内容之一。 在C++中,关于函数的规定如下: (1)一个C++程序由一个或多个源程序文件(程序模块)组成。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源程序文件中,再由若干个源程序文件组成一个C++程序。这样便于分别编写、分别编译,提高调试效率。一个源程序文件可以为多个C++程序共用。 (2)一个源程序文件由一个或多个函数以及其它有关内容(如命令行、变量定义等)构成。一个源程序文件是一个编译单位,即在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。 (3)C++程序的执行是从main函数开始的,并在main函数中结束整个程序的运行。如果在main函数中调用其它函数,则在调用后流程还返回到main函数。 (4)所有函数都是平等的。在定义函数时是分别进行的,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数是由系统调用的。 (5)从用户使用的角度看,函数有如下两种。 ①标准函数。标准函数即库函数,它们是由系统提供的,用户不必自己定义而直接使用。使用库函数时,必须要包含相应的头文件。 ②用户自定义函数。它们是用户自己定义的函数,用以实现用户专门需要的功能。 (6)从函数的形式看,函数分为下面两类。 ① 无参函数。在调用无参函数时,主调函数不向被调用函数传递数据。无参函数一般用来执行指定的一组操作。 ② 有参函数。在调用该类函数时,主调函数通过参数向被调用函数传递数据。一般情况下,执行有参函数会得到一个函数值,供主调函数使用。 函数的定义 一个函数必须定义后才能使用。所谓定义函数,就是编写完成函数功能的程序块。 (1)无参函数的定义 定义无参函数的一般格式为: 类型标识符 函数名 ( void ) { 函数体 } 其中: (1) 函数名是指用户要定义的函数的名字,它应符合C++对标识符的规定。 (2) 函数体是由一对花括号“{ }”括起来的语句序列,这些语句实现函数的功能。 (3) 类型标识符是调用该函数后所得到的函数值的类型,即函数返回值的类型,它可以是任一标准数据类型或导出的数据类型。 例4.1 用函数实现下面字符串的打印。 How do you do! 算法分析:该问题只涉及字符的打印,不需要从主调函数传递过来数据,同时也不需要返回任何数值,因此可用无返回值无参数函数来实现,程序如下。 void print_string (void ){ cout How do you do!\n ; } (2)有参函数的定义 定义有参函数的一般格式为: 类型标识符 函数名 ( 形参表列 ) { 函数体 } 有参函数的定义格式与无参函数的定义格式相比,除圆括号中的“形参表列”外,其余均相同。形参是函数与外界联系的接口,必须明确指出形参的名字和类型。形参表列的格式为: 类型 参数1,类型 参数2,…,类型 参数n 函数的返回值 当函数需要返回处理的结果数据时,可用如下语句: return 表达式; (1)定义函数时,函数的类型和函数体中return后的表达式值的类型应保持一致。如果两者不一致,则以函数类型为准,系统会自动进行类型转换。 (2)在函数体中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此函数只能返回一个函数值。 (3)对于不需要返回值的函数,在函数定义中应规定函数返回值类型为void,但在函数体的中间要结束函数的执行,并返回调用处时,可使用不带表达式的return语句。此时return语句的格式为: return ; 例4.2 编写函数判断一个整数是否素数的。 函数中对整数参数是否为素数进行判断,是则返回1,否则返回0。 int is_prime(int x){ int j; for(j = 2; j = x / 2; j++) if( x % j == 0) return 0; return 1; } 例4.3 编写函数求正整数a、b的最大公约数。 思路:整数a、b的公约数是整数,函数的返回值类型即为整数。 int gcb(int a, int b){ int c; while( c =
您可能关注的文档
- [AutoCAD2014室内装潢设计全套图纸绘制大全第8章地面铺装图绘制.ppt
- [AutoCAD及天正建筑的安装和设置.ppt
- [AUTOCAD绘图环境设置.ppt
- [ATE新中文讲义.ppt
- [AutoCAD2014室内装潢设计全套图纸绘制大全第6章建筑平面图绘制.ppt
- [AutoCAD2014快速入门.ppt
- [Autocad课件.ppt
- [Axure.ppt
- [AutoCAD20教程.ppt
- [aus.ppt
- 2018-2021年国家开放大学1304管理案例分析期末考试真题.pdf
- 2018-2021年国家开放大学1333古代诗歌散文专题期末考试真题.pdf
- 2018-2021年国家开放大学2129药物化学期末考试真题.pdf
- 北师大版小学数学一年级期末试卷(有答案).pdf
- 2018-2021年国家开放大学1315社会调查方法期末考试真题.pdf
- 2018-2021年国家开放大学2094法理学期末考试真题.pdf
- 2018-2021年国家开放大学2072人文社会科学基础(A)期末考试真题.pdf
- 2018-2021年国家开放大学2705节水灌溉技术期末考试真题.pdf
- 中考语文复习名著导读练习题《西游记》(有答案).pdf
- 苏教版四年级期中模拟考试数学试卷(有答案).pdf
最近下载
- DJI大疆DJI Pocket 2说明书 用户手册.pdf
- (高清版)B-T 41246-2022 项目、项目群和项目组合管理 项目群管理指南.pdf VIP
- (中职)机械基础题库练习题及答案.docx
- 真空制盐工艺设计.doc VIP
- 樱花 入户门智能锁说明书(适用产品:DZ-F11_F3_F1_8288_6188_8021等).pdf
- 志愿者手册-杭州第一人民医院.doc VIP
- 非传统油气资源页岩油气.pdf
- Unit 2 Travelling Around Listening and Speaking (教学课件)-高中英语人教版(2019)必修第一册.pptx VIP
- 2024年公用设备工程师之专业案例(暖通空调专业)考前冲刺模拟试卷B卷含答案.docx VIP
- 2016年山东省游泳锦标赛成绩册.docx
文档评论(0)