C程序设计实验指导与题解.ppt





《C程序设计实验指导与题解.ppt》由会员分享,可在线阅读,更多相关《C程序设计实验指导与题解.ppt(382页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计程序设计北京理工大学北京理工大学计算机科学技术学院计算机科学技术学院赵清杰赵清杰2008.72北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院2C+程序设计程序设计清华大学出版社,清华大学出版社,20083北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院3主要内容主要内容第第1章章C+语言概述语言概述第第2章章C+编程基础编程基础第第3章章函数与函数模板函数与函数模板第第4章章类与类模板类与类模板第第5章章运算符重载运算符重载第第6章章继承与派生继承与派生第第7章章多态多态第第8章章异常处理异常处理第第9章章C+标准库标准库4北京理工大学北京理工大学 计
2、算机科学技术学院计算机科学技术学院4第第1章章C+语言概述语言概述5北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院5第第1章章C+语言概述语言概述本本章章简简单单介介绍绍C+语语言言的的特特点点以以及及C+标准库的主要构成。标准库的主要构成。列举一个简单的列举一个简单的C+程序。程序。程程序序的的编编辑辑、编编译译、连连接接与与运运行行,并并介介绍绍VisualC+6.0开开发发环环境境下下建建立立标标准准C+控控制制台台应应用用程程序序的的步步骤。骤。6北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院6第第1章章C+语言概述语言概述1.1C+语言的特点语言的特点
3、1.2C+标准库简介标准库简介1.3简单的简单的C+程序程序1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行1.5小结小结7北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院71.1C+语言的特点语言的特点支持过程式程序设计支持过程式程序设计proceduralprogramming支持基于对象的程序设计支持基于对象的程序设计object-basedprogramming支持面向对象的程序设计支持面向对象的程序设计object-orientedprogramming支持泛型程序设计支持泛型程序设计genericprogrammingC+是一门支持多种编程方法的程序设计
4、语言:是一门支持多种编程方法的程序设计语言:8北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院81.1C+语言的特点语言的特点过程式程序设计过程式程序设计通过一组算法建立问题的模型,程通过一组算法建立问题的模型,程序的构成就是序的构成就是“算法算法+数据数据”。C+能够兼容能够兼容C语言,语言,但做了很多改进,例如对类型要求更加严格,输入但做了很多改进,例如对类型要求更加严格,输入输出更方便,增加了新的运算符,允许函数和运算输出更方便,增加了新的运算符,允许函数和运算符重载,增加了引用类型,提供符重载,增加了引用类型,提供inline、const等关等关键字。总之,在支持过程式程
5、序设计方面,比键字。总之,在支持过程式程序设计方面,比C语言语言更安全、功能更强、使用更方便。更安全、功能更强、使用更方便。基于对象程序设计基于对象程序设计,主要特征是抽象和封装。它允,主要特征是抽象和封装。它允许将数据和操作封装在一起,形成抽象数据类型,许将数据和操作封装在一起,形成抽象数据类型,如类。把占据一块内存的类的实例称为该类型的对如类。把占据一块内存的类的实例称为该类型的对象。基于对象的程序设计就是建立对象和通过公有象。基于对象的程序设计就是建立对象和通过公有接口与对象联系的过程。接口与对象联系的过程。9北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院91.1C+语言
6、的特点语言的特点抽象、封装、继承与多态是抽象、封装、继承与多态是面向对象程序设计面向对象程序设计的主的主要特征。在类与对象的基础上,要特征。在类与对象的基础上,C+通过继承和动通过继承和动态绑定机制扩展了抽象数据类型。通过从基类派生态绑定机制扩展了抽象数据类型。通过从基类派生出子类,使用户无需修改原有的程序就可以重用已出子类,使用户无需修改原有的程序就可以重用已有的资源,并能够进一步修改或增添功能。动态绑有的资源,并能够进一步修改或增添功能。动态绑定机制通过定义虚函数,使处于不同类层次的同名定机制通过定义虚函数,使处于不同类层次的同名函数,在程序运行时才被决定应该调用哪一个。函数,在程序运行时
7、才被决定应该调用哪一个。泛型程序设计泛型程序设计,将算法从特定的数据类型中抽象出,将算法从特定的数据类型中抽象出来,使算法通用于不同的数据类型。泛型程序在代来,使算法通用于不同的数据类型。泛型程序在代码重用、组织性、可维护性以及效率等方面表现出码重用、组织性、可维护性以及效率等方面表现出很强的优势。很强的优势。C+的模板语法机制,为范型程序设的模板语法机制,为范型程序设计奠定了关键基础。计奠定了关键基础。10北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院10第第1章章C+语言概述语言概述1.1C+语言的特点语言的特点1.2C+标准库简介标准库简介1.3简单的简单的C+程序程序1
8、.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行1.5小结小结11北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院111.2C+标准库简介标准库简介C+标准库(标准库(StandardLibrary)定义了一些可供直)定义了一些可供直接使用的函数、类、对象等。这些定义分别放在不同接使用的函数、类、对象等。这些定义分别放在不同的头文件中,我们使用时只要包含相应的头文件即可。的头文件中,我们使用时只要包含相应的头文件即可。以前的以前的C头文件和头文件和C+头文件名都是以头文件名都是以“.h”做后缀的,做后缀的,如如和和。新的。新的C+标准头文件名标准头文件名不带后缀。以字
9、母不带后缀。以字母c开头的标准头文件(如开头的标准头文件(如)等价于原来的等价于原来的C头文件。头文件。标准头文件中定义的标识符(如类名、函数名、对象标准头文件中定义的标识符(如类名、函数名、对象名)都归属于名字空间名)都归属于名字空间std,使用时要加前缀,使用时要加前缀“std:”进行限制,或者使用进行限制,或者使用using声明或声明或using指指令。令。C+标准库主要包括流类、标准库主要包括流类、string、容器类、使用容器、容器类、使用容器的泛型算法、数值运算、的泛型算法、数值运算、C标准库、语言支持功能等。标准库、语言支持功能等。12北京理工大学北京理工大学 计算机科学技术学院
10、计算机科学技术学院121.2C+标准库简介标准库简介图图1-1C+标准库构成标准库构成13北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院131.2C+标准库简介标准库简介C+(语言)与(语言)与VisualC+(C+的开发环境)的开发环境)我们要学习的是我们要学习的是C+这门计算机语言的语法知识、这门计算机语言的语法知识、编程方法以及如何使用编程方法以及如何使用C+标准库。标准库。不同企业的开发环境一般也为用户提供一个基础类不同企业的开发环境一般也为用户提供一个基础类库,如库,如MicrosoftVisualC+的的MFC(MicrosoftFoundationClassLib
11、rary),),BorlandC+Builder的的VCL(VisualComponentLibrary)等。)等。软件开发人员也可以编写自己的类库。软件开发人员也可以编写自己的类库。本书我们只涉及本书我们只涉及C+标准库,而对不同的开发环境标准库,而对不同的开发环境及其类库不做具体介绍。及其类库不做具体介绍。14北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院14第第1章章C+语言概述语言概述1.1C+语言的特点语言的特点1.2C+标准库简介标准库简介1.3简单的简单的C+程序程序1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行1.5小结小结15北京理工大学北京理
12、工大学 计算机科学技术学院计算机科学技术学院151.3简单的简单的C+程序程序/*/例例1-1.计算圆面积的计算圆面积的C+程序程序/数据描述:半径和面积均为实数数据描述:半径和面积均为实数/数据处理:数据处理:(a)从键盘输入半径从键盘输入半径r;/(b)计算面积计算面积=r2;(c)向屏幕输出半径和面积向屏幕输出半径和面积/*16北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院161.3简单的简单的C+程序程序17北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院171.3简单的简单的C+程序程序上述程序运行后,屏幕上显示:Please input radius:
13、如果我们从键盘输入:3屏幕上将显示:radius=3area=28.274318北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院181.3简单的简单的C+程序程序例例1-2.数据的输出#include using namespace std;int main()cout a number in decimal:dec 15endl;cout in octal:oct 15 endl;cout in hex:hex 15 endl;cout a floating-point number:3.14159endl;cout a char:A endl;return 0;19北京理工大
14、学北京理工大学 计算机科学技术学院计算机科学技术学院19第第1章章C+语言概述语言概述1.1C+语言的特点语言的特点1.2C+标准库简介标准库简介1.3简单的简单的C+程序程序1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行1.5小结小结20北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院20n编辑:源文件的扩展名为编辑:源文件的扩展名为.cppn编译编译预处理过程预处理过程编译过程编译过程词法分析:单词词法分析:单词语法分析:构造程序的格式语法分析:构造程序的格式符号表:程序中的各种符号及它们的属性符号表:程序中的各种符号及它们的属性错误处理程序:错误处理程序:生
15、成目标代码:目标文件的扩展名为生成目标代码:目标文件的扩展名为.objn连接:可执行文件扩展名为连接:可执行文件扩展名为.exen运行运行1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行21北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院21源程序源程序.cpp目标文件目标文件.obj可执行文件可执行文件.exe编译器编译器连接器连接器#include文件文件C+库文件库文件1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行22北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院221.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行
16、C+编程环境:编程环境:Windows平台下平台下C+的集成开发环境:的集成开发环境:VisualC+6.0VisualSBorlandC+BuilderLinux下可以采用命令行开发下可以采用命令行开发C+程序程序vi编辑源文件编辑源文件gcc编译源文件编译源文件23北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院231.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行启动启动VisualC+6.0开发环境;开发环境;创建一个新项目;创建一个新项目;建立建立C+源程序文件;源程序文件;编辑编辑C+源程序文件内容;源程序文件内容;编译,连接,调试,执行;编译,连接,调试
17、,执行;关闭工作空间。关闭工作空间。VisualC+6.0开发环境下,建立标准开发环境下,建立标准C+控制台应用程序的步骤:控制台应用程序的步骤:24北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院24第第1章章C+语言概述语言概述1.1C+语言的特点语言的特点1.2C+标准库简介标准库简介1.3简单的简单的C+程序程序1.4程序的编辑、编译、连接与运行程序的编辑、编译、连接与运行1.5小结小结25北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院251.5小结小结C+是一门支持多种编程方法的程序是一门支持多种编程方法的程序设计语言,它不仅支持过程式程序设设计语言,它
18、不仅支持过程式程序设计,还支持基于对象的程序设计、面计,还支持基于对象的程序设计、面向对象的程序设计以及泛型程序设计。向对象的程序设计以及泛型程序设计。熟悉并学会使用熟悉并学会使用C+标准库。标准库。至少熟悉一种至少熟悉一种C+开发环境。开发环境。26北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院26第第2章章C+编程基础编程基础27北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院27第第2章章C+编程基础编程基础介绍介绍C+语言的基本概念和基本语法,语言的基本概念和基本语法,内容包括内容包括C+的词法规则、数据类型、的词法规则、数据类型、表达式及语句、预处理命令
19、、名字空间表达式及语句、预处理命令、名字空间等,并通过例子说明相应的语法知识,等,并通过例子说明相应的语法知识,在此基础上使大家能够编写出简单的在此基础上使大家能够编写出简单的C+程序。程序。28北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院28第第2章章C+编程基础编程基础2.1C+的词法规则的词法规则2.2C+的数据类型的数据类型2.3表达式与语句表达式与语句2.4预处理命令预处理命令2.5名字空间名字空间2.6小结小结29北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院292.1.1 C+的字符集的字符集大小写的英文字母:大小写的英文字母:az,AZ数字字符
20、:数字字符:09特殊字符:特殊字符:2.1C+的词法规则的词法规则30北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院302.1.1 C+的字符集的字符集基本基本ASCII码是美国标准信息交换码,把码是美国标准信息交换码,把128个字符与个字符与7位二进制数码对应。位二进制数码对应。C+把字符和它的码值同等看待,字符对把字符和它的码值同等看待,字符对应的数值就是该字符的应的数值就是该字符的ASCII码。码。参见参见例例2-1。2.1C+的词法规则的词法规则31北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院312.1.2 词汇词汇关键字关键字是是C+预定义的单词,表
21、达特定的预定义的单词,表达特定的含义,不允许重定义。含义,不允许重定义。C+关键字参见表关键字参见表2-2。2.1C+的词法规则的词法规则C+的词汇包括关键字、标识符、运算符、分的词汇包括关键字、标识符、运算符、分隔符、文字等。隔符、文字等。32北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院322.1.2 词汇词汇标识符标识符是程序员声明的单词,例如函数名、是程序员声明的单词,例如函数名、类名、对象名等。要求:类名、对象名等。要求:1)以字母或者下)以字母或者下划线开始;划线开始;2)由字母、数字或者下划线组)由字母、数字或者下划线组成。其中区分大成。其中区分大/小写,且不能使
22、用预定义小写,且不能使用预定义的关键字。的关键字。如如_mybook、MyBook、My_book2是合是合法的,而法的,而2a、x+y、new非法。非法。2.1C+的词法规则的词法规则33北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院332.1.2 词汇词汇运算符运算符是指实现各种运算的符号,如是指实现各种运算的符号,如+、-、*、/等。等。在在C+中,运算符是预定义的函数的名中,运算符是预定义的函数的名字,这些函数对参与运算的数值进行规定字,这些函数对参与运算的数值进行规定的运算,得到一个结果值。的运算,得到一个结果值。2.1C+的词法规则的词法规则34北京理工大学北京理工
23、大学 计算机科学技术学院计算机科学技术学院342.1.2 词汇词汇分隔符分隔符用于分割各个单词或者程序正文。用于分割各个单词或者程序正文。如:空格、制表(如:空格、制表(Tab键产生的字符)、换键产生的字符)、换行、逗号、冒号、分号、圆括号、花括号、行、逗号、冒号、分号、圆括号、花括号、注释符等。注释符等。文字文字在程序中直接表示常量值,包括数字、在程序中直接表示常量值,包括数字、字符、字符串和布尔文字。字符、字符串和布尔文字。2.1C+的词法规则的词法规则35北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院35第第2章章C+编程基础编程基础2.1C+的词法规则的词法规则2.2C
24、+的数据类型的数据类型2.3表达式与语句表达式与语句2.4预处理命令预处理命令2.5名字空间名字空间2.6小结小结36北京理工大学北京理工大学 计算机科学技术学院计算机科学技术学院36基本数据类型基本数据类型是是C+预定义的数据类型,或称为内置预定义的数据类型,或称为内置数据类型:布尔型数据类型:布尔型(bool)、字符型、字符型(char)、整型、整型(int)、浮点型、浮点型(float,double)、空类型、空类型(void)。可。可用用signed、unsigned修饰字符型和整型,修饰字符型和整型,long可用可用来修饰整型和双精度浮点型,来修饰整型和双精度浮点型,short可以修
25、饰整型。可以修饰整型。用户自定义数据类型用户自定义数据类型:在基本数据类型或者已定义的:在基本数据类型或者已定义的数据类型基础上,用户根据自己的需要,构造出的新数据类型基础上,用户根据自己的需要,构造出的新类型。如:枚举、联合、结构、类等。将数据与操作类型。如:枚举、联合、结构、类等。将数据与操作数据的算法(函数)封装在一起所建立的类型,又被数据的算法(函数)封装在一起所建立的类型,又被称作称作抽象数据类型抽象数据类型,在,在C+中通常指中通常指类类类型。类型。在已定义的数据类型基础上,结合某些修饰符(如在已定义的数据类型基础上,结合某些修饰符(如、*、&、())或者关键字(如)或者关键字(如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实验 指导 题解

限制150内