C + + 复习资料教学文案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C + + 复习资料
一、选择题
1.程序中的预处理命令是指以()字符开头的命令。
A.@ B.#C.$ D.%
2.空白符是()符的统称。
A.空格、制表、回车B.空格、制表、逗号
C.空格、回车、分号D.冒号、制表、回车
3.在#include 命令中不可以包含()。
A.头文件B.程序文件C.用户头文件D.目标文件4.一个程序中必须有并且只有一个命名为()的函数。
A.Main B.main C.void D.intmain 5.C + +程序的扩展名为()。
A..obj B..exe C..cpp D..c
6.在VC环境下,为运行一个程序而建立的工作区的扩展名为()。
A..obj B..exe C..dsw D..sp
7.数据类型int、char、float、double的类型长度之和为()。
A.10 B.12 C.16 D.17
8.常数120和-4.205的类型为()。
A.整型和双精度型B.短整型和单精度型
C.长整型和双精度型D.整型和单精度型
9.若x=25,则计算y=x + +表达式后,x和y的值分别为()。
A.26和25B.25和26 C.25和25 D.26和26 10.在switch语句中,每个语句标号中的关键字case后面的表达式必须是()。
A.变量B.常量C.一般表达式D.函数调用11.当在程序中执行到()语句时,只结束本层循环内语句或switch语句的执行。
A.continue B.break C.goto D.return
12.数组元素a[i]是该数组中的第()个元素。
A.i B.i+1C.i-1 D.2*i
13.在函数体中又调用自身函数则称为()调用。
A.非递归B.直接递归C.间接递归D.末尾递归14.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的()使其初始化。
A.构造函数B.析构函数C.复制函数D.赋值函数15.若需要把一个类AB定义为另一个类CD的友元类,则应在类CD的定义中加入一条语句声明为()。
A.friend AB; B.friend class AB;
C.class AB; D.friend class CD;
二、填空题
1.C + +开发程序过程一般要经过编辑、编译、链接、执行四个步骤。
2.在面向对象程序的设计中,把实体的属性和行为组织在一个模块内的机制叫封装。
3.在C + +中有两种注释方式,对单行的注释,采用// 比较适合,对多行的注释,采用/* */ 比较合适。
4.C + +中标识符中的大写与小写字母是区别的。(“有”或“无”)5.指针变量所占的内存空间与指针的类型。(“有关”或“无关”)
6.C + +类中可以包含公有和私有两种具有不同访问控制权限的成员。
7.构造函数是和类同名的函数。
8.友元函数是可以直接访问类的私有成员的非本类函数。
9.如果说明类B是类A的友元类,则类B是所有成员函数都是类A的友元函数。
10.类的静态数据成员是类的所有对象共享的成员。
三、简答题
1.如何理解面积对象程序设计?
2.什么是构造函数和析构函数,各有什么作用?
四、编程题
设计一个点类(Point),编写一个程序,求两个点之间的距离。
#include
#include
class Point
{
int x,y;
public:
Point(int i,int j){x=i;y=j;}
int getx(){return x;}
int gety(){return y;}
void disp()
{
cout<<"("< } }; float distance(Point &p1,Point &p2){ float d; d=sqrt((p1.getx()-p2.getx())* (p1.getx()-p2.getx())+(p1.gety()-p2.gety())* (p1.gety()-p2.gety())); return d;} void main() { Point p1(2,2),p2(5,5); p1.disp();cout<<"与";p2.disp(); cout<<"之间距离="< }