2010年9月全国计算机二级C 考试真题及答案

2020-07-13发布者:郝悦皓大小:82.00 KB 下载:0

2010 年 9 月全国计算机二级 C++考试真题及答案 一、选择题(每小题 2 分,共 70 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题 卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)上述三种说法都不对 答案:D 解析:线性表的链式储存肯定要比顺序储存占据更多的空间 (2)下列叙述中正确的是 A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)上述三种说法都不对 答案:D 解析:C 应该是:栈顶指针随栈中元素的变化而变化 (3)软件测试的目的是 A)评估软件可靠性 B)发现并改正程序中的错误 C)改正程序中的错误 D)发现程序中的错误 (4)下面描述中,不属于软件危机表现的是 A)软件过程不规范 B)软件开发生产率低 C)软件质量难以控制 D)软件成本不断提高 (5)软件生命周期是指 A)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件从需求分析、设计、实现到测试完成的过程 C)软件的开发过程 D)软件的运行维护过程 (6)面向对象方法中,继承是指 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制 (7)层次型、网状型和关系型数据库划分原则是 A)记录长度 B)文件的大小 C)联系的复杂程度 D)数据之间的联系方式 (8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与 实体计算机之间的联系是 A)一对一 B)一对多 C)多对多 D)多对一 (9)数据库设计中反映用户对数据要求的模式是 A)内模式 B)概念模式 C)外模式 D)设计模式 (10)有三个关系 R、S 和 T 如下: 则由关系 R 和 S 得到关系 T 的操作是 A)自然连接 B)交 C)投影 D)并 (11)下列关于函数参数的叙述中,正确的是 A)在函数原型中不必声明形参类型 B)函数的实参和形参共享内存空间 C)函数形参的生存期与整个程序的运行期相向 D)函数的形参在函数被调用时获得初始值 答案:D 解析:A——不必声明的是形参,而不是其类型 B——形参内存空间在栈上,实参则不一定 C——仅仅在函数执行期内 (12)下列关于对象初始化的叙述中,正确的是 A)定义对象的时候不能对对象进行初始化 B)定义对象之后可以显式地调用构造函数进行初始化 C)定义对象时将自动调用构造函数进行初始化 D)在一个类中必须显式地定义构造函数实现初始化 答案:C 解析:A——可以而且必须对对象进行初始化,这就是为什么你自己不写构造函数系统都 要‘硬’给你整个默认的原因。 B——定义之后就不能再初始化了。 class A { }; int _tmain(int argc, _TCHAR* argv[]) { A a; a.A(); return 1; } 如上例,编译器提示:error C2274: “函数样式转换””: 位于“.”运算符右边时非法 D——可以使用默认的构造函数。 (13)下列关于基类和派生类关系的叙述中,正确的是 A)每个类最多只能有一个直接基类 B)派生类中的成员可以访问基类中的任何成员 C)基类的构造函数必须在派生类的构造函数体中调用 D)派生类除了继承基类的成员,还可以定义新的成员 答案:D 解析:A——可以有多个。 B——至少私有的是无论如何都访问不到的。 C——恩街自动调用。 (14)下列关于赋值运算符“=”重载的叙述中,正确的是 A)赋值运算符只能作为类的成员函数重载 B)默认的赋值运算符实现了“深层复制”功能 C)重载的赋值运算符函数有两个本类对象作为形参 D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符 答案:A 解析:C——1 个形参。 D——谁说不能?能的。 (15)下列关于模板的叙述中,正确的是 A)如果一个类中存在纯虚函数,这个类就是类模板 B)函数模板不能有形式参数表 C)类模板是一种参数化类型的类,是类的生成器 D)类模板中不能包含构造函数 答案:C 解析:A——那是抽象类,不是模板。 B——我靠,形参都没有了么还搞啥模板啊,应该是模板参数表不能为空。 D——呃……这个确实能。 (16)下列关于 C++预定义流对象的叙述中,正确的是 A)cin 是 C++预定义的标准输入流对象 B)cin 是 C++预定义的标准输入流类 C)cout 是 C++预定义的标准输入流对象 D)cout 是 C++预定义的标准输入流类 答案:A 解析:首先,cin,cout 肯定是对象。 (17)下列选项中,正确的 C++标识符是 A)6_group B)group~6 C)age+3 D)_group_6 答案:D 解析:不解释 (18)下列选项中,正确的 C++表达式是 A)counter++3 B)element3+ C)a+=b D)’a’=b 答案:C 解析:不解释 (19)下列循环语句中有语法错误的是 A)int i; for( i=1; i<10;i++)cout<<‘*‘; B)int i,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*‘; C)int i=0;for(;i<10;i++)cout<<‘ *‘; D)for(1)cout<<‘*‘; 答案:D 解析:死循环是这样的:for(;1;) (20)下列定义语句中,错误的是 A)int px*; B)char*acp[10]; C)char(*pac)[10]; D)int(*p)(); 答案:A 解析:不解释 (21)下列函数原型声明中,错误的是 A)int fnction(int m,int n); B)int function(int,int); C)int function(int m=3,int n); D)int function(int &m,int&n); 答案:C 解析:不解释 (22)若 MyClass 为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的 次数是 A)2 B)5 C)4 D)9 答案:C 解析:不解释 (23)若在表达式 y/x 中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为 A)x.Operator/(Y) B)operator/(x,Y) C)Y.operator/(x) D)operator/(y,x) 答案:C 解析:不解释 (24)若要重载+、=、<<、=和[]运算符,则必须作为类成员重载的运算符是 A)+和= B)=和<< C)==和<< D)=和[] 答案:D 解析:至少‘+’,‘<<’可以这么重载: class A { public: friend A operator +(A&,A&); friend A operator <<(A&,int); }; 借用马克思的一句话:C++认为‘=’和‘[]’运算符必须是非静态的。 (25)有函数模板声明和一些变量定义如下: template T1 sum(T2,T3); double dl,d2; 则下列调用中,错误的是
温馨提示:当前文档最多只能预览 6 页,此文档共13 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

下载需知:

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

返回顶部