资源描述:
《【8A文】c++教程.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、湖北大学数计学院计科系朱明1/141*OOP:C++程序设计湖北大学数计学院计科系朱明2/141*总目录第1章C++的初步知识第2章类和对象第3章关于类和对象的进一步讨论第4章运算符重载第5章继承与派生第6章多态性与虚函数第7章输入输出流第8章C++工具湖北大学数计学院计科系朱明3/141*教材谭浩强,C++面向对象程序设计(第1版),清华大学出版社,2006.1湖北大学数计学院计科系朱明4/141*参考书BjarneStroustrup著,C++程序设计语言(特别版),机械工业出版社,2002曹计昌等著,C++语言及面向对象程序设计,高等教育出版社,2004钱能,C++程序设计教程(第1
2、版),清华大学出版社,2002湖北大学数计学院计科系朱明5/141*第1章C++的初步知识1.1从C到C++1.2最简单的C++程序1.3C++对C的扩充1.4C++程序的编写和实现1.5关于C++上机实践湖北大学数计学院计科系朱明6/141*1.1从C到C++计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序.世界上第一种计算机高级语言诞生于1954年,它是FORTRAN语言.先后出现了多种计算机高级语言.其中使用最广泛,影响最大的当推BASIC语言和C语言.BASIC语言是1964年在FORTRAN语言的基础上简化而成的,它是为初学者设计的小型解释型高级语言.湖北大学数计学
3、院计科系朱明7/141*C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的.它不是为初学者设计的,而是为计算机专业人员设计的.大多数系统软件和许多应用软件都是用C语言编写的.C语言的特点语言简洁紧凑,使用灵活方便.C语言只有32个关键字,程序书写形式自由.丰富的运算符和数据类型.C语言可以直接访问内存地址,能进行位操作,使其能够胜任开发操作系统的工作.生成的目标代码质量高,程序运行效率高.可移植性好.湖北大学数计学院计科系朱明8/141*C语言的局限性类型检查机制相对较弱.使得程序中的一些错误无法在编译时发现,以此为代价保证程序运行的高效率,对程序员要求高.没有支持代码重用
4、的语言结构.当程序的规模达到一定程度时,程序员很难控制程序的复杂性.如C语言在编译时对数组下标越界不作检查;对输入输出也不作类型检查.湖北大学数计学院计科系朱明9/141*随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了.C++是由AT&TBell(贝尔)实验室的BjarneStroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的.C++保留了C语言原有的全部特征,属性和优点,增加了面向对象(OO)的机制,其目的是提高大型软件的开发效率.学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计.两者互为补充,并不矛盾.湖北大
5、学数计学院计科系朱明10/141*#include//包含头文件iostreamusingnamespacestd;//使用命名空间stdintmain(){cout<<″ThisisaC++program.″;return0;}Exg1_1.cpp(1of1)输出一行字符:”ThisisaC++program.”.运行结果:ThisisaC++program.1.2最简单的C++程序主函数cout:输出流对象;<<:插入运算符;cin:输入流对象;>>:提取运算符;当遇到多个<<或>>时,从左往右依次进行,而非同时进行.<<和>>本应是按位左移,右移运算符,但在io
6、stream.h头文件中被重载为基本数据类型数据的插入运算符和提取运算符.函数返回(输入输出流)C++标准中规定其返回类型为int型,且正常结束返回0值,否则返回-1值.但在现有的一些C++编译器中写成void型也能通过编译,其原因是在做编译器的过程中,出于多种考虑,如软件开发成本,软件使用时的灵活性,软件执行效率等因素,对C++标准的执行程度不够彻底.类似的问题,即C++标准和编译器之间的出入还有很多,大家可以慢慢体会.(注:C语言不要求main函数一定是int型,一般用void型)cplusplus湖北大学数计学院计科系朱明11/141*预处理命令(包含命令)两种写法:1.#includ
7、e<头文件.h>2.#include<头文件>usingnamespacestd;由于这类文件都放在程序单元的开头,所以称为”头文件”(headfile).在程序进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替#include命令行,然后再对该程序单元进行整体编译.C++所有语句都以分号(;)结尾,而预处理命令不是语句,故末尾无分号.其中,1是C语言中的写法,2是标准C++(即ANSIC++)