程序设计+第04章+函数.pptVIP

  • 0
  • 0
  • 约9.66千字
  • 约 38页
  • 2018-04-15 发布于河南
  • 举报
程序设计第04章函数

第四章 函数 ·函数的声明与调用 ·参数传递方式 ·标识符的作用域 ·变量的生存期 ·递归程序设计 ·C++语言常用库函数 §4.1 C++语言的函数 一、函数的建立与使用 函数的建立 函数声明:定义函数的名字、执行的语句序列、传递和使用的数据参数、返回值等; 函数的使用 函数调用:指明函数去“做什么” ; 函数调用的控制流程:如右图 P82 程序4.1.1 #include iostream.h float max(float x, float y) { float z; // 求两个数的最大值 ? if (x = y) z = x; else z = y; return z; } ? int main() { float i, j, k; // 用户输入的三个数 float temp; // 临时最大者 cout Input 3 numbers please: ; cin i j k; // 用户输入三个数 // 找出最大数存放在temp中 temp = max(i, j); // main()是主调函数,max(…)是被调函数 temp = max(temp, k); // 输出找到的最大数 cout The maximum number is temp \n; return 0; } 3. 说明 C++语言中,函数是平行的,相互独立。一个函数不从属于另一个函数,即函数不能嵌套定义 例: fun1( ) { …… fun2( ) {…… } …… } 这是不合法的,无法通过编译 从函数声明的角度看: 标准函数(库函数):由C++语言的集成 开发环境提供,存放在库(Library) 函数 中,用户在链接相应的库函数头文 件后便可以直接使用。 用户自定义的函数 从函数的形式看: 无参函数:调用该函数时,主调函数不需 函数 要将数据传递给被调用函数,只执 行指定的一组操作 有参函数:主调需传递数据给被调函数 §4.2 函数的声明与调用 一、函数声明 函数声明(函数的定义性声明) 函数类型 函数名(形式参数表) { 说明部分(变量声明) 语句部分 } 函数声明 函数类型 指函数返回值的数据类型,由return语句获得: float max(float x, float y) { return xy?x:y; } 若函数定义时没有说明函数类型,则缺省认为函数返回类型是int main() {……} 若函数无返回值,则应明确定义函数类型为void void handle( ) { …… } 函数名 是标识符 函数名后一定要有一对圆括号( ),这是函数的标志,使函数与其他标识符名区分开来 形式参数 用于接收从主调函数传给这个函数的数据 一般形式: (数据类型 变量1,数据类型 变量2,……) 形参个数不受限制 函数体 声明部分:用于声明在函数中使用到的变量 语句部分:在函数中用于实现某项任务的语句序列 空函数:函数体为空(没有语句,但{ }不能省略) 二、函数调用 函数调用的一般形式:当作表达式使用 函数名(实际参数表) 实际参数 出现在函数调用表达式中,是函数调用时,实际使用的参数 一般形式:(表达式1,表达式2,……) 实际参数表是用逗号分隔的表达式列表,其中每一个表达式称为实际参数,有时也简称为实参。 在函数调用时,需要将实际参数的值传送给对应位置的形式参数 实际参数与形式参数必须一一对应,位置、个数以及数据类型都匹配 例:p82 程序4.1.1 例:调用power(int n, int k)函数 void main() { int n1, k1, p; char ch = y; do { coutinput n and k : ; cinn1k1; if (n10 || k10) continue; p = power(n1,k1); coutThe power is :p\n; coutAgain (Y or N) ?; cinch; } while (ch==y || ch==Y); } 2. 函数调用表达式 函数调用作为一个表达式,其类型是函数返回值的类型 函数调用可用于任何表达式可以出现的地方 例1:if (max(i,j)k) …… 例2:temp = max( max(i,j), k ); 3. 函数的嵌套调用:在调用一函数的过程中,又调用另一函数 C++允许函数的嵌套调用 不允许函数的嵌套定义 4. 对被调用函数的声明和函数原型 函数使用

文档评论(0)

1亿VIP精品文档

相关文档