1、计算机二级(C+)27 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )。(分数:70.00)A.showbase( )和 eof( )B.showpoint( )和 eof( )C.showpoint( )和 bad( )D.showpoint( )和 good( )2.执行下列程序段,结果是( )。 #includeiostreamh void main( ) int x=40; char y=C; int n; n=(x pri
2、vate: int n; ; int f( ) MyClass * ptr=new MyClass(45);2 (分数:3.00)填空项 1:_41.程序 #include“ iostreamh“ void main1 int i=10; jnt j=5; cout j+i+ end1; 的结果为 2 (分数:3.00)填空项 1:_42.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b初始化 a,请填空。 classA public: A(intb); A( ); private: int*a; ; A:A(intb) 1; A:A( ) 2; (分数:3
3、.00)填空项 1:_填空项 1:_43.下面程序的输出结果是 1。 #includeiostream.h void main2 int a6=1,2,3,4,5,6; for(int i=0;i填空项 1:_44.表达式 xoperator+(yoperator+(0)还可以写成 1。(分数:3.00)填空项 1:_45.设 i,j,k 均为 int型变量,则执行完 for(i=0,j=10;iwho6; p= private: int n; ; int f( ) MyClass * ptr=new MyClass(45);2 (分数:3.00)填空项 1:_ (正确答案:ptr-SetNu
4、m(50);)解析:本题考查的是考生使用对象指针调用成员函数的能力,指针调用成员函数应该使用符号“-”。41.程序 #include“ iostreamh“ void main1 int i=10; jnt j=5; cout j+i+ end1; 的结果为 2 (分数:3.00)填空项 1:_ (正确答案:15)解析:i+为先做与 i有关的运算后,i 自加 1,而+i 是先给 i加 1再进行与 i有关的操作42.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b初始化 a,请填空。 classA public: A(intb); A( ); private:
5、 int*a; ; A:A(intb) 1; A:A( ) 2; (分数:3.00)填空项 1:_ (正确答案:a=new)填空项 1:_ (正确答案:int(b))解析:C+中 new和 delete的使用有如下几种:a=new int;delete a;a=new int(10);deletea;a=new int10;deletea;。 43.下面程序的输出结果是 1。 #includeiostream.h void main2 int a6=1,2,3,4,5,6; for(int i=0;i填空项 1:_ (正确答案:1 2 3 4 5)解析:本题考查的是考生使用简单循环输出数组元素
6、的能力,因为结束条件是 i44.表达式 xoperator+(yoperator+(0)还可以写成 1。(分数:3.00)填空项 1:_ (正确答案:x+y+或 x+(y+))解析:因为 yoperator+(0)是对成员 y重载运算符,所以是成员重载,在参数表中又有一个参数,所以是重载后缀+,所以是 x+(y+)。45.设 i,j,k 均为 int型变量,则执行完 for(i=0,j=10;i=j;i+,j-)k=i+j;语句后,k 的值为 1。(分数:3.00)填空项 1:_ (正确答案:10)解析:该 for语句以 i为 0、j 为 10初始化,循环条件是 i=j,每次循环后 i增 1、
7、j 减 1,循环体是将i与 j的和赋给 k。这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 1、j 为 9,二次循环后i为 2、j 为 8,五次循环后 i为 5、j 为 5,继续第六次循环,将 i与 j的和 10存于 k后,i 为6、j 为 4,结束循环。所以循环执行后 k为 10。 46.用链表表示线性表的突出优点是 1。(分数:-1.00)填空项 1:_ (正确答案:便于插入和删除操作)解析:为了克服顺序表中插入和删除时需要移动大量数据元素的缺点,引入了链式存储结构。链表表示线性表的突出优点是插入和删除操作方便,不必移动数据元素,执行效率高。47.在面向对象的设计中,用来请求对
8、象执行某一处理或回答某些信息的要求称为 1。(分数:-1.00)填空项 1:_ (正确答案:消息)解析:在面向对象技术中,主要用到对象(object)、类(class)、方法(method)、消息 (message)、继承(inheritance)、封装(encapsulation)等基本概念。其中消息是用来请求对象执行某一处理或回答某些信息的要求。 48.用链表表示线性表的突出优点是 1。(分数:-1.00)填空项 1:_ (正确答案:便于插入和删除操作)解析:为了克服顺序表中插入和删除时需要移动大量数据元素的缺点,引入了链式存储结构。链表表示线性表的突出优点是插入和删除操作方便,不必移动数据元素,执行效率高。49.耦合和内聚是评价模块独立性的两个主要标准,其中 1 反映了模块内各成分之间 的联系。 (分数:-1.00)填空项 1:_ (正确答案:内聚)解析:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。50.数据库恢复是将数据库从 1 状态恢复到某一已知的正确状态。(分数:-1.00)填空项 1:_ (正确答案:错误)解析:数据库恢复是将数据库中的数据从错误状态中恢复到某种逻辑一致的状态。如果数据库中包含成功事务提交的结果,则称数据库处于一致性状态。