admin 管理员组文章数量: 1184232
2024年12月31日发(作者:unicode字符大全商标)
一、单选题
1、程序是一组指令序列。下列哪种描述是错误的?( )
A.程序是由计算机用户启动执行的
B.程序是由程序员编写的
C.程序是由计算机硬件识别和执行的
D.程序是由计算机用户识别和执行的
正确答案:D
2、CPU只能处理存放在( )中的数据。
A.内存
B.硬盘
C.U盘
D.光盘
正确答案:A
3、下列哪种概念不属于程序中的算法元素?( )
A.函数
B.运算符
C.循环语句
D.引用
正确答案:D
4、下列关于程序设计方法的描述中,错误的是( )。
A.程序设计方法有结构化程序设计和面向对象程序设计2种
B.结构化程序设计方法通常使用流程图来描述程序设计结果
C.C++语言不支持面向对象程序设计方法
D.面向对象程序设计方法通常使用UML来描述程序设计结果
正确答案:C
5、十进制19.625转换成二进制后的结果为( )。
A.10100.011
B.10010.011
C.10011.101
D.10001.101
正确答案:C
6、十进制19.625转换成十六进制后的结果为( )。
A.14.6
B.12.6
C.13.a
D.11.a
正确答案:C
7、C++语言表达式:5 % 2 + 2.0,该表达式结果的数据类型和值分别
是( )。
类型,4.0
类型,4
类型,3.5
类型,3.0
正确答案:D
8、执行C++语句:int x = 5; x %= 2; 执行后变量x的值为( )。
A.1
B.5
C.0
D.2
正确答案:A
9、执行C++语句:int x, &y = x; 则下列关于y的描述中错误的是
( )。
A.y中保存了x的内存地址
B.y和x共用同一内存单元
C.y是x的别名
D.y是x的引用
正确答案:A
10、执行C++语句:int x, *y = &x; 则下列关于y的描述中错误的是
( )。
A.y是x的引用
B.y中保存了x的内存地址
C.y指向变量x
D.y是一个int型指针变量
正确答案:A
11、C++语言表达式:!5,该表达式结果的数据类型和值分别是( )。
类型,-5
类型,true
类型,5
类型,false
正确答案:D
12、执行下列C++语句:
double x = 0;
if ( x ) cout << 1 / x;
else cout << x;
显示器上将显示( )。
A.什么都没显示
B.0
C.显示错误信息
D.∞
正确答案:B
13、执行下列C++语句:
int x = 0;
while (x < 3)
cout << “*”; x++;
显示器将显示( )。
A.**
B.*
C.***
D.******......,持续显示星号
正确答案:D
14、执行下列C++语句:
int x = 0;
while (x < 3)
{
cout << “*”; x--;
}
显示器将显示( )。
A.***
B.*
C.**
D.******......,持续显示星号
正确答案:D
15、已定义数组:int a[100]; 下列哪条语句能将数组a的所有元素都
赋值为10?( )
(int n = 99; n >= 0; n--) a[n] = 10;
(int n = 1; n <= 100; n++) a[n] = 10;
C.a[0~99] = 10;
D.a[0] = a[1] = ...... = a[99] = 10;
正确答案:A
16、已定义数组a和指针变量p:int a[ ] = { 2, 4, 6 }, *p = &a[2]; 计
算机执行下列语句:
cout << *p--;
cout << *p;
执行后显示器将显示( )。
A.24
B.64
C.42
D.46
正确答案:B
17、控制字符“换行”的ASCII码值为10。下列哪条让显示器换行的语
句是错误的?( )
<< endl;
<< 10;
<< ‘n’;
<< “n”;
正确答案:B
18、函数fun中定义了一个局部变量x:
void fun( )
{
int x;
......}
假设程序执行过程中,函数fun被调用了3次,则变量x经历了
几次内存分配-释放的过程?( )
A.1
B.0
C.2
D.3
正确答案:D
19、关于C++源程序的多文件结构,下列叙述不正确的是( )。
A.一个C++程序中的多个目标文件(.obj)由连接程序组装在一起,
生成最终的可执行程序(.exe)
B.每个源程序文件(.cpp)编译后都生成一个目标文件(.obj)
C.每个源程序文件(.cpp)单独编译,被称为一个编译单元
D.每个头文件(.h)编译后都生成一个目标文件(.obj)
正确答案:D
20、已定义数组a和指针变量p:int a[10], *p; 计算机执行语句:p
= a; 时将做什么操作?( )
A.将数组a第0个元素的值赋值给指针变量p
B.将数组a的首地址赋值给指针变量p
C.语法错误,不能执行
D.将数组a中所有元素的值整体赋值给指针变量p
正确答案:B
21、下列关于类的描述中,错误的是( )。
A.用类所定义出的变量称为对象
B.类可认为是一种数据类型
C.类包含数据成员和函数成员
D.类成员的访问权限有2种
正确答案:D
22、下列关于函数成员的描述中,错误的是( )。
A.类中的函数成员之间可以重名,即重载函数
B.函数成员的功能通常是对本类中数据成员进行处理
C.函数成员的完整定义代码可以放在声明部分,此时该函数被默认为
内联函数
D.函数成员访问本类中数据成员时需先定义,后访问
正确答案:D
23、下列关于对象的描述中,错误的是( )。
A.可以调用对象中的所有函数成员
B.执行对象定义语句时,计算机将为所定义的对象分配内存空间
C.类可认为是一种数据类型,用类所定义的变量称为对象,也可称为
是类的实例
D.可以访问对象中公有数据成员的内存单元
正确答案:A
24、类ABC中定义了一个函数成员fun:void fun( ) { ...... }。编译器在
编译时会将其函数头调整为( )。
fun( ABC * this )
B.不做调整
fun( ABC * const this )
fun( ABC this )
正确答案:C
25、调用对象obj函数成员fun:( ); 编译器在编译时会将其调
整为( )。
( obj );
( &obj );
->fun( );
->fun( &obj );
正确答案:B
26、已定义类ABC:
class ABC
{
private: int x, y;
public:
ABC( ) { x = 0; y = 0; }
ABC(int a, int b) { x = a; y = b; }
ABC(ABC &a) { x = a.x; y = a.y; }
};
执行定义对象语句:ABC obj1, obj2(obj1); 则将会自动调用哪个构造
函数?( )
A.依次调用ABC( )和ABC(int a, int b)
(int a, int b)
( )
D.依次调用ABC( )和ABC(ABC &a)
正确答案:D
27、下列关于常成员的描述中,错误的是( )。
A.常数据成员需在声明时直接初始化
B.在类中声明常成员时需使用关键字const
C.常函数成员只能读类中的数据成员,不能赋值修改
D.常函数成员只能调用其它常函数成员
正确答案:A
28、下列关于静态成员的描述中,错误的是( )。
A.静态数据成员不属于某个对象,是类的共享成员
B.静态数据成员要在类外定义和初始化
C.私有静态成员具有块作用域
D.公有静态成员具有文件作用域
正确答案:C
29、已定义类A:
class A
{
public:
int x;
static int y;
};
int A::y = 0;
下列语句中错误的是( )。
A.A.x = 1; A.y = 1;
B.A a; a.x = 1; a.y = 1;
C.A a; a.x = 1; A::y = 1;
D.A::y = 1;
正确答案:A
30、下列关于友元类的描述中,错误的是( )。
A.将类B定义成类A友元类的方法是在类A中增加一条如下的声明
语句:
friend class B;
B.如果类B是类A的友元类,类C又是类B的友元类,此时C不一
定是A的友元类
C.如果希望类B的函数成员都是类A的友元函数,则可将类B定义
成类A的友元类
D.如果类B是类A的友元类,那么类A自动成为类B的友元类
正确答案:D
31、定义类A和B:
class A
{
public: int x, y;
};
class B
{
public:
A m1;
int m2;
double m3;
void fun( A a ) { ...... }
};
组合类B中的对象成员是( )。
A.m3
C.m1
D.m2
正确答案:C
32、定义类A和组合类B:
class A
{
private: int x;
public: int y;
};
class B
{
public: A t;
int s;
};
使用组合类B定义对象:B obj; 下列语句中正确的是( )。
A.B *p = &obj; p->t.y = 5; p->s = 5;
B.B *p = &obj; p.t.x = 5; p.t.y = 5; p.s = 5;
.x = 5; obj.y = 5; obj.s = 5;
.t.x = 5; = 5; obj.s = 5;
正确答案:A
33、继承基类得到新的派生类,派生类中将不包括基类的哪种成员?
( )
A.基类中的保护数据成员
B.基类中的公有数据成员
C.基类中的构造函数和析构函数
D.基类中的私有数据成员
正确答案:C
34、通过派生类对象obj访问其从基类继承的成员m,则m必须是
( )。
A.公有继承下的保护成员
B.私有继承下的公有成员
C.公有继承下的私有成员
D.公有继承下的公有成员
正确答案:D
35、定义如下的基类A和派生类B:
class A
{
public:
virtual void fun( ) // 函数成员fun被声明为虚函数
{ cout << “A :: fun( ) called”; }
};
class B : public A
{
public:
void fun( ) // 重写虚函数成员fun
{ cout << “B :: fun( ) called”; }
};
执行下列代码:
A *p; // 定义基类A的对象指针p
B bObj; // 定义派生类B的对象bObj
p = &bObj; // 将基类指针p指向派生类对象bObj
p->fun( ); // 通过基类指针p调用虚函数成员fun
通过基类指针p调用虚函数成员fun,将自动调用哪个函数?( )
A.语法错误
B.A::fun( )
C.先调用A::fun( ),再调用B::fun( )
D.B::fun( )
正确答案:D
36、下列关于输入/输出的描述中,错误的是( )。
A.C++语言以流类库的形式提供输入/输出功能
、cout是流类库中预定义的流对象
C.C++语言通过关键字cin、cout以语句的形式提供输入/输出功能
D.C语言以系统函数的形式提供输入/输出功能
正确答案:C
37、C++流类库中不包括下列哪种操作?( )
A.标准I/O
B.字符串I/O
C.文件I/O
D.系统函数scanf/printf
正确答案:D
38、已定义如下类模板:
template
则下列哪条语句是错误的?( )
obj;
Derived : public ABC
f ABC
te
正确答案:A
39、下列关于向量类vector与列表类list的描述中,错误的是( )。
A.向量和列表的内部存储结构相同,都是链表
B.列表中每个元素的内存空间是独立分配的,而向量是连续存储的
C.列表的迭代器类型是双向迭代器,而向量的迭代器类型是随机访问
迭代器(可使用下标访问元素)。
D.列表适合于存储需频繁添加删除的数据集合,而向量适合于存储元
素总数相对固定的数据集合,即向量不适合频繁地添加删除元素
正确答案:A
40、双向迭代器不能进行下列哪种运算?( )
A.下标运算[ ]
B.自增运算++
C.自减运算--
D.指针运算*
正确答案:A
版权声明:本文标题:C++语言程序设计期末考试题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735674239a1682665.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论