C++程序设计 主讲:王兴波教授 1
第一章C++概述 C++语言发展历史 自从1946年第一台电子数字计算机ENIAC问世以来,随着计算机应用领域的不断扩大,促进了计算机技术的高速发展,尤其是近年来计算机的硬件和软件都是日新月异。作为应用计算机的一种工具—程序设计语言,得到不断的充实和完善。每年都有新的程序设计语言问世,老的程序设计语言不断地更新换代。 2
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是吸收了其它语言的优点逐步成为实用性很强的语言。 3
1、C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。既适用于设计和编写大的系统程序,又适用于编写小的控制程序,也适用科学计算。 2、它既有高级语言的特点,又具有汇编语言的特点。运算符丰富,除了提供对数据的算术逻辑运算外,还提供了二进制的位运算。并且也提供了灵活的数据结构。用C语言编写的程序表述灵活方便,功能强大。用C语言开发的程序,其结构性好,目标程序质量高,程序执行效率高。 4
3、程序的可移植性好。用C语言在某一种型号的计算机上开发的程序,基本上可以不作修改,而直接移植到其它型号和不同档次的计算机上运行。 4、程序的语法结构不够严密,程序设计的自由度大。这对于比较精通C语言的程序设计者来说,可以设计出高质量的非常通用的程序。但对于初学者来说,要能比较熟练运用C语言来编写程序,并不是一件容易的事情。与其它高级语言相比而言,调试程序比较困难。往往是编好程序输入计算机后,编译时容易通过,而在执行时还会出错。但只要对C语言的语法规则真正领会,编写程序及调试程序还是比较容易掌握的。 5
随着C语言应用的推广,C语言存在的一些缺陷或不足也开始流露出来,并受到大家的关注。如:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。 6
为了克服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++等。 7
简单的C++程序介绍 高级语言编译过程 库文件 (各种函数) 可执行文件 (二进制文件) *.EXE 源程序 (文本文件) *.CPP 目标文件 (二进制文件) *.OBJ 编译 连接 compile link F7 在Vitual C++系统中,可直接从源程序编译连接至可执行程序,但依然要生成*.OBJ及*.EXE这两个文件。 8
#include<iostream.h> void main(void ) { cout<<“I am a student.\n”; //输出字符串 } 包含文件 函数体开始 主函数 分号,一条完整语句的结束符 输出流,在屏幕上打印引号内的字符串 函数体结束 注释或说明 本程序编译执行后,在DOS屏幕上打印出 I am a student. 9
1)启动Visual C++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++ Source File”选项。 编译过程: 1)启动Visual C++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++ Source File”选项。 2)选择源程序存放的目录和输入源程序名,单击“确定”。 3)在编辑器中编写源程序。 4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。 10
启动VC++编译系统 11
单击“File”菜单中“New”命令 VC++编译系统界面 12
选择“Files”选项卡 输入文件名 选择C++源文件命令 输入文件存放位置 单击选择驱动器 选择驱动器或目录 13
输入C++源代码 C++源文件编辑界面 14
可以将此源代码另起文件名存盘 15
选择编译命令,将源文件.cpp生成.obj文件 16
如果编译出错,会出现提示信息,指出错误的位置及种类 错误所在行 错误的原因 如果编译出错,会出现提示信息,指出错误的位置及种类 17
光标移到该行 双击错误所在行 18
生成可执行文件 通过后单击该命令运行程序 19
注意:不可以在软盘上运行程序!应该把保存在软盘中的源文件拷贝到硬盘的目录中再运行! 运行结果显示在DOS屏上 20
未编译前,只有一个源程序 源程序所在目录 21
编译运行后,出现众多附加文件 同时,产生一个子目录Debug 22
Debug目录中,有obj和EXE文件 23
#include <iostream.h> void main(void) { 另一个例子 #include <iostream.h> void main(void) { cout << “i=”; //显示提示符 int i; //说明变量i cin >>i; //从键盘上输入变量i的值 cout << “i的值为:” <<i<<’\n’; // 输出变量i的值 } 24