教材C程序设计谭浩强编清华大学出版社第二版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1967年,Matin Richards对CPL进行改进、简化、 推 出 了 BCPL (Basic Combined Programming Language)
1970 年 , 美 国 贝 尔 实 验 室 Ken Thomson 以 BCPL为基础,再次简化推出了B语言,并写了第一 个UNIX系统。
•程序设计语言也是人工语言,基本构成与自然语言类似。 也是由语素、词、词组、句子以及规约他们之间构成关系 的语法组成。
•随着计算机科学的发展,程序设计语言经历了从机器语言、 汇编语言、高级语言、4GL、5GL的发展过程。
机器语言—面向机器的语言
机器语言用计算机能直接识别的二进制代码表示,对应于 机器指令。例如: 0000000000001000 表示数字8 1011011000000000 表示让计算机作加法 优点:
FORTRAN 主要用于科学计算 COBOL 主要用于商业
PASCAL 主要用于教学
LISP 主要用于人工智能
•高级语言编写的程序必须“翻译”成机器语言后才 能被计算机识别和执行。
•高级语言的翻译程序有两种方式:
•编译:一种是先把高级语言程序翻译成机器 语言(或者先翻译成汇编语言,然后在由汇编 程序翻译成机器语言)程序,然后再在机器上 执行。
C/C++程序设计语言概述
1.1程序设计语言的发展简史
•语言是什么?
•语言是作为交流工具的音义结合的符号系统。
•语言的这一定义是通过对语言的功能和结构系统两方面 得出的。
•分类:自然语言和人工语言。
•自然语言的结构特征是:由语素、词、词组、句子、以及规 约它们之间关系的语法组成。
•与自然语言类似,人工语言是为了满足特定的交流需要而研 制的语言,例如,世界语、通讯用的旗语、数学学科使用的 数学语言、化学学科用来描述化合物结构的语言等都是人工 语言。
1983年,美国标准化协会(ANSI) 制定了
ANSI C。
1988年K&R进行了改写,介绍了1989年通过的 C标准(ANSI/ISO9899:1990)。
C++是贝尔实验室的Stroustrup开发的,是C 的超集,改进了一些C语言的不足之处,更重要 的是提供了面向对象的程序设计能力,其标准在 1998年通过。
•为了克服机器语言和汇编语言的缺点,从50年代中期人们就 开发了计算机程序设计的高级语言。这些语言的共同特点是:
①完全独立于具体的计算机,通用性好;
②具有适宜描述计算过程的语言结构;
③易学易用,具有较高的可读性、可维护性和可移植性。
• 世界上最早出现的语言是1957年美国研制的FORTRAN,目前 常用的有:
Baidu Nhomakorabea
教学要求
1)严格遵守课堂纪律 2)按时、认真、独立地完成作业 3)上机实习与课堂学习需同样对待 4)勤于思考、多向编译器学习
本讲要求:
•了解程序设计语言的发展简史 •了解c/c++程序设计语言的发展历史 •了解程序设计范型 •了解C/C++程序设计语言源程序的基本结构 •掌握最简单的C/C++程序的编制 •掌握Visual C++ 集成编译环境的使用
• 解释:直接把高级语言程序在机器上运行, 一边解释一边执行。
例如:求解A+B=?
高级语言
A=A+B
汇编语言 ADD A, B 表示执行 A+B A
机器语言 10000000 表示“加法”操作
1.2 C/C++简史
C语言的发展历史
1960年出现了Algol60语言,但该语言主要面向 问题,与硬件较远,故英国剑桥大学推出了 CPL(Combined Programming Language)
•可读性提高 •编程效率提高 •缺点 •速度慢,需要“汇编程序”的翻译 •通用性差
机器语言与汇编语言的结论:
•用机器语言以及汇编语言编写的程序依赖于计算机硬件, 导致程序的可读性和可移植性差。
•机器语言, 汇编语言与人类的自然语言差别很大, 不易掌 握, 它们都属于低级语言
高级语言--面向问题、面向对象的语言
3)The design and evolution of c++, Bjarne Stroutrup,机械工业出版社,
教学目的
1)掌握C/C++语言的基本知识,包括语言的基本 语法、语义以及标准的库函数等
2)掌握结构化程序设计方法的基本知识 3)掌握面向对象程序设计方法的基本知识 4)能够利用Visual C++进行基本的程序设计 5)养成严谨的程序设计风格
速度快。 缺点
可读性差 编程效率低 通用性差
汇编语言--面向机器的语言
•为了便于理解与记忆,人们采用能帮助记忆的英文缩写符号 (称为指令助记符)来代替机器语言指令代码中的操作码,用 地址符号来代替地址码。 •汇编语言与机器语言一般是一一对应的。 •例如:
•MOV AX, BX 表示将寄存器BX中的值移到寄存器AX中 •优点:
美国贝尔实验室D.M. Ritchie 在B语言基础上设 计出了C语言,并用其将UNIX系统全部改写并实现。
经进一步改进,至1977年出现了与具体机器无 关的C编译文本,从而使C语言广泛应用,各种机 器皆可使用。
1978年,美国Brain W.Kernighan与Dennis. M. Ritchie 联合出版一书《The C Programming Language》成为 ANSI C之基础。
C语言主要有以下几方面的特点:
1、简洁、紧凑,使用方便、灵活,易于学习和应用。C 语言中只有32个关键字,9种控制语句,书写形式自由。 2、运算符丰富。34种运算符的灵活使用就保证了它可以 实现其它高级语言难以实现的运算。 3、C语言是面向结构化程序设计的语言,能实现各种复 杂的数据结构的运算。 4、C语言以函数作为程序模块以实现程序的模块化,符 合现代编程风格。
联系方式: Chengy@nju.edu.cn
参考书:
1)The C Programming Language,Brian W.Kernighan, Dennis M. Ritchie,2nd edition 清华大学出版社
2)The C++ Programming Language, Bjarne Stroutrup,special edition, 高等教育出版 社
1970 年 , 美 国 贝 尔 实 验 室 Ken Thomson 以 BCPL为基础,再次简化推出了B语言,并写了第一 个UNIX系统。
•程序设计语言也是人工语言,基本构成与自然语言类似。 也是由语素、词、词组、句子以及规约他们之间构成关系 的语法组成。
•随着计算机科学的发展,程序设计语言经历了从机器语言、 汇编语言、高级语言、4GL、5GL的发展过程。
机器语言—面向机器的语言
机器语言用计算机能直接识别的二进制代码表示,对应于 机器指令。例如: 0000000000001000 表示数字8 1011011000000000 表示让计算机作加法 优点:
FORTRAN 主要用于科学计算 COBOL 主要用于商业
PASCAL 主要用于教学
LISP 主要用于人工智能
•高级语言编写的程序必须“翻译”成机器语言后才 能被计算机识别和执行。
•高级语言的翻译程序有两种方式:
•编译:一种是先把高级语言程序翻译成机器 语言(或者先翻译成汇编语言,然后在由汇编 程序翻译成机器语言)程序,然后再在机器上 执行。
C/C++程序设计语言概述
1.1程序设计语言的发展简史
•语言是什么?
•语言是作为交流工具的音义结合的符号系统。
•语言的这一定义是通过对语言的功能和结构系统两方面 得出的。
•分类:自然语言和人工语言。
•自然语言的结构特征是:由语素、词、词组、句子、以及规 约它们之间关系的语法组成。
•与自然语言类似,人工语言是为了满足特定的交流需要而研 制的语言,例如,世界语、通讯用的旗语、数学学科使用的 数学语言、化学学科用来描述化合物结构的语言等都是人工 语言。
1983年,美国标准化协会(ANSI) 制定了
ANSI C。
1988年K&R进行了改写,介绍了1989年通过的 C标准(ANSI/ISO9899:1990)。
C++是贝尔实验室的Stroustrup开发的,是C 的超集,改进了一些C语言的不足之处,更重要 的是提供了面向对象的程序设计能力,其标准在 1998年通过。
•为了克服机器语言和汇编语言的缺点,从50年代中期人们就 开发了计算机程序设计的高级语言。这些语言的共同特点是:
①完全独立于具体的计算机,通用性好;
②具有适宜描述计算过程的语言结构;
③易学易用,具有较高的可读性、可维护性和可移植性。
• 世界上最早出现的语言是1957年美国研制的FORTRAN,目前 常用的有:
Baidu Nhomakorabea
教学要求
1)严格遵守课堂纪律 2)按时、认真、独立地完成作业 3)上机实习与课堂学习需同样对待 4)勤于思考、多向编译器学习
本讲要求:
•了解程序设计语言的发展简史 •了解c/c++程序设计语言的发展历史 •了解程序设计范型 •了解C/C++程序设计语言源程序的基本结构 •掌握最简单的C/C++程序的编制 •掌握Visual C++ 集成编译环境的使用
• 解释:直接把高级语言程序在机器上运行, 一边解释一边执行。
例如:求解A+B=?
高级语言
A=A+B
汇编语言 ADD A, B 表示执行 A+B A
机器语言 10000000 表示“加法”操作
1.2 C/C++简史
C语言的发展历史
1960年出现了Algol60语言,但该语言主要面向 问题,与硬件较远,故英国剑桥大学推出了 CPL(Combined Programming Language)
•可读性提高 •编程效率提高 •缺点 •速度慢,需要“汇编程序”的翻译 •通用性差
机器语言与汇编语言的结论:
•用机器语言以及汇编语言编写的程序依赖于计算机硬件, 导致程序的可读性和可移植性差。
•机器语言, 汇编语言与人类的自然语言差别很大, 不易掌 握, 它们都属于低级语言
高级语言--面向问题、面向对象的语言
3)The design and evolution of c++, Bjarne Stroutrup,机械工业出版社,
教学目的
1)掌握C/C++语言的基本知识,包括语言的基本 语法、语义以及标准的库函数等
2)掌握结构化程序设计方法的基本知识 3)掌握面向对象程序设计方法的基本知识 4)能够利用Visual C++进行基本的程序设计 5)养成严谨的程序设计风格
速度快。 缺点
可读性差 编程效率低 通用性差
汇编语言--面向机器的语言
•为了便于理解与记忆,人们采用能帮助记忆的英文缩写符号 (称为指令助记符)来代替机器语言指令代码中的操作码,用 地址符号来代替地址码。 •汇编语言与机器语言一般是一一对应的。 •例如:
•MOV AX, BX 表示将寄存器BX中的值移到寄存器AX中 •优点:
美国贝尔实验室D.M. Ritchie 在B语言基础上设 计出了C语言,并用其将UNIX系统全部改写并实现。
经进一步改进,至1977年出现了与具体机器无 关的C编译文本,从而使C语言广泛应用,各种机 器皆可使用。
1978年,美国Brain W.Kernighan与Dennis. M. Ritchie 联合出版一书《The C Programming Language》成为 ANSI C之基础。
C语言主要有以下几方面的特点:
1、简洁、紧凑,使用方便、灵活,易于学习和应用。C 语言中只有32个关键字,9种控制语句,书写形式自由。 2、运算符丰富。34种运算符的灵活使用就保证了它可以 实现其它高级语言难以实现的运算。 3、C语言是面向结构化程序设计的语言,能实现各种复 杂的数据结构的运算。 4、C语言以函数作为程序模块以实现程序的模块化,符 合现代编程风格。
联系方式: Chengy@nju.edu.cn
参考书:
1)The C Programming Language,Brian W.Kernighan, Dennis M. Ritchie,2nd edition 清华大学出版社
2)The C++ Programming Language, Bjarne Stroutrup,special edition, 高等教育出版 社