1、二级 C+笔试-180 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下面程序的执行结果是#include“iostream.h“void main()int*p,r;pnew int;*p20;rsizeof(*p);coutrendl;delete p;(分数:2.00)A.程序错误B.内存为 20 地址的大小C.20D.42.C+语言函数中不能由系统自动生成的是(分数:2.00)A.析构函数B.构造函数C.内联函数D.复制构造函数3.关于 continue 语句叙述不正确的是(分数:2.00)A.continue 语句用于循环体中,结
2、束循环B.continue 语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue 可以用于 if 语句中D.continue 语句不能代替 break 语句4.下面程序的执行结果为#includ“iostream“using namespace std;class Aint a;public:void Seta(int x)ax;void Display_a()coutaendl;class Bint b;public:void Setb(int x)bx;void Dispaly_b()coutbendl;class C:public A,priva
3、te Bprivate:int c;public:void Setc(int x,int y,int z)cz;Seta(x);Setb(y);void Display_c()coutcendl; void main() C cc; cc.Seta(1); cc.Display_a(); cc.Setc(2,2,3); cc.Dispaly_(); cc.Display_c();(分数:2.00)A.输出为 2 2 3B.有错误在第 5 行C.输出为 1 2 3D.有错误在第 7 行5.线性表的顺序存储结构和线性表的链式存储结构分别是(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构
4、B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构6.下面程序的结果为#include“iostream.h“void change(int a,int b)int temp;tempa;ab;btemp;void main()int m,n;m8;n9;change(m,n);coutm“ “nendl;(分数:2.00)A.8 9B.9 8C.程序有错误D.9 97.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据
5、的流向8.以下定义数组中错误的是(分数:2.00)A.int a10;B.int a2120;C.int a20;D.int a;9.以下哪个不是 C+语言中的有效标识符?(分数:2.00)A.34aB._ABC.A_BD.A2510.以下 for 语句中不是死循环的是(分数:2.00)A.for(int i0;i1;+i);B.for(int i0;+i);C.for(int i1;i0;+i);D.for(;);11.需求分析阶段的任务是确定(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能12.关于构造函数 A()的拷贝构造函数正确的是(分数:2.00)A
6、.A(A*B.;B) A(AB);C.D.A13.不能重载的运算符是(分数:2.00)A.newB.sizeofC.*D.+14.为用户与数据库系统提供接口的语言是(分数:2.00)A.高级语言B.数据描述语言(DDL)C.数据操纵语言(DML)D.汇编语言15.栈通常采用的两种存储结构是(分数:2.00)A.线性存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构16.下面程序的结果是#include“iostream.h“void main()char*str;Str“test!“;coutstr5;(分数:2.00)A.程序错误B.!C./0
7、D.为空字符17.关于模板,下列说法不正确的是(分数:2.00)A.用类模板定义一个对象时,不能省略实参B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数18.C+语言中类定义中默认的访问权限是(分数:2.00)A.publicB.protectedC.privateD.default19.以下哪个特征不是面向对象思想中的主要特征?(分数:2.00)A.多态B.继承C.封装D.垃圾回收20.下面程序输出的结果为#include“iostream.h”class Apublic:A()cout“CLASSA“endl;A() ;class B:pu
8、blic Apublic:B()cout“CLASS B“endl;B();void main()A*p;pnew B;B*q;qnew B;(分数:2.00)A.CLASS A CLASS B CLASS B CLASS BB.CLASS A CLASS B CLASS A CLASS BC.CLASS A CLASS B CLASS BD.CLASS A CLASS B21.一个关系中属性个数为 1 时,称此关系为(分数:2.00)A.对应关系B.单一关系C.一元关系D.二元关系22.最简单的交换排序方法是(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序23.多态性指的是(
9、分数:2.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数24.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(分数:2.00)A.黑箱测试法B.白箱测试法C.错误推测法D.安装测试法25.下面程序错误的语句是#include“iostream.h“ void main() int A0; intB; BA; coutB; coutA; (分数:2.00)A.B.C.D.26.下列程序的输出结果是#include“iostream“using nam
10、espace std;int Max(int a,int b)if(ab)return a;elsereturn b;void main()int m,n;m10,n5;int maxMax(m,n);coutmaxendl;(分数:2.00)A.10B.程序有误C.1D.027.C+中运算符优先级由高到低排列正确的是(分数:2.00)A.: + + |B. * | ,C.sizeof % + :D., new sizeof28.函数 int test(int a,int b1,int c0),下列调用不合法的个数是 test(0); test(0,0);test();test(0,0,0);
11、(分数:2.00)A.0B.1C.2D.329.只能作为成员函数重载的是(分数:2.00)A.B.+C.*D.new30.虚函数必须是类的(分数:2.00)A.成员函数B.友元函数C.构造函数D.析构函数31.下列选项中,不属于模块间耦合的是(分数:2.00)A.数据耦合B.同构耦合C.异构耦合D.公用耦合32.相对于数据库系统,文件系统的主要缺陷有数据关联性差、数据不一致性和(分数:2.00)A.可重用性差B.安全性差C.非持久性D.冗余性33.语句 coutsetprecision(2)1024.4567;的输出结果为(分数:2.00)A.1024.4567B.1024C.1024.45D
12、.le+00334.下面程序的运行结果是#include“iostream.h“#define sum(a,b)a*bvoid main()int x;Xsum(1+2,3);coutx;(分数:2.00)A.0B.9C.7D.535.C+语言中关于构造函数的说法正确的是(分数:2.00)A.构造函数的函数名不必和类名相同B.构造函数只能有一个C.每个类必定有构造函数D.构造函数必有返回值二、填空题(总题数:14,分数:28.00)36.栈和队列通赏采用的存储结构是_。(分数:2.00)填空项 1:_37.在程序设计阶段应该采取_和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步
13、骤,进而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_38.软件结构是以_为基础而组成的一种控制层次结构。(分数:2.00)填空项 1:_39.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和_两个含义。(分数:2.00)填空项 1:_40.数据库保护分为安全性控制、_、并发性控制和数据的恢复。(分数:2.00)填空项 1:_41._是 C+语言程序的入口。(分数:2.00)填空项 1:_42.程序:#include“iostream.h“void main()int i10;int j5;coutj+i+endl;的结果为_。(分数:2.00)填空项 1:_43.
14、C+语言的基本控制结构为顺序结构、选择结构和_。(分数:2.00)填空项 1:_44.语句 int*inew intl 10;,释放指针 i 的语句是_。(分数:2.00)填空项 1:_45.函数重载要求重载的函数必须有和原函数一样的_。(分数:2.00)填空项 1:_46.在 C+语言中每个类都有一个_指针,该指针指向正在调用成员函数的对象。(分数:2.00)填空项 1:_47.设置虚基类的目的是_12_,通过_13_表示虚基类。(分数:2.00)填空项 1:_48.程序的结果为_。#include“iostream.h“templatetypename TT total(T*data)Ts
15、0;while(*data)S+*data+;return S;int main()int x2,4,6,8,0,12,14,16,18;couttotal(x);retum 0;coutendl;(分数:2.00)填空项 1:_49.语句 cout/n还可表示为_。(分数:2.00)填空项 1:_二级 C+笔试-180 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下面程序的执行结果是#include“iostream.h“void main()int*p,r;pnew int;*p20;rsizeof(*p);coutrendl;dele
16、te p;(分数:2.00)A.程序错误B.内存为 20 地址的大小C.20D.4 解析:命题目的 考查指针和运算符 sizeof 的运用。解题要点 理解 sizeof 的用法,它可以运算出各种数据类型所占内存空间的多少。错解分析 选项 C)中是指针 p 所指向的内存地址中内容是 20。考点链接 在用完申请后的内存应立刻释放。2.C+语言函数中不能由系统自动生成的是(分数:2.00)A.析构函数B.构造函数C.内联函数 D.复制构造函数解析:命题目的 考查一个类中由系统自动生成的函数。解题要点 一个类中由系统自动生成的函数有构造函数、析构函数、拷贝构造函数。错解分析 内联函数只能由用户自己定义
17、。考点链接 类能自动生成的函数,尤其注意构造函数和析构函数,还有拷贝构造函数。3.关于 continue 语句叙述不正确的是(分数:2.00)A.continue 语句用于循环体中,结束循环 B.continue 语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue 可以用于 if 语句中D.continue 语句不能代替 break 语句解析:命题目的 考查 continue 语句的运用。解题要点 continue 是跳出了本次循环中尚未执行的语句,重新执行循环,但没有终止循环。考点链接 注意 break、continue 和 goto 语句的用法和
18、区别。4.下面程序的执行结果为#includ“iostream“using namespace std;class Aint a;public:void Seta(int x)ax;void Display_a()coutaendl;class Bint b;public:void Setb(int x)bx;void Dispaly_b()coutbendl;class C:public A,private Bprivate:int c;public:void Setc(int x,int y,int z)cz;Seta(x);Setb(y);void Display_c()coutcend
19、l; void main() C cc; cc.Seta(1); cc.Display_a(); cc.Setc(2,2,3); cc.Dispaly_(); cc.Display_c();(分数:2.00)A.输出为 2 2 3B.有错误在第 5 行C.输出为 1 2 3D.有错误在第 7 行 解析:命题目的 考查类的继承方法。解题要点 private 继承不能调用 Display_b 函数,public 继承可以调用基类中非 private 成员。考点链接 类的继承方式 public,protected 和 private 的区别。5.线性表的顺序存储结构和线性表的链式存储结构分别是(分数
20、:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构解析:命题目的 考查有关线性表存储结构的基本知识。解题要点 在顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某节点进行存取,都得从链的头指针指向的节点开始,这是一种顺序存取的存储结构。考点链接 顺序存储结构和链式存储结构的定义和性质,两种存储结构的操作方法。6.下面程序的结果为#i
21、nclude“iostream.h“void change(int a,int b)int temp;tempa;ab;btemp;void main()int m,n;m8;n9;change(m,n);coutm“ “nendl;(分数:2.00)A.8 9 B.9 8C.程序有错误D.9 9解析:命题目的 考查交换两整数的方法。解题要点 两数只在函数 change 内被使用,函数调用完后该内存被释放,因此没有交换两数。考点链接 交换两个数的方法简单说有两种一是使用指针,二是用引用。7.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系
22、B.程序的组成成分C.控制程序的执行顺序D.数据的流向解析:命题目的 让考生对常用的软件结构设计工具要有较深入的了解。解题要点 常用的软件结构设计工具是结构图(SC,Structure Chart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。考点链接 根据结构图设计思想,了解结构图构成的基本形式。8.以下定义数组中错误的是(分数:2.00)A.int a10;B.int a2120;C.int a20; D.int a;解析:命题目的 考查数组的定义方法。解题要点 定义一个二维数组时,可以
23、不定义行数,但一定要定义列数,也就是说,选项 C)若写成 int20,则是正确的。考点链接 数组的下标是从零开始的。9.以下哪个不是 C+语言中的有效标识符?(分数:2.00)A.34a B._ABC.A_BD.A25解析:命题目的 考查 C+语言标识符规则。解题要点 在 C+语言中,标识符只能由数字、字母、下画线组成,并且第一个字符不能是数字。错解分析 选项 A)是以数字开始的。考点链接 关键字不能用做标识符。10.以下 for 语句中不是死循环的是(分数:2.00)A.for(int i0;i1;+i); B.for(int i0;+i);C.for(int i1;i0;+i);D.for
24、(;);解析:命题目的 考查循环语句 for 的使用。解题要点 for 循环的一般格式为:for(初始化部分;终止条件判断部分;迭代部分)循环体;。说明如下:for 循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。错解分析 在 for 语句中,如果省略了终止条件判断部分,并且在语句中没有 break,或者是终止条件判断部分始终没有终止,都将出现死循环。考点链接 for 循环语句可由 while 循环语句来代替。11.需求分析阶段的任务是确定(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发
25、费用D.软件系统功能 解析:命题目的 考查考生对需求分析的内容的了解。解题要点 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。错解分析 选项 A)软件开发方法是在总体设计阶段完成的任务;选项 B)软件开发工具是在实现阶段需完成的任务;选项 C)软件开发费用是在可行性研究阶段需完成的任务考点链接 需求分析的任务和它的 6 种方法。12.关于构造函数 A()的拷贝构造函数正确的是(分数:2.00)A.A(A*B.;B) A(AB);C. D.A解析:命题目的 考
26、查拷贝构造函数的方法。解题要点 固定的一种拷贝方式就是: const。考点链接 如果一个类中没有声明拷贝构造函数,编译器会自动生成一个如上述形成的仅有的拷贝构造函数。13.不能重载的运算符是(分数:2.00)A.newB.sizeofC.* D.+解析:命题目的 运算符重载的概念考查。解题要点 C+语言规定*运算符是不能被重载的。考点链接 还有.、-*、:、?:这几个运算符不能被重载。14.为用户与数据库系统提供接口的语言是(分数:2.00)A.高级语言B.数据描述语言(DDL)C.数据操纵语言(DML) D.汇编语言解析:命题目的 考查考生对数据库基本知识的了解。解题要点 DBMS 提供数据
27、操纵语言(DML)实现对数据库中数据的操作,数据操纵语言(DML)是用户(包括应用程序)与数据库系统的接口。数据操纵语言通常包括检索和更新功能。考点链接 程序模块中语言处理部分的分类,各子类的定义及其功能。15.栈通常采用的两种存储结构是(分数:2.00)A.线性存储结构和链表存储结构 B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构解析:命题目的 考查栈的存储结构的基本知识。解题要点 和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针 top 指示栈顶元素的位置,由于栈
28、的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。考点链接 顺序存储和链式存储在其他数据结构中的应用。16.下面程序的结果是#include“iostream.h“void main()char*str;Str“test!“;coutstr5;(分数:2.00)A.程序错误B.!C./0D.为空字符 解析:命题目的 考查字符串的应用和/0的输出。解题要点 /0输出为不显示,只代表一个字符串的结束。考点链接 C+语言中各种字符转义序列的意义和应用。17.关于模板,下列说法不正确的是(分数:2.00)A.用类模板定义一个对象时,不能省略实参B.类模板只能有虚拟类型参数 C.类模板本身在编
29、译中不会生成任何代码D.类模板的成员函数都是模板函数解析:命题目的 模板概念的考查。解题要点 类模板可以有虚拟类型参数。考点链接 模板及其周边概念和模板的实现。18.C+语言中类定义中默认的访问权限是(分数:2.00)A.publicB.protectedC.private D.default解析:命题目的 考查类的概念。解题要点 C+语言中类定义中默认的类的访问权限是 private。错解分析 C+语言中没有 default 权限。考点链接 结构体默认的访问权限是 public,注意它们之间的区别。19.以下哪个特征不是面向对象思想中的主要特征?(分数:2.00)A.多态B.继承C.封装D.
30、垃圾回收 解析:命题目的 考查面向对象语言的基本思想。解题要点 面向对象语言的基本特性是封装、继承和多态。错解分析 垃圾回收是 Java 的主要特点。考点链接 要掌握面向对象的优点。20.下面程序输出的结果为#include“iostream.h”class Apublic:A()cout“CLASSA“endl;A() ;class B:public Apublic:B()cout“CLASS B“endl;B();void main()A*p;pnew B;B*q;qnew B;(分数:2.00)A.CLASS A CLASS B CLASS B CLASS BB.CLASS A CLAS
31、S B CLASS A CLASS BC.CLASS A CLASS B CLASS B D.CLASS A CLASS B解析:命题目的 考查类的继承和实例化。解题要点 每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。考点链接 类的实例化和构造函数,析构函数的调用方式和何时调用。21.一个关系中属性个数为 1 时,称此关系为(分数:2.00)A.对应关系B.单一关系C.一元关系 D.二元关系解析:命题目的 使考生加深对关系模型数据库基础知识的记忆。解题要点 在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有 N 个属性的关系称为 N 元关系。
32、考点链接 各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。22.最简单的交换排序方法是(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:命题目的 让考生加深对各种排序方法特点的了解。解题要点 冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。错解分析 交换排序方法有冒泡排序和快速排序,显然选项 B)和选项 C)错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。考点链接 插入排序、选择排序、归并排序、基数排序等排序方法的特点。23.多态性指的是(分数:2.00)A.以
33、任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数 D.借助于指向对象的基类指针或引用调用一个纯虚函数解析:命题目的 考查多态性的基本概念。解题要点 多态性主要是指借助于指向对象的基类指针或引用调用一个虚函数。考点链接 注意多态和重载的关系和应用。24.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(分数:2.00)A.黑箱测试法 B.白箱测试法C.错误推测法D.安装测试法解析:命题目的 让考生熟练掌握常用的测试方法及其概念。解题要点 黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。错
34、解分析 白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项 B)不正确;错误推测法只是黑箱测试所使用的一种具体的方法,故选项 C)不正确;安装测试是测试层次中的一种,它属于高级测试,故选项 D)不正确。考点链接 常用的黑箱测试方法及其定义,白箱测试用例的准则。25.下面程序错误的语句是#include“iostream.h“ void main() int A0; intB; BA; coutB; coutA; (分数:2.00)A.B.C. D.解析:命题目的 考查引用的用法。解题要点 引用必须在第一时间进行赋值,intB 没有在第一时间赋值,故错误。考
35、点链接 引用的方式,引用和指针应用的比较。26.下列程序的输出结果是#include“iostream“using namespace std;int Max(int a,int b)if(ab)return a;elsereturn b;void main()int m,n;m10,n5;int maxMax(m,n);coutmaxendl;(分数:2.00)A.10 B.程序有误C.1D.0解析:命题目的 考查 return 语句的用法和函数的调用。解题要点 本题函数 Max 的功能是求出两个整数中的较大者,并且通过 return 语句返回。考点链接 return 语句的用法,注意 re
36、turn 的条件。27.C+中运算符优先级由高到低排列正确的是(分数:2.00)A.: + + | B. * | ,C.sizeof % + :D., new sizeof解析:命题目的 考查 C+运算符的优先级。解题要点 运算符的优先级是:最高,其次是、(),然后是+、-,再低还有-*、*、+、 、。考点链接 逗号的优先级最低。28.函数 int test(int a,int b1,int c0),下列调用不合法的个数是 test(0); test(0,0);test();test(0,0,0);(分数:2.00)A.0B.1C.2 D.3解析:命题目的 考查函数含有默认参数时的调用方法。解
37、题要点 如果一个函数中有多个参数,则默认参数应从右到左逐个定义。错解分析 选项 C)没有给 a 传递任何的参数,所以是错误的。考点链接 函数含有默认参数时的调用方式。29.只能作为成员函数重载的是(分数:2.00)A. B.+C.*D.new解析:命题目的 关于重载概念的考查。解题要点 C+语言规定“”运算符只能作为成员函数重载。30.虚函数必须是类的(分数:2.00)A.成员函数 B.友元函数C.构造函数D.析构函数解析:命题目的 考查虚函数的基本概念。解题要点 虚函数只能是类的成员函数,不能是构造函数或析构函数。考点链接 虚函数可以是另一个类的友元函数。31.下列选项中,不属于模块间耦合的
38、是(分数:2.00)A.数据耦合B.同构耦合C.异构耦合 D.公用耦合解析:命题目的 本题主要考查了模块间耦合的类型。解题要点 模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成 5 级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项 C),没有这种耦合方式。考点链接 评价模块独立性的主要标准,以及对它们的定义和分类。32.相对于数据库系统,文件系统的主要缺陷有数据关联性差、数据不一致性和(分数:2.00)A.可重用性差B.安全性差C.非持久性D.冗余性 解析:命题目的 让考生了解文件系统和数据库系统的区别。解题要点 文件系统
39、所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在 3 个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。考点链接 文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。33.语句 coutsetprecision(2)1024.4567;的输出结果为(分数:2.00)A.1024.4567B.1024C.1024.45D.le+003 解析:命题目的 setprecision()函数的考查。解题要点 setprecision()函数为设置小数位数。考点链接 C+中 I/O 流各种函数的使用例如:setw(),se
40、tfill()。34.下面程序的运行结果是#include“iostream.h“#define sum(a,b)a*bvoid main()int x;Xsum(1+2,3);coutx;(分数:2.00)A.0B.9C.7 D.5解析:命题目的 考查宏定义的简单运用。解题要点 理解宏定义,sum(a,b)a*b 中 a 为 1+2,b 为 3,故 sum(1+2,3)=1+2*3,即宏定义的替换过程是原样替换。错解分析 选项 B)的计算方法是(1+2)*39 是错误的,注意,不要随意加括号。考点链接 宏定义与函数的区别。35.C+语言中关于构造函数的说法正确的是(分数:2.00)A.构造函
41、数的函数名不必和类名相同B.构造函数只能有一个C.每个类必定有构造函数 D.构造函数必有返回值解析:命题目的 考查构造函数的概念。解题要点 构造函数的函数名必须和类名相同;构造函数可以有一个,也可以有多个;构造函数没有返回值。考点链接 构造函数可以被重载。二、填空题(总题数:14,分数:28.00)36.栈和队列通赏采用的存储结构是_。(分数:2.00)填空项 1:_ (正确答案:链式存储和顺序存储)解析:命题目的 考查考生对数据结构基本知识的了解。解题要点 栈和队列都属于线性表,它们一般采用顺序存储结构,也可以对它们采用链式存储结构。考点链接 栈、数组、表采用的存储结构,各种存储结构的定义和
42、区别。37.在程序设计阶段应该采取_和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_ (正确答案:自顶而下)解析:命题目的 让考生对程序设计有较深入的了解。考点链接 系统设计其他阶段的内容。38.软件结构是以_为基础而组成的一种控制层次结构。(分数:2.00)填空项 1:_ (正确答案:模块)解析:命题目的 考查考生对软件结构的了解。解题要点 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解,模块化使得软件容易测试和调试,因而有利于提高软件的可靠性,也有利于软件的组织管理,大型程序可由不同的程序员
43、编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的部分。考点链接 软件结构的定义,模块操作其他的所有特点。39.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和_两个含义。(分数:2.00)填空项 1:_ (正确答案:逻辑独立性)解析:命题目的 考查考生对数据库基本知识(数据独立性)的了解。解题要点 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。数据独立性一般分为物理独立性与逻辑独立性两个含义。考点链接 在人工管理阶段、文件系统阶段和数据库管理阶段中数据独立性的特点。40.数据库保护分为安全性控制、_、并发性控制和数据的恢复。(分
44、数:2.00)填空项 1:_ (正确答案:完整性控制)解析:命题目的 考查考生对数据库基本知识的了解。解题要点 安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。考点链接 数据库的其他用途,如数据定义、数据操作和数据管理等。41._是 C+语言程序的入口。(分数:2.00)填空项 1:_ (正确答案:main()函数)解析:命题目的 考查 C+语言
45、的基本概念。解题要点 main()是 C+语言的入口函数。考点链接 main()函数可以放在程序的任何位置42.程序:#include“iostream.h“void main()int i10;int j5;coutj+i+endl;的结果为_。(分数:2.00)填空项 1:_ (正确答案:15)解析:命题目的 考查+运算符的用法。解题要点 i+为先做与 i 有关的运算后,i 自加 1,而+i 是先给 i 加 1 再进行与 i 有关的操作。考点链接 各种运算符的应用,注意+、-。43.C+语言的基本控制结构为顺序结构、选择结构和_。(分数:2.00)填空项 1:_ (正确答案:循环结构)解析:命题目的 考查对 C+语言的基本结构的了解。解题要点 C+语言的 3 种基本结构就是顺序结构、选择结构、循环结构。44.语句 int*inew intl 10;,释放指针 i 的语句是_。(分数:2.00)填空项 1:_ (正确答案:deletei)解析:命题目的 考查 new 和 delete 的用法。解题要点 申请内存空间时用 new,释放内存空间用 delete。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1