收藏 分享(赏)

第1章-C++的初步知识.ppt

上传人:hwpkd79526 文档编号:8129684 上传时间:2019-06-10 格式:PPT 页数:17 大小:194.50KB
下载 相关 举报
第1章-C++的初步知识.ppt_第1页
第1页 / 共17页
第1章-C++的初步知识.ppt_第2页
第2页 / 共17页
第1章-C++的初步知识.ppt_第3页
第3页 / 共17页
第1章-C++的初步知识.ppt_第4页
第4页 / 共17页
第1章-C++的初步知识.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、第1章 C+初步知识,一. 从C到C+,把解决问题的具体步骤编写成计算机能执行的一条条指令. 这样的指令序列就是程序.,程序设计及其任务,什么是程序?,什么是程序设计?,根据问题的需求, 设计数据结构和算法, 编制和调试程序, 使计算机能正确完成所要解决的问题.,著名计算机科学家N.Wirth提出:程序 = 数据结构+算法,可以这样来理解, 数据结构和算法是构成程序的两个重要方面, 而程序设计语言只是书写程序的一种工具或格式.,对于没有学过计算机的人, 计算机几乎是什么都会做的智能机器, 而实际上, 计算机所做的每一件事, 都必须由人来编制程序.,第1章 C+的初步知识,程序设计语言的发展,第

2、1章 C+的初步知识,1946年, 第一台商用计算机ENIAC问世, 采用机器语言及汇编语言编程; 1954年, Fortran诞生第一个高级语言; 1960年, ALGOL60诞生第一个用严格文法描述的高级语言; 1964年, BASIC诞生为初学者设计的交互式小型高级语言; 1966年, Fortran66()第一个国际标准的高级语言; 1972年, C语言诞生; 1980年代, 在C语言基础上开发出了C+系统.,面向过程的语言,不但要描述所要求解的问题, 而且需要给出求解的方法、过程和非常详细的步骤. 这类语言有: Fortran, Basic, Pascal, C, Cobol, Ad

3、a, Lisp 等.,目前的高级语言大体上可以分为:,程序设计语言的发展(续),是一种集成化的语言, 通常在特定应用领域中使用. 它不需要给出求解问题的算法和详细过程, 而只需要指出想做什么, 数据输入和输出的形式, 就能得到问题的结果. 这类语言有: 报表语言, SQL (Structured Query Language) 等.,面向问题的语言 (非过程化语言),它以问题域内的对象为基础, 将属性相同的对象抽象为类, 并利用继承机制, 仅对差异部分进行编程. 克服了面向过程语言编程重复使用率低, 容易出错等缺点. 这类语言有: VB, VC+, Java等.,第1章 C+的初步知识,面向对

4、象的语言(OOPObject Oriented Programming),C语言的发展历史,第1章 C+的初步知识,1963年:剑桥大学推出了较接近硬件的CPL语言, 但较难实现,1967年:剑桥的Matin Richards推出了简化后的BCPL语言,1970年:贝尔实验室的Ken Thompson对BCPL作了进一步简化,推出了B语言, 非常接近硬件, 但功能有限,1972-73年:贝尔实验室的D.M.Ritchie在B基础上设计出C语言,并与Thompson合作用C改写了PDP-11的UNIX操作系统,1978年:B.W.Kernighan和D.M.Ritchie(合称K&R)合著了具有

5、深远意义的名著The C Programming Language,1983年:美国国家标准化协会(ANSI) 发布了ANSI C,1987年: ANSI 发布了新标准C-87 ANSI C,1988年:K&R推出The C Programming Language第二版,1990年:ISO接受87 ANSI C为ISO C(ISO 9899-1990),1999年:1995年开发了新的版本, 1999年成为ISO标准(ISO 9899 -1990), 2000年被ANSI采纳,C+语言的发展历史,第1章 C+的初步知识,1979年: AT&T贝尔实验室的Bjarne Stroustrup博士

6、为分析Unix内核,开始设想一种新的语言. 但受到C语言强大的竞争压力, 最终选择从C语言继承发展的道路, 同时参考引进了许多其它语言的功能, 当时起名“C with Class“.,1985年10月: AT,1991年6月: The C+ Programming Language第二版完成;,1997年7月: The C+ Programming Language第三版完成;,1990年5月: 第一个Borland C+发布;,1992年3月: 第一个Microsoft C+发布;,1989,1991,1993年: CFront 2.0,3.0,4.0版发布;,1997年10月: ANSI

7、C+正是通过并发布;,学习程序设计的基本要求及内容,具有一定的数学知识及逻辑思维能力; 培养适应计算机算法描述的思维方式; 通过反复上机实践, 加快理解和掌握语言的各种功能及语法规则; 独立完成作业、编程及上机操作.,讲课:每周3学时, 介绍C语言的全部内容及C+的部分内容;,学习程序设计是一件非常辛苦的事, 要有非常强的耐心和实践精神. 其中最主要的困难是, 要学习和熟练掌握一门程序设计语言, 为此提出以下几点要求:,内容安排,基本要求,上机:每周2学时, 集中上机, 时间另行安排.,教材及教学参考书,谭浩强, C+程序设计, 清华大学出版社, 2004. K&R, The C Progra

8、mming Language(Second Edition), 1988. (中文版2001年, 机械工业出版社) 谭浩强, C程序设计(第三版), 清华大学出版社,2005. 夏宽理,王春森, 程序设计, 复旦大学出版社, 2005.6 Bjarne Stroustrup, The C+ Programming Language(3rd Edition), Addison Wesley, 2000. 刘天印,李福亮, C+程序设计, 北京大学出版社, 2006. 周霭如,林伟健, C+程序设计基础(第二版), 电子工业出版社, 2006. 吕凤翥, C+语言程序设计(第二版),电子工业出版社

9、, 2006. 阮宇, Visual C+ 6.0基础教程, 清华大学出版社, 2005,第1章 C+的初步知识,二.最简单的C+程序,#include using namespace std; void main ( ) cout“Hello, world !“ endl; ,例1.1输出一行文字,: 本意是移位运算符, 在iostream头文件中将其重新定义为输出运算符, 称为运算符重载; endl: (end of line) 表示输出一个换行符号.,第1章 C+的初步知识,几个例子,运行程序,void main ( ) int a, b, c;cout a b;c = max (a,

10、b);cout“Max. value is: “ c endl; ,例1.2调用函数求两个整数中的最大值,第1章 C+的初步知识,#include / 包含头文件 using namespace std; int max (int x, int y) int z;if (x = y) z = x;else z = y;return z; ,看看运行的结果吧,#include using namespace std; class CBook private:char name101;double price;public:void create ( );void display ( ); ;,例

11、1.3包含C+类的程序,第1章 C+的初步知识,void main ( ) CBook book1;book1.create ( );book1.display ( );/ cout book1.price; ,void CBook : create ( ) cout price; ,例1.3 (续),第1章 C+的初步知识,void CBook : display ( ) cout “Book name: “ name endl;cout “Book price: “ price endl; ,运行程序, (形参表) 局部变量定义; 执行语句;/ 行注释/* */ 区域注释return ,预

12、处理命令 函数声明; 全局变量的定义和声明; main 函数定义(仅1个); 自定义函数定义;,三.C+程序的基本结构及程序实现,第1章 C+的初步知识,C+程序的构成,程序单位1 (文件1):,程序单位2 (文件2):,程序单位n (文件n):,函数定义,头文件,函数声明; 全局变量及符号的定义和声明; 类定义;,程序的书写,源程序可自由书写, 每个语句用“;“结束, 一行中可写多个语句; 良好的书写习惯有利于程序的阅读和错误检查;,C+程序的构成(续-1),第1章 C+的初步知识,说明,一个对象(包括变量、函数等)必须先定义或声明后使用; C程序区分字母大小写. 关键字必须小写!其它习惯上

13、用小写;,C+又增加了16 个关键字: asm catch class delete friend inline new operator private protected public template this throw try virtual,C/C+的关键字,C的关键字共有32个 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switc

14、h typedef union unsigned void volatile while,C/C+语言的特点,简洁、紧凑:书写方便、灵活; 运算符丰富:共有34种运算符,包括“( )”、“,”等; 还可以重新定义运算符的功能; 丰富的数据结构:数组、指针、结构体、共用体、类等, 可构造链表、栈、树、图等复杂的数据结构; 较少的限制:程序设计自由度大,语法检查不严格; 可直接访问物理地址, 能进行位操作: 有人称其为“中级语言”; 目标代码质量高:只比汇编语言低10-20%。,第1章 C+的初步知识,C+程序的实现,DOS版: MSC, Turbo C+等; Windows版:MS Visual

15、 C+, Borland C+, GCC等; 上机练习: 采用Visual C+.,第1章 C+的初步知识,微机上使用的C+语言编译系统,程序的实现过程,用编辑器编写源程序, 一般直接在VC+集成环境下完成; 对源程序进行编译: 生成目标程序(.obj文件); 检查错误 (error, 无法进行下面的连接操作)及警告 (warning, 虽不影响下面的连接操作, 但有时含有实质性的错误); 将目标文件及库文件连接: 生成可执行文件 (.exe文件); 调试及运行程序, 得到计算结果; 分析计算结果, 如不正确, 则需要检查算法是否正确, 或者程序中是否存在非常隐蔽的错误;,第1章 练习,第1章 C+的初步知识,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报