1、二级 C+笔试-365 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对于算法的每一步,指令必须是可执行的。算法的( )要求算法在有限步骤之后能够达到预期的目的。(分数:2.00)A.可行性B.有穷性C.正确性D.确定性2.以下函数实现的功能是( )。void fun (char *s)char *p,*q, temp;p=s;q=s+ strlen(s)-1;while(pq)temp=*p;*p=*q;*p=temp;p+;q-;(分数:2.00)A.将一个字符串首尾颠倒B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小
2、写字母变成大写字母3.下列对变量的引用中,错误的是( )。(分数:2.00)A.int a;int class XXprotected:int k;public:XX(int n=5):k(n)xx()cout“XX“;virtual void f() const=0;inline void XX: f()constcoutk+3;class YY: public XXpublic:YY()cout“YY“;void f() constcoutk-3;XX:f();int main()XX p. f();delete return 0;执行上面的程序将输出( )。(分数:2.00)A.28XX
3、B.28YYXXC.-33XXD.-33XXYY15.内部格式控制操作函数是在头文件( )中定义的。(分数:2.00)A.iostream.hB.iomanip.hC.istream.hD.ostream.h16.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )。(分数:2.00)A.把软件划分成模块B.确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码17.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是( )。(分数:2.00)A.实体完整性规则B.参照完整性规则C.对象完整性规则D.用户自定义完整性规则18.下列运算符中全都可
4、以被友元函数重载的是( )。(分数:2.00)A.=,+,-,/B.,+,(),newC.-,+,*,D.(i);C.castchar*,int(i);D.castdouble,int(i);30.在深度为 7的满二叉树中,叶子结点的个数为( )。(分数:2.00)A.32B.31C.64D.6331.关于多继承二义性的描述中,错误的是( )。(分数:2.00)A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又
5、有一个共同的基类,对该基类成员进行访问时,可能出现二义性32.阅读下面程序:#include iostream.hfun (int a, int b)int c;c=a+b;return c;void main()int x=6, y=7, z=8, r;r=fun( (x-, y+, x+y), z-);coutrend1;则该程序的输出结果是( )。(分数:2.00)A.11B.20C.21D.3133.友元的作用是( )。(分数:2.00)A.提高程序的运用效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类34.面向对象程序设计将数据与( )放在一起,作为一个互相依存、不可
6、分割的整体来处理。(分数:2.00)A.信息B.数据抽象C.数据隐藏D.对数据的操作35.结构化程序设计的主要特征是( )。(分数:2.00)A.封装和数据隐藏B.继承和重用C.数据和处理数据的过程分离D.把数据和处理数据的过程看成一个整体二、填空题(总题数:15,分数:30.00)36.汇编程序的功能是将汇编语言所编写的源程序翻译成由 【1】 组成的目标程序。(分数:2.00)填空项 1:_37.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_38.若按功能划分,软件测试的方法通常分为白盒测试方法和 【3】 测试方法。(分数:2.00)填空项 1:
7、_39.数据的逻辑结构有线性结构 【4】 两大类。(分数:2.00)填空项 1:_40. 【5】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:2.00)填空项 1:_41.含有纯虚函数的类称为 【6】 。(分数:2.00)填空项 1:_42.下面程序的输出结果是 【7】 。#includeiostream.hint add(int a, int b);void main()extern int x, y;coutadd(x, y)end1;int x(20),y(5);int add(int a, int b)int s=a+ b;return s;(分数:2.00)
8、填空项 1:_43.在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串 str的长度 (不得使用系统提供的字符串处理函数)。int GJetLen(char*str)if( 【8】 ) return 0;else return 1+GetLen (str+1);(分数:2.00)填空项 1:_44.将以下程序写成三日运算表达式是 【9】 。if(ab) max=a;else max=b;(分数:2.00)填空项 1:_45.下面程序的运行结果是 【10】 。#includeiostreamusing namespace std;class countstatic int n;
9、public:count()n+;static int test()for(int i=0;i4;i+)n+;return n;int count:n = 0;int main()coutcount : test()“ “;count c1, c2;coutcount : test()end1;return 0;(分数:2.00)填空项 1:_46.下面程序的输出为 【11】 。#include iostream.hvoid main()int a10,i, k=0;for(i=0,i10;i+)ai=i;for(i=1;i4;i+)k+=ai+i;coutkend1;(分数:2.00)填空项
10、 1:_47.以下程序的执行结果是 【12 。#include iostream.hclass Bpublic:B()B(int i.int j);void printb();private:int a,b;class Apublic:A() A(int i,int j);void printa();private:B c;A: A(int i,int j):c(i, j)void A: pfinta()c. printb();B:B(int i,int j)a=i;b=j;void B:printb()cout“a=“a“,b=“bend1;void main()A m(7,9);m. pr
11、inta();(分数:2.00)填空项 1:_48.下列程序的输出结果为 【13】 。#include iostream. hvoid main()char a=“abcdabcabfgacd“;int i1=0,i2=0,i=0;while (ai)if (ai=a) i1+;if (ai=q) i2+;i+;couti1i2end1;(分数:2.00)填空项 1:_49.Staff类含有 int 型数据成员 ID,两个 Staff 对象相等是指它们的 ID相同。下面的函数重载了运算符=,它用来判断两个 Staff 对象是否相等,相等时返回 true,否则返回 false。请将横线处缺失部分
12、补充完整。bool Staff:Staff=(const Staff (分数:2.00)填空项 1:_50.若有以下程序:#include iostreamusing namespace std;class Basepublic:Base()x=0;int x;class Derived1: virtual public Basepublic:Derived1()x=10;class Derived2: virtual public Basepublic:Derived2()x=20;class Derived: public Derived1, protected Derived2;int
13、main()Derived obj;coutobj.xend1;return 0;该程序运行后的输出结果是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-365 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对于算法的每一步,指令必须是可执行的。算法的( )要求算法在有限步骤之后能够达到预期的目的。(分数:2.00)A.可行性 B.有穷性C.正确性D.确定性解析:2.以下函数实现的功能是( )。void fun (char *s)char *p,*q, temp;p=s;q=s+ strlen(s)-1;while(pq)te
14、mp=*p;*p=*q;*p=temp;p+;q-;(分数:2.00)A.将一个字符串首尾颠倒 B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母解析:3.下列对变量的引用中,错误的是( )。(分数:2.00)A.int a;int class XXprotected:int k;public:XX(int n=5):k(n)xx()cout“XX“;virtual void f() const=0;inline void XX: f()constcoutk+3;class YY: public XXpublic:YY()cout“YY“;void f() co
15、nstcoutk-3;XX:f();int main()XX p. f();delete return 0;执行上面的程序将输出( )。(分数:2.00)A.28XX B.28YYXXC.-33XXD.-33XXYY解析:15.内部格式控制操作函数是在头文件( )中定义的。(分数:2.00)A.iostream.hB.iomanip.h C.istream.hD.ostream.h解析:16.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )。(分数:2.00)A.把软件划分成模块B.确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码 解析:17.数据库关系
16、模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是( )。(分数:2.00)A.实体完整性规则B.参照完整性规则C.对象完整性规则 D.用户自定义完整性规则解析:18.下列运算符中全都可以被友元函数重载的是( )。(分数:2.00)A.=,+,-,/B.,+,(),newC.-,+,*,D.(i);C.castchar*,int(i);D.castdouble,int(i); 解析:30.在深度为 7的满二叉树中,叶子结点的个数为( )。(分数:2.00)A.32B.31C.64 D.63解析:31.关于多继承二义性的描述中,错误的是( )。(分数:2.00)A.一个派生类的两个基
17、类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题 D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性解析:32.阅读下面程序:#include iostream.hfun (int a, int b)int c;c=a+b;return c;void main()int x=6, y=7, z=8, r;r=fun( (x-, y+, x+y), z-);coutrend1;则该程序的输出结果是( )。(分数:2.00)A.
18、11B.20C.21 D.31解析:33.友元的作用是( )。(分数:2.00)A.提高程序的运用效率 B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类解析:34.面向对象程序设计将数据与( )放在一起,作为一个互相依存、不可分割的整体来处理。(分数:2.00)A.信息B.数据抽象C.数据隐藏D.对数据的操作 解析:35.结构化程序设计的主要特征是( )。(分数:2.00)A.封装和数据隐藏B.继承和重用C.数据和处理数据的过程分离 D.把数据和处理数据的过程看成一个整体解析:二、填空题(总题数:15,分数:30.00)36.汇编程序的功能是将汇编语言所编写的源程序翻译成由 【1】
19、 组成的目标程序。(分数:2.00)填空项 1:_ (正确答案:机器语言)解析:37.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_ (正确答案:分类性)解析:38.若按功能划分,软件测试的方法通常分为白盒测试方法和 【3】 测试方法。(分数:2.00)填空项 1:_ (正确答案:黑盒(或黑箱))解析:39.数据的逻辑结构有线性结构 【4】 两大类。(分数:2.00)填空项 1:_ (正确答案:非线性结构)解析:40. 【5】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:2.00)填空项 1:_ (正确答案:封装)解析:4
20、1.含有纯虚函数的类称为 【6】 。(分数:2.00)填空项 1:_ (正确答案:抽象类)解析:42.下面程序的输出结果是 【7】 。#includeiostream.hint add(int a, int b);void main()extern int x, y;coutadd(x, y)end1;int x(20),y(5);int add(int a, int b)int s=a+ b;return s;(分数:2.00)填空项 1:_ (正确答案:25)解析:43.在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串 str的长度 (不得使用系统提供的字符串处理函数)
21、。int GJetLen(char*str)if( 【8】 ) return 0;else return 1+GetLen (str+1);(分数:2.00)填空项 1:_ (正确答案:*str=NULL)解析:44.将以下程序写成三日运算表达式是 【9】 。if(ab) max=a;else max=b;(分数:2.00)填空项 1:_ (正确答案:max=(ab)?a: b;)解析:45.下面程序的运行结果是 【10】 。#includeiostreamusing namespace std;class countstatic int n;public:count()n+;static i
22、nt test()for(int i=0;i4;i+)n+;return n;int count:n = 0;int main()coutcount : test()“ “;count c1, c2;coutcount : test()end1;return 0;(分数:2.00)填空项 1:_ (正确答案:4 10)解析:46.下面程序的输出为 【11】 。#include iostream.hvoid main()int a10,i, k=0;for(i=0,i10;i+)ai=i;for(i=1;i4;i+)k+=ai+i;coutkend1;(分数:2.00)填空项 1:_ (正确答案
23、:12)解析:47.以下程序的执行结果是 【12 。#include iostream.hclass Bpublic:B()B(int i.int j);void printb();private:int a,b;class Apublic:A() A(int i,int j);void printa();private:B c;A: A(int i,int j):c(i, j)void A: pfinta()c. printb();B:B(int i,int j)a=i;b=j;void B:printb()cout“a=“a“,b=“bend1;void main()A m(7,9);m.
24、 printa();(分数:2.00)填空项 1:_ (正确答案:a=7,b=9)解析:48.下列程序的输出结果为 【13】 。#include iostream. hvoid main()char a=“abcdabcabfgacd“;int i1=0,i2=0,i=0;while (ai)if (ai=a) i1+;if (ai=q) i2+;i+;couti1i2end1;(分数:2.00)填空项 1:_ (正确答案:43)解析:49.Staff类含有 int 型数据成员 ID,两个 Staff 对象相等是指它们的 ID相同。下面的函数重载了运算符=,它用来判断两个 Staff 对象是否
25、相等,相等时返回 true,否则返回 false。请将横线处缺失部分补充完整。bool Staff:Staff=(const Staff (分数:2.00)填空项 1:_ (正确答案:ID=s. D 或 s. ID=ID 或 this-ID=s. ID 或 s. ID= this-ID)解析:50.若有以下程序:#include iostreamusing namespace std;class Basepublic:Base()x=0;int x;class Derived1: virtual public Basepublic:Derived1()x=10;class Derived2: virtual public Basepublic:Derived2()x=20;class Derived: public Derived1, protected Derived2;int main()Derived obj;coutobj.xend1;return 0;该程序运行后的输出结果是 【15】 。(分数:2.00)填空项 1:_ (正确答案:20)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1