- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++ 语言
潘建瑜
华东师范大学数学系jypan@
2
课程目标
掌握 C++ 基本语法规则
熟练阅读和分析 C++ 程序源代码
掌握 C++ 类与对象的相关知识
掌握算法设计的基本概念、方法与技巧
培养面向对象的程序设计能力
掌握基本的编程和调试技术
3
课程基本信息
教材:以课堂讲义为主
4
课程基本信息
参考资料:见课程主页
上机时间:周二 7、8 (第二周开始)
答疑时间:周三晚上 18:30 — 20:30
地点:数学楼 229
课程主页:
/~jypan
5
学习要求
按时上课、认真听讲
重基础,多练习,勤思考
总评成绩:
平时作业(上机、考勤) + 上机小测试 + 期终笔试
6
程序设计语言介绍
程序设计语言的发展
程序设计的方法
程序开发的基本概念
7
程序设计语言的发展
CPU指令系统,由 0、1 构成的指令码组成;是计算机唯一能识别并直接执行的语言
用助记符号描述的指令系统如 ADD, SUB;需翻译成机器语言,符号化的机器语言
机器语言
汇编语言
高级语言
面向过程
面向对象
面向应用
效率高
编程难
8
高级语言
高级语言
更接近人类自然语言,编程方便
不能直接被计算机识别,必须经过转换才能被执行
高级语言屏蔽了机器的细节,提高了语言的抽象层次
程序中可以采用具有一定含义的数据命名和容易理解的执行语句,这使得在书写程序时可以联系到程序所描述的具体事物
x=x+y;
例:
9
两种转换方式
解释类语言
由解释器把源程序翻译成机器语言,每翻译一条执行 一条,每执行一次就要翻译一次
优点:比较灵活,可以动态地调整、修改应用程序
典型代表:MATLAB、Python
编译类语言
由编译器将源程序编译成目标程序,然后执行目标程序
目标程序可以脱离其语言环境独立执行,可重复运行, 使用方便,执行效率高
典型代表:FORTRAN 、C、C++
10
高级语言典型代表
FORTRAN:Formula Translation
1956年,高级语言诞生的标志,简洁高效,科学计算主流语言
C
1972年,通用的、过程式的编程语言,高效、灵活、功能丰富,主流的系统软件开发和科学计算语言
C++
1983年,继承 C 的所有优点,增加面向对象功能
11
高级语言的发展(部分)
Ada
ALGOL60
ALGOL68
Pascal
Modula-2
BCPL
B
C
C++
Java
LISP
PROLOG
COBOL
FORTRAN77
FORTRAN
PL/1
Simula 67
Smalltalk 80
BASIC
ANSI-BASIC
QBASIC
VB
FORTRAN90
CPL
12
世界编程语言排行
该排名仅仅展现编程语言的流行趋势,反映了某个编程语言的热门程度,但并不代表它是一个最好的编程语言或是可以写出某些令人称赞的好程序。
Feb 2018
Feb 2019
Programming Language
1
1
Java // Android,web
2
2
C
4
3
Python
3
4
C++
6
5
Visual Basic .NET
8
6
JavaScript // web
…
…
20
10
Objective-C // Mac OS, IOS
19
12
MATLAB
13
15
R
/tiobe-index/
13
IEEE 2017 编程语言排行榜
—— Find the programming languages that are most important to you
Interactive: The Top Programming Languages 2017
14
程序设计方法
面向过程的结构化程序设计方法
面向对象的程序设计方法
程序设计的方法
从结构化编程入手,学习面向对象编程思想
15
结构化程序设计
设计思路
- 自顶向下、分而治之,采用模块分解与功能抽象
程序结构
- 按功能划分为若干个基本模块
- 各模块间的关系尽可能简单,功能上相对独立
- 其模块化实现的具体方法是使用子程序/函数
优点
- 有效地将一个较复杂的程序系统设计任务分解成许多 易于控制和处理的子任务,便于开发和维护
16
结构化程序设计
不足
- 数据和处理数据的过程相互独立: 当数据结构改变时,所有相关的处理过程都要进行修改
- 随着程序规模不断扩大,模块数呈指数级递增,模块间的数据传递五花八门,同一程序中模块之间的关系错综复杂,结构化程序设计方法对程序的可维护性和重用性越来越力不从心。因此有必要让语言具有自建数据结构的能力。
软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需
文档评论(0)