- 27
- 0
- 约2.11万字
- 约 74页
- 2019-03-08 发布于天津
- 举报
C++语言程序设计 林桂明 教学目的及重点难点 1.掌握函数的一般结构及函数的定义方法; 2.掌握两种形式的函数调用(表达式中的函数调用和语句中的函数调用),掌握函数调用过程中参数传递的原理; 3.了解局部变量、全局变量和变量的存储类型的概念; 4.掌握函数重载的方法; 5.掌握内联函数的含义与使用; 6.熟悉常用的字符串操作函数; 7.了解函数和变量的作用域与生存期; 5.1 函数定义 什么是函数 C++中把由相关的语句组织在一起、有自己的名称、实现独立功能、能在程序中使用的这种程序块称为函数。 C++函数与函数之间通过输入参数和返回值(输出)来联系。可以把函数看作是一个“黑盒”,除了输入输出,其他什么也看不见。 函数的分类: 5.1 函数定义 (一)函数的定义 一般语法格式: 5.1 函数定义 2、函数的返回值 函数的返回值就是函数执行后带回的一个结果。它通过函数体中的return语句获得。无返回值的函数(void类型),不必写return语句。 return语句的一般格式如下: return 表达式; 或 return(表达式); 其功能是将表达式的值作为函数的返回值并带回主调函数。同时将程序的控制权由被调用函数转给调用函数。 5.1 函数定义 例:编写一个函数,以整型数作为形参,当该参数为奇数时返回false,而当该参数为偶数时返回true。 5.2 函数调用 (二)函数的调用 在一个函数a中调用另一函数b时,我们称函数a为主调函数,函数b为被调函数。 (1) 函数调用 函数调用就是对已定义函数的具体应用。一般形式如下:函数名(实参列表); 实参是用来在调用函数时对形参进行初始化的,其形式可以是常量、变量、表达式、函数调用等。但其值必须是确定的。实参与形参个数相等,类型一致,按顺序一一对应,如果实参表列包含多个实参,则各参数间用逗号隔开。如上面例中的 c=max(a,b); 函数调用的方式:按函数在程序中出现的位置来分,可以有以下三种: ① 函数语句:把函数调用作为一个语句。通常用于不带返回值的函数。 例:print(5); ② 函数表达式:函数出现在一个表达式中。要求函数带回一个确定的值以参加表达式的运算。 例:c = max(a,2*b); ③ 函数参数:函数调用作为另一个函数的实参。 例:d = max( max(a,b), c ); 5.2 函数调用 函数调用过程 设程序p1具有三个函数,main(),f1(),f2() ,其调用关系是main函数调用f1函数,f1函数调用f2函数,程序如下: 5.2 函数调用 例:编写程序,求5!+7!+9! 5.3 函数原型 (三) 函数原型 如果被调函数定义出现在主调函数之后,则要先声明被调用函数,这种声明称为函数原型。被调用函数定义出现在主调函数之前则不用声明。 ①函数原型:是对已经定义的函数的概要描述,告诉编译系统函数类型、参数个数及类型,以便检验。 函数原型是一条程序语句,它由函数头部和分号组成, 形式为: 函数类型 函数名(形参列表); 应当保证函数原型与函数头部写法上的一致,即函数类型、函数名、参数个数、参数类型和参数顺序必须相同。 函数原型说明有两种形式: a、直接使用函数定义的头部,并在后面加上一个分号; 例:函数max的函数原型为:float max(float x,float y); b、在函数原型说明中省略参数列表中的形参变量名。 例:函数max的函数原型为:float max(float ,float ); 5.3 函数原型 #include iostream.h float max(float x,float y); void main( ) { …… c = max(a,b); …… } float max(float x,float y) { …… } ② 函数声明和函数定义的区别:这是两个完全不同的概念,有本质区别。 a、函数的定义是编写一段程序,有函数体;而函数的声明只是一个说明,不含具体的执行动作。 b、在程序中,函数的定义只能有一次,而函数的声明可以有多次。 5.4 函数参数 (四)函数参数 函数使用时,主调函数和被调用函数之间经常有数据传递关系。这种数据传递是通过函数参数的传递来实现的。 (1)形参与实参 形式参数:定义函数时函数名后面括号中的变量名; 实际参数:调用函数时函数名后面括号中的表达式; 说明: 实参必须有确定的值; 形参必须指定类型; 形参与实参类型一致,个数相同; 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放。 5.4 函数参数 (2)参数的传递 C++有两种向函数传递参数的办法:传值、传地址。 1)传值
您可能关注的文档
- 2019年A类班级能力提高阶段——学习策略教改报告.doc
- 2019年B.重点专项目标考核办法.doc
- 2019年B1包、财务软件.doc
- 2019年B2C电子商务中的信用风险分析及对策.doc
- 2019年B4包、医疗信息系统升级改造.doc
- 2019年B5包、山东省物联网产品质检中心实验室信息管理系统.doc
- 2019年BD-EIP综合管理平台功能清单.doc
- 2019年BEASCarShow——品车·品酒·品音乐1912时尚夜车展策.ppt
- 2019年BeautyIsMoney-生技产业在美容市场的商机-.ppt
- 2019年BeihangSoftwareCollege程建群博士(Dr.JasonCheng).ppt
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
原创力文档

文档评论(0)