1、二级 C+笔试-246 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下面程序的运行结果是#includeiostreamhint fun(inta,int n)int result=1;for(int i=1:in;i+)result=result*ai;remm result;void main()int a3=3,4,5;cout fun(a,3) end1;(分数:2.00)A.12B.15C.20D.602.与语句 cout end1;不等价的是(分数:2.00)A.cout ,/n;B.cout ,/12;C.cout ,/x
2、A;D.cout ,/0;3.下面程序的运行结果为#includeiostreamhvoid main()char a=3;switch((分数:2.00)A.i5;i+)cout ai “ “;cout end1;(分数:2.00)填空项 1:_45.C+程序是从 【10】 函数开始执行的。(分数:2.00)填空项 1:_46.假定 A为一个类,则语句 A(A i5;i+)cout ai “ “;cout end1;(分数:2.00)填空项 1:_ (正确答案:1 2 3 4 5)解析:解析 本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i5,而 i初始值为 0,所以只会输
3、出前 5个元素。45.C+程序是从 【10】 函数开始执行的。(分数:2.00)填空项 1:_ (正确答案:main)解析:解析 所有的 C+语言程序都是从 main函数开始执行,而普通函数的存在是为了简化 main函数的复杂程度。46.假定 A为一个类,则语句 A(A &a);为该类 【11】 函数的原型说明。(分数:2.00)填空项 1:_ (正确答案:拷贝构造)解析:解析 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名拷贝构造函数名(类名&引用名)。47.派生类构造函数的执行顺序是先执行 【12】 的构造函数
4、,然后执行成员对象的构造函数,最后执行 【13】 的构造函数。(分数:4.00)填空项 1:_ (正确答案:12基类13派生类)解析:解析 本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。48.类模板不同于函数模板,类模板只可用 【14】 型参数。(分数:2.00)填空项 1:_ (正确答案:类)解析:解析 本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。49.下列程序的执行结果为 【15】 。#includeiostreamhvoid main()cout.fill(*);coutwidth(10);tout “hello“end1;(分数:2.00)填空项 1:_ (正确答案:*hello)解析:解析 本题考查的是 C+语言的流输出操作,cout 中包括的函数 fill()和 width()分别实现填充和设定显示长度的功能。