C++讲义及习题指导.docx
《C++讲义及习题指导.docx》由会员分享,可在线阅读,更多相关《C++讲义及习题指导.docx(143页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章C+语言概述1. 1 1. 1知识要点1. C+语言的特点(1) C+语言支持数据封装封装是指把对象属性和操作结合在起,构成独立的单元, 它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对 象发生联系。类是数据封装的工具,对象是封装的实现。(2) C+类中包含私有、公有和保护成员类的访问控制机制体现在类的成员中可以有 公有成员、私有成员和保护成员。对于外界而言,只需要知道对象所表现的外部行为,而不 必了解内部实现细节。封装体现了面向对象方法的“信息隐蔽和局部化原则”。(3) C+语言中通过发送消息来处理对象消息指对象之间在交互通讯中所传送的信 息。消息由三部
2、分构成:消息名、接收消息的对象标识和参数。个对象向另个对象发送 消息请求某项服务,接收消息的对象响应该消息,进行所要求的服务,并把操作的结果返回 给请求服务的对象。(4) C+语言中允许友元破坏封装性(5)C+语言允许函数名和运算符重载(6) C+语言支持继承性 继承指子类(派生类)可以自动拥有父类(基类)的全部属 性和服务。父类和子类是一般与特殊的关系。在定义个子类时,可以把父类所定义的内容 做为自己的内容,并加入若干新的内容(7) C+语言支持动态联编多态性是指在基类中定义的属性和服务被子类继承后,可 以具有不同的数据类型和表现出不同的行为。当个对象接收到个请求进行某项服务的消 息时,将根
3、据对象所属的类,动态地选用该类中定义的操作。2. C+程序的组成注释部分(两种风格)、编译预处理部分(宏定义,文件包含和条件编译、)、程序正文部 分(类型定义、常变量定义、函数定义)。最终,程序源代码由ASCII码组成类似单词或词 组的单元(词法单元),可以用任意的文本编辑器编辑,源代码中的空白(空格、Tab、回车 换行)用来表示词法单元的开始和结束,除这功能外其余空白将被忽略,但如果是字符串 内部的空白(不含回车换行,或者说字符串内不能直接回车换行,需要使用转义符)将作为 字符串的一部分输出,不会忽略。注释:1) 一对符号/*”与“*/”之间的内容称为注释。它可以占多行,是从C语言中 继承来
4、的一种注释形式。2) 一行中符号“”之后的内容也称为注释。它只能占一行,是C+语言特有的一 种注释形式。编译预处理命令:C+的编译预处理命令以“开头。C+提供了三类编译预处理命令:宏定义、文件包 含和条件编译。程序主体:用函数组织过程,每个相对独立的过程都要组织成一个函数:不同的程 序由不同的函数按层次结构组织而成。一个C+程序至少且仅包含一个main 函数, 也可以包含个main ()函数和若干个其他函数。其他函数可以是系统提供的库函数(例 如printf ()和scanf ()函数),也可以是用户根据需要自己编制设计的函数 3.函数C+的程序由若干个文件组成,文件名的后缀为.cpp (c
5、plus plus)。每个文件又是由 函数组成,函数之间可以调用。在这些函数中只有一个函数是主函数main。程序执行时, 操作系统先调用主函数,主函数再依次调用其它函数完成设计任务。4.程序的编辑、编译、连接和运行(1)编辑编辑是将编写好的C+源程序输入到计算机中,生成磁盘文件的过程。(2)编译和连接过程编译器的功能是将程序的源代码转换成为机器代码的形式,称为目标代码,然后, 再将目标代码进行连接,生成可执行文件。编译过程又可分为三个子过程。(1)预处理过程:对源程序编译时,先进行预处理,如果源程序中有预处理命令, 则先执行这些预处理命令,执行后再进行下面的编译过程。(2)编译过程:编译过程主
6、要是进行词法分析和语法分析的过程,又称源程序分析。 1)词法分析。2)语法分析。3)符号表。4)错误处理程序。5)生成目标代码。 连接过程:这是编译的最后个过程,将用户程序生成的多个目标代码文件和系统 提供的库文件中的某些代码连接在起由连接器生成一个可执行文件,存储这个可执行 文件的扩展名为.exe。(3)运行一个C+的源程序经过编译和连接后生成了可执行文件。运行可执行文 件可在编译系统下选择相关菜单项来实现,也可以采用其他方法。1. 2 1. 2典型例题分析与解答例题1:显示“lam a student”字符串,并通过简单的程序了解和熟悉运用VC+开发环境进 行编写、编译、调试、显示结果的过
7、程。解答:该程序非常简单,如下代码所示,运用了 cout输出流对象代表标准输出显示器, 代表后边的字符串向显示器输出的方向。#include void main()coutwI am a studenfendl; 编辑过程:文件I工程I工作区I其它文档I|d:test 1 Active Server Page Binary File fBitmap File D C/C* Header File C* Source File at Cursor File HTML Page Icon File::Macro File 円 Resource Script 百 Resource Template
8、SQL Script File團 Text File确定1 结束图1T新建对话框编辑编辑是将C+源程序输入计算机的过程。在Visual C+6. 0主界面下,点击File菜单, 选择New菜单项,即可出现New对话框,如图1所示。在弹出窗口中的Files标签页下, 选择C+ Source File。在选项卡右面的文件编辑框里输入文件名如“Exa”,在目录编辑 框里输入文件路径,如“ d:test”。点击确认按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的右端编辑窗口里输入以下C+源程序并保存文件。图1-2编辑窗口编译编译是使用系统提供的编译器将文本文件Exa. cpp生成机器语言的过程,
9、结果为 Exa. obj,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择编译 菜单下的编译Exa. cpp,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编 译无错时,将源程序Exa. cpp编译为目标文件Exa. obj。图1-3编译源程序连接连接是将目标文件Exa. obj转换为可执行文件Exa. exe的过程。如图1-4所示选择编 译菜单下的构件Exa. exe。连接无错时,将目标文件Exa. obj连接为Exa. exe。图1-4源程序运行运行是执行可执行文件Exa.exe,屏幕输出运行结果。如图5所示选择编译菜单下的 执行 Exa. exe。图1-5运
10、行程序运行结果如图1-6所示:图!-6运行结果例题2:输入一名学生的成绩,判断该成绩的等级。如=60的显示合格,60的显示“不合格”。程序:#include 输入输出流对象的头文件void main()( int score;声明成绩变量,用来保存分数cout=60)判断该条件是否真或假cout=60是真的时候,运行该语句elsecout不合格endl; /当score=60是假的时候,运行该语句分析:(1) (1)首先该题目要求输入一个分数,则事先声明一个整型变量score。(2) (2)其次从键盘上输入该分数,应有输入语句cin,并由上面定义的变量来保存分数。(3) (3)然后根据分数来判
11、断等级,有两种情况应该用if语句。(4) (4)输出的信息是根据不同条件显示字符串,用到cout输出流对象。(5) (5)用到标准输入输出流对象,所以在程序前加相应头文件。例题3:面向对象的()是种信息隐蔽技术,目的在于将对象的使用者与设计者分开。 不允许使用者直接存取对象的属性,只能通过有限的接口与对象发生联系。A.多态性 B.封装性C.继承性D.重用性答案B分析:封装性是指把对象属性和操作结合在一起,构成独立的单元,其内部信息对外界是隐 蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。若不清楚多态性的定义,误选答案A。多态性是指当个对象接收到个请求进行某项服务 的消息
12、时,将根据对象所属的类,动态地选用该类中定义的操作。若不清楚继承性的定义, 误选答案C。继承是指派生类可以自动拥有基类的全部属性和服务。若不清楚重用性的定义, 误选答案D。重用性是多态性的一种表现形式。例题4: C+源文件的扩展名为()。A. cpp B. c C. txt D. exe答案A与析:C+源程序的扩展名为cpp, C程序的扩展名为e。文本文件的扩展名为txto源程序 编译后可执行文件的扩展名为exe=若不清楚C+源程序扩展名和C源程序扩展名的区别,误选答案B。C+兼容C,当文件名 保存为c时,调用C编译器:当文件名保存为cpp时调用C+编译器。若不清楚C+源程序 扩展名和文本文件
13、扩展名的区别,误选答案C。C+源程序可以在文本编辑器里编辑,但 定注意将其扩展名保存cpp,不能为txt。若不清楚C+源程序和C+可执行文件的扩展名的 区别,误选答案D。C+源程序经过编译、连接后得到可执行文件的扩展名为exe。例题5: C+的合法注释是( A. /*This is a C program/* C. ”This is a C program 答案:B分析:单行注释常采用“”,B. / This is a C program D. /This is a C program/多行注释采用“/*”和“*/二单行注释也可采用/*”和“*/”,但答案A书写格式错误,不能选答案A。注释和字
14、符串的区别,双引号内的字符为字符串。 不能选答案C。单行注释不需耍结束符“”,如果有,只能作为注释的一部分存在。也不能选答案D。例题6:下面标识符中正确的是()。A. _abc B. 3ab C. int D. +ab答案:A分析:C的标识符由字母、下划线和数字组成,而且第一个字符不能为数字。答案B第一 个字符为数字不能选Bo标识符不能为关键字,不能选答案Co答案D第一个字符不是字 母或下划线,也不能选。例题7:分析下列该程序的错误。输入数据格式为:2,5 (回车)。main() int sum=0;int a,b;cout*input a,b:M;cinab;sum=a+b;coutsume
15、ndl;本程序把输入的两个数据进行累加并输出结果。输入数据格式为:2 5。#include /Z编译预处理命令,以开头。把系统已经定义好的输入输出功能包含到本程序中。void main()程序的主函数/Z主函数开始intsum=0;定义一个变量sum存放累加结果,并且赋初值为0inta,b;/定义两个变量,保存输入值coutinput a,b:;/Z 提示输入cinab;使用基本输入设备cin输入两个变量值sum=a+b;进行累加,结果保存到sum变量coutsumendl; 使用基本输出设备cout输出累加结果sum)分析:(1)没有使用编译预处理命令:#include。iostream.h
16、是系统定义的个头文件(h-head), 设置了 C+的!Z环境。cin、cout为基本输入、输出设备,定义在iostream.h头文件中。(2)没有main。函数的返回类型,系统提示警告。main。函数的返回类型常标注为void。(3)输入数据时没有使用空格分隔。输入运算符“”要求输入的多个数据用空格分隔。1. 3 1. 3教材习题分析与解答1 .参照例题,编写个能输出以下信息的程序。How are you.Fine,thank you.程序:#includeVoid main() Cout,How are you.”endl; 输出字符串并换行 Coutv Fine,thank you.ve
17、ndl;)2 .参照例题,编写个求两个数78、45之差的程序。程序:#include void main() int sum=0;sum=78+45;求和coutM78+45= sumendl;3 .参照例题,编写个求三个数14、25、16之和的程序。#include void main () int a,b,c,sum;定义变量coutKinput three number:nH;cinabc;从键盘输入三个数给变量a和b、csum=a+b+c; 求和coutHsum is Msum;)4 .上机运行本章的三个例题,熟悉所用系统的上机方法与步骤。略5 .上机运行本章习题1、2和3。略1. 4
18、 1. 4补充习题1 .下面的()不是C+所包含的要素。A,重载 B.对象 C.类 D.继承2 .下列标识符中,()是合法的。A. goto B. Student C. 123 D. kId3 .在C卄语言中,()的陈述是正确的。A.能使用关键字并区分大小写B.能使用关键字并不区分大小写C.不能使用关键字并区分大小写D.不能使用关键字并不区分大小写4 .C+语言中语句的结束符是()。A. , B. ; C. D.5 .下面对于类的描述,()是错误的。A.类是抽象数据类型的实现 B.类是具有共同行为的若干对象的统描述体C.类是创建对象的模板D.类就是C语言中的结构类型6 .写个程序输出Hello
19、,C-H-Jo7 .编译下列程序,改正错误信息,分析输出结果。#include void main() int x,y;coutinput x:Hendl;cinx;y=x*x;couty=ynM;)改正:cout,y=,y,n;8 .下列程序有何错误?#include void main() coutHHelloendl; 改正:#include void main() cout,Hello,endl;9 .关于C+和C语言的描述中,()是错误的?A. C是C+的个子集B. C程序在C+环境可以运行C. CH程序在C环境可以运行D. CM是面向对象的而C是面向过程的10 .给出下列程序的运行
20、结果。#include void main()inta(2),b(3),c(4);coutMc l=,cendl;c=a+b;coutMc2=,cendl;第2章基本数据类型与数值表达式2. 1知识要点计算机的基本功能是进行数据处理。在C+语言中,数据处理的基本对象是常量和变量。 运算是对各种形式的数据进行处理。数据在内存中存放的情况由数据类型所决定。数据的操 作要通过运算符实现,而数据和运算符共同组成了表达式。本章是对C+语言中的数据类型、 运算符、表达式等内容的全面介绍,耍正确理解其特点,并灵活运用,主要掌握以下的知识 要点:1 .掌握常量和变量的概念。2 .掌握整型数据和实型数据、字符型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 讲义 习题 指导
限制150内