
C++程序设计
1 C++程序设计

第一章C++概述C++语言发展历史自从1946年第一台电子数字计算机ENIAC问世以来,随着计算机应用领域的不断扩大促进了计算机技术的高速发展,尤其是近年来计算机的硬件和软件都是日新月异。作为应用计算机的一种工具一程序设计语言,得到不断的充实和完善。每年都有新的程序设计语言问世,老的程序设计语言不断地更新换代。2
2 第一章C++概述 C++语言发展历史 自从1946年第一台电子数字计算机ENIAC 问世以来,随着计算机应用领域的不断扩大, 促进了计算机技术的高速发展,尤其是近年 来计算机的硬件和软件都是日新月异。作为 应用计算机的一种工具—程序设计语言,得 到不断的充实和完善。每年都有新的程序设 计语言问世,老的程序设计语言不断地更新 换代

20世纪60年代,MartinRichards为计算机软件人员在开发系统软件时,作为记述语言使用而开发了BCPL语言(Basic Combined Programming Language)。 1970年,Ken Thompson在继承BCPL语言的许多优点的基础上发明了实用的B语言。到了1972年,贝尔实验室的DennisRitchie和Briankernighan在B语言的基础上,作了进一步的充实和完善,设计出了C语言。当时,设计C语言是为了编写UNIX操作系统的。以后,C语言经过多次改进,并开始流行。C++是在C语言的基础上发展和完善的,而C是吸收了其它语言的优点逐步成为实用性很强的语言3
3 20世纪60年代,Martin Richards为计算机软件人员 在开发系统软件时,作为记述语言使用而开发了BCPL语 言(Basic Combined Programming Language)。1970年, Ken Thompson在继承BCPL语言的许多优点的基础上发 明了实用的B语言。到了1972年,贝尔实验室的Dennis Ritchie和Brian kernighan在B语言的基础上,作了进一步的 充实和完善,设计出了C语言。当时,设计C语言是为了 编写UNIX操作系统的。以后,C语言经过多次改进,并开始 流行。C++是在C语言的基础上发展和完善的,而C是吸 收了其它语言的优点逐步成为实用性很强的语言

C语言的主要特点是1、C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。既适用于设计和编写大的系统程序,又适用于编写小的控制程序,也适用科学计算2、它既有高级语言的特点,又具有汇编语言的特点。运算符丰富,除了提供对数据的算术逻辑运算外,还提供了二进制的位运算。并且也提供了灵活的数据结构。用C语言编写的程序表述灵活方便,功能强大。用C语言开发的程序,其结构性好,目标程序质量高,程序执行效率高
4 C语言的主要特点是: 1、C语言是一种结构化的程序设计语言,语言本 身简洁、使用灵活方便。既适用于设计和编写大 的系统程序,又适用于编写小的控制程序,也适 用科学计算。 2、它既有高级语言的特点,又具有汇编语言的特 点。运算符丰富,除了提供对数据的算术逻辑运算 外,还提供了二进制的位运算。并且也提供了灵活 的数据结构。用C语言编写的程序表述灵活方便, 功能强大。用C语言开发的程序,其结构性好,目 标程序质量高,程序执行效率高

。用C语言在某一种型号的计程序的可移植性好算机上开发的程序,基本上可以不作修改,,而直接移植到其它型号和不同档次的计算机上运行。4、程序的语法结构不够严密,程序设计的自由度大。这对于比较精通C语言的程序设计者来说,可以设计出高质量的非常通用的程序。但对于初学者来说,要能比较熟练运用C语言来编写程序,并不是一件容易的事情。与其它高级语言相比而言,调试程序比较困难。往往是编好程序输入计算机后,编译时容易通过,而在执行时还会出错。但只要对C语言的语法规则真正领会,编写程序及调试程序还是比较容易掌握的。5
5 3、程序的可移植性好。用C语言在某一种型号的计 算机上开发的程序,基本上可以不作修改,而直接 移植到其它型号和不同档次的计算机上运行。 4、程序的语法结构不够严密,程序设计的自由度 大。这对于比较精通C语言的程序设计者来说,可 以设计出高质量的非常通用的程序。但对于初学者 来说,要能比较熟练运用C语言来编写程序,并不 是一件容易的事情。与其它高级语言相比而言,调 试程序比较困难。往往是编好程序输入计算机后, 编译时容易通过,而在执行时还会出错。但只要对 C语言的语法规则真正领会,编写程序及调试程序 还是比较容易掌握的

随着C语言应用的推广,C语言存在的些缺陷或不足也开始流露出来,并受到大家的关注。如:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构随着软件工程规模的扩大,难以适应开发特大型的程度等等6
6 随着C语言应用的推广,C语言存在的一 些缺陷或不足也开始流露出来,并受到大 家的关注。如:C语言对数据类型检查的 机制比较弱;缺少支持代码重用的结构; 随着软件工程规模的扩大,难以适应开发 特大型的程度等等

为了克服C语言本身存在的缺点,并保持C语言简0年,洁、高效,与汇编语言接近的特点,1980尔实验室的Biarne Stroustrup博士及其同事对C语言进行了改进和扩充,并把Simula67中类的概念引入到C中。并在1983年由Rick Maseitti提议正式命名为C++(C Plus Plus)。后来,又把运算符的重载、引用、虚函数等功能加入到C++中,使C++的功能日趋完善当前用得较为广泛的C++有:VC++(Visual CPlus Plus) 、BC++ (Borland C Plus Plus)AT&T C++等。7
7 为了克服C语言本身存在的缺点,并保持C语言简 洁、高效,与汇编语言接近的特点,1980年,贝 尔实验室的Bjarne Stroustrup博士及其同事对C语 言进行了改进和扩充,并把Simula 67中类的概念 引入到C中。并在1983年由Rick Maseitti提议正式 命名为C++(C Plus Plus)。后来,又把运算符的 重载、引用、虚函数等功能加入到C++中,使C++ 的功能日趋完善。 当前用得较为广泛的C++有:VC++ (Visual C Plus Plus)、 BC++(Borland C Plus Plus)、 AT&T C++等

简单的C++程序介绍高级语言编译过程库文件(各种函数)可执行文件源程序目标文件(二进制文件)(文本文件)(二进制文件)编译连接*.EXE*.CPP*.OBJlinkcompileF7在VitualC++系统中,可直接从源程序编译连接至可执行程序,但依然要生成*.OBJ及*EXE这两个文件。8
8 简单的C++程序介绍 高级语言编译过程 源程序 (文本文件) *.CPP 目标文件 (二进制文件) *.OBJ 可执行文件 (二进制文件) *.EXE 库文件 (各种函数) 在Vitual C++系统中,可直接从源程序编译连接至可执行 程序,但依然要生成*.OBJ及*.EXE这两个文件。 F7 编译 连接 compile link

一个简单的C++程序包含文件#include函数体主函数开始分号,一条完整语句的结束符bid main(void)cout<<“Iam a student.In”;//输出字符串输出流,在屏幕上打函数体注释或说明印引号内的字符串结束本程序编译执行后,在DOS屏幕上打印出I am a student9
9 一个简单的C++程序 #include void main(void ) { cout<<“I am a student.\n”; //输出字符 串 } 主函数 函数体 开始 函数体 结束 输出流,在屏幕上打 印引号内的字符串 分号,一条完整 语句的结束符 本程序编译执行后,在DOS屏幕上打印出 I am a student. 包含文件 注释或说明

编译过程:1)启动Visual C++,选择“文件”菜单中的“新建命令,选择“文件”标签中的“C++SourceFile”选项。2)选择源程序存放的目录和输入源程序名,单击“确定”。3)在编辑器中编写源程序。4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。10
10 编译过程: 1)启动Visual C++,选择“文件”菜单中的“新建” 命令,选择“文件”标签中的“C++ Source File” 选项。 2)选择源程序存放的目录和输入源程序名,单击 “确定”。 3)在编辑器中编写源程序。 4)单击F7或“编译”中的“重建全部”编译源程 序,若编译通过,单击“执行”,在DOS屏上看 结果,任按一键返回编辑器