【计算机类职业资格】二级C++-77及答案解析.doc
《【计算机类职业资格】二级C++-77及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-77及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-77 及答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:20,分数:33.00)1.下面的哪个选项不能作为函数的返回类型?(分数:1.00)A.voidB.intC.newD.long2.有下列程序: #includestdio.h void main() char *a=“abcd“,“ef“,“gh“,“ijk“);int i; for(i=0;i4;i+)printf(“%c“,*ai); 程序运行后的输出结果是 _ 。(分数:2.00)A.aegiB.dfhkC.abcdD.abcdefghijk3.下列关于构造函数说法不正确的是(分数:1.00)A.
2、构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化4.不能作为重载函数的调用的依据是(分数:2.00)A.参数个数B.参数类型C.函数类型D.函数名称5.有以下程序: #includeiostream using namespace std; class sample private: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sample s) return S.X*S.K; int main() sample
3、s1(20),s2(30); coutsquare(s2)endl; return 0; 执行结果是 _ 。(分数:2.00)A.20B.30C.900D.4006.下列关于类和对象的叙述中,错误的是(分数:1.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系7.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap=a)B.*(int *y; *p; int dt4=10,20,30,40; struct st aa4= 5
4、0, main() p=aa; cout+p-x; cout(+p)-x; cout+(*p-y); (分数:2.00)A.10 20 20B.50 60 21C.51 60 21D.60 70 3117.表达式 1056%3 的值是(分数:2.00)A.-1B.非零值C.0D.118.下列关于类模板的模板参数的叙述中,错误的是 _ 。(分数:2.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型19.数据库系统的核心是(分数:1.00)A.数据模型B.数据库管理系统C.数据库D.数据
5、库管理员20.以下程序企图把从键盘终端输入的字符输出到名为 abc.txt 的文件中,当从终端读到字符“#“时,结束输入和输出操作。但该程序有错。 #include iostream #include fstream using namespace std; int main() ofstream ofile; char ch; ofile.open(“d:/abc.txt“, “W“); do cinch; ofile.put(ch); while(ch!=“#“); ofile.close(); return 0; 程序出错的原因是( )。(分数:1.00)A.成员函数 open 调用形式
6、错误B.输入文件没有关闭C.成员函数 put 调用形式错误D.对象 ofile 定义错误二、填空题(总题数:17,分数:29.00)21.下列程序的输出结果为 Object id=0 Object id=1 请将程序补充完整。 #includeiostream using namespace std; class Point public: Point(int xx=0,intyy=0)X=xx;Y=yy;countP+; Point( )eountP-; int GetX( )return X; int GetY( )return Y; static void GetC( )cout“Obj
7、ect id=“countPendl; private: int X,Y; static int countP; ; 1/静态数据成员的初始化 int main( ) Point:GetC( ); Point A(4,5); AGetC( ); return 0; (分数:2.00)22. 1 是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。 (分数:1.00)23.数据结构分为逻辑结构与存储结构,循环队列属于 _ 1_ 。 (分数:2.00)24.已知程序的结果为 1 2 3,请填空。 #includeiostream.h templ
8、ateclass T class A public: T x,y,Z; void display( ) cout x “ “ y “ “ z; ; void main( ) Ainta1; 1 2_ 3 4_ 5 6_ a1display( ); (分数:1.00)25.软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 _ 1_ 测试。 (分数:2.00)26.与二维表中的“行”的概念最接近的概念是 1。 (分数:2.00)27.对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。 (分
9、数:2.00)28.重新定义标识符的作用域规定是外层变量被隐藏, _ 1_ 变量是可见的。 (分数:2.00)29.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 _ 1_ 。 (分数:1.00)30.下列程序的输出结果是 1。 #includeiostream.h templateclass T T max(T x,int n) int i; T maxv=x0; for(i=1;in;i+) if(maxvxi) maxv=xi; return maxv; void main( ) int a=3,2,7,6,8,9; double b=1.2,3.4,2.5,7
10、.3,6.8; coutmax(a,4)“,“max(b,3)endl; (分数:2.00)31.已知_-X 树中序遍历序列是 cbade,它的后序遍历序列是 cbeda,前序遍历序列是 _ 1_ 。 (分数:2.00)32.利用继承能够实现 1。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。 (分数:2.00)33.当输入 d 的值 22 时,以下程序的输出结果是 _ 1_ 。 void bin (int b) if (b= 2) bin(b/2); coutb%2; void main() int d; cind; bin(D) ; (分数:2.00)34.有
11、如下程序: #includeiostream using namespace std; class CA public: CA()cout+A; ; class CB:private CA public: CB()coutB; ; int main() CA a; CB b; return 0; 这个程序的输出结果是 1。 (分数:2.00)35.Staff 类含有 int 型数据成员 ID,两个 Staff 对象相等是指它们的 ID 相同。下面的函数重载了运算符“=”,它用来判断两个 Staff 对象是否相等,相等时返回 true,否则返回 false。请将横线处缺失部分补充完整。 bool
12、 Staff:Staff=(const Staff (分数:2.00)36.若有以下程序: #includeiostream using namespace std; class Base public: Base ( ) x=0; int x; ; class Derived1 : virtual public Base public: Derived1() x=10; ; class Derived2 : virtual public Base public: Derived2() x=20; ; class Derived : public Derived1,protected Deri
13、ved2 ; int main() Derived obj; coutobj.xend1; return 0; 该程序运行后的输出结果是 1。 (分数:1.00)37.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1 2_ 。 (分数:1.00)二级 C+-77 答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:20,分数:33.00)1.下面的哪个选项不能作为函数的返回类型?(分数:1.00)A.voidB.intC.new D.long解析:解析 new 是动态申请内存空间时使用的关键宇,不能作为函数的返回类型,选项 A)为无
14、返回值,选项 B)为返回整型,选项 D)为返回长整型。2.有下列程序: #includestdio.h void main() char *a=“abcd“,“ef“,“gh“,“ijk“);int i; for(i=0;i4;i+)printf(“%c“,*ai); 程序运行后的输出结果是 _ 。(分数:2.00)A.aegi B.dfhkC.abcdD.abcdefghijk解析:解析 *a表示一个字符串数组,for 循环的作用是输出字符串数组中每一次字符串的第一个字符。所以正确答案为选项 A。3.下列关于构造函数说法不正确的是(分数:1.00)A.构造函数必须与类同名B.构造函数可以省略
15、不写C.构造函数必须有返回值 D.在构造函数中可以对类中的成员进行初始化解析:解析 构造函数是一类特殊的函数,其特点是函数名与类同名,没有返回值,也可以省略不写,还可以对类中的成员进行初始化。4.不能作为重载函数的调用的依据是(分数:2.00)A.参数个数B.参数类型C.函数类型D.函数名称 解析:解析 所谓重载函数是指同一个函数名可以对应多个函数的实现,编译器会根据参数个数、参数类型和函数返回值类型不同而自动调用相应的函数。5.有以下程序: #includeiostream using namespace std; class sample private: int x; public: s
16、ample(int a) x=a; friend double square(sample s); ; double square(sample s) return S.X*S.K; int main() sample s1(20),s2(30); coutsquare(s2)endl; return 0; 执行结果是 _ 。(分数:2.00)A.20B.30C.900 D.400解析:解析 本题考查友元函数的应用。程序中函数 square 是类 sample 的一个友元函数,它可以直接访问类 sam- pie 的所有成员。它的功能是返回类 sample 的私有数据成员 x 的平方。所以程序的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C77 答案 解析 DOC
