二级C++笔试-33
(总分100, 做题时间90分钟)
一、选择题
1.
假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。
A void~MyClass();
B ~MyClass(int n);
C MyClass();
D ~MyClass();
分值: 2
答案:D
[解析] c++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。
2.
下列程序的执行结果是( )。
#include<iostream.h>
#include<stdlib.h>
Class TestClass
public:
int x,y;
TestClass()x=y=0;
TestClass(int a,int b)x=a;y=b;
void disp()
#include<iostream.h>
#include<stdlib.h>
Class TestClass
public:
int x,y;
TestClass()x=y=0;
TestClass(int a,int b)x=a;y=b;
void disp()
cout<<"x="<<x<<",y="<<y<<end1;
;
void main()
TestClass s1(2,3);
s1.disp();
A x=2,y=2
B x=3,y=3
C x=2,y=3
D x=3,y=2
分值: 2
答案:C
[解析] 由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b){x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout<<”x=“<<x<<”,y=“<<y<<endl;”。
3.
有如下语句序列:
int k=0;
dok+=5;cout<<'$'; while(k<19);
while(k-->0)cout<<'*';
执行上面的语句序列输出字符“$”和“*”的个数分别是( )。
int k=0;
dok+=5;cout<<'$'; while(k<19);
while(k-->0)cout<<'*';
执行上面的语句序列输出字符“$”和“*”的个数分别是( )。
A 4和20
B 5和20
C 4和21
D 5和21
分值: 2
答案:A
[解析] 此题考查的是do...while语句和while语句的使用。题目中do...while语句循环了4次,while语句循环了20次,故最后输出字符“$”4个,字符“*”20个。
4.
关系数据库管理系统能实现的专门关系运算包括( )。
A 排序、索引、统计
B 选择、投影、连接
C 关联、更新、排序
D 显示、打印、制表
分值: 2
答案:B
[解析] 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。
有如下程序:
#include<iostream>
using namespace std;
class Test
public:
#include<iostream>
using namespace std;
class Test
public:
Test() n+=2;
~Test() n-=3;
static int getNum()return n;
private:
static int n;
;
int Test::n=1;
int main()
Test*p=new Test;
delete p;
cout<<"n="<<Test::getNum()<<endl;
return 0;
执行后的输出结果是( )。
~Test() n-=3;
static int getNum()return n;
private:
static int n;
;
int Test::n=1;
int main()
Test*p=new Test;
delete p;
cout<<"n="<<Test::getNum()<<endl;
return 0;
执行后的输出结果是( )。
5.
下列对重载函数的描述中,错误的是( )。
A 重载函数中不允许使用默认参数
B 重载函数中编译是根据参数表进行选择的
C 不要使用重载函数来描述毫不相干的函数
D 构造函数重载将会给初始化带来多种方式
分值: 2
答案:A
[解析] 选项A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫不相干的函数;重载函数中编译是根据参数表进行选择的,包括参数的个数
和类型。
6.
数据库技术的根本目标是要解决数据的( )。
A 存储问题
B 共享问题
C 安全问题
D 保护问题
分值: 2
答案:B
[解析] 在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。
7.
若有以下变量定义和函数调用语句:
int a=5;
fun(&
int a=5;
fun(&
A
;
&
&
分值: 2
答案:D
[解析] fun函数中的x参数为整型指针变量。调用fun函数, &a是取a的地址,即将实际参数a的地址传递。函数fun中的*x是变量x所指的存储单元即值5。*运算符的等级高于++,所以先取值5,然后加1输出,即为6。
8.
下面有关重载函数的描述中,正确的是( )。
A 重载函数必须具有不同的返回值类型
B 重载函数形参个数必须不同
C 重载函数必须具有不同的形参列表
D 重载函数名可以不同
分值: 2
答案:C
[解析] 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。
9.
数据的存储结构是指( )。
A 数据所占的存储空间
字符串拷贝函数strcpy作用B 数据的逻辑结构在计算机中的存放形式
C 数据在计算机中的顺序存储方式
D 存储在计算机外存中的数据
分值: 2
答案:B
[解析] 数据的存储结构又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。
对下列程序段的描述正确的是( )。
#include<iostream.h>
int fun(int,int);
void main()
cout<<fun(1,2)<<endl;
int fun(int x,int y)
return x+y;
#include<iostream.h>
int fun(int,int);
void main()
cout<<fun(1,2)<<endl;
int fun(int x,int y)
return x+y;
10.
假定MyClass为一个类,则执行MyClass a b(2),*p;语句时,自动调用该类构造函娄( )次。
A 2
B 3
C 4
D 5
分值: 2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论