1、计算机等级考试二级C+模拟题及解析3笔试部分计算机等级考试二级C+模拟题及解析3笔试部分一、选择题1.数据结构作为计算机的一门学科,主要研究数据逻辑结构、对各种数据结构进行运算,及( )A.数据的存储结构 B.计算方法C.数据映象 D.逻辑存储【参考答案】 A2.在计算机中,算法是指( )A.加工方法 B.解题方案的准确而完整的描述 C.排序方法 D.查询方法【参考答案】 B3.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A.软件投机 B.软件危机 C.软件工程 D.软件产生【参考答案】 B4.开发大型软件时,产生困难的根本原因是( )A.大系统的复杂性 B.人员知识
2、不足 C.客观世界千变万化 D.时间紧、任务重【参考答案】 A5.数据库、数据库系统和数据库管理系统之间的关系是( )A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3者没有明显的包含关系【参考答案】 B6.下列叙述中正确的是( )A.线性表是线性结构 B.栈与队列是非线性结构C.线性链表是非线性结构 D.二叉树是线性结构【参考答案】 A7.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序【参考答案】 B8.下列不属于结构化分析的常用工
3、具的是( )A.数据流图 B.数据字典 C.判定树 D.PAD图【参考答案】 A9.下列工具中为需求分析常用工具的是( )A.PAD B.PFD C.N-S D.DFD【参考答案】 D10.数据库的故障恢复一般是由( )A.数据流图完成的 B.数据字典完成的C.DBA完成的 D.PAD图完成的【参考答案】 C11.关于C+与C语言关系描述中错误的是( )A.C+语言是C语言的超集B.C+语言对C语言进行了扩充C.C+语言包含C语言的全部语法特征D.C+语言与C语言都是面向对象的程序设计语言【参考答案】 D12.在C+语言中,不合法的实型数据的是( )A.0.123 B.123e3 C.2.1e
4、3.5 D.123.0【参考答案】 C13.下面有关于for循环的正确描述是( )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来【参考答案】 D14.假定int类型变量占用两个字节,其有定义int x10=0,2,4;,则数组x在内存中所占字节数是( )A.3 B.6 C.10 D.20【参考答案】 D15.以下叙述正确的是( )A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套
5、调用D.函数可以嵌套调用但不可以嵌套定义【参考答案】 D16.下面的语句中错误的是( )A.int a=5;int xa; B.const int a=5;int xa;C.int n=5;int *p=new inta; D.const int n=5;int *p=new inta;【参考答案】 A17.关于二义性的描述错误的是( )A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出
6、现二义性【参考答案】 C18.函数模板:templateT add(T x,T y) return x+y;下列对add函数的调用不正确的是( )A.add(1,2) B.add(1,2)C.add(1.0,2) D.add(1.0,2.0)【参考答案】 C19.this指针是C+实现什么的一种机制?( )A.抽象 B.封装 C.继承 D.重载【参考答案】 B20.下列程序的输出结果是( )#includeclass Myclasspublic:Myclass(int i=0,int j=0) y=j;void show()coutx=X void show()constcoutx= y=YE
7、NDL; privated:int x;int y;void main()yclass my1(3,4);const my2(7,8);my1.show();my2.show();A.x=4,y=3;x=7,y=8 B.x=3,y=4;x=7,y=8 C.x=7,y=8;x=4,y=3 D.x=8,y=7;x=7,y=8【参考答案】 A21.在C+语言中,打开一个文件就是将这个文件与一个什么建立关联( )A.流 B.类 C.结构 D.对象【参考答案】 A22.执行语句for(i=1;i+4;);,后变量i的值是( )A.3 B.4 C.5 D.不定【参考答案】 C23.下列哪个是C+语言的有效
8、标识符?( )A._No1 B.No.1 C.12345 D.int【参考答案】 A24.下列程序的执行结果为( )#includevoid main()int a=3,b=0;int *p=&a;b=+a+;cout*p,BENDL; A.3,4 B.4,3 C.3,-4 D.4,4【参考答案】 B25.下列选项,不正确的是( )A.for(int a=1;a=10;a+);B.int a=1;do a+ while(a=10)C.int a=1;while(a=10) a+D.for(int a=1;a=10;a+)a+;【参考答案】 B26.下列程序的输出结果为( )#includevo
9、id main()char *a=hello,the,world;char *pa=a;pa+;cout*paENDL; A.hello B.the C.world D.hellotheworld【参考答案】 B27.下列程序的输出结果是( )#includeint min(int a,int b)if(a else return b;return 0;void main()coutMIN(1,MIN(2,3)ENDL; A.0 B.1 C.2 D.3【参考答案】 B28.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )A.公有类型 B.私有类型C.保
10、护类型 D.友元类型【参考答案】 D29.类的析构函数的作用是( )A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象【参考答案】 D30.下面对静态数据成员的描述中,正确的是( )A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用【参考答案】 D31.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指
11、向基类的指针【参考答案】 C32.下列关于虚基类的描述,错误的是( )A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数【参考答案】 B33.下列运算符中,在C+语言中不能重载的是( )A.* B.= C.: D./【参考答案】 C34.下列程序的运行结果是( )#includeclass A int a;public:A() a=0;A(int aa)a=aa;cout void main()A x,y(2),z(3);c
12、outENDL; A.00 B.23 C.34 D.25【参考答案】 B35.判断char型变量c是否为小写字母的正确表达式是( )A.a=c+A)&(c=c)|(z=a)&(c=z)【参考答案】 D二、填空题1.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【1】。【参考答案】【1】n/22.类是一个支持集成的抽象数据类型,而对象的类的【2】。【参考答案】【2】实例3.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【3】。【参考答案】【3】物理独立性4.若串 s =
13、MathTypes,则其子串的数目是【4】。【参考答案】【4】465.关系数据库的关系演算语言是以【5】为基础的DML语言。【参考答案】【5】谓词演算6.程序#includeinostream.hvoid main()int i=10;int j=5;coutJ+IIIENDL; 的结果为【6】。【参考答案】【6】157.语句int *i;i=new int10;,释放指针i的语句是【7】。【参考答案】【7】deleteI8.在C+语言中每个类都有一个【8】指针,该指针指向正在调用成员函数的对象。【参考答案】【8】this9.程序的结果为【9】。#include iostream.htempl
14、ateT total(T *data) T s=0;while( *data)s+=*data+;return s; int main() int x=2,4,6,8,0,12,14,16,18; coutTOTAL(X); return 0; cout 【参考答案】【9】2010.一个C+语言程序的开发步骤通常包括编辑、【10】、链接、运行和调试。【参考答案】【10】编译11.下面程序的运行结果是【11】和【12】。#include#define N 10#define s(x)x*x#define f(x)(x*x)void main() int i1,i2; i1=1000/s(N);i2=1000/f(N); coutI1 【参考答案】【11】1000 【12】1012.【13】是实现C+语言编译时多态性的机制,【14】是实现C+语言运行时多态性的要制。【参考答案】【13】静态联编或静态绑定 【14】动态联编或动态绑定13.以下程序的输出结果是【15】。#includevoid main() int a=0;a+=(a=8); cout 【参考答案】【15】16
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1