C++语言程序设计电子教案1_第1页
C++语言程序设计电子教案1_第2页
C++语言程序设计电子教案1_第3页
C++语言程序设计电子教案1_第4页
C++语言程序设计电子教案1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1章章C与与C+YYHYYH版版教材教材:面向对象的程序设计语言面向对象的程序设计语言C+ 人民邮电出版社人民邮电出版社 陈志泊等编陈志泊等编教参教参1: C+大学教程大学教程(第二版第二版) 美美Harvey 电子工业出版社电子工业出版社 邱仲潘等编邱仲潘等编教参教参2: C/C+程序设计程序设计 Decoder编著编著 21世纪高校计算机系列教程世纪高校计算机系列教程 中国铁道出版社中国铁道出版社教参教参3: C+程序设计教程程序设计教程 刘瑞挺等译刘瑞挺等译 21世纪高校计算机系列教程世纪高校计算机系列教程 中国铁道出版社中国铁道出版社教参教参4: Visual C+面向对象与可视化

2、程序设计面向对象与可视化程序设计 黄维通编著黄维通编著(2002年教育部高校优秀教材二等奖年教育部高校优秀教材二等奖) 清华大学出版社清华大学出版社第第1章章C与与C+YYHYYH版版lC+语言程序设计语言程序设计l C+语言程序设计习题与实验指导语言程序设计习题与实验指导l 课程网址:课程网址: http:/l 网站内容:网站内容:电子讲稿电子讲稿实验指导实验指导第第1章章C与与C+YYHYYH版版 第第 1 章章 C与与C+1.1 C语言与语言与C+的关系的关系1.2 C+语言的开发环境语言的开发环境 #include ; void main() /执行函数执行函数 C+程序结构程序结构(

3、主要是由语句函数组成主要是由语句函数组成):补充补充(教教材上无材上无)说明部分说明部分执行部分执行部分第第1章章C与与C+YYHYYH版版1.1 C语言与语言与C+的关系的关系 1.1.1 C+发展历史简介发展历史简介 (1 1)C C+C C+ 面向对象程序设计方法语言有面向对象程序设计方法语言有C+;VC+;VBC+;VC+;VB。C+C+是是Bjarne1980Bjarne1980年在贝尔实验室开发的基于年在贝尔实验室开发的基于C C语言面向对象语语言面向对象语言,言,8383年正式称为年正式称为C+C+语言。语言。(Turbo C(Turbo C、 Borland C C、Dev C

4、Dev C等等) ) (2 2)特点:特点:它它既保留了既保留了C C语言的有效性、灵活性、便于移植和语言的有效性、灵活性、便于移植和接近汇编语言等全部精华和特点,又添加了面向对象编程的支接近汇编语言等全部精华和特点,又添加了面向对象编程的支持持( (主要是增加类的功能主要是增加类的功能) ),具有功能强大、易于扩充等编程优,具有功能强大、易于扩充等编程优良特性良特性, ,适宜应用软件、系统软件适宜应用软件、系统软件( (如如WindowsWindows等等) )的程序设计。的程序设计。 1.1.2 C+ C+与与C C语言语言 C C语言是语言是C+C+语言的子集,语言的子集, C+C+与与

5、C C语言具有良好的兼容性,语言具有良好的兼容性,用用C C编写的程序可接在编写的程序可接在C+C+环境下运行环境下运行, ,反之不一定。反之不一定。 C+C+语言对语言对C C语言在结构化方面做了一定程度的扩展。后介绍。语言在结构化方面做了一定程度的扩展。后介绍。第第1章章C与与C+YYHYYH版版发展:发展:C语言语言 C+(Turbo C+/Borland C+等等) Visual C+;特点:特点:C与与C+基于基于DOS平台;平台;VC+基于基于WINDOWS平平台;台;VC+是在是在C+基础上的一种可进行基础上的一种可进行Internet、数据库、数据库、多媒体等面向对象的功能强且

6、最难学的一种语言。多媒体等面向对象的功能强且最难学的一种语言。 C+语语言与言与C语言最显著的区别是它的面向对象的特征,引进了语言最显著的区别是它的面向对象的特征,引进了类与对象的概念。类封装了一组数据结构和作用于该数据类与对象的概念。类封装了一组数据结构和作用于该数据结构的一组方法结构的一组方法,下面对下面对C+语言将着重围绕类来进行介绍。语言将着重围绕类来进行介绍。归纳归纳第第1章章C与与C+YYHYYH版版 上机:上机:在在Visual C+6.0环境下环境下上上C/C+机的操作机的操作:(1)建立建立Project:在在VC+6.0的主界面选的主界面选“File(文件文件)”下的下的“

7、New(新建新建)” 在在“Project”下选下选“Win32 Console Application” 键入键入Project Name等选等选“An empty project”(注意:只能选此,因对注意:只能选此,因对C+建立建立project后还要输后还要输入程序,而对入程序,而对VC+6.0的的MFC方法则不同方法则不同自动建立自动建立Project框架框架) 选选“Finish” 选选“Ok”;(2)输入源程序:输入源程序:在在VC+6.0的主界面选的主界面选”File(文件文件)”下的下的“New(新建新建)” 在在File下选下选“C+ Source File” 在在C+的程

8、序框中输入的程序框中输入程序程序 在在“Build”下对当前的程序进行编译,最后执行即下对当前的程序进行编译,最后执行即可;可;(注:注:VC+操作:选操作:选“File”下的下的“New” 选选“Project ”中的中的“MFC AppWizard” 在在“Project Name”输入工程名输入工程名 “OK” .见后见后) 第第1章章C与与C+YYHYYH版版 1.1.3 C+ C+的扩展的扩展( (与与C C语言语言) ) 1 1函数原型函数原型 对对C语言语言,使用一个函数前可不加以说明使用一个函数前可不加以说明/ /声明;对声明;对C+C+语言语言, ,任何一个函数在使用前任何一

9、个函数在使用前, ,必须有函数原型的说明必须有函数原型的说明/ /声明声明, ,声明函声明函数的返回值类型及参数的类型数的返回值类型及参数的类型( (以确定有同名函数时的一一对以确定有同名函数时的一一对应关系应关系) )。 说明:说明:使用函数原型使用函数原型, ,可以避免错误调用函数可以避免错误调用函数( (可能有同名可能有同名但不同类型或有不同参数的函数但不同类型或有不同参数的函数, ,容易错误调用容易错误调用),),这样的错误这样的错误可以由编译器在编译时发现;如果使用可以由编译器在编译时发现;如果使用C C语言的函数声明习惯语言的函数声明习惯, ,则不能在编译阶段检查出此类错误;现代则

10、不能在编译阶段检查出此类错误;现代C C语言标准已经引进语言标准已经引进了函数原型说明。了函数原型说明。 第第1章章C与与C+YYHYYH版版 2 2函数重载函数重载 对对C C语言,相同功能但类型不同的函数多使用不同的函数名;语言,相同功能但类型不同的函数多使用不同的函数名;对对C+C+语言,可实现语言,可实现函数重载函数重载, ,即多个函数在同一作用域可以用即多个函数在同一作用域可以用相同的函数名相同的函数名, ,只要只要各同名函数参数形式不完全相同各同名函数参数形式不完全相同( (如参数的如参数的类型、个数等不同类型、个数等不同) )或函数的类型不同的函数。或函数的类型不同的函数。编译器

11、编译器即可即可在在编译时可根据实参的编译时可根据实参的个数和个数和类型来选择对应类型来选择对应匹配的重载函数版匹配的重载函数版本本。函数重载的具体内容可见。函数重载的具体内容可见。例如例如( (对两个同名函数对两个同名函数abs)abs): int abs(int n) return n0?-n:n; float abs(float n) return n0?-n:n; i=abs(5); /调整型的求绝对值函数调整型的求绝对值函数f=abs(-2.5); /调实型的求绝对值函数调实型的求绝对值函数条件函数条件函数:如果如果n0则为则为-n,否则为否则为n第第1章章C与与C+YYHYYH版版

12、3 3缺省参数缺省参数 对对C+C+语言语言, , 允许在函数原型中初始化允许在函数原型中初始化( (即对参数赋缺省值即对参数赋缺省值) )。当函数调用时当函数调用时, ,若给出的参数个数少于函数表中参数的总数时若给出的参数个数少于函数表中参数的总数时, ,则所缺参数自动取函数参数表中设置的缺省值。则所缺参数自动取函数参数表中设置的缺省值。 如:如: void f(int x, intvoid f(int x, int y=10) y=10) /此处省略函数体内容此处省略函数体内容 调用语句:调用语句:f(2);f(2);就相当于就相当于f(2,10)f(2,10)。函数可以有多个缺省参。函数

13、可以有多个缺省参数,但应注意只能从右往左缺省,例如:数,但应注意只能从右往左缺省,例如: int f1(int x, int y=0, intint f1(int x, int y=0, int z=0); z=0); /正确正确 int f2(int x, int y=0, intint f2(int x, int y=0, int z); z); /错误错误 4 4注释注释 C C语言:注释用语言:注释用/ /* *注释内容注释内容* */ /; C+C+语言:注释用语言:注释用/ /* *注释内容注释内容* */ / 或或/注释内容注释内容第第1章章C与与C+YYHYYH版版 结构名:用

14、结构名:用struct可定义一个结构体的数据类型可定义一个结构体的数据类型(相当于表格相当于表格) 。例如:例如:struct student char name10; int number; int page; 则在定义该结构类型变量时可以使用如下方式:则在定义该结构类型变量时可以使用如下方式: student s1, s2; 4枚举名与结构名枚举名与结构名 枚举名:可用枚举名:可用enum定义枚举型数据名,如:定义枚举型数据名,如:enum ErrCode noErr, overflow; 错误代码有两个枚举值错误代码有两个枚举值noErr, overflow,ErrCode就是一个类型名

15、字,可用其定义该枚举类型而不必在就是一个类型名字,可用其定义该枚举类型而不必在枚举类型名枚举类型名ErrCode前加标识符前加标识符enum。第第1章章C与与C+YYHYYH版版 5作用域标识符作用域标识符(范围分解符范围分解符:) 在在C+语言中增加了作用域标识符语言中增加了作用域标识符(或称为名字解析运算或称为名字解析运算符符)“: :”,用以解决局部变量名与全局变量的同名重复问题。,用以解决局部变量名与全局变量的同名重复问题。在局部变量的作用域内可用作用域标识符在局部变量的作用域内可用作用域标识符: :对被其隐藏的同对被其隐藏的同名全局变量进行访问名全局变量进行访问。下面是一个简单的例子

16、:。下面是一个简单的例子: int x=0; /定义全局变量定义全局变量x void test(int x) /定义局部变量定义局部变量x (相当于相当于x ) x=5;/此处引用局部变量此处引用局部变量(相当于相当于x ) :x=9;/此处引用全局变量此处引用全局变量 第第1章章C与与C+YYHYYH版版 在在C+中中,当全局变量和某函数内的局部变量同名时当全局变量和某函数内的局部变量同名时,该函数对该函数对全局变量起屏蔽作用,即在该函数内无法访问此全局变量,而全局变量起屏蔽作用,即在该函数内无法访问此全局变量,而在该函数执行完毕时即释放掉该在该函数执行完毕时即释放掉该局部变量局部变量,只要

17、在其前使用范,只要在其前使用范围分解符围分解符: :即可访问同名的全局变量。即可访问同名的全局变量。 例如例如(类同上例类同上例): float n; void main() int n; n=5; / 给局部变量给局部变量n赋值赋值 : : n=5.53; / 给全局变量给全局变量n赋值赋值 同理,对属于不同类同理,对属于不同类A和和B的同名函数的同名函数,可在类可在类B中用中用“:” 使用类使用类A中的同名函数。中的同名函数。第第1章章C与与C+YYHYYH版版 6程序块中的变量声明程序块中的变量声明 将几个语句用大括号将几个语句用大括号、组合起来就构成了一个程序块。在组合起来就构成了一个

18、程序块。在C语言中,变量的声明只允许出现在程序块的开始,而在语言中,变量的声明只允许出现在程序块的开始,而在C+语语言中变量声明可以出现在任何位置。如下面的程序片断:言中变量声明可以出现在任何位置。如下面的程序片断: for(int i=0; iy) return x; else return y; 第第1章章C与与C+YYHYYH版版1.2 C+语言的开发环境语言的开发环境 1.2.1 常见常见C+编译器简介编译器简介 使用C+语言开发应用程序的过程与C语言相同,首先输入源程序,然后使用编译器编译生成目标代码文件,再由连接程序生成可执行的二进制文件,最后运行之。 目前,越来越多地使用图形用户

19、界面的Windows 95和Windows NT。Windows环境下,微软公司与Borland公司都有自己的C+编译器,如微软的Visual C+ 6.0、Borland公司的Borland C+ 5.0、C+ Builder等,它们所提供的不仅仅是C+编译器,而是一个完整的开发平台。 在学习C+基本语法的过程中,建议读者使用DOS系统下的Borland C+ 3.1。它的集成环境简单易用,而且提供了强大的调试功能。下面先简单介绍一下Borland C+3.1的使用,本书的第9章将详细介绍Visual C+开发平台的使用。第第1章章C与与C+YYHYYH版版 1.2.2 Borland C+

20、 3.1的使用的使用 1安装安装(略略) 2. 操作方法是:操作方法是: 选择File菜单下的New,Borland C+3.1打开一个新的源程序编辑窗口如图1.2所示 输入源程序 然后按F2保存源程序(也可以使用File菜单下的Save),源程序文件的扩展名为CPP 选择Run菜单下的Run即可编译执行程序。 3. 说明:说明:如果程序在编译连接过程中有错误,错误信息可在Message窗口中看到。如果是编译已存在的源程序文件,可用File菜单下的Open功能装入该程序文件。如果要编译执行多个源程序文件构成的项目,需要建立一个项目文件,即选择Project菜单下的Open功能,输入项目文件名,如果该文件存在,则打开该项目文件,否则将建立一个新的项目文件。图1.2中的Project VCIRC窗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论