【计算机类职业资格】二级C++-5-2及答案解析.doc
《【计算机类职业资格】二级C++-5-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-5-2及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-5-2 及答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:55.00)1.下面对于友元函数描述正确的是 A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数 C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员 (分数:1.00)A.B.C.D.2.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 a的前 5 个元素。由此可知,变量 P 的定义及初始化语句是U /U。 A. int*p=a; B. int p=a; C. *p=a; D. p=a;
2、(分数:2.00)A.B.C.D.3.关于类和对象不正确的说法是U /U。 A. 类是一种类型,它封装了数据和操作 B. 对象是类的实例 C. 一个类的对象只有一个 D. 一个对象必属于某个类(分数:2.00)A.B.C.D.4.下列关于圆括号运算符的功能说法不正确的是 _。 A. 可用于强制类型转换 B. 可用于类型构造 C. 可用于类型声明 D. 可用于函数调用(分数:2.00)A.B.C.D.5.考虑下面的函数原型:void f(int a,int b=7,char c=);下面的函数调用中,不合法的是U /U。 A.f(5) B.f(5,8) C.f(6,int main()int a
3、4 4 = 1,2,3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;int i,j,s = 0;for(i=0;i4;i+)for(j=O;j4;j+)if(ai j =0)continue;s+=a i j;coutsend1;return 0;执行后的输出结果是( )。 A. -138 B. 141 C. 75 D. -1(分数:1.00)A.B.C.D.11.若进栈序列为 a,b,c,则通过入出栈操作可能得到的 a,b,c 的不同排列个数为 _。 A. 4 B. 5 C. 6 D. 7(分数:2.00)A.B.C.D.12.下列语句中错误的是_。
4、A.const int*p=0; B.const int y=99; C.const int x; D.const int*p=new int(100);(分数:1.00)A.B.C.D.13.下面程序的结果是#includeiostreamhclass A public:A( ) cout “construtA“ end1;virtual A( ) cout “destructA“ end1; ;class B:public A ;class C:public A ;class D:public B,public C ;void main( ) Dd; A. constructA destr
5、uctA B. constructA constructA destructA destructA C. constructA constructA constructA destructA destructA destructA D. constructA constructA constructA constructA destructA destructA destructA destructA (分数:1.00)A.B.C.D.14.设 int x =2,4,6,8,y,*p=int a;int fun ();int main ()extern int a;int b;a = 100;
6、b = fun();coutbend1;return 0;int fun)extern int a;return (10*a ;其程序运行后的输出结果是 A. 100 B. 10 C. 1000 D. 10000(分数:2.00)A.B.C.D.23.设有定义:class C public:int value;int x,*p;则以下引用形式中,正确的是 A. x=value; B. x=C:value; C. p=class countstatic int n;public:count ( )n+;static int test()for (int i = 0; i 4; i+ )n+;re
7、turn n;int count : n = 0;int main()coutcount : test()“ “;count c1, c2;coutcount : test()end1;return 0;执行后的输出结果是U /U。 A. 4 10 B. 1 2 C. 22 D. 24(分数:1.00)A.B.C.D.25.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是U /U。 A.实体完整性规则 B.参照完整性规则 C.对象完整性规则 D.用户自定义完整性规则(分数:2.00)A.B.C.D.26.下列关于构造函数的描述中,错误的是_。 A.构造函数名与类名相同
8、B.构造函数可以有返回值 C.构造函数可以重载 D.每个类都有构造函数(分数:1.00)A.B.C.D.27.下列各种函数中,_ 不是类的成员函数。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数(分数:2.00)A.B.C.D.28.下列叙述中正确的是 A. 软件就是程序清单 B. 软件就是存放在计算机中的文件 C. 软件应包括程序清单以及运行结果 D. 软件包括程序、数据和文档(分数:1.00)A.B.C.D.29.下面关于数组的初始化正确的是U /U。 A.charstr=a,b,C B.charstr2a,b,c C.charstr23:a,b,c,d),e,f D
9、.charstr():a,b,c(分数:2.00)A.B.C.D.30.若有说明:int s34=0则下面叙述正确的U /U。 A.只有元素 s00可得到初值 0 B.此说明语句不正确 C.数组 s 中各个元素都可得到初值,但其值不一定为 0 D.数组 s 中每个元素均可得到初值 0(分数:1.00)A.B.C.D.31.下列_ 是正确的语句。 A. ; B. a=17 C. x+y D. cout“/n”(分数:2.00)A.B.C.D.32.若已定义;inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i=9,则对 a 数组元素不正确的引用是U /U。 A.ap-a B
10、.x(void main( ) int a,b,c;sub(10,5,sub(7,a,sub(a,b,cout a “,“ b “,“ C endl; A. 5,2,3 B. 5,12,7 C. 5,12,17 D. 5,2,7(分数:2.00)A.B.C.D.35.在下面的定义语句中,画线处应填入的内容是 class Fred public: void print( )coutdataendl; void setData(double D) data=d; static int count; private: double data; ; _count=0;/静态数据成员的定义 A. int
11、 B. static int C. int Fred: D. static int Fred:(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:28.00)36.类 istream 的成员函数 get 从指定流中读取一个字符,成员函数U U /U /U和 read从指定流中读取多个字符。(分数:2.00)填空项 1:_37.若有定义语句 int x=10,y=20,z=20;,则表达式 xzy=z 的值为 1。(分数:2.00)填空项 1:_38.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是U /U。(分
12、数:2.00)填空项 1:_39.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈顶元素在 stacktop-1中,在下面画线处填上适当语句,完成栈类模板的定义。 templateclass T class T stack enunlsize=1000; T stacksize; intop; public: T stack( ):top(0) void push(consT i) if(topsize)stacktop+=i; T pop( ) if(top=0)exit(1); /栈空时终止运行 return_; ;
13、(分数:2.00)填空项 1:_40.C+语言支持的两种多态性分别是编译时的多态性和 【13】 的多态性。(分数:1.00)填空项 1:_41.有如下递归函数: int Fun(int n) if(n=1) return 1; _ 请补充完整,使得函数 Fun 能够正确计算形参 n 的阶乘。(分数:2.00)填空项 1:_42.在最坏情况下,冒泡排序所需要的比较次数为 1。(分数:2.00)填空项 1:_43.以下函数模板 max 的功能是:返回数组 a 中最大元素的值。请将横线处缺失部分补充完整。 templatetypename TT max(T a,int n) Tm=a0; for(i
14、nt i=1;in;i+) if(aim)U U /U/U; return m; (分数:1.00)填空项 1:_44.补充完整下面的类定义: class XCH char*a; public: XCH(char*a A) /构造函数 a=new charstrlen(aA) +1; strcpy(a,aA) ; XCH(分数:2.00)填空项 1:_46.假设血 int a=1,b=2;,则表达式(+a/b)*b-的值为U U /U /U。(分数:2.00)填空项 1:_47.数组是有序数据的集合,数组中的每个元素具有相同的U U /U /U。(分数:2.00)填空项 1:_48.纯虚函数的
15、声明总是以_结束。(分数:2.00)填空项 1:_49.在下面横线上填上适当的语句,完成程序。 #include iostream using namespace std; class Base int x; public: Base(int i) x=i; Base() ; class Derived : public Base public: _/完成类 Derive 构造函数的定义 ; int main() Derived Obj; return 0; 在横线处应填入的语句是_。(分数:2.00)填空项 1:_50.对 n 个元素的序列进行冒泡排序时,最少的比较次数是 1。(分数:2.0
16、0)填空项 1:_二级 C+-5-2 答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:55.00)1.下面对于友元函数描述正确的是 A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数 C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员 (分数:1.00)A.B.C. D.解析:解析:友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。2.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输
17、出 int 型一维数组 a的前 5 个元素。由此可知,变量 P 的定义及初始化语句是U /U。 A. int*p=a; B. int p=a; C. *p=a; D. p=a;(分数:2.00)A. B.C.D.解析:解析 从循环语句中可以看出,是在 04 的循环中输出数组 a 中的前,5 个元素,输出的值为*(p+i),即为指针 p 向后移动指向的元素。所以初始化要将指针 p 指向数组 a,即 int*P=a;。3.关于类和对象不正确的说法是U /U。 A. 类是一种类型,它封装了数据和操作 B. 对象是类的实例 C. 一个类的对象只有一个 D. 一个对象必属于某个类(分数:2.00)A.B
18、.C. D.解析:解析 一个类可以声明多个对象。4.下列关于圆括号运算符的功能说法不正确的是 _。 A. 可用于强制类型转换 B. 可用于类型构造 C. 可用于类型声明 D. 可用于函数调用(分数:2.00)A.B.C. D.解析:5.考虑下面的函数原型:void f(int a,int b=7,char c=);下面的函数调用中,不合法的是U /U。 A.f(5) B.f(5,8) C.f(6,int main()int a4 4 = 1,2,3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;int i,j,s = 0;for(i=0;i4;i+)for
19、(j=O;j4;j+)if(ai j =0)continue;s+=a i j;coutsend1;return 0;执行后的输出结果是( )。 A. -138 B. 141 C. 75 D. -1(分数:1.00)A. B.C.D.解析:解析 本题属于综合题,考查多个方面的知识点。程序首先定义了一个二维数组 a,并初始化其值。在内层 for 循环体中,遇到大于等于 0 的数,就继续执行下次循环,否则就执行“s+=aij”,即把其值累加并保存在变量 s 中。所以本题双重循环的功能是:计算数组中所有负数的累加和,即 s=-138。11.若进栈序列为 a,b,c,则通过入出栈操作可能得到的 a,b
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C52 答案 解析 DOC
