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

《程序设计》 cs. stu20119 第6章过程封装一—函数 令函数 重载函数 冷自己绵写函数 函数模版 冷函数的使用 变量的作用域 冷数组作为参数 变量的存储类别 冷带默认值的函数☆递归函数 冷内联函数 冷基于递归的算法 程序设计-1
《程序设计》 cs.sjtu 2011.9 程序设计 - 1 第6章 过程封装--函数 ❖ 函数 ❖ 自己编写函数 ❖ 函数的使用 ❖ 数组作为参数 ❖ 带默认值的函数 ❖ 内联函数 ❖ 重载函数 ❖ 函数模版 ❖ 变量的作用域 ❖ 变量的存储类别 ❖ 递归函数 ❖ 基于递归的算法

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

《程序设计》 cs. stu20119 第6章过程封装一—函数 令函数 重载函数 冷自己绵写函数 函数模版 冷函数的使用 变量的作用域 冷数组作为参数 变量的存储类别 冷带默认值的函数☆递归函数 冷内联函数 冷基于递归的算法 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 3 第6章 过程封装--函数 ❖ 函数 ❖ 自己编写函数 ❖ 函数的使用 ❖ 数组作为参数 ❖ 带默认值的函数 ❖ 内联函数 ❖ 重载函数 ❖ 函数模版 ❖ 变量的作用域 ❖ 变量的存储类别 ❖ 递归函数 ❖ 基于递归的算法

《程序设计》 cs.stu20119 如何写一个函数 冷函数定义 类型标识符函数名(形式参数表) 变量定义部分 语句部分 函数体 冷函数的返回值:返回值类型应与定义中的类型标识符 一致。C++的函数只能有一个返回值。 return返回值;或 return(返回值) eg int max(int a, int b) fif (a>b) return (a) else return(b) 冷表示一个函数没有返回值,类型标识符用vod。没有 返回值的函数也称为过程 程序设计-4
《程序设计》 cs.sjtu 2011.9 程序设计 - 4 如何写一个函数 ❖ 函数定义 ❖ 函数的返回值:返回值类型应与定义中的类型标识符 一致。C++的函数只能有一个返回值。 ❖ 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 类型标识符 函数名(形式参数表) { 变量定义部分 语句部分 } return 返回值; 或 return(返回值); eg. int max(int a, int b) {if (a>b) return(a) else return(b); } 函数体

《程序设计》 cs.stu20119 函数的命名 令函数名是一个标识符,符合标识符命名 规范 令函数名要有意义 函数名一般是一个动词短语,表示函数 的行为 程序设计-5
《程序设计》 cs.sjtu 2011.9 程序设计 - 5 函数的命名 ❖ 函数名是一个标识符,符合标识符命名 规范 ❖ 函数名要有意义 ❖ 函数名一般是一个动词短语,表示函数 的行为

《程序设计》 cs.stu20119 函数举例 无参数、无返回值的函数 打印一个由五行组成的三角形 void printstaro d cout<<“n k☆k☆ cout<<“mn”; Aaaaaa cout<<“n”,; Ran cout<<“实实头装兴n” C0ut<<“兴mn”; 程序设计-6
《程序设计》 cs.sjtu 2011.9 程序设计 - 6 函数举例— 无参数、无返回值的函数 ❖ 打印一个由五行组成的三角形 * *** ***** ******* ********* void printstar() { cout << “ *\n”; cout << “ ***\n”; cout << “ *****\n”; cout << “ ********\n”; cout << “**********\n”; }

函数举例 《程序设计》 cs.stu20119 有参数、无返回值的函数 令打印一个由n行组成的三角形 void printstar(int numofLine I int i,j; for(i=1; i <= numOfLine, ++i)t cout < end for〔=1j<= numofLine -;++j)cout<‘ for(=1j<=2*i-1;++j)cout<<“*”; 程序设计-7
《程序设计》 cs.sjtu 2011.9 程序设计 - 7 函数举例— 有参数、无返回值的函数 ❖ 打印一个由n行组成的三角形 void printstar(int numOfLine) { int i , j; for (i = 1; i <= numOfLine; ++i) { cout << endl; for (j = 1; j <= numOfLine - i; ++j) cout << ‘ ‘; for (j = 1; j <= 2 * i - 1; ++j) cout << “*”; } }

《程序设计》 cs.stu20119 函数举例 无参数、有返回值的函数 从终端获取一个1-10之间的整型数 int getInput( int num: while(true)i cIn > num; if (num >=1 & num <=10)return num; 程序设计-8
《程序设计》 cs.sjtu 2011.9 程序设计 - 8 函数举例— 无参数、有返回值的函数 ❖ 从终端获取一个1 – 10之间的整型数 int getInput() { int num; while (true) { cin >> num; if (num >= 1 && num <= 10) return num; } }

《程序设计》 cs.stu20119 函数举例 有参数、有返回值的函数 冷计算n int p(int n) int s=1 if (n<0)return(O); for(i=1;i<=n; ++i) s=1; return(s); 程序设计-
《程序设计》 cs.sjtu 2011.9 程序设计 - 9 函数举例— 有参数、有返回值的函数 ❖ 计算n! int p(int n) { int s=1, i; if (n < 0) return(0); for (i = 1; i <= n; ++i) s *= i; return(s); }

函数举例 《程序设计》 cs.stu20119 返回布尔量的函数 判断某一年是否为润年的函数 bool IsLeapYear(int year) bool leapyear; leapyear =((year %4==0)&& year % 100=0)) l year%400==0); return(leapyear) 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 10 函数举例— 返回布尔量的函数 ❖ 判断某一年是否为润年的函数 bool IsLeapYear(int year) { bool leapyear; leapyear = (((year %4 == 0) &&(year % 100 != 0)) || (year % 400 == 0); return (leapyear); }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《3ds Max》教学资源(PPT课件)第4章 基本三维模型的创建.ppt
- 南京大学:复杂系统学习(PPT课件讲稿)佩特里网 Petri Nets.pptx
- 香港科技大学:《软件开发》教学资源(PPT课件讲稿)Functions.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第二章 Windows XP操作系统.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第五章 设备管理.ppt
- 山东大学:语音识别技术(PPT课件讲稿)自动语音识别 Automatic Speech Recognition.pptx
- 数据集成 Data Integration(PPT讲稿)成就与展望 Achievements and Perspectives.ppt
- 北京师范大学:拓扑序及其量子相变(PPT课件讲稿)Topological Order and its Quantum Phase Transition.ppt
- 计算机系教学资源(PPT课件讲稿)信息安全与保密技术.ppt
- 汤姆森 Thomson:利用Web of Knowledge对课题进行检索、分析、跟踪、管理.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第九章 定时/计数器8253.pptx
- 同济大学:聚类分析(PPT课件讲稿)Cluster Analysis.pptx
- 《数字图像处理学》课程教学资源(PPT课件讲稿)第2章 图像、图像系统与视觉系统.pptx
- 四川大学:《软件测试与维护基础教程》课程教学资源(PPT课件讲稿)软件测试工具 Software Testing Tool.ppt
- B-树、散列技术、散列表的概念、散列函数的构造方法、处理冲突的方法、散列表上的运算.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)对象序列化和持久化 Object Serialization and Persistence.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第十章 下一代因特网.ppt
- 《网络编程实用教程(第三版)Network Application Programming》课程教学资源(PPT课件讲稿)第1章 概述.ppt
- 武昌理工学院(武汉科技大学中南分校):Windows 2000/XP网络组建与系统管理(PPT课件讲稿,主讲:李燕).ppt
- 《计算机导论》课程教学资源(PPT课件讲稿)第3章 计算机发展史和计算思维.pptx
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.4 Monitors 5.5 Message Passing 5.6 Readers/Writers Problem.ppt
- 清华大学:An Efficient Trie-based Method for Approximate Entity Extraction with Edit-Distance Constraints.pptx
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈与队列.ppt
- 《计算机网络与因特网 Computer Networks and Internets》课程教学资源(PPT课件讲稿)Part II 物理层(信号、媒介、数据传输).ppt
- 合肥工业大学:《网络安全概论》课程教学资源(PPT课件讲稿)第2讲 密码学简介(主讲:苏兆品).ppt
- 长春大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识(崔天明).ppt
- 《Java网站开发》教学资源(PPT讲稿)第9章 过滤器和监听器技术.ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第2章 计算机网络应用.ppsx
- 清华大学:A Feature Weighting Method for Robust Speech Recognition(Speech Activities in CST).ppt
- 西安电子科技大学:《神经网络与模糊系统》课程教学资源(PPT课件讲稿)Chapter 6 结构和平衡 Architecture and Equilibria.ppt
- 北京大学:人工神经网络(PPT课件讲稿)Artificial Neural Networks,ANN.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第4章 处理器(CPU).ppt
- 吉林大学:《C语言》课程教学资源(PPT课件讲稿)第6章 利用数组处理批量数据.ppt
- 《Vb程序设计教程》课程教学资源(PPT课件讲稿)第三章 VB语言基础.pps
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第七章 高级汇编语言技术(主讲:李敬兆).ppt
- 《软件质量与测试》课程教学资源(PPT大纲课件,目录版).pptx
- 香港理工大学:Discovering Classification Rules.ppt
- 北京科技大学:物联网知识体系和学科建设(PPT讲稿,王志良).ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)傅里叶分析与卷积 Fourier Analysis and Convolution.pptx
- 沈阳理工大学:《单片机C语言应用程序设计》课程PPT教学课件(单片机C语言编程)04 C51编程设计(廉哲).pptx