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

《程序设计》2007.9 第6章过程封装一一函数 %函数 重载函数 自己编写函数 函数模版 函数的使用 变量的作用域 引用参数 变量的存储类别 带默认值的函数 递归函数 内联函数 模块化的设计 程序设计-1
《程序设计》 2007.9 程序设计 - 1 v 函数 v 自己编写函数 v 函数的使用 v 引用参数 v 带默认值的函数 v 内联函数 v 重载函数 v 函数模版 v 变量的作用域 v 变量的存储类别 v 递归函数 v 模块化的设计

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

《程序设计》2007.9 函数的例子 我们可以将像sin那 sin(x) 样的函数想象成一个 黑盒子,或一个小机 X 器。如果你在它的上 面放入一个“值”, 在它的下面就会掉出 90 “结果” 上面的值称为参数, sin 下面的值称为返回值 1.0 程序设计-3
《程序设计》 2007.9 程序设计 - 3 v 我们可以将像sin那 样的函数想象成一个 黑盒子,或一个小机 器。如果你在它的上 面放入一个“值” , 在它的下面就会掉出 “结果” v 上面的值称为参数, 下面的值称为返回值

《程序设计》2007.9 调用函数的一个例子 如果我们改变了 sin(x) 输入的参数,函 数就能返回不同 X 的值。 函数的参数可以 alpha=90° 是常数、变量或 120° alpha alpha 3 arguments 表达式。 图中我们将调用 4次sin的结果加起 来,并将其和存 1.0 0.866 1.0 return values 入变量total中。 total sin(90)+sin(120)+sin(alpha)+sin(alpha 3)
《程序设计》 2007.9 程序设计 - 4 v 如果我们改变了 输入的参数,函 数就能返回不同 的值。 v 函数的参数可以 是常数、变量或 表达式。 v 图中我们将调用 4次sin的结果加起 来,并将其和存 入变量total中

《程序设计》 2007.9 以函数形式模块化构建程序 C++标准库提供的函数集合可以进行: 常用数学计算 字符串操作 字符操作 输人输出 错误检查 目的: 使程序员的工作更加轻松,因为这些函数 提供了程序员需要的许多功能。C++标准库函数 是在C++编程环境中提供的。 程序设计-5
《程序设计》 2007.9 程序设计 - 5 C++标准库提供的函数集合可以进行: v 常用数学计算 v 字符串操作 v 字符操作 v 输人/输出 v 错误检查 目的: 使程序员的工作更加轻松,因为这些函数 提供了程序员需要的许多功能。C++标准库函数 是在C++编程环境中提供的

cmath的主要内容 《程序设计》2007.9 绝对值函数 int abs(int x);double fabs(double x) ex double exp(double x) Xy double pow(double x,double y) x double sqrt(double x) In x double log(double x) 10g10X double log10(double x) 三角函数 double sin(double x) double cos(double x) double tan(double x) 反三角函数 double asin(double x) double acos(double x) double atan(double x) rasns -6
《程序设计》 2007.9 程序设计 - 6 绝对值函数 int abs(int x) ; double fabs(double x) e x double exp(double x) xy double pow(double x, double y) double sqrt(double x) ln x double log(double x) log10x double log10(double x) 三角函数 double sin(double x) double cos(double x) double tan(double x) 反三角函数 double asin(double x) double acos(double x) double atan(double x) x

《程序设计》2007.9 第6章过程封装一一函数 %函数 重载函数 自己编写函数 函数模版 函数的使用 变量的作用域 引用参数 变量的存储类别 带默认值的函数 递归函数 内联函数 模块化设计 程序设计-7
《程序设计》 2007.9 程序设计 - 7 v 函数 v 自己编写函数 v 函数的使用 v 引用参数 v 带默认值的函数 v 内联函数 v 重载函数 v 函数模版 v 变量的作用域 v 变量的存储类别 v 递归函数 v 模块化设计

《程序设计》2007.9 如何写一个函数 函数定义 类型标识符 函数名(形式参数表) 形式参数说明 {说明部分 语句部分 函数体 函数的返回值:返回值类型应与定义中的类型标识符 一致 return 返回值;或return(返回值); eg.int max(a,b) int a,b; fif (a>b)return(a)else return(b); 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 程序设计-8
《程序设计》 2007.9 程序设计 - 8 v 函数定义 v 函数的返回值:返回值类型应与定义中的类型标识符 一致 v 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 类型标识符 函数名(形式参数表) 形式参数说明 {说明部分 语句部分 } return 返回值; 或 return(返回值); eg. int max(a, b) int a,b; {if (a>b) return(a) else return(b); } 函数体

《程序设计》2007.9 函数举例 无参数、无返回值的函数 打印一个由五行组成的三角形 void printstar() 兴 兴兴光 Cout<<“ *n”; 兴光兴米兴 Cout<<“***n”; 兴兴光兴兴兴兴 c0ut<<“*****n”; 兴光兴兴兴兴兴兴兴 C0ut<<“******n”; C0ut<<“**********n 程序设计-9
《程序设计》 2007.9 程序设计 - 9 函数举例— 无参数、无返回值的函数 v 打印一个由五行组成的三角形 * *** ***** ******* ********* void printstar() { cout << “ *\n”; cout << “ ***\n”; cout << “ *****\n”; cout << “ ********\n”; cout << “**********\n”; }

函数举例 《程序设计》2007.9 有参数、无返回值的函数 必打印一个由n行组成的三角形 void prina(mOfLine) int nunOfLine; void printstar(int numOfLine) { inti,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) c0ut<“*”; 程序设计-10
《程序设计》 2007.9 程序设计 - 10 函数举例— 有参数、无返回值的函数 v 打印一个由n行组成的三角形 void printstar(int numOfLine) void printstar(numOfLine) int nunOfLine; { 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 << “*”; } }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《程序设计基础》课程教学资源(PPT课件讲稿)第4-5章 控制结构.ppt
- 上海交通大学:《程序设计基础》课程教学资源(PPT课件讲稿)第1-2章 计算机简介、C++编程入门.ppt
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Sample Exam Questions_Midterm 2008 sample.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Sample Exam Questions_midterm 2 sample solution.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Recitation Notes_recitation 14.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Recitation Notes_Recitation 11.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Other Resources_intrduction to computer and programming with C++ and MATLAB.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment13.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment12.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment11.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment 14.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment 10_1.pdf
- 上海交通大学:《程序设计基础》课程教学讲义(密西根学院)Assignments_assignment 10.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_VIII.结构体与共用体.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_VII.指针.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_VI.编译预处理.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_V.数组.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_IX.文件.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_IV.函数和程序结构.pdf
- 上海交通大学:《程序设计基础》课程教学资源(习题集)C语言_III.流程控制.pdf
- 上海交通大学:《程序设计基础》课程教学资源(PPT课件讲稿)第7章 数组.ppt
- 上海交通大学:《程序设计基础》课程教学资源(PPT课件讲稿)第8章 间接访问——指针.ppt
- 上海交通大学:《程序设计基础》课程教学资源(PPT课件讲稿)第9章 数据封装——结构体.ppt
- 上海交通大学:《计算机硬件技术》课程PPT教学课件(计算机概论,孙德文).ppt
- 上海交通大学:《理论力学》课程教学资源(PPT讲稿)平面矢量.ppt
- 中华人民共和国国家标准(GB/T8567一2006 代替GB/T8567-1988)计算机软件文档编制规范 Specification for computer software documentation.pdf
- 《软件工程概论》课程教学资源(参考资料)Guide to the Software Engineering Body of Knowledge(SWEBOK)Version 3.0.pdf
- 《软件工程概论》课程教学资源(参考资料)软件工程知识体系指南(2004版).pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)第1章 Introduction of software testing.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)第3章 Test environment and tools.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)第2章 Prerequisites Mathematics knowledge of software test.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)第4章 Fundamental theory and methods of software test.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)Chapter 2 fundamentals of software test.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)chapter 1 Introduction of software testing.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)教学大纲(高级软件测试).doc
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)chapter 3 Test environment and tools.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)Chapter 2 fundamentals of software test.pdf
- 上海交通大学:《软件测试与质量控制》课程教学资源(课件讲稿)chapter 4 test case generation 1.pdf
- 上海交通大学:《面向对象分析与设计 Object Oriented Analysis and Design》课程教学资源(PPT课件讲稿)01 Introduction to Object Technology.ppt
- 上海交通大学:《面向对象分析与设计 Object Oriented Analysis and Design》课程教学资源(PPT课件讲稿)02 Introduction to Visual Modeling.ppt