没有合适的资源?快使用搜索试试~ 我知道了~
C++程序练习题及答案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 18 浏览量
2022-11-19
13:50:17
上传
评论
收藏 1.06MB PDF 举报
温馨提示
试读
27页
。。。
资源推荐
资源详情
资源评论
1、在关键字 private 后面定义的成员为类的( )成员。
A、私有
2、关于函数模板叙述正确的是( )。
C、通过使用不同的类型参数,函数模板可以生成不同类型的函数
3、 C 语言的编译系统对宏命令的处理是( ) 。
D、在对源程序中其它成分正式编译之前进行
4、 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更
新的难易程度叫做软件的( )。
A、可维护性
5、 采用重载函数的目的是( )。
D、使用方便, 提高可读性
参考答案 D
6、 派生类的对象对它的基类成员中( )是可以访问的。
A、公有继承的公有成员;
7、 在公有继承的情况下,基类成员在派生类中的访问权限( )。
B、保持不变
8、 关于面向对象系统分析,下列说法中不正确的是( )。
B、面向对象分析阶段对问题域的描述比实现阶段更详细
9、 假定一个类对象数组为 A[n] ,当离开它定义的作用域时,系统自动调用该类析构函数的次数为( ) 。
C、n
10、 关于函数的返回值说法正确的是( )。
A、由 return 语句返回时,只带回一值,其类型在函数定义时确定。
11、 假定 AA 为一个类, a 为该类公有的数据成员, px 为指向该类对象的一个指针, 则访问 px 所指
对象中数据成员 a 的格式为( )。
C、px->a
12、 有以下程序
#include <iostream.h>
void main( )
{ char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
cout<<p[3]<<endl;}
执行后输出结果是( )
B、abbd
13、 友员的作用之一是( )
A、提高程序的运行效率
14、假定 AA 为一个类,int a() 为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( )。
A、int AA::a()
15、 下列关于函数的说法中,不正确的是( )。
D、在一个函数内的复合语句中定义变量的作用域也是整个函数
参考答案 D
16、 使用派生类的主要原因是( )
A、提高代码的可重用性
17、 有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;
b=p[5];
b 中的值是( )。
B、6
18、 函数重载是指( )。
A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
19、 下列关于 C++函数的说明中正确的是( )。
D、编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。
20、假设已经定义好了类 student ,现在要定义类 derived ,它是从 student 私有派生的,则定义类 derived
的正确写法是( )
D、class derived :: private student{ // ,,,, .}
21、 下面有关构造函数的描述中,正确的是( )。
B、构造函数的名字与类名完全相同
22、 关于保护继承的说法正确的是( )。
D、基类的公有成员、私有成员可被子类继承下来,性质不变,私有成员不被继承。
23、 下列对引用的陈述中不正确的是( )。
C、一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
24、 当一个类对象离开它的作用域时,系统自动调用该类的( ) 。
D、析构函数
25、 下面有关重载函数的说法中正确的是( )。
C、重载函数必须有不同的形参列表。
26、 在 C++中,继承方式有哪几种?( )
C、3
27、 假定指针变量 p 定义为“ int *p=new int(100); ”,要释放 p 所指向的动态内存,应使用语句( )。
A、delete p;
28、 ( )不是构造函数的特征。
D、构造函数必须指定类型说明。
29、 在声明类时,下面的说法正确的是( )。
D、没有用 private ,public , protected 定义的数据成员是公有成员
30、 在一个用数组实现的队列类中,假定数组长度为 MS,队首元素位置为 first ,队列长度为 length ,
则队尾(即最后一个)元素的位置为( ) 。
C、(first+length-1)%MS
31、 在一个被调用函数中,关于 return 语句使用的描述, ( )是错误的。
D、被调用函数中,一个 return 语句可返回多个值给调用函数。
32、 由 C++ 源程序文件编译而成的目标文件的缺省扩展名为( )。
C、obj
33、 如果类 A 被说明成类 B 的友元,则( )。
D、类 B 不一定是类 A 的友元。
34、 假定 AB 为一个类,则执行“AB *px=new AB[n]; ”语句时调用该类无参构造函数的次数为( ) 。
A、n
35、 面向对象方法的多态性是指( )。
C、针对一消息,不同的对象可以以适合自身的方式加以响应
36、 关于封装,下列说法中不正确的是( )。
D、通过封装,对象的属性都是不可见的
37、 运算符重载是对已有的运算符赋予多重含义,因此( )。
C、只能重载 C++中已经有的运算符,不能定义新运算符
38、 通常, 拷贝构造函数的参数是( )
C、某个对象的引用名
39、 构造函数是在( )时被执行的。
B、创建对象
40、 假定 AB 为一个类,则执行“ AB r1=r2; ”语句时将自动调用该类的( ) 。
D、拷贝构造函数
41、 假定 AB 为一个类, 则执行 AB x; 语句时将自动调用该类的( )。
B、无参构造函数
42、 C++类体系中,不能被派生类继承的有( )。
A、构造函数
43、 下列常量中, ( )不是字符常量。
D、“ a”
44、 有以下语句 struct S{ int g;char h;} T;则下面叙述中不正确的是( )。
C、S 是 struct 类型的变量
45、 下列( )的调用方式是引用调用。
C、形参是引用,实参是变量
46、 对数组名作函数的参数,下面描述正确的是( )。
B、数组名作函数的参数,主调函数和被调函数共用一段存储单元。
47、 类中定义的成员默认为( )访问属性。
B、private
48、 关于成员函数特征的下列描述中,( )是错误的。
A、成员函数一定是内联函数
49、 面向对象软件开发中使用的 OOA 表示( )。
A、面向对象分析
50、 在 C++中,关于下列设置参数默认的描述中, ( )是正确的。
C、设置参数默认值时,应该是先设置右边的再设置左边的。
51、 假定一个字符串的长度为 n,则定义存储该字符串的字符数组的长度至少为( )。
C、n+1
52、 下列定义中, ( )是定义指向数组的指针 p。
A、int *p[5]
53、 以下说法中正确的是( )。
B、C++ 程序总是从 main 函数开始执行
54、 结构中定义的成员默认为( )访问属性。
A、public
55、 假定一个类 AB 只含有一个整型数据成员 a,当用户不定义任何构造函数时,系统为该类定义的无参
构造函数为( ) 。
D、AB() {}
56、 关于静态成员的描述中, ( )是错误的。
B、静态数据成员定义后必须在类体内进行初始化。
57、 关于内联函数说法错误的是( )。
C、递归函数可以被用来作为内联函数
58、 假设 OneClass 为一个类,则该类的拷贝初始化构造函数的声明语句为( )。
C、OneClass(OneClass & p);
59、 下面有关友员函数的描述中,真确的说法是( )
A、友员函数是独立于当前类的外部函数
60、 假定一个类的构造函数为 B(int x,int y){a=x--;b=a*y--;}, 则执行 B x(3,5); 语句后, x.a 和 x.b 的值分
别为( )。
C、3 和 15
61、 下列静态数据成员的特性中, ( )是错误的。
C、静态数据成员不是所有对象所共用的
62、 下面标识符中正确的是( )
A、_abc
63、 假定变量 x 定义为“ int x=5; ”,要使 rx 成为 x 的引用(别名),rx 应定义为( )。
D、int &rx=x;
64、 在 int b[][3]={{1},{3,2},{4,5,6},{0}};b[2][2] 的值是( )。
D、6
65、 关于对象和类的关系,说法正确的是( )。
C、同一类的不同对象,其具有的操作可不同,具体的操作也不同。
66、 下面有关静态成员函数的描述中,正确的是( )
B、在建立对象前,就可以为静态数据成员赋值
67、 下面对静态数据成员的描述中, 正确的是( )。
C、静态数据成员是类的所有对象共享的数据
68、 C++ 源程序文件的缺省扩展名为( )。
A、cpp
69、 对于任一个类,用户所能定义的构造函数的个数至多为( ) 。
D、任意个
70、 假定 AB 为一个类,则( ) 为该类的拷贝构造函数的原型说明。
C、AB(AB& x);
71、 C++程序中初始化多维数组时,如果提供了数组的全部元素值,则可任意地选择省略其中一维的长度
指定。
错误
72、 C 程序中,定义了:fstream myf;后,即可以使用 myf 对象处理输入文件,也可以使用 myf 处理输出
文件。
正确
73、C++程序中,要用二进制方式处理输入/输出文件,可以使用下面的语句序列打开指定文件。fstream myf;
myf.open("data",ios::in|ios::out|ios::binary);
正确
74、 C++程序中,实现动态分配的运算符 new 和 delete 必须配合使用。
正确
75、将字符串数据:"This is a test string."作为 string 类型对象 str 的初始值,可以使用 C++语句:string str("This
is a test string.");。
正确
76、 C++程序中,可以使用表达式 s1.empty()判断 s1 是否空串。
正确
77、 使用字符数组方式处理字符串数据时,一不小心可能出现数组越界的错误,而且往往不太容易发现这
类错误。
正确
78、 C++程序中,如果要求将文件中的所有数据依次进行处理,则使用文件的顺序读写方式处理文件更为
合理。
正确
79、 在 C++程序中打开一个输入文件,文件的读位置指针在文件数据开始处。
正确
80、 C++程序中,如果要求将文件中的所有数据依次进行处理,则使用文件的随机读写方式处理文件更为
合理。
错误
81、 C++程序中,默认情况下都是打开文本文件,处理二进制文件必须使用 ios::binary 指定。
正确
82、C++程序中可以使用 C 标准库中提供的字符分类标准函数,使用时需要用文件包含预处理命令将 cctype
头文件包含到源程序中。
正确
83 、 C++ 程 序 中 , 下 面 的 语 句 序 列 可 以 正 确 打 开 和 关 闭 指 定 文 件 。 fstream myf;
myf.open("data",ios::in|ios::out); fclose(myf);
错误
84、 C++程序中,要用文本方式处理输入/输出文件,可以使用下面的语句序列打开指定文件。 fstream myf;
myf.open("data",ios::in|ios::out);
正确
85、 C++程序中,可以通过输入文件流对象的 get 函数从数据文件中读取字符数据。
正确
86、 C++中定义函数时,无论参数表如何表示,只要返回值类型不相同就能实现重载。
错误
87、 如果一个函数是某个类的友元函数,那么这个函数可以访问该类对象的私有成员和保护成员。
正确
88、 C++程序中,可以通过文件流对象的 seekg 移动文件的写位置指针。
错误
89、 C++程序中,使用 C 函数 malloc 分配的空间可以使用 delete 运算符来释放。
错误
90、 C++程序中,使用标准输入流对象 cin 无论与提取运算符>>配合还是与插入运算符<<配合,都可以实
现程序中数据的操作。
错误
91、 将字符串数据:"This is a test string."作为 string 类型对象 str 的初始值,可以使用 C++语句序列: char
s[]="This is a test string."; string str(s);。
正确
92、 C++程序中,创建动态一维数组时,必须要使用相应数据类型的一级指针来表示动态数组的起始地址。
正确
93、 C++程序中,能够使用 cin>>n;语句为变量 n 输入值的前提是:用文件包含预处理语句包含了
iostream 头文件,并且用 using namespace std;语句导入了标准命名空间。
剩余26页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功