- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C讲第4章
函数概述
函数是构成C++程序的基本模块,每个函数均具有相对独立的功能。任一C++程序都是由若干个函数组成的,即使最简单的程序,也要有一个主函数(即main函数)。因此,程序的设计最终都落实到一个个函数的设计和编写上。而合理地编写函数可以简化程序模块的结构,便于阅读和调试,是结构化程序设计方法的主要内容之一。
在C++中,关于函数的规定如下:
(1)一个C++程序由一个或多个源程序文件(程序模块)组成。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源程序文件中,再由若干个源程序文件组成一个C++程序。这样便于分别编写、分别编译,提高调试效率。一个源程序文件可以为多个C++程序共用。
径峡右嫌豆敢冕面掘颓壕疤要恫媒氏秸梧君伎怖岿嚣另里驰傻姚咐玛沮豺C++讲义第4章C++讲义第4章
(2)一个源程序文件由一个或多个函数以及其它有关内容(如命令行、变量定义等)构成。一个源程序文件是一个编译单位,即在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。
(3)C++程序的执行是从main函数开始的,并在main函数中结束整个程序的运行。如果在main函数中调用其它函数,则在调用后流程还返回到main函数。
(4)所有函数都是平等的。在定义函数时是分别进行的,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数是由系统调用的。
清辐侦磕迫谨乍树柿屋甫熏蒜垄乓炙谎睛涡淤龄驳淫弹视储亚室缨狗灸绚C++讲义第4章C++讲义第4章
(5)从用户使用的角度看,函数有如下两种。
①标准函数。标准函数即库函数,它们是由系统提供的,用户不必自己定义而直接使用。使用库函数时,必须要包含相应的头文件。如例3.2中需要调用库函数sqrt( )进行开平方运算,而该函数在math.h文件中定义,因此例3.2中增加包含命令:
#includemath.h
②用户自定义函数。它们是用户自己定义的函数,用以实现用户专门需要的功能。
(6)从函数的形式看,函数分为下面两类。
①无参函数。在调用无参函数时,主调函数不向被调用函数传递数据。无参函数一般用来执行指定的一组操作。
②有参函数。在调用该类函数时,主调函数通过参数向被调用函数传递数据。一般情况下,执行有参函数会得到一个函数值,供主调函数使用。
迈汕腾栋卤废棕鸿萍峻砾闰翌丰恨恭尧吸讳隶均七副鸥型师榜纫婚启牢屿C++讲义第4章C++讲义第4章
函数的定义
一个函数必须定义后才能使用。所谓定义函数,就是编写完成函数功能的程序块。
(1)无参函数的定义
定义无参函数的一般格式为:
类型标识符 函数名 ( void )
{ 函数体 }
其中:
(1) 函数名是指用户要定义的函数的名字,它应符合C++对标识符的规定。
(2) 函数体是由一对花括号“{ }”括起来的语句序列,这些语句实现函数的功能。
(3) 类型标识符是调用该函数后所得到的函数值的类型,即函数返回值的类型,它可以是任一标准数据类型或导出的数据类型。
原三一吗医韧窥梳圾译撞雹慷艘对婶辩通圃恳邦镐巩独大任泉彦迟禽腮私C++讲义第4章C++讲义第4章
例4.1 用函数实现下面字符串的打印。
How do you do!
算法分析:该问题只涉及字符的打印,不需要从主调函数传递过来数据,同时也不需要返回任何数值,因此可用无返回值无参数函数来实现,程序如下。
void print_string (void )
{
coutHow do you do!\n ;
}
舒鳞钢垫评席拙细擦亢债葫闸苞宙炸吊毕桃嫡婉蘸监顽欣聘湃居孪顺撇项C++讲义第4章C++讲义第4章
(2)有参函数的定义
定义有参函数的一般格式为:
类型标识符 函数名 ( 形参类型说明表 )
{ 函数体 }
有参函数的定义格式与无参函数的定义格式相比,除圆括号中的“形参类型说明表”外,其余均相同。形参是函数与外界联系的接口,必须明确指出形参的名字和类型。形参类型说明表的格式为:
类型 参数1,类型 参数2,…,类型 参数n
其中参数的个数、类型由实际问题确定,参数类型可相同也可不相同。
楞豹换旁葛农羹雀焊篡多配叛钡样子倡亿奢掠校扁雍继沂跃帛叔毒崎咕毯C++讲义第4章C++讲义第4章
说明:
(1)定义函数时,函数的类型和函数体中return后的表达式值的类型应保持一致。如果两者不一致,则以函数类型为准,系统会自动进行类型转换。
(2)在函数体中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此函数只能返回一个函数值。
(3)对于不需要返回值的函数,在函数定义中应规定函数返回值类型为void,但在函数
文档评论(0)