2022年全国计算机等级考试二级C++样题 .pdf
全国计算机等级考试二级C+样题公共基础知识一、选择题()下列关于栈的叙述正确的是A)栈是非线性结构B) 栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征()结构化程序设计所规定的三种基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数()结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法()如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择B)投影C)连接D)并二、填空题.对于输入为 N 个数进行快速排序算法的平均时间复杂度是().在面向对象方法学中,直接反映了用户对目标系统的要求的模型是().软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试().关系型数据库管理系统中存储与管理数据的基本形式是()C+语言程序设计一、选择题() C+语言是从早期的C 语言逐渐发展演变而来的.与 C 语言相比,它在求解问题方法上进行的最大改进是()A)面向过程B)面向对象C)安全性D)复用性() C+语言的跳转语句中,对于break 和 continue 说法正确的是()A)break 语句只应用与循环体中B)continue 语句只应用与循环体中C)break 是无条件跳转语句,continue 不是D)break 和 continue 的跳转范围不够明确,容易产生问题() for(int x= ,y=o;!x& &y=5;y+)语句执行循环的次数是()A)B)C)D)无次数()考虑函数原型void test(int a,int b=7,char=*), 下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,#) D)test(0,0.*); (5)下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - C)重载函数必须有不同的形参列表D)重载函数名可以不同;()下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载()下面描述中,表达错误的是()A)公有继承时基类中的public 成员在派生类中仍是public 的B)公有继承是基类中的private 成员在派生类中仍是private 的C)公有继承时基类中的protected 成员在派生类中仍是protected 的D)私有继承时基类中的public 成员在派生类中是private 的()应在下列程序划线处填入的正确语句是()#include class Base public: void fun()coutBase:funENDL; ; class Derived:public Base void fun() _ / 显示调用基类的函数fun() coutDerived:funfun(); (9)有如下程序:include class BASE char c; public: BASE(char n):c(n) virtualBASE()coutC; ; class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()coutC; ; int main() DERIVED(X); return 0; 执行上面的程序将输出()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - A)XY B)YX C)X D)Y (10)在进行完任何C+流的操作后,都可以用C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()A)fail B)eof C)bad D)good 二、填空题(1)下面程序的打印结果是1 #incude int f(int); int main() int i; for(i=0;i5;i+) coutF(I)0;i- -) k + = i; return k; (2)在用 class定义一个类时,数据成员和成员函数的默认访问权限是2 (3)含有纯虚函数的类称为3 (4)已知 intDBL(int n)return n + n;和 longDBL(long n)return n +n;是一个函数模板的两个实例,则该函数模板的定义是4 (5)在下面程序的横线处填上适当的语句,使该程序执行结果为10. #include class MyClass public: MyClass(int a)x = a; 5 / 取 x 值private int x; ; int main() MyClass my(10); coutMY .GETNUM()ENDL; return 0; 三、上机操作题(改错题1 道,简单应用1 道,综合应用1 道)1.使用 VC6 打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main 函数中的错误,使程序的输出结果为:member=0 member=5 menber=10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 源程序文件main.cpp 清单如下:#include class MyClass public: MyClass(int i)member=i; void SetMember(int m)member=m; int GetMember()constreturn menber; void print()contcoutmember=MEMBERENDL; private: int member; ; voed main() /* * * * * * * * * * found * * * * * * * * * */ MyClass obj1; obj1.print(); MyClass obj2(3); /* * * * * * * * * * found * * * * * * * * * */ obj1.member=5; /* * * * * * * * * * found * * * * * * * * * */ MyClass.SetMember(10); obj1.print(); obj2.print(); 2.请编写一个函数int find(char s,char t),该函数在字符串s 中查找字符串t,如果找到,则返回字符串t 在字符串 s 中的位置(整数值) ;否则返回 -1.注意:用数组方式及两重循环来实现该函数. 注意:部分源文件程序已存在文件PROC2,CPP 中. 请勿修改主函数main 和其他函数中的任何内容,仅在函数find 的花括号中填写若干语句. 文件 PROC2.CPP 的内容如下:#include int find(char s,char t); const int MAXLINE =256; int main() char sourceMAXLINE,rargetMAXLINE; cout Please input a string for searching:n; cin.getline(source,MAXLINE); cout=0 coutFinding it.The target string is at index INTPOSOF stringn?; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - else coutNot finding it.n; return 0; int find(char s,char t) 3.使用 VC6 打开考生文件夹下的工程proj3.此工程包含一个源程序文件main.cpp.其中定义了用于表示日期的类Date,但类 Date 的定义并不完整 .请按要求完成下列操作,将类 Date 的定义补充完整 : (1)定义私有数据成员year,month 和 day 分别用于表示年,月,日,它们都是int 型的数据 .请在注释 / * * 2 * * 之后添加适当的语句. (2)完成默认构造函数Date 的定义 ,使 Date 对象的默认值为:year=1,month=1,day=1, 请在注释 / * * 2 * * 之后添加适当的语句()完成重载构造函数Date(int y,int m,int d)的定义,把数据成员year,month 和 day 分别初始化为参数y,m,d 的值,请在注释* * * *之后添加适当的语句()完成成员函数print 的类外定义, 使其以年月日的格式将Date对象的值输出到屏幕上请在注释 * * * * 之后添加适当的语句注意:除在指定位置添加语句之外,请不要改动程序中的其他内源程序文件main.cpp 清单如下: main.cpp #include class Date public: /* * 2 * * Date(int y,int m,int d) /* * 3 * * void print() const; private: / date members /* * 1 * * ; void Date:print()const /* * 4 * * int main() Date national_day(1949,10,1); national_day.print(); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - - 参考答案:公共基础知识:一:选择题:(1) D (2) C(3) D (4) B 二:填空题:(1)1 :O(Nlog2N) (2)2 :功能模型(3)3 :软件外部功能(4)4 :二维表C+程序设计一:选择题1-5 :B B C C C 6-10:D B C A B 二:填空题(1)1 :1 2 5 11 21 (2)2 :private 或 私有(3)3 :抽象类(4)4 :templateT DBL(T n)return n+n; (5)5 :int GetNum()return x; 或 int GetNum() constreturn x;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -