收藏 分享(赏)

面向对象程序设计第1章(2).ppt

上传人:dreamzhangning 文档编号:3364605 上传时间:2018-10-18 格式:PPT 页数:26 大小:412.50KB
下载 相关 举报
面向对象程序设计第1章(2).ppt_第1页
第1页 / 共26页
面向对象程序设计第1章(2).ppt_第2页
第2页 / 共26页
面向对象程序设计第1章(2).ppt_第3页
第3页 / 共26页
面向对象程序设计第1章(2).ppt_第4页
第4页 / 共26页
面向对象程序设计第1章(2).ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、1,声明使用本课件至少128M内存,并使用office 2000以上版本或使用自带播放工具pptview。使用本课件请配合选用人民邮电出版社出版 的c/c+程序设计教程。如有任何意见和建议请发电子邮件件到或 ,2,七、函数初步 八、C/C+程序上机步骤简介,第一章 绪 论,3,七、函数初步 C/C+程序通过函数运转,函数操作数据和变量。 程序根据源代码出现的先后次序一个一个语句地顺序往 后执行,称为顺序流程结构。遇到函数调用则流程转入被调用的函数体,然后从被调 函数返回,执行函数调用的下一条语句。在编辑输入上面的代码时请注意: 新的集成开发环境支 持汉字出现在字符串中,但汉字环境的标点符号与英

2、文环境 的标点符号其编码是不一样的,因此在字符串之外的标点符 号一定要保证在英文环境中输入,否则导致源代码的语法错 误。,4,例 C流文件及函数调用实现顺序流程#include /void型函数vf的定义,放置于主控函数前void vf (int x, int y, int s) / void表示函数没有返回值,形参x,y,z是int型的变量 printf (“%d, %dn“, x+y, s);/花括号包含的语句表示函数体int Add (int ,int );/Add函数原型说明,表示入口形参为2个int型数据,返回int型数据void Show() /圆括号中一无所有表示入口无参,voi

3、d Show()相当于 void Show (void) printf (“输入两个整数t“); ,5,int main (void) /圆括号中的void表示main函数此时没有入口参数,返回int型数据 int i, j, sum; /*变量定义语句*/Show () ; /*提示输入两个整数*/scanf (“%d, %d“, /*返回信息给操作系统是好的编程风格*/,6,int Add (int l, int m) /*定义Add函数,函数的返回类型为整型*/ /*入口参数 l,m是整型*/return l+m ; /*直接返回l,m数的和*/ / 函数调用Add(i,j)根据返回类型

4、确定为int型的表达式执行程序得到:输入两个整数 5,6 Sum is 11 11,11,7,在编辑输入上面的代码时请注意,新的集成开发环境支 持汉字出现在字符串中,但汉字环境的标点符号与英文环境 的标点符号其编码是不一样的,因此在字符串之外的标点符 号一定要保证在英文环境中输入,否则导致源代码的语法错 误。本程序包括用户定义的函数:主函数main()和普通的函 数Add以及vf。另外借用了系统提供的库函数。 在“stdio.h“给出了标准输入函数scanf标准输出函数 printf的原型说明。 Add函数的作用是求两个整型变量的和,return关键字 所引出的语句将整型变量l和m的和返回给主

5、函数main,返 回值是通过函数调用的方式进行的。,8,程序主要包括如下6个步骤:1. 变量的定义2. 变量的初始化过程3. 用户与计算机实时交互4. 算法的模块化处理函数5. 函数调用的虚实结合匹配6. 控制权的带信息返回,9,C/C+程序设计中变量必须明显地定义才能使用,这 一点区别于FORTRAN语言存在变量的隐含说明。语句“int i, j, sum; “称为变量定义语句,“int“是系统保 留的关键字,“i, j, sum“则是用户引入的变量,变量定义语 句通知编译器为这些变量分配内存空间。对引入的变量赋予初值,称为变量的初始化。变量初始 化的位置和时刻是灵活的,变量的初始值可以位于

6、本程序段 内、硬盘上或动态交互输入。函数调用的虚实结合匹配是指函数定义部分的形参与函 数调用时的实参一对一的呼应和结合过程,这一过程涉及到 语言隐含的函数调用机制。,10,C语言中的函数调用机制为变量的数值传递,因此虚实 结合匹配的时候采用了一个中转站这就是变量的地址。通过中转站间接的完成被调函数对变量的赋值或改变。输入语句“scanf (“%d, %d“, “的变量 sum前则没有取地址运算符&。“%d, %d“是输入输出的格式化字符串,用来指示输入 输出的数据类型和格式转换,“%d“表示十进制整数类型, 有了这种格式化转换函数,系统就把内存中的二进制数 据转换成用户可理解的数据类型。,11

7、,函数是重要的编程手段,其中包括三个相关的 步骤:1. 函数具体定义int Add (int l, int m) return l+m; /l, m是形参,2. 函数原型说明int Add (int l, int m); /形参的初始值在虚实结合时得到3. 函数调用虚实结合匹配sum = Add (i, j); /i, j是匹配形参l, m的实参,12,函数定义对应函数的某种执行动作,函数定义由标题头 和函数体构成,标题头由返回类型、函数名和形参列表构 成。 例如:int Add (int l, int m)是标题头,return l+m; 是函数体 函数原型表明函数的接口要求,虚实结合匹配在

8、函数调 用点进行,函数调用时将实参i, j 的值赋值给相应形参l, m; 相当于l=i, m=j。函数的返回类型int与return中的表达式匹配。一般地,C/C+程序是通过变量和函数来组织的。变量 用于识别内存的数据,函数则对这些数据进行操作和转换处 理。,13,图 C/C+程序的开发过程,14,一般地,C/C+程序是通过变量和函数来组织的。变 量用于识别内存的数据,函数则对这些数据进行操作和转换 处理。函数根据返回类型是否有值分两类,其定义格式分两 种:1. 不返回值的函数,称为void型的函数void vf (类型1 形参1,类型2 形参2,.,类型n 形参n) 语句序列;return;

9、 /函数体 例: void vf (int x, int y, int s)printf (“%d, %dn“, x+y, s);,15,2. 返回确定类型值的函数type f (T1 v1, T2 v2 ,., Tn vn) /*返回类型 函数名(形参列表)*/语句序列;return expre; 例: int Add (int l, int m) int z=l + m;return z;type表函数的返回类型,T1,T2,Tn表示形参的类型名, 它们可以是int,double 以及结构名等; f, vf, Add是函数名。,16,“返回类型 函数名(形参列表)“ 称为函数定义的标题 头

10、,标题头圆括号中形参类型后的参数 v1,v2,.,vn为形式 参数,简称形参。类型名、函数名和形参名遵循标识符的命名约定。将标 题头拷贝过来,末尾添一个分号得到函数原型,其中的形参 v1,v2,vn可省略,格式为(左边为抽象的原型描述,右边 为具体的举例):type f (T1 v1,T2 v2 ,.,Tn vn); int Add (int , int);函数的标题头和函数体构成函数定义,紧接着右圆括 号”)”的最外层花括号包含的部分为函数体。函数体由若干语句构成,也可以根本没有语句,此时 称为空函数。,17,函数定义时标题头的形参可以省略而仅有类型,此时表 示函数简单的提供一个接口准备。也

11、可以根本没有入口参数。 例如:void Show () printf ( “输入两个整数t“); 。expre是可以转换为 type类型的表达式。type如果是 int,则函数运算的结果返回int型整数。形参是入口,可以是各种类型的变量,也可以是指向这 些变量的指针。函数返回的数据为出口,函数可以返回变量,也可以返 回指针,指针是特殊的变量。,18,如果return之后跟随表达式语句,表示将表达式的值转 送给上层函数,此时函数返回确定类型的数据。如果return 语句之后紧贴一个分号或函数体中无return 语句,这样的函数的返回类型则写为void,表示函数不返回 值而仅执行特定的运算或动作。

12、函数调用点实际代替形参的变量或表达式称为实际参 数,简称实参。实参是调用段可以求值的表达式。函数调用由函数名、圆括号对和逗号依次分隔开的若干 实参构成。函数名与圆括号对是必不可少的,在无参调用时 没有实参。 例如: Show();,19,函数调用就是用具体的实参代替形参的过程,实参x1, x2,xn应与形参列表的形参v1,v2,vn在位置、类型和个 数上一一匹配。实参是形参的数据来源,是形参的初值。在函数调用点相当于执行了v1=x1,v2=x2,vn=xn的 初始化赋值运算。不返回值的函数vf单独调用 :vf (x1, x2, , xn); 例: vf (i, j, sum); vf (i,

13、j, Add ( i, j );void类型的函数一般仅独立调用,由此构成函数调用 语句。,20,返回值的函数调用是表达式,简称函数调用是表达式。 返回值的函数调用归属于表达式,可以说C/C+语言是一种 构筑于表达式之上的语言。表达式是求值的基本单位,变量和常数是最简单的表达 式。变量和常数与运算符的组合可构成复杂的表达式。 例如:l+m, sum=Add (i, j), 7+m/2*3 是表达式。 表达式之后加一个分号形成表达式语句,例如: sum=Add (i , j); 是表达式语句。可多次在赋值运算符 = 左边出现的表达式 是左值表达式,否则是右值表达式。变量是左值,常数是右 值。Ad

14、d (i, j) 是右值。,21,返回值的函数调用f (x1, x2 ,., xn) 携带 “return expre;“返回的值。表达式expre能够出现的地方, f (x1, x2, ., xn)几乎可以等价的出现。但C语言返回算术表达式或返回指针表达式的函数调用 构成右值。C+增添了返回左值的函数调用,这才是全部等 价的映射。出现在函数体中函数调用里的函数名视为被调函数,函 数体所隶属的函数名则称为主控函数。如函数名Add出现在 main函数体中,因此Add函数是main函数的被调函数, main函数是Add函数的主控函数。如果Add函数体中调用其它的函数如add1,则Add函 数是ad

15、d1函数的主控函数。,22,C+中函数调用可以出现在main函数体之外的初始化 语句,此时函数被系统直接调用。主控函数也称为主调函 数。函数定义或函数原型引入或说明函数名称。函数定义提 供函数体中的执行代码。C/C+中函数名具有全局作用范 围。函数体中不能定义函数,仅在函数体外定义函数。每一 个函数定义是独立的,函数的定义次序不影响函数调用。 函数可以调用任何函数包括自身。函数调用索引函数名称。 名称先说明后索引。C+中每个函数调用都必须有一个 函数原型,除非函数定义直接放置于主控函数前。,23,八、C/C+程序上机步骤简介 本节简单介绍用Microsoft Visual C+提供的开发工具

16、生成console即字符方式的应用程序,如果使用其它厂商的 编译器,细节会略有不同,但编辑、编译、连接和运行的四 个步骤是必不可少的。可以一气呵成地执行整套动作,也可以选择性地实施其 中一个环节下面简要地说明程序产生的步骤(以微软的 Developer Studio集成应用程序为例):1. 启动Microsoft Visual C+编译系统2. 从菜单上选择File-New,或按Ctrl+N打开New对话框,24,3. 选取或激活New对话框的Projects工程项目,以便. 生成. dsw(Developer Studio workspace)文件。4. 进一步鼠标点击程序类型 Win32

17、Console Application,在Project name下键入工程 名如:dosApp1,将该工程文件置于一合适的磁盘路径 Location下,如:c:mydocdosApp, 最后单击New对话框的OK按钮。此时弹出一个对话框。5. 在四个选项中单选 An empty project ,然后点取 Finish按钮,在弹出的信息对话框中,鼠标点击OK按钮。到此系统生成并打开一个新项目工作区。,25,6. 从菜单上选择File-New,或按Ctrl+N打开New对话 框。7.激活New对话框的Files标签,选择 C+ Source File,在File name下的空白处键入源文件名如: example1,鼠标点击OK按钮。此时进入全屏幕编辑环境, 用户可输入源程序。8.从菜单上选择Build-compile 即可编译源程序,或 Build-Build直接生成执行程序。9. 调试程序直到没有编译或连接错误。10. 直接在集成环境按Ctrl+F5执行该程序且按任意键通 常方便的是空格键结束程序。,26,请打开“第2章(1).ppt”,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报