《2023年计算机等级考试二级笔试.doc》由会员分享,可在线阅读,更多相关《2023年计算机等级考试二级笔试.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年3月计算机二级考试C+笔试试题一、选择题(1)下列叙述中对的的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时间复杂度是指 AA)算法的执行时间B)算法所解决的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A
2、)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是 AA)诊断和改正程序中的错误B)尽也许多地发现程序中的错误C)发现并改正程序中的所有错误D)拟定程序中错误的性质(5)数据流程图(DFD图)是 CA)软件概要设计的工具B)软件具体设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。具体设计属于 BA)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是 AA)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取
3、一个学生信息的数据单位是 DA)文献B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表达,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系R得到关系T的操作是A)选择B)投影C)交D)并(11)下列关于函数的描述中,错误的是A)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列MyClass c1,*c2;MyClass *c3=new MyClass;MyClass &c4=c1;上面
4、的语句序列所定义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是A)假如不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“-”重载为非成员函数,下列原型中,能对的用于类中说明的是A)Decr& operator -(int);B)Decr operator -( Decr&,int);C)friend Decr& operator -(De
5、cr&);D)frlend Decr operator -(Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempdoublep2;MyTemplongp32;编译系统在解决上面的语句序列时,所生成的模板MyTemp的实例的个数是A)1B)2C)3D)0(16)在C+中,cin是个A)类B)对象C)模板D)函数(17)在下列字符中,不允许作为C+标记符的是A)bB)BC)_D)2(18)下列叙述中,错误的是A)false是一个逻辑型常量B)“b”是一个字符型常量C)365是一个int常量D)3.1415926是一个double常量(19)若
6、x和y是程序中的两个整型变量,则下列if语句中对的的是A)if(x=0) y=1; else y=2;B)if(x=0) then y=1 else y=2;C)if(x=0) y=1 else y=2;D)if x=0 y=1; else y=2;(20)要定义整型数组x,使之涉及初值为O的三个元素,下列语句中错误的是A)int x3=0,0,0;B)int x=0;C)static int x3=0;D)int x=0,0,0;(21)关于函数中的返回类型,下列表述中错误的是A)返回类型中有也许包含关键字intB)返回类型中有也许包含自定义标记符C)返回类型中有也许包含字符*D)返回类型中
7、也许包含(22)要定义一个引用变量p,使之引用类MyClass的一个对象,对的的定义语句是A)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass &p=new MyClass;D) MyClass a,&p=a;(23)有如下两个类定义class XXprivate:double x1;protected:double x2;public:double x3;class YY:protected XXprivate:double y1;protected:double y2;public:double y3;在类YY中保护成员变量的个数是A)
8、1B)2C)3D)4(24)下列关于运算符重载的描述中,错误的是A)可以通过运算符重载在C+中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是A)类模板的成员函数都是模板函数B)可认为类模板参数设立默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,可以设立浮点数精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是i
9、nt fun1();class Testpublic:int fun2();friend int fun3();static int fun4();A)fun1B)fun2C)fun3D)fun4(28)有如下程序#include iostreamusing namespace std;class Testpublic:Test() Test(const Test &t) cout1;Test fun(Test &u) Test t=u; return t;int main()Test x,y; x=fun(y); return 0;运营这个程序的输出结果是A)无输出B)1C)11D)111(
10、29)有如下程序#include iostreamusing namespace std;class Apublic:A(int i=0):r1(i) void print() coutEr1-;void print() const coutCr1*r1-;void print(int x) cout Pr1*r1*r1-;private:int r1;int main() A a1;const A a2(4);a1.print(2);a1.print();return 0;运营时的输出结果是A)P8-E4B)P8-C16-C)P0-E4-D)P0-C16-(30)下列代码声明了3个类clas
11、s Person;class Student:public Person;class Undergraduate:Student;下列关于这些类之间关系的描述中,错误的是A)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#include iostreamusing namespace std;Class Basepublic:Base(int x=0):valB(x) coutvalB;Base() coutvalB
12、;private:int valB;class Derived:public Basepublic:Derived(int x=0,int y=0):Base(x),valD(y)coutvalD;Derived() coutvalD;private:int valD;int main()Derived obj12(2,3);retuen 0;运营时的输出结果是A)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shapepublic:virtual void Draw()=0;下列关于Shape类的描述中,对的的是A)类Shape是虚基类B)类Sha
13、pe是抽象类C)类Shape中的Draw函数声明有误D)语句“Shape s;”可以建立Shape的一个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是A)MyClock operator + (MyClock,long);B)MyClock operator + (MyClock,MyClock);C)MyClock operator + (long,long);D)MyClock operator + (long,MyClock);(34)打开文献时可单独或组合使用下列文献打开模式ios_base:app ios_base:binaryios_base:in ios_
14、base:out若要以二进制读方式打开一个文献,需使用的文献打开模式为A)B)C)D)(35)有如下程序:#include iostreamusing namespace std;Class Bpublic:B(int xx):x(xx) +cout; x+=10;virtual void show() constcoutcount_xendl;protected:static int count;private:int x;class D:public Bpublic:D(int xx,int yy):B(xx),y(yy) +count; y+=100;virtual void show(
15、) constcoutcount_yendl;private:int y;int B:count=0;int main()B *ptr=new D(10,20);ptr-show();delete ptr;return 0;运营时的输出结果是A)1_120B)2_120C)1_20D)2_20二、填空题(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。(2)设某循环队列的容量为50,假如头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。
16、(3)设二叉树如下:对该二叉树进行后序遍历的结果为 【3】 。(4)软件是 【4】 、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 【5】 ,成绩)。(6)若x和y是两个整形变量,在执行了语句序列x=5; y=6; y+=x-;后,x+y的值为 【6】 。(7)在执行语句序列int i=0; do i+; while(i*i10);时,do后面的循环体语句i+被执行的次数为 【7】 。(8)有如下的函数定义:int Xf
17、un(int *a, int n)int x=*a;for(int *pa=a+1; paa+n; pa+)if(*pax) x=*pa;return x;若执行了语句int x5=23,46,78,55,16;后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为 【8】 。(9)有如下的函数定义:int Xfun(int x)int y=x;int x=10; y+=x;return x+y;通过表达式Xfun(5)调用该函数,则得到的返回值为 【9】 。(10)假定Xcs是一个类,该类中一个成员函数的原型为“Xcs *abc();”,则在类外定义时相应的函数头为 【10】 。(11
18、)请将下面的类Date的定义补充完整,使得由语句Date FirstDay;定义的对象FirstDay的值为2023年1月1日。class Datepublic:Date( 【11】 ):year(y),month(m),day(d) private:int year,month,day; /依次表达年、月、日;(12)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。#include iostreamusing namespace std;class Bookpublic:Book(char *str) strcpy(title,str);【12】 void PrintInfo() co
19、uttitleendl;protected:char title50;class MyBook:public Bookpublic:MyBook(char *s1,char *s2=“张娜”):【13】 strcpy(owner,s2);virtual void PrintInfo() couttitle“是”owner“的书”endl;private:char owner10;int main()Book *prt=new MyBook(“飘”);prt-PrintInfo();return 0;(13)在有理数类Rational中重载插入运算符,以便按a/q形式输出。请将运算符函数的定义补充完整。class Rationalpublic:Rational(int aa, int qq):a(aa),q(qq) friend 【14】 operator(ostream &out, Rational &x)return (outx.a/x.q);private:int a,q;(14)下面的函数定义是某函数模板可以生成的函数实例int square(int n) return n*n;double square(double n) return n*n;由此可知,该函数模板的定义是 【15】 。
限制150内