C++程序设计教案课件.ppt
《C++程序设计教案课件.ppt》由会员分享,可在线阅读,更多相关《C++程序设计教案课件.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言程序设计高级语言程序设计2-12-1 课程简介:学习一门必须熟练掌握的、用来与计课程简介:学习一门必须熟练掌握的、用来与计算机进行算机进行“沟通沟通”、指挥计算机为我们做事情的程序、指挥计算机为我们做事情的程序设计语言,是其他多门必修课程的前导课程。该学期设计语言,是其他多门必修课程的前导课程。该学期主要学习主要学习C+C+语言非面向对象部分的内容,其中包括语言非面向对象部分的内容,其中包括表达式、各种语句、分支与循环处理、数组与结构、表达式、各种语句、分支与循环处理、数组与结构、函数及其应用等。函数及其应用等。本课程非常重要!一定要下功夫学好!本课程非常重要!一定要下功夫学好!1教学
2、用书及参考书教学用书及参考书 教教学学用用书书:高高等等教教育育出出版版社社,高高级级语语言言C+C+程程序序设设计计,刘刘璟璟 编编著著,(p1-306p1-306,17.317.3元元)。参考书:参考书:(1 1)清清华华大大学学出出版版社社,C+C+程程序序设设计计教教程程,钱能,钱能 主编,(主编,(p1-468p1-468,39.539.5元)。元)。2参考书参考书 (2 2)电子工业出版社,)电子工业出版社,C+C+语言程序设计语言程序设计,吕,吕风翥风翥 编著,(编著,(p1-415p1-415,3333元)。元)。(3 3)高等教育出版社,)高等教育出版社,高级语言高级语言C+
3、C+程序设计编程序设计编程范例与精解程范例与精解,周玉龙,周玉龙 刘璟刘璟 编著,(编著,(p1-561p1-561,3939元,元,20032003年年4 4月第月第1 1版)。版)。(4 4)南开大学出版社,)南开大学出版社,C+C+实用编程技术百例精实用编程技术百例精编与妙解编与妙解,周玉龙编著,(,周玉龙编著,(p1-461p1-461,4141元,元,20042004年年1 1月第月第1 1版)。版)。3第第 1 1章章 C+C+语语言概述言概述 1.0 1.0 计算机基础知识(补充)计算机基础知识(补充)1.1 1.1 计算机程序设计语言的发展计算机程序设计语言的发展 1.2 1.
4、2 面向对象语言及其特点面向对象语言及其特点 1.3 1.3 C+C+简单程序实例简单程序实例 1.4 1.4 简单实例程序中的语法点简单实例程序中的语法点 1.5 1.5 执行执行C+C+程序程序41 10 0 计计算机基算机基础础知知识识(补补充)充)1 10 01 1 计算机组成(硬件)计算机组成(硬件)1 10 02 2 数数的的进进制制(二二进进制制、八八进进制制、十十六六进进制)制)1 10 03 3 不同数制间的转换不同数制间的转换1 10 04 4 存储器单元与机器指令存储器单元与机器指令51 10 01 1 计算机组成计算机组成(硬件,(硬件,HardwareHardware
5、)1 1 存存 储储 器器(RAM RAM Random Random Access Access MemoryMemory):):存储程序指令和数据。存储程序指令和数据。2 2 中中 央央 处处 理理 器器(CPU CPU Central Central Processing Processing UnitUnit):又又 可可 细细 分分 为为 控控 制制 器器(CUCU)和和运运算算器器(ALUALU),即即,CPU CPU=CU CU+ALUALU。3 3 输输 入入 输输 出出 设设 备备(I/O I/O Input Input/OutputOutput):也也称称外外部部设设备备,
6、负负责责对对数数据据和和程程序序进行输入与输出进行输入与输出。6附注:附注:(1 1)控控制制器器(CU CU Control Control UnitUnit):控控制制和和协协调调各各个部件正常运行。个部件正常运行。(2 2)运运算算器器(ALU ALU Arithmetic Arithmetic Logic Logic UnitUnit):进进行算术和逻辑运算。行算术和逻辑运算。另另外外:相相对对应应的的计计算算机机软软件件(SoftwareSoftware)包包括括系系统统软软件件(如,操作系统、编译程序等)和应用软件。(如,操作系统、编译程序等)和应用软件。硬件硬件-“-“看得见,摸
7、得着看得见,摸得着”;软件软件-“-“看不见,摸不着看不见,摸不着”。7数据和指令均使用字节(序列)来存储数据和指令均使用字节(序列)来存储 计算机只认二进制数计算机只认二进制数(以二进制形式存储(以二进制形式存储的代码或数据)。就是说,在计算机中,数据的代码或数据)。就是说,在计算机中,数据和指令均使用字节(序列)来存储。和指令均使用字节(序列)来存储。不同的计算机系统、不同类型的数据、或不同的计算机系统、不同类型的数据、或不同的指令所使用的字节数以及表达形式可能不同的指令所使用的字节数以及表达形式可能互不相同。互不相同。8 2 2存储器单元(也称存储单元)存储器单元(也称存储单元)存储单元
8、存储单元:按字节安排。:按字节安排。存储地址存储地址:顺序号,为每个存储单元指定:顺序号,为每个存储单元指定一个序码(号码)。一个序码(号码)。93 3机器指令机器指令 计算机设计者把计算机可以完成的动作计算机设计者把计算机可以完成的动作编辑成一个机器指令表,并为每种动作赋予一编辑成一个机器指令表,并为每种动作赋予一个二进制代码,通常由指令码(操作码)和内个二进制代码,通常由指令码(操作码)和内存地址(操作数)来构成。通过存地址(操作数)来构成。通过机器指令机器指令来编来编写的程序称为写的程序称为机器语言程序机器语言程序。10机器语言程序示例机器语言程序示例 例如,使用例如,使用“机器语言机器
9、语言”编出的做一次加法编出的做一次加法“TOTAL=PRICE+TAX”TOTAL=PRICE+TAX”的程序为:的程序为:156 156C /C /取取6 6C C内容送寄存器内容送寄存器5 5 166 166D /D /取取6 6D D内容送寄存器内容送寄存器6 65056 5056 /把二值相加,结果送寄存器把二值相加,结果送寄存器0 0 306 306E /E /把寄存器把寄存器0 0中的结果送地址中的结果送地址6 6E E C000 /C000 /停机停机114 4、内存中机器指令的执行内存中机器指令的执行 计算:计算:5+15=5+15=?(1 1)将)将00100010H H存储
10、单元的数据(存储单元的数据(5 5)取出,存放在)取出,存放在ALUALU。(2 2)将将00110011H H存储单元的数据(存储单元的数据(1515)取出,与)取出,与 ALU ALU 的数据相加,运算结果存放在的数据相加,运算结果存放在ALUALU。(3 3)将将 ALU ALU 中的数据(中的数据(2020)存放到)存放到00120012H H存储单存储单元。元。(4 4)停止执行)停止执行 计算机依赖机器指令运行,机器指令以及各种被计算机依赖机器指令运行,机器指令以及各种被处理的数据都以二进制形式存储。处理的数据都以二进制形式存储。12 1.1 1.1 计算机程序设计语言的发展计算机
11、程序设计语言的发展 1.1.1 1.1.1 机器语言与汇编语言机器语言与汇编语言1.1.2 1.1.2 高级语言高级语言1.1.3 1.1.3 面向对象的语言面向对象的语言131.1.1 1.1.1 机器语言与汇编语言机器语言与汇编语言 计算机刚问世时,它的计算机刚问世时,它的“能耐能耐”还比较小,只能还比较小,只能“看懂看懂”或或“理解理解”程序员用原始的程序员用原始的机器指令机器指令书写的书写的所谓所谓机器语言程序机器语言程序。汇编语言汇编语言将机器指令映射为一些易于看懂、易于将机器指令映射为一些易于看懂、易于记忆的助记符,如记忆的助记符,如ADDADD,SUBSUB,MOVMOV等。但若
12、要运行等。但若要运行(执执行行)用汇编语言写成的源程序时,必须先运行一个叫做用汇编语言写成的源程序时,必须先运行一个叫做汇编程序系统汇编程序系统(Assembler)Assembler)的软件,由它首先把汇编语的软件,由它首先把汇编语言源程序转换为具有相同功能的机器指令程序,然后言源程序转换为具有相同功能的机器指令程序,然后再运行机器指令程序,得到所需的结果。再运行机器指令程序,得到所需的结果。14 1.1.2 1.1.2 高级语言高级语言 之所以称其为高级语言,是相对于机器语之所以称其为高级语言,是相对于机器语言与汇编语言来说,言与汇编语言来说,编程人员对它们的理解、编程人员对它们的理解、记
13、忆以及使用都要容易记忆以及使用都要容易的多。高级语言屏蔽了的多。高级语言屏蔽了诸多的机器细节问题,提高了语言的抽象层次,诸多的机器细节问题,提高了语言的抽象层次,更加接近于人们的思维方式以及自然语言。更加接近于人们的思维方式以及自然语言。应用较广泛的几种高级语言是:应用较广泛的几种高级语言是:FORTRANFORTRAN、ALGOLALGOL、COBOLCOBOL、BASICBASIC、PASCALPASCAL、C C、LISPLISP、PROLOGPROLOG等。等。15编译程序系统编译程序系统(Compiler)Compiler)的作用的作用 与对待汇编语言源程序相同,用高级语言与对待汇编
14、语言源程序相同,用高级语言写成的源程序也不能被计算机去直接执行,也写成的源程序也不能被计算机去直接执行,也必须先运行一个叫做必须先运行一个叫做编译程序系统编译程序系统(Compiler)Compiler)的软件,由它首先把高级语言源程序编译转换的软件,由它首先把高级语言源程序编译转换为目标程序,然后再经过连接而成为具有相同为目标程序,然后再经过连接而成为具有相同功能的可执行程序功能的可执行程序(机器指令程序机器指令程序),最后再运,最后再运行该可执行程序行该可执行程序(机器指令程序机器指令程序),方可得到所,方可得到所需的结果。需的结果。16 1.1.3 1.1.3 面向对象的语言面向对象的语
15、言 上述高级语言上述高级语言(非面向对象的语言非面向对象的语言)存在的存在的主要问题是程序中的数据与操作分离,从而不主要问题是程序中的数据与操作分离,从而不能有效地组成与自然界中的具体事物紧密对应能有效地组成与自然界中的具体事物紧密对应的程序成分。而的程序成分。而面向对象的编程语言将客观事面向对象的编程语言将客观事物看作是具有属性和行为的一个统一的整体物看作是具有属性和行为的一个统一的整体-对象对象。通过抽象找出同一类对象的共同属性。通过抽象找出同一类对象的共同属性和行为,从而形成类和行为,从而形成类(class)class);通过类的继承通过类的继承与派生,可以方便地描述客观世界中存在的事与
16、派生,可以方便地描述客观世界中存在的事物物(即对象即对象)间的那种间的那种“父类父类”与与“子类子类”属性属性和行为的继承关系,从而能够很方便地实现程和行为的继承关系,从而能够很方便地实现程序代码的可重用问题。序代码的可重用问题。17目前常用的面向对象语言目前常用的面向对象语言 目前,应用最广的面向对象语言是在目前,应用最广的面向对象语言是在C C语语言基础上扩充出来的言基础上扩充出来的C+C+语言语言,而科研前沿目,而科研前沿目前用的最多的要属前用的最多的要属MicrosoftMicrosoft公司的公司的Visual Visual C+6.0C+6.0(简称简称VC6.0VC6.0),它是
17、基于它是基于WindowsWindows窗窗口规范的一个口规范的一个C+C+的具体实现版本。的具体实现版本。其它面向对象的编程语言还有其它面向对象的编程语言还有SmalltalkSmalltalk语言、语言、Simula67Simula67语言、以及语言、以及LISPLISP家族的面向对家族的面向对象语言等等。象语言等等。18 1.2 1.2 面向对象语言及其特点面向对象语言及其特点 1.2.1 1.2.1 面向过程的面向过程的SPSP结构化程序设计方法和结构化程序设计方法和面向对象的面向对象的OOPOOP程序设计方法程序设计方法1.2.2 1.2.2 C+C+语言对面向对象方法的支持语言对面
18、向对象方法的支持191.2.1 1.2.1 面向过程的面向过程的SPSP结构化程序设计方法和面向结构化程序设计方法和面向对象的对象的OOPOOP程序设计方法程序设计方法 1.1.面向过程的面向过程的SPSP结构化程序设计方法结构化程序设计方法 结构化程序设计结构化程序设计的基本思想是:采用自顶向下、逐步求精的的基本思想是:采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构;其程序结构是按功能划分设计方法和单入口单出口的控制结构;其程序结构是按功能划分为若干个为若干个基本模块(函数)基本模块(函数),各模块的功能相对独立,而且模块,各模块的功能相对独立,而且模块之间的关系尽可能地简单,另外
19、通过使用参数机制来规范程序模之间的关系尽可能地简单,另外通过使用参数机制来规范程序模块间的调用接口;每一模块的内部均由顺序、选择和循环三种基块间的调用接口;每一模块的内部均由顺序、选择和循环三种基本结构来组成。本结构来组成。面向过程的面向过程的SPSP结构化程序设计方法存在着一个主要缺点:数结构化程序设计方法存在着一个主要缺点:数据和处理数据的操作过程据和处理数据的操作过程(处理函数处理函数)是相互独立的实体,当数据是相互独立的实体,当数据结构改变时,所有相关的处理过程结构改变时,所有相关的处理过程(函数函数)都要进行相应的修改,都要进行相应的修改,从而使程序的可重用性明显变差。从而使程序的可
20、重用性明显变差。20 2.2.面向对象的面向对象的OOPOOP程序设计方法程序设计方法 面向对象程序设计面向对象程序设计正是要弥补面向过程的正是要弥补面向过程的SPSP结构化结构化程序设计方法的那一主要缺点,它将数据以及对这些程序设计方法的那一主要缺点,它将数据以及对这些数据进行操作的方法数据进行操作的方法(处理过程处理过程)放在一起,形成一个放在一起,形成一个相互依存、不可分离的整体相互依存、不可分离的整体-对象。通过对事物的对象。通过对事物的抽象找出同一类对象的共同属性抽象找出同一类对象的共同属性(静态特征静态特征)和行为和行为(动动态特征态特征),从而形成类。,从而形成类。类是面向对象程
21、序设计方法中类是面向对象程序设计方法中的程序主体的程序主体,即是说,即是说,程序结构将划分为若干类的基程序结构将划分为若干类的基本模块本模块,类中的大多数数据只能用本类的方法进行处,类中的大多数数据只能用本类的方法进行处理,以保障程序模块的独立性以及数据的安全性。类理,以保障程序模块的独立性以及数据的安全性。类通过一个简单的公共对外接口与外界发生联系,对象通过一个简单的公共对外接口与外界发生联系,对象与对象之间通过消息进行通讯。与对象之间通过消息进行通讯。面向对象程序设计的三大特征面向对象程序设计的三大特征是:封装性、继承是:封装性、继承性、多态性。性、多态性。21 1.2.2 1.2.2 C
22、+C+语言对面向对象方法的支持语言对面向对象方法的支持 C+C+语言是一种面向对象的程序设计语言,语言是一种面向对象的程序设计语言,它对面向对象的程序设计方法进行了较全面的它对面向对象的程序设计方法进行了较全面的支持。支持。1.1.支持数据封装支持数据封装 C+C+语言中的类语言中的类(class)class)是支持数据封装的是支持数据封装的工具。通过类工具。通过类(class)class)类型对所要处理的问题类型对所要处理的问题进行抽象描述,从而将逻辑上相关的数据与函进行抽象描述,从而将逻辑上相关的数据与函数进行封装。数进行封装。22 2.2.支持继承性支持继承性 C+C+语言允许单继承和多
23、继承。所谓多继承,就语言允许单继承和多继承。所谓多继承,就是从多个父类是从多个父类(基类基类)那儿继承属性和行为特征。另外,那儿继承属性和行为特征。另外,如有必要,派生类还可以生成它自己的派生类。即是如有必要,派生类还可以生成它自己的派生类。即是说,根据需要,类之间可形成多层次的派生以及继承说,根据需要,类之间可形成多层次的派生以及继承关系。关系。3.3.支持多态性支持多态性 允许对函数和运算符进行重载体现出一种多态性。允许对函数和运算符进行重载体现出一种多态性。通过在基类及其派生类间对虚函数进行使用体现出另通过在基类及其派生类间对虚函数进行使用体现出另一种多态性。一种多态性。23 1.3 1
24、.3 C+C+简单程序实例简单程序实例1.1.在屏幕上显示一句话在屏幕上显示一句话#include include void main(void)void main(void)coutHello world!endl;coutHello world!endl;程序执行后的输出结果为程序执行后的输出结果为:Hello world!Hello world!24 2.2.求两个数的和与积求两个数的和与积#include include void main()void main()int a,b,sum,prod;int a,b,sum,prod;a=3;a=3;b=15;b=15;sum=a+b;s
25、um=a+b;prod=a*b;prod=a*b;coutThe sum is sumendl;coutThe sum is sumendl;coutThe prod is prodendl;coutThe prod is prodendl;25 程序执行后的输出结果为程序执行后的输出结果为:The sum is 18The sum is 18The prod is 45The prod is 45 26 3.3.计算圆面积与周长计算圆面积与周长#include include void main()void main()const float pai=3.14;const float pai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 教案 课件
限制150内