第6章136 过程封装-函数.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章136 过程封装-函数

第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数 函数的用途 函数是程序设计语言中最重要的部分,是模块化设计的主要工具。每一个C++程序都要用到函数。 即使你自己不定义新的函数, 在每一个完整的C++程序中都必须有一个main() 函数。 在C++语言中,字符处理、字符串处理和数学计算都是用函数的方式提供的。 第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数 如何写一个函数 函数定义 函数的返回值:返回值类型应与定义中的类型标识符一致。C++的函数只能有一个返回值。 表示一个函数没有返回值,类型标识符用void。没有返回值的函数也称为过程 函数的命名 函数名是一个标识符,符合标识符命名规范 函数名要有意义 函数名一般是一个动词短语,表示函数的行为 函数举例— 无参数、无返回值的函数 打印一个由五行组成的三角形 函数举例— 有参数、无返回值的函数 打印一个由n行组成的三角形 函数举例— 无参数、有返回值的函数 从终端获取一个1 – 10之间的整型数 int getInput() { int num; while (true) { cin num; if (num = 1 num = 10) return num; } } 函数举例— 有参数、有返回值的函数 计算n! 函数举例— 返回布尔量的函数 判断某一年是否为润年的函数 第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数 函数的声明 所有函数在使用前必须被声明,以便让编译器知道用户的用法是否正确。 函数声明包括下列内容: 函数名 函数的参数类型 函数的返回类型 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); 参数表中的每个参数说明可以是类型,也可以是类型后面再接一个参数名。如: int max(int, int); int max(int a, int b); 函数说明规则 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型说明。 函数原型说明与函数首部写法上需要保持一致,即函数类型、函数名、参数个数和参数顺序必须相同。 如果被调函数的定义在主调函数之前,可以不必加声明。 如果在所有函数定义之前,在函数外部已经做了函数声明,则在主调函数中无须再作声明。 函数调用 函数调用 函数调用 函数调用形式 函数名(实际参数表) eg. max( x, y); 注意: 形式参数和实际参数的个数、排列次序、类型要完全相同。 实际参数可以是常量、变量、表达式,甚至是另一个函数调用 传递方式:值传递 值传递:函数获得了主调程序参数变量值的拷贝。被调程序可以改变这些拷贝,但这对主调程序的环境没有影响。 函数调用 调用方式 函数执行过程 在主程序中计算每个实际参数值 用实际参数值初始化形式参数 依次执行函数体的每个语句,直到遇见return语句或函数体结束 计算return后面的表达式的值,用表达式的值构造一个临时变量 回到调用函数,用临时变量置换函数调用,继续主程序的执行 函数执行过程 第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数 数组作为函数的参数 设计一函数,统计10位同学的平均成绩 设计考虑:如何传递参数 参数是10位同学的考试成绩,可以用10个整型数来表示。所以有10个整型的形式参数 一组同类数据可以用一个数组来描述,所以参数也可以是一个10个元素的整型数组 第二种方法更加简练 返回值是平均成绩 统计函数的实现 int average(int array[10]) { int i, sum = 0; for (i = 0; i 10; ++i) sum += array[i]; return sum / 10; } average函数的使用 int main() { int i, score[10]; cout 请输入10个成绩: endl; for ( i = 0; i 10; i++) cin score[i]; cout 平均成绩是: average(score) endl; return 0; } 一个有趣的现象 在函数average的return语句前增加一个对array[3]赋值的语句,如array[3] = 90。 在main函数的average函数调用后,即return语

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档