- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
C++高级语言程序设计 第一章 C++初步
徐前方
xuqianfang@
2
本课程内容
教材:
《C++高级语言程序设计》,邮电
课件:ckjbupt@163.com(buptbupt)
参考教材
郑莉,《C++语言程序设计》,清华
钱能,《C++程序设计教程》,清华
谭浩强,《C++面向对象程序设计》,清华
联系方式
xuqianfang@答疑
3
本课程内容
什么是程序设计?
用计算机识别的语言对一个问题求解的过程。
语法、关键字、逻辑
4
本课程内容
第一章 C++初步
第二章 基本数据类
型与表达式
第三章 C++控制语句
第四章 数组及其他
自定义类型
第五章 函数
第六章 指针与引用
第七章 类与对象
第八章 继承与派生
第九章 多态
5
第一章 C++初步
1.1 程序设计语言的发展
1.2 面向过程的程序设计
1.3 面向对象的程序设计
1.4 C++的诞生
1.5 程序开发过程
1.6 简单的C++程序
1.7 内存的抽象表示和使用
6
1.1 程序设计语言的发展
例:1011 1111 1101
缺点:难懂、不易修改、移植性差
例:ADD CX DX
缺点:不能立即执行,需要汇编,变成目标程序
例:if y3
z=x+y;
7
1.1 计算机程序设计语言的发展
mov eax,DWORD PTR a_$[ebp]
lea eax,DWORD PTR [eax+eax*2]
mov ecx,DWORD PTR b_$[ebp]
add ecx,ecx
sub eax,ecx
inc eax
mov DWORD PTR a_$[ebp],eax
a=3*a-2*b+1
8b 45 fc
8d 04 40
8b 4d f8
03 c9
2b c1
40
89 45 fc
8
1.1 计算机程序设计语言的发展
不同的高级语言语法不同
例:向屏幕打印字符“A”
BASIC
PASCAL
C
C++
JAVA
writeln(‘A’);
cout“A”;
System.out.print(“A”);
PRINT “A”
printf(“A”);
9
1.2 面向过程的程序设计
又称为过程化程序设计,主要思想:
自顶向下、逐步求精
三种结构
顺序
分支
循环
10
1.2 面向过程的程序设计
将程序看作是一系列的过程。在设计时,先从总体上将程序分为几个子过程,然后对每个子过程进行细化,直到易于编写的各个功能部件。
任务:计算每门课程的平均成绩
几门课,每门课总成绩/总人数
1)一共有多少课程
2)每门课的总人数
3)计算每门课所有
学生总分
4)用每门课的总分
除以人数
1)找出每门课选课的学生档案
2)从档案中依次读取该课的成绩
3)累加到总成绩上
1)选择一门课
2)查找选择该课的学生档案
3)从磁盘读取数据
11
主调模块2
主调模块1
1.2 面向过程的程序设计
模块的单入:该模块被哪些模块所调用
模块的单出:该模块调用了哪些模块
被调模块
主调模块
被调模块1
被调模块2
被调模块n
12
1.2 面向过程的程序设计
模块的单入:该模块被哪些模块所调用
模块的单出:该模块调用了哪些模块
cinab;
c=max(a,b);
coutcendl;
int max(int x,int y)
{
if (xy) return x;
else return y;
}
13
1.2 面向过程的程序设计
缺点:
可重用性差、数据安全性差、
把数据和处理数据的过程分离为相互独立的实体。 当数据结构改变时,所有相关的处理过程都要进行相应的修改。
难以开发大型软件和图形界面的应用软件
图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。
14
1.3 面向对象的程序设计
面向对象(Object Oriented)
按人们认识客观世界的系统思维方式
采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
是一种以事物为中心的编程思想
15
1.3 面向对象的程序设计
例1:图书馆的出纳台管理程序
面向过程
算法
数据结构
数据结构
16
1.3 面向对象的程序设计
例1:图书馆的出纳台管理程序
面向对象
17
1.3 面向对象的程序设计
例2:五子棋游戏
黑子先走
绘制画面
游戏开始
判断输赢
轮到白子
绘制画面
判断输赢
游戏结束
N
Y
N
Y
面向过程
功能分解
18
1.3 面向对象的程序设计
例2:五子棋游戏
面向对象
玩
家
棋
盘
规则
黑
文档评论(0)