上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第六章 过程封装——函数

第6章过程封装一一函数 函数 重载函数 自己编写函数 函数模版 函数的使用 变量的作用域 数组作为参数 变量的存储类别 带默认值的函数 递归函数 e 内联函数 基于递归的算法 司 loccs
第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数

图 函数的用途 函数是程序设计语言中最重要的部分,是模块 化设计的主要工具。每一个C++程序都要用到 函数。 即使你自己不定义新的函数,在每一个完整的 C+程序中都必须有一个main()函数。 在C++语言中,字符处理、字符串处理和数学 计算都是用函数的方式提供的。 司 LoCCS
函数的用途 函数是程序设计语言中最重要的部分,是模块 化设计的主要工具。每一个C++程序都要用到 函数。 即使你自己不定义新的函数, 在每一个完整的 C++程序中都必须有一个main() 函数。 在C++语言中,字符处理、字符串处理和数学 计算都是用函数的方式提供的

图 第6章过程封装一一函数 国 函数 ■重载函数 自己编写函数 函数模版 函数的使用 ■变量的作用域 ©数组作为参数 ■变量的存储类别 带默认值的函数 ■递归函数 内联函数 ■基于递归的算法 司 LoCCS
第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数

函数的声明 所有函数在使用前必须被声明,以便让编译器知道 用户的用法是否正确。 函数声明包括下列内容: ·函数名 ·函数的参数类型 ·函数的返回类型 © 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); int max(int,int); int max(int a,int b); 司 LoCCS
函数的声明 所有函数在使用前必须被声明,以便让编译器知道 用户的用法是否正确。 函数声明包括下列内容: • 函数名 • 函数的参数类型 • 函数的返回类型 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); int max(int, int); int max(int a, int b);

③ 函数的定义 函数定义 返回类型 函数名(形式参数表) { 语句部分 函数体 函数的返回值类型应与定义中的类型标识符一致。 C+的函数只能有一个返回值。 return返回值;或return(返回值); 例如:int max(inta,intb) if (a>b)return(a)else return(b); 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 司 LoCCS
函数的定义 函数定义 函数的返回值类型应与定义中的类型标识符一致。 C++的函数只能有一个返回值。 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 返回类型 函数名(形式参数表) { 语句部分 } return 返回值; 或 return(返回值); 例如: int max(int a, int b) {if (a>b) return(a) else return(b); } 函数体

③ 函数的命名 函数名是一个标识符,符合标识符命名规范 函数名要有意义 ©函数名一般是一个动词短语,表示函数的行为 司 LoCcS
函数的命名 函数名是一个标识符,符合标识符命名规范 函数名要有意义 函数名一般是一个动词短语,表示函数的行为

函数说明规则 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型说明。 函数原型说明与函数首部写法上需要保持一致, 即函数类型、函数名、参数个数和参数顺序必 须相同。 如果被调函数的定义在主调函数之前,可以不 必加声明。 如果在所有函数定义之前,在函数外部已经做 了函数声明,则在主调函数中无须再作声明。 LoCCS
函数说明规则 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型说明。 函数原型说明与函数首部写法上需要保持一致, 即函数类型、函数名、参数个数和参数顺序必 须相同。 如果被调函数的定义在主调函数之前,可以不 必加声明。 如果在所有函数定义之前,在函数外部已经做 了函数声明,则在主调函数中无须再作声明

③ 函数调用 #include 函数声明 int max(int a,int b); mainO) { int x,y; 函数调用 cin >x>>y; cout <max(x +5,y-3); 3 int max(int a,int b) 函数定义 if (a b)return(a);else return(b); 3 LoCcS
函数调用 #include int max(int a, int b); main() { int x, y; cin >> x >> y; cout b) return(a); else return(b); } 函数声明 函数调用 函数定义

③ 函数调用 #include 函数实现,无 须函数声明 int max(int a,int b) { if (a b)return(a);else return(b); mainO 函数调用 { int x,y; cin >>x>>y; cout <max(x+5,y-3); 3 司 LoCcS
函数调用 #include int max(int a, int b) { if (a > b) return(a); else return(b); } main() { int x, y; cin >> x >> y; cout << max(x + 5, y - 3); } 函数调用 函数实现,无 须函数声明

图 函数举例一 无参数、无返回值的函数 ©打印一个由五行组成的三角形 void printstarO 兴 { 兴兴兴 c0ut<<“*n”; 光光光光光 C0ut<<“***n”; 兴光光兴光光光 C0ut<<“****n”; 光光光光光光兴光水 C0ut<<“********n”; C0ut<<“**********n”; 3 LoCCS
函数举例— 无参数、无返回值的函数 打印一个由五行组成的三角形 * *** ***** ******* ********* void printstar() { cout << “ *\n”; cout << “ ***\n”; cout << “ *****\n”; cout << “ ********\n”; cout << “**********\n”; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第五章 批量数据处理——数组.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第二章 通过例子学习.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第三章 分支程序设计.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第七章 间接访问——指针.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)函数指针的应用、气泡排序法.pptx
- 《机器学习与知识发现》教学资源:Linear Algebra Review and Reference.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)09 机器学习.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)08 数据可视化.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)07 数据科学方法学.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)06 数据统计初步.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)05 数据收集.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)04 数据分析入门.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)03 Python简介.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)02 数据科学的应用.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)10 TensorFlow-深度学习实践.pdf
- 《数据科学引论——Python之道》课程教学资源(教案讲义)01 什么是数据科学.pdf
- 《数据科学引论——Python之道》课程教学资源(课件讲稿)09 机器学习.pdf
- 《数据科学引论——Python之道》课程教学资源(课件讲稿)08 数据可视化.pdf
- 《数据科学引论——Python之道》课程教学资源(课件讲稿)07 数据科学方法学(2/2).pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)第四章 循环控制.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第10章 计算机病毒的防范技术.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第11章 常用杀毒软件及其解决方案.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第12章 计算机病毒防治策略.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第01章 计算机病毒概述(刘功申).ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第02章 计算机病毒理论模型.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第03章 计算机病毒结构及技术分析.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第04章 传统计算机病毒.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第05章 特洛伊木马(Trojan horse).ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第06章 宏病毒.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第07章 Linux病毒技术.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第08章 移动智能终端恶意代码.ppt
- 上海交通大学:《恶意代码与计算机病毒(原理、技术和实践)》课程教学资源(PPT课件)第09章 新型计算机病毒.ppt
- 上海交通大学:《高级计算机系统结构》课程教学资源(讲稿).pdf
- 计算机系统结构课程教材:计算机科学丛书《深入理解计算机系统》【兰德尔E.布莱恩特、大卫R.奥哈拉伦】原书第三版(中文版)PDF电子书(共十二章)Computer Systems A Programmer's Perspective.pdf
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第十章 文件、外部排序与外部搜索.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第四章 数组、串与广义表.ppt