1、二级 C+笔试-206 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下程序:#includediostreamusing namespace std;class TestClassprivate:int x,y;public:TestClass(int i,int j)x=i;y=j;void print()cout“print1“endl;void print()constcout“print2“endl;int main()const TestClass a(1,2);a.print();return 0;该程序运行后的输出结果
2、是( )。(分数:2.00)A.print1B.print2C.print1 print2D.程序编译时出错2.源程序的文档化不包括( )。(分数:2.00)A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释3.有下列二叉树,对此二叉树中序遍历的结果是( )。(分数:2.00)A.B.C.D.4.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。(分数:2.00)A.XB:XB(int a,
3、int b):x(a),y(b)B.XB:XB(int a,int b):XA(a),y(b)C.XB:XB(int a,int b):x(a),XB(b)D.XB:XB(int a,int b):XA(a),XB(b)5.下列叙述正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对6.对于拷贝构造函数和赋值操作的关系,正确的是( )。(分数:2.00)A.拷贝构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝
4、构造函数时,类的对象正在被建立并被初始化D.拷贝构造函数和赋值操作不能在同一个类中被同时定义7.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计8.下面关于 C+流的叙述中,正确的是( )。(分数:2.00)A.cin 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char *y=“PQMN“;couty;将输出字符串 PQMN 的地址D.执行语句序列 char x80;cin.getline(x,80);时,若输入 Happy new year,则 x 中的字符串是“Happy”9.下列叙述中正确的是( )
5、。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法10.继承机制的作用是( )。(分数:2.00)A.信息隐藏B.数据封装C.定义新类D.数据抽象11.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中
6、,正确的是( )。(分数:2.00)_12.有如下数组声明:int num10;,下标值引用错误的是( )。(分数:2.00)A.num10B.num5C.num3D.num013.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable(int i)value=i;private:int value;则对下列语句序列正确的描述是( )。(分数:2.00)A.语句 p=my;是把对象 my 赋值给指针变量 pB.语句 MyClass *p,my;会调用两次类 MyClass 的构造函数C.对语句*p.SetVariable
7、(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetVariable(5)等价14.已知在一个类体中包含如下函数原型:VOLUME OPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。(分数:2.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值15.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )来实现。(分数:2.00)A.调用语句B.命令C.中令D.消息16.下面程序的运行结果为( )。#includeiostrea
8、m.hvoid main()char a=3;switch(a)case3:cout“3“;case2:cout“2“;break;default:cout“1“;(分数:2.00)A.3B.321C.31D.3217.两个或两个以上模块之间联系的紧密程度称为( )。(分数:2.00)A.耦合性B.内聚性C.复杂性D.数据传输特性18.下面程序的运行结果是( )。#includediostream.hclass baseprotected:int a;public:base()cout“0“;class base1:virtual basepublic:base1()cout“1“;class
9、 base2:virtual basepublic:base2()cout“2“;class derived:public base1,public base2public:derived()cout“3“;void main()derived obj;coutendl;(分数:2.00)A.0123B.3120C.0312D.301219.下列关于运行符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变操作数的优先级C.运算符重载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能20.下列叙述中错误的是( )。(分数:2.00)
10、A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的21.下列关于虚函数与函数重载区别的叙述中不正确的是( )。(分数:2.00)A.函数说明形式上不同B.函数允许非成员函数重载,虚函数只能是成员函数C.函数重载的调用依据参数和类型的差别,虚函数则依据对象D.函数重载的本体可以在类外定义,虚函数不可以22.当需要将一个函数 bool isnumber(char c)声明为内联函数时,此内联函数的函数原型为( )。(分数:2.00)A.enum bool isnumber(ch
11、ar c);B.define bool isnumber(char c);C.inline bool isnumber(char c);D.extem bool isnumber(char c);23.有如下函数模板声明:templatetypename TT Max(T a,T b)return(a=b)?a:b;下列对函数模板 Max()的调用中错误的是( )。(分数:2.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)24.下面程序的运行结果为( )。#includeiostream.hvoid swa
12、p(int a,int b)int temp;temp=a+;a=b:b=temp;void main()int a=2,b=3;swap(a,b);couta“,“bendl;(分数:2.00)A.2,3B.3,2C.2,2D.3,325.下列程序的运行结果为( )。#includeiostream.htemplateclass TTclass FFTT a1,a2,a3;public:FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3;)TT Sum()return a1+a2+a3;void main()FFintx(int(1.1),2,3),y(int(4.
13、2),5,6);coutx.Sum()y.Sum()endl;(分数:2.00)A.6.1 15.2B.6 15C.6 15.2D.6.1 1526.以下程序的输出结果是( )。min()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;coutaendl;(分数:2.00)A.21B.32C.33D.1127.下列是软件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法D.边界值分析28.控制格式输入/输出的操作中,设置域宽的函数是( )。(分数:2.00)A.wsB.octC.setfill
14、(int)D.setw(int)29.下列程序的输出结果是( )。#includeiostreamusing namespace std;int main()char a=“Hello,Test“;char *p=a;while(*p)if(*p=a*p=z)coutchar(*p+A-a);else cout*p;p+;return 0;(分数:2.00)A.hello,testB.Hello,TestC.HELLO,TESTD.hELLO,tEST30.下列虚基类的声明中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B
15、:public AC.class B:public A virtualD.class B:virtual public A31.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.NSD.DFD32.下面说法正确的是( )。(分数:2.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义33.下列关于 this 指针的叙述中,正确的是( )。(分数:2.00)A.任何与类相关的函数都有 thi
16、s 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针34.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static int getNum() return n;private:static int n;int Test:n=1;int main()Test *p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行后的输出结果是( )。(分数:2.
17、00)A.n=0B.n=1C.n=2D.n=335.下列程序的执行结果是( )。#includeiostream.hclass Sampleint x,y;public:Sample()x=y=0;Sample(int a,int b)x=a;y=b;Sample()if(x=y)cout“x=y“endl:elsecout“x!=y“endl;void disp()cout“x=“x“,y=“yendl;void main()Sample s1(2,3);s1.disp();(分数:2.00)_二、填空题(总题数:15,分数:30.00)36.按照“先进先出”的原则组织数据的结构的是 1。(
18、分数:2.00)填空项 1:_37.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_38.算法的复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_39.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_40.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_41.假定 A 为一个类,则语句 A(A a);为该类 1 函数的原型说明。(分数:2.00)填空项 1:_42.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为 1。(分数:
19、2.00)填空项 1:_43.若将一个二元运算符重载为类的成员函数,其形参个数应该是 1 个。(分数:2.00)填空项 1:_44.下列 for 语句的循环次数为_。for(int a=0,b=1;ba5;a+);(分数:2.00)填空项 1:_45.下列程序的运行结果是_。#includeiostream.hclass Basepublic:void f(int x)cout“Base:“xendl;class Derived:public Basepublic:void f(char *str)cout“Derived:“strendl;void main(void)Base *pd=ne
20、w Base;pd=new Derived;pd-f(a);(分数:2.00)填空项 1:_46.请按下面注释的提示,将类 B 的构造函数定义补充完整。classAint a;public:A(int aa=0) a=aa;class B:public Aint b;A c;public:/用 aa 初始化基数 A,用 aa+1 初始化类对象成员 cB(int aa):_(b=aa+2);(分数:2.00)填空项 1:_47.在下面横线上填上适当的语句,完成程序。#includeiostreamusing namespace std;class Baseint x;public:Base(in
21、t i)x=i;Base();class Derived:public Basepublic:/完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;(分数:2.00)_48.下列程序用于将源文件中的字母进行大小写转换,请填写 while 语句。#includeiostream.h#includefstream.h#includeiomanip.hvoid main()char ch;fstream file1,file2;char fn110,fn210;cout“输入源文件名:“;cinfn1;cout“输入目标文件名:“;cinfn2;fil
22、e1.open(fn1,ios:in);while(_)if(ch=ach=z)ch=ch=a+A;file2.put(ch);file1.close();file2.close();(分数:2.00)填空项 1:_49.有如下程序:#includediostreamusing namespace std;class CApublic:CA()cout+A;class CB:private CApublic:CB()coutB;int main()CA a;CB b;return 0;这个程序的输出结果是_。(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#includeiost
23、reamusing namespace std;templatetypename TT fun(T a,T b)return(a=b)?a:b;)int main()coutfun(3,6),fun(3.14F,6.28F)endl;return 0;(分数:2.00)填空项 1:_二级 C+笔试-206 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下程序:#includediostreamusing namespace std;class TestClassprivate:int x,y;public:TestClass(int i
24、,int j)x=i;y=j;void print()cout“print1“endl;void print()constcout“print2“endl;int main()const TestClass a(1,2);a.print();return 0;该程序运行后的输出结果是( )。(分数:2.00)A.print1B.print2 C.print1 print2D.程序编译时出错解析:解析 本题定义 TestClass 型常对象 a,然后调用对象 a 中的成员函数 print()。因为在 C+中,如果一个对象被声明为常对象,则不能调用该对象中的非 const 型成员函数。所以,这里调
25、用的是对象中的 const 型成员函数 void print ()const,输出为 print2。2.源程序的文档化不包括( )。(分数:2.00)A.符号名的命名要有实际意义B.正确的文档形式 C.良好的视觉组织D.正确的程序注释解析:解析 源程序的文档化主要包括三点:符号名应具有一定实际的含义,便于理解程序功能;正确的程序注释;良好的视觉组织,利用空格、空行、缩进等技巧使程序层次清晰。3.有下列二叉树,对此二叉树中序遍历的结果是( )。(分数:2.00)A.B. C.D.解析:解析 对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照“
26、左子树根结点右子树”的顺序。4.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。(分数:2.00)A.XB:XB(int a,int b):x(a),y(b)B.XB:XB(int a,int b):XA(a),y(b) C.XB:XB(int a,int b):x(a),XB(b)D.XB:XB(int a,int b):XA(a),XB(b)解析:解析 本题考查派生类中构造函数的定义。派生类的构造首先要调用基类的构造
27、函数,对基类成员初始化;然后对派生类中的新增成员初始化。格式为,派生类名(构造函数形参表)基类构造函数(形参表)。5.下列叙述正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。6.对于拷贝构造函数和赋值操作的关系,正确的是( )。(分数:2.00)A.拷贝构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝构
28、造函数时,类的对象正在被建立并被初始化 D.拷贝构造函数和赋值操作不能在同一个类中被同时定义解析:解析 在赋值操作中,将发生对象的拷贝操作,但并不说明两者是完全一样的。一般情况下,如果给类定义了赋值操作符,则应该同时定义合适的拷贝构造函数,除非系统默认生成的拷贝构造函数满足赋值操作。实际上,系统默认的拷贝构造函数仅仅将数据成员进行简单的对应赋值,而在多数特殊应用中,需要程序员重新定义拷贝构造函数。7.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题。物理设计阶段包括:选择
29、存储结构、确定存取方法、选择存取路径、确定数据的存放位置。8.下面关于 C+流的叙述中,正确的是( )。(分数:2.00)A.cin 是一个输入流对象 B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char *y=“PQMN“;couty;将输出字符串 PQMN 的地址D.执行语句序列 char x80;cin.getline(x,80);时,若输入 Happy new year,则 x 中的字符串是“Happy”解析:解析 本题考查 C+流的概念和 I/O 的格式化。cin 是 istream 类的对象,即输入流对象。ifstream 是输入文件流,类不能定义个输出流对象
30、。getline 函数的功能是允许从输入流中读取多个字符,并且允许指定输入终止,在读取完成后,从读取的内容中删除该终止字符,所以 D 选项中的语句序列后 x中字符串应该是 Happy new year。9.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法解析:解析 在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现。
31、在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中,模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。10.继承机制的作用是( )。(分数:2.00)A.信息隐藏B.数据封装C.定义新类 D.数据抽象解析:解析 数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。11.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。(分数:2.00)_解析:解析 C+中派生类构造
32、函数的一般语法规则为派生类名:派生类名(参数表):基类 1(参数表 1),基类名 n(参数表 n),子对象 1(子对象参数表 1,子对象 m(子对象参数表 m)派生类新增成的初始化语句;12.有如下数组声明:int num10;,下标值引用错误的是( )。(分数:2.00)A.num10 B.num5C.num3D.num0解析:解析 数组定义中的数字指的是数组的大小,而下标是从 0 开始的,所以数组的最后一个元素是num9。13.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable(int i)value=i;pri
33、vate:int value;则对下列语句序列正确的描述是( )。(分数:2.00)A.语句 p=my;是把对象 my 赋值给指针变量 pB.语句 MyClass *p,my;会调用两次类 MyClass 的构造函数C.对语句*p.SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetVariable(5)等价 解析:解析 选项 A,语句 p=my;是把对象 my 的地址值赋值给指针变量 P;选项 B,语句:MyClass *p,my;中由于 p 只是一个指向对象的指针,因此定义指针 p 不调用构造函数,所以此语句只调用一次构造函数:对成员函数
34、的引用可以通过两种形式:指针-成员函数(形参表),或者对象名.成语函数名(形参表),故选项 C 错误,选项 D 正确。14.已知在一个类体中包含如下函数原型:VOLUME OPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。(分数:2.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 本题考核运算符的重载。题中语句为运算符一这是一个二元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用 const 修饰的成员函数。15
35、.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )来实现。(分数:2.00)A.调用语句B.命令C.中令D.消息 解析:解析 在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需的处理。16.下面程序的运行结果为( )。#includeiostream.hvoid main()char a=3;switch(a)case3:cout“3“;case2:cout“2“;break;default:cout“1“;(分数:2.00)A.3B.321C.31D.32
36、 解析:解析 本题主要考查 switch 语句的使用,在第一个 case 处,因为满足条件,所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break 语句,结束整个语句,即输出 32。17.两个或两个以上模块之间联系的紧密程度称为( )。(分数:2.00)A.耦合性 B.内聚性C.复杂性D.数据传输特性解析:解析 耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。18.下面程序的运行结果是( )。#includediostream.hclass baseprotected:in
37、t a;public:base()cout“0“;class base1:virtual basepublic:base1()cout“1“;class base2:virtual basepublic:base2()cout“2“;class derived:public base1,public base2public:derived()cout“3“;void main()derived obj;coutendl;(分数:2.00)A.0123 B.3120C.0312D.3012解析:解析 本题考查含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着按照派生类继承列表的
38、顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。19.下列关于运行符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变操作数的优先级C.运算符重载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能 解析:解析 C+把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字operator。C+中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能。但是用户重新定义运算符,不改变原运算符的操作符个数、优先级和结合性。同时运算符重载后,也不改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目
39、运算符只能重载为双目运算符。20.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析 数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。21.下列关于虚函数与函数重载区别的叙述中不正确的是( )。(分数:2.00)A.函数说明形式上不同B.函数允许非成员函数
40、重载,虚函数只能是成员函数C.函数重载的调用依据参数和类型的差别,虚函数则依据对象D.函数重载的本体可以在类外定义,虚函数不可以 解析:解析 A 项、B 项、C 项均为虚函数与函数重载的不同之处。但有一点它们是相同的:在类内外定义均可。故 D 项错误。22.当需要将一个函数 bool isnumber(char c)声明为内联函数时,此内联函数的函数原型为( )。(分数:2.00)A.enum bool isnumber(char c);B.define bool isnumber(char c);C.inline bool isnumber(char c); D.extem bool isn
41、umber(char c);解析:解析 本题考查内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时提供的参数的个数和类型,因为要声明为内联函数,故应加 inline 关键字。23.有如下函数模板声明:templatetypename TT Max(T a,T b)return(a=b)?a:b;下列对函数模板 Max()的调用中错误的是( )。(分数:2.00)A.Max(3.5,4.5)B.Max(3.5,4) C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)解析:解析 引用模板函数和引用一般函数在语法形式上没有任何区别。说明一个函数模板后,当
42、编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参。24.下面程序的运行结果为( )。#includeiostream.hvoid swap(int a,int b)int temp;temp=a+;a=b:b=temp;void main()int a=2,b=3;swap(a,b);couta“,“bendl;(分数:2.00)A.2,3B.3,2C.2,2D.3,3 解析:解析 本题考查引用调用,因为函数 swap 引用调用参数 a,所以在 swap 函数中 a 的变化会改变主函数中 a 的值,即 a 自加 1,但 b 的值并未改变。25.下列程序的
43、运行结果为( )。#includeiostream.htemplateclass TTclass FFTT a1,a2,a3;public:FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3;)TT Sum()return a1+a2+a3;void main()FFintx(int(1.1),2,3),y(int(4.2),5,6);coutx.Sum()y.Sum()endl;(分数:2.00)A.6.1 15.2B.6 15 C.6 15.2D.6.1 15解析:解析 本题考查模板函数的应用,表达式 int(1.1)和 int(4.2)用于将 1.1 和 4.2
44、 强制转换为整型。26.以下程序的输出结果是( )。min()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;coutaendl;(分数:2.00)A.21B.32 C.33D.11解析:解析 本题是两个循环语句和一个判断语句的嵌套。For 循环的作用是在 i 等于 10 的时候跳出循环,故本题的答案为 B。27.下列是软件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法 D.边界值分析解析:解析 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。28.
45、控制格式输入/输出的操作中,设置域宽的函数是( )。(分数:2.00)A.wsB.octC.setfill(int)D.setw(int) 解析:解析 本题需要考生记忆一些输入输出控制操作字,oct 为八进制,setfill 为设置填充符,setw为设置域宽。29.下列程序的输出结果是( )。#includeiostreamusing namespace std;int main()char a=“Hello,Test“;char *p=a;while(*p)if(*p=a*p=z)coutchar(*p+A-a);else cout*p;p+;return 0;(分数:2.00)A.hell
46、o,testB.Hello,TestC.HELLO,TEST D.hELLO,tEST解析:解析 用一个指针变量 p 指向字符数组 a,在 while 循环中,当不指向数组尾时,将小写字母转换为大写字母,然后将其输出。30.下列虚基类的声明中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A 解析:解析 虚基类说明格式为:virtual继承方式基类名其中,virtual 是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即 class派生类名:Virtual继承方式基类名