《c++》复习题集及答案Word文档下载推荐.doc
《《c++》复习题集及答案Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《《c++》复习题集及答案Word文档下载推荐.doc(78页珍藏版)》请在冰豆网上搜索。
![《c++》复习题集及答案Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-10/4/b968dc28-40b9-499d-a26d-20da8151da07/b968dc28-40b9-499d-a26d-20da8151da071.gif)
B.编辑、编译、连接、调试
C.编译、调试、编辑、连接
D.编辑、调试、编辑、连接
6.能作为C++程序的基本单位是(C)。
A.字符B.语句C.函数D.源程序文件
8.C++程序的基本模块为(D)。
A.表达式B.标识符C.语句D.函数
10.存储以下数据,占用存储字节最多的是(D)。
A.0B.‘0’C.“0”D.0.0
38.以下说法中正确的是(B)。
A.C++程序总是从第一个定义的函数开始执行
B.C++程序总是从main函数开始执行
C.C++函数必须有返回值,否则不能使用函数
D.C++程序中有调用关系的所有函数必须放在同一个程序文件中
40.函数重载是指(A)。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
41.以下关于函数模板叙述正确的是(C)。
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
42.下列(C)的调用方式是引用调用。
A.形参和实参都是变量B.形参是指针,实参是地址值
C.形参是引用,实参是变量D.形参是变量,实参是地址值
43.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择(A)。
A.内联函数B.重载函数C.递归函数D.函数模板
55.以下正确的描述是(C)。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
56.采用重载函数的目的是(D)。
A.实现共享B.减少空间
C.提高速度D.使用方便,提高可读性
59.下面的标识符中,(C)是文件级作用域。
A.函数形参B.语句标号C.外部静态类标识符D.自动类标识符
60.以下叙述不正确的是(D)。
A.宏替换不占用运行时间B.宏名无类型
C.宏替换只是字符替换D.宏名必须用大写字母表示
61.C++语言的编译系统对宏命令的处理是(D)。
A.在程序运行时进行
B.在程序连接时进行
C.和C++程序的其它语句同时进行编译
D.在对源程序中其它成分正式编译之前进行
62.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是(B)。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C.仅仅搜索源程序所在目录
D.搜索当前逻辑盘上的所有目录
63.当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是(A)。
67.文件包含命令中被包含的文件的扩展名(C)。
A.必须是.hB.不能是.hC.可以是.h或.cppD.必须是.cpp
70.用new运算符创建一个含10个元素的一维整型数组的正确语句是(C)。
A.int*p=newa[10];
B.int*p=newfloat[10];
C.int*p=newint[10];
D.int*p=newint[10]={1,2,3,4,5}
80.假定p指向的字符串为”string”,则cout<
<
p+3的输出结果为(C)。
A.stringB.ringC.ingD.i
81.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用(D)。
A.cout<
*s;
B.cout<
s;
C.cout<
&
D.cout<
(void*)s;
82.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。
A.int*p=newint[30];
B.int*p=newint(30);
C.int*p=new[30];
D.*p=newint[30];
83.假定p是具有int**类型的指针变量,则给p赋值的正确语句为(B)。
A.p=newint;
B.p=newint*;
C.p=newint**;
D.p=newint[10];
84.要使语句“p=newint[10][20];
”能够正常执行,p应被事先定义为(D)。
A.int*p;
B.int**p;
C.int*p[20];
D.int(*p)[20];
85.假定有“structBOOK{chartitle[40];
floatprice;
};
BOOK*book=newBOOK;
”,则正确的语句为(A)。
A.strcpy(book->
title,”WangTao”);
B.strcpy(book.title,”WangTao”);
C.strcpy(*book.title,”WangTao”);
D.strcpy((*book)->
86.假定有“structBOOK{chartitle[40];
BOOK*book;
”,则不正确的语句为(A)。
A.BOOK*x=newbook;
B.BOOKx={"
C++Programming"
27.0};
C.BOOK*x=newBOOK;
D.BOOK*x=book;
87.假定有“structBOOK{chartitle[40];
}book;
”,则正确的语句为(B)。
A.BOOK&
x=&
book;
B.BOOK&
x=book;
C.BOOK&
x=newBOOK;
D.BOOK&
x=BOOK;
88.下列对引用的陈述中不正确的是(C)。
A.每一个引用都是其所引用对象的别名,因此必须初始化
B.形式上针对引用的操作实际上作用于它所引用的对象
C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D.不需要单独为引用分配存储空间
91.假定指针变量p定义为“int*p=newint(100);
”,要释放p所指向的动态内存,应使用语句(A)。
A.deletep;
B.delete*p;
C.delete&
p;
D.delete[]p;
92.假定指针变量p定义为“int*p=newint[30];
”,要释放p所指向的动态内存,应使用语句(D)。
93.假定变量x定义为“intx=5;
”,要使rx成为x的引用(别名),rx应定义为(D)。
A.intrx=x;
B.intrx=&
x;
C.int*rx=&
D.int&
rx=x;
94.关于消息,下列说法中不正确的是(B)。
A.发送消息的对象请求服务,接受消息的对象提供服务
B.消息的发送者必须了解消息的接收者如何相应消息
C.在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
D.每个对象只能接收某些特定格式的消息
95.关于封装,下列说法中不正确的是(D)。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
96.面