东南大学C课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计思路
自顶向下、逐步求精。采用模块分解与功能 抽象,自顶向下、分而治之。
程序结构:
按功能划分为若干个基本模块,形成一个树 状结构。 各模块间的关系尽可能简单,功能上相对独 立;每一模块内部均是由顺序、选择和循环 三种基本结构组成。 其模块化实现的具体方法是使用子程序。
Func1 ( ) Func4 ( )
例如 1011 1111 1101
缺点:难懂,不易修改,移植性 差
汇编语言
汇编语言将机器指令映射为一些可以被人 读懂的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩小, 但仍与人类的思维相差甚远。因为它的抽象层次 太低,程序员需要考虑大量的机器细节。
例如 ADD CX,DX
将DX的内容加进CX 。不能立即执行, 需要汇编,变成目标程序。
静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能
面向对象方法中的对象:
是系统中用来描述客观事物的一个实体,它 是用来构成系统的一个基本单位。对象由一 组属性和一组行为构成。 属性:用来描述对象静态特征的数据项。 行为:用来描述对象动态特征的操作序列。
编 译 程 序
目 标 程 序
初目 运 始标 行 数程 结 据序 果
高级语言发展:
第一代语言是对数学表达式有很强的运算处理能力 代表是Fortran 和Algol 60
第二代语言的重点如何有效地表达算法 代表是Pascal 和C
第三代语言引入抽象数据类型的程序设计语言 代表是Ada被认为是基于对象的语言
课程简介
第5章 c++程序的结构 5.1c++程序的结构(理解) 5.2生存期(掌握) 5.3数据和函数(掌握) 5.4静态成员(掌握) 5.5友元(掌握) 5.6共享数据的保护(掌握) 5.7多文件结构和编译预处理命令(掌握) 5.8小结
课程简介
第6章 数组、指针与字符串 6.1数组(掌握) 6.2指针(掌握) 6.3动态内存分配(掌握) 6.4字符串(掌握)
高级语言
高级语言屏蔽了机器的细节,提高了语言 的抽象层次,程序中可以采用具有一定涵义的 数据命名和容易理解的执行语句。这使得在书 写程序时可以联系到程序所描述的具体事物。
例如 if y<3 z=x+y;
类似英语和数学表达式
高级语言
分成 解释方式与编译方式
源程序 初始数据
解
运
释
行
程
结
序
果
源 程 序
面向对象的语言
优点:
使程序能够比较直接地反问题域的本来面 目,软件开发人员能够利用人类认识事物所采 用的一般思维方法来进行软件开发。
语言的鸿沟
自然语言 自然语言
客观世界 (问题域)
面向对象的语言 面向对象的语言 非面向对象的语言 非面向对象的语言
汇编语言 汇编语言
机器语言 机器语言
计算机
对问题域的认识(人〕 对问题域的认识(人〕
教材
教材: 《C++语言程序设计》
《 C++语言程序设计习题与实验指导》
C++ &
Object Oriented Programming
考核
总评成绩=平时作业+上机实验+期末笔试成绩 (闭卷)+期末上机成绩(闭卷) 平时作业占 10% 平时上机实验占 10% 期末笔试成绩(闭卷)占 60% 期末上机成绩(闭卷)占 20%
Main ( ) Func2 ( ) Func5 ( )
Func3 ( )
优点:
有效地将一个较复杂的程序系统设计任务分解 成许多易于控制和处理的子任务,便于开发和维护。
缺点:可重用性差、数据安全性差、难以 开发图形界面的应用
把数据和处理数据的过程分离为相互独立的 实体。
当数据结构改变时,所有相关的处理过程都 要进行相应的修改。
C++ &
Object Oriented Programming
实验
实验共分6次,每次4小时,实验环境为: visual c++6.0 实验1:visual c++6.0开发环境应用入门 实验2:c++简单程序设计 实验3:函数的应用 实验4:类与对象 实验5:c++程序的结构 实验6:数组、指针与字符串
第四代面向对象程序设计语言 代表是Smalltalk、Eiffel、c++、Java
面向对象的语言
出发点:
更直接地描述客观世界中存在的事物(对象) 以及它们之间的关系。
特点:
是高级语言。 将客观事物看作具有属性和行为的对象。 通过抽象找出同一类对象的共同属性和行 为,形成类。 通过类的继承与多态实现代码重用
每一种相对于老问题的新方法都要带来额外 的开销。
图形用户界面的应用,很难用过程来描述和 实现,开发和维护都很困难。
三、程序设计方法的发展历程 ——面向对象的方法
将数据及对数据的操作方法封装在一起,作为一 个相互依存、不可分离的整体——对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通讯。
第一章 绪论
计算机程序设计语言的发展 面向对象的方法 面向对象的软件开发 信息的表示与存储 程序的开发过程
1.1计算机语言的ห้องสมุดไป่ตู้展
计
计算机的工作是用程序来控制的
算
机
程序是指令的集合。
程
序
指令是计算机可以识别的命令。
机器语言
由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。
计算机发展的初期,软件工程师们只能用 机器语言来编写程序。这一阶段,在人类的自 然语言和计算机编程语言之间存在着巨大的鸿 沟。
优点:
程序模块间的关系更为简单,程序模块的独立性、 数据的安全性就有了良好的保障。
通过继承与多态性,可以大大提高程序的可重用 性,使得软件的开发和维护都更为方便。
1.2.2面向对象的基本概念
——对象
一般意义上的对象:
是现实世界中一个实际存在的事物。 可以使有形的(比如一辆汽车),也可以是无形 的(比如一项计划)。 是构成世界的一个独立单位,具有:
语言语的言鸿的沟鸿沟
编编程程((人人〕〕 程序的程理序解的和理执解行和(执机行器〕
(机器〕
1.2 面向对象的方法
1.2.1面向对象方法的由来 一、程序设计方法的发展历程 ——面向过程的程序设计方法
程序的目的:用于数学计算
主要工作:设计求解问题的过程
缺点:对于庞大、复杂的程序难以开发和维 护
二、程序设计方法的发展历程 ——面向过程的结构化程序设计方法
自顶向下、逐步求精。采用模块分解与功能 抽象,自顶向下、分而治之。
程序结构:
按功能划分为若干个基本模块,形成一个树 状结构。 各模块间的关系尽可能简单,功能上相对独 立;每一模块内部均是由顺序、选择和循环 三种基本结构组成。 其模块化实现的具体方法是使用子程序。
Func1 ( ) Func4 ( )
例如 1011 1111 1101
缺点:难懂,不易修改,移植性 差
汇编语言
汇编语言将机器指令映射为一些可以被人 读懂的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩小, 但仍与人类的思维相差甚远。因为它的抽象层次 太低,程序员需要考虑大量的机器细节。
例如 ADD CX,DX
将DX的内容加进CX 。不能立即执行, 需要汇编,变成目标程序。
静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能
面向对象方法中的对象:
是系统中用来描述客观事物的一个实体,它 是用来构成系统的一个基本单位。对象由一 组属性和一组行为构成。 属性:用来描述对象静态特征的数据项。 行为:用来描述对象动态特征的操作序列。
编 译 程 序
目 标 程 序
初目 运 始标 行 数程 结 据序 果
高级语言发展:
第一代语言是对数学表达式有很强的运算处理能力 代表是Fortran 和Algol 60
第二代语言的重点如何有效地表达算法 代表是Pascal 和C
第三代语言引入抽象数据类型的程序设计语言 代表是Ada被认为是基于对象的语言
课程简介
第5章 c++程序的结构 5.1c++程序的结构(理解) 5.2生存期(掌握) 5.3数据和函数(掌握) 5.4静态成员(掌握) 5.5友元(掌握) 5.6共享数据的保护(掌握) 5.7多文件结构和编译预处理命令(掌握) 5.8小结
课程简介
第6章 数组、指针与字符串 6.1数组(掌握) 6.2指针(掌握) 6.3动态内存分配(掌握) 6.4字符串(掌握)
高级语言
高级语言屏蔽了机器的细节,提高了语言 的抽象层次,程序中可以采用具有一定涵义的 数据命名和容易理解的执行语句。这使得在书 写程序时可以联系到程序所描述的具体事物。
例如 if y<3 z=x+y;
类似英语和数学表达式
高级语言
分成 解释方式与编译方式
源程序 初始数据
解
运
释
行
程
结
序
果
源 程 序
面向对象的语言
优点:
使程序能够比较直接地反问题域的本来面 目,软件开发人员能够利用人类认识事物所采 用的一般思维方法来进行软件开发。
语言的鸿沟
自然语言 自然语言
客观世界 (问题域)
面向对象的语言 面向对象的语言 非面向对象的语言 非面向对象的语言
汇编语言 汇编语言
机器语言 机器语言
计算机
对问题域的认识(人〕 对问题域的认识(人〕
教材
教材: 《C++语言程序设计》
《 C++语言程序设计习题与实验指导》
C++ &
Object Oriented Programming
考核
总评成绩=平时作业+上机实验+期末笔试成绩 (闭卷)+期末上机成绩(闭卷) 平时作业占 10% 平时上机实验占 10% 期末笔试成绩(闭卷)占 60% 期末上机成绩(闭卷)占 20%
Main ( ) Func2 ( ) Func5 ( )
Func3 ( )
优点:
有效地将一个较复杂的程序系统设计任务分解 成许多易于控制和处理的子任务,便于开发和维护。
缺点:可重用性差、数据安全性差、难以 开发图形界面的应用
把数据和处理数据的过程分离为相互独立的 实体。
当数据结构改变时,所有相关的处理过程都 要进行相应的修改。
C++ &
Object Oriented Programming
实验
实验共分6次,每次4小时,实验环境为: visual c++6.0 实验1:visual c++6.0开发环境应用入门 实验2:c++简单程序设计 实验3:函数的应用 实验4:类与对象 实验5:c++程序的结构 实验6:数组、指针与字符串
第四代面向对象程序设计语言 代表是Smalltalk、Eiffel、c++、Java
面向对象的语言
出发点:
更直接地描述客观世界中存在的事物(对象) 以及它们之间的关系。
特点:
是高级语言。 将客观事物看作具有属性和行为的对象。 通过抽象找出同一类对象的共同属性和行 为,形成类。 通过类的继承与多态实现代码重用
每一种相对于老问题的新方法都要带来额外 的开销。
图形用户界面的应用,很难用过程来描述和 实现,开发和维护都很困难。
三、程序设计方法的发展历程 ——面向对象的方法
将数据及对数据的操作方法封装在一起,作为一 个相互依存、不可分离的整体——对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通讯。
第一章 绪论
计算机程序设计语言的发展 面向对象的方法 面向对象的软件开发 信息的表示与存储 程序的开发过程
1.1计算机语言的ห้องสมุดไป่ตู้展
计
计算机的工作是用程序来控制的
算
机
程序是指令的集合。
程
序
指令是计算机可以识别的命令。
机器语言
由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。
计算机发展的初期,软件工程师们只能用 机器语言来编写程序。这一阶段,在人类的自 然语言和计算机编程语言之间存在着巨大的鸿 沟。
优点:
程序模块间的关系更为简单,程序模块的独立性、 数据的安全性就有了良好的保障。
通过继承与多态性,可以大大提高程序的可重用 性,使得软件的开发和维护都更为方便。
1.2.2面向对象的基本概念
——对象
一般意义上的对象:
是现实世界中一个实际存在的事物。 可以使有形的(比如一辆汽车),也可以是无形 的(比如一项计划)。 是构成世界的一个独立单位,具有:
语言语的言鸿的沟鸿沟
编编程程((人人〕〕 程序的程理序解的和理执解行和(执机行器〕
(机器〕
1.2 面向对象的方法
1.2.1面向对象方法的由来 一、程序设计方法的发展历程 ——面向过程的程序设计方法
程序的目的:用于数学计算
主要工作:设计求解问题的过程
缺点:对于庞大、复杂的程序难以开发和维 护
二、程序设计方法的发展历程 ——面向过程的结构化程序设计方法