2013年9月全国计算机等级《二级C++》命题预测试卷八

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
1

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。

(1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。

(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。

(3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。

(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

程序正常运行,输出的结果为2008年11月813。

试题程序:

#include(iostream.h)

#include(fstream)

#include(iomanip)

#include

usingnamespacestd;

voidWriteFile(intc)

{

ofstreamout1;

out1.open("3.txt",ios_base::app);

out1<

out1.close;

}

voidWriteFile(char*str)

{

ofstreamoutl;

out1.open("3.txt",ios_base::app);

out1<

out1.close;

}

voidClearFile

{

ofstreamout1;

out1.open("3.txt");

out1.close;

}

classDate

{

public:

Date(inty,intm,intd)

{

//********1********

}

voidprint;

//********2********

{

month+=m;

inti=month/12:

intj=month%12;

if(j==0)

{year+=(i-1);

month=12;

}

else

{

year+=i:

month=j;

}

return*this;

}

private:

//********3********

};

voidDate::print

{

//********4********

WriteFile(year):

WriteFile("年");

WriteFile(month);

WriteFile("月");

WriteFile(day);

WriteFile("日");

}

intmain

{

ClearFile;

DateOly_day(2008,8,8);

Olyday+=3:

Oly_day.print;

return0;

}

3

4种基本结构中,能简化大量程序代码行的是(  )。

  • A.顺序结构
  • B.分支结构
  • C.选择结构
  • D.重复结构
6

有下列程序段:

charch:intk:

ch='a';k=12;

printf("%c,%d,",ch,ch,k);

printf("k=%d\n",k);

已知字符a的ASCIl十进制代码为97,则执行上述程序段后输出结果是(  )。

  • A.因变量类型与格式描述符的类型不匹配输出无定值
  • B.输出项与格式描述符个数不符,输出为零值或不定值
  • C.a,97,12k=12
  • D.a,97,k=12
8

在数据库设计中,将E—R图转换成关系数据模型的过程属于(  )。

  • A.需求分析阶段
  • B.概念设计阶段
  • C.逻辑设计阶段
  • D.物理设计阶段
9

程序流程图中带有箭头的线段表示的是(  )。

  • A.图元关系
  • B.数据流
  • C.控制流
  • D.调用关系
11

C++语言中在C语言的基础上增加的特性不包括(  )。

  • A.结构
  • B.引用
  • C.类和对象
  • D.静态成员函数
13

原因排除法属于(  )。

  • A.软件调试方法
  • B.黑盒测试方法
  • C.白盒测试方法
  • D.动态测试方法
15

下列有关类继承的叙述中,错误的是(  )。

  • A.继承可以实现软件复用
  • B.虚基类可以解决由多继承产生的二义性问题
  • C.派生类构造函数要负责调用基类的构造函数
  • D.派生类没有继承基类的私有成员
16

下面程序输出的结果为(  )。

#include"iostream.h"

classA

{public:

  • A(){cOUt<<"CLASSA"<<endl;}&nbsp;&nbsp;&nbsp;&nbsp;~A(){}};
  • ClaSSB:publicA&nbsp;&nbsp;&nbsp;&nbsp;{public:
  • B(){cout<<"CLASSB"<<endl;}&nbsp;&nbsp;&nbsp;&nbsp;~B(){}};&nbsp;&nbsp;&nbsp;&nbsp;voidmain()&nbsp;&nbsp;&nbsp;&nbsp;{A*P;&nbsp;&nbsp;&nbsp;&nbsp;P=newB:
  • B*q:&nbsp;&nbsp;&nbsp;&nbsp;q=newB;}
  • A.CLASSB
  • B.CLASSA
  • CLASSB
  • CLASSB
  • CLASSB
  • C.CLASSA
17

有如下类定义:

classA{

char*a;

public:

  • A(  ):a(O){}
  • A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间
  • a=__;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(a,aa);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;~A(  ){delete[]a;}&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;横线处应填写的表达式是(  )。
  • A.Newchar[strlen(aa)+1]
  • B.char[strlen(aa)+1]
  • C.char[strlen(aa)]
  • D.newchar[sizeof(aa)-1]
19

下列表示纯虚函数的成员函数是(  )。

  • A.virtualintfunc(int);
  • B.voidfunc(int)=0;
  • C.virtualvoidfunc=0;
  • D.virtualvoidrune(int){}
22

要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是(  )。

  • A.intx[3]={0,0,0};
  • B.intx[]={0};
  • C.staticintx[3]={0);
  • D.intx[]={0,0,0};
24

下列叙述中错误的是(  )。

  • A.gets函数用于从终端读入字符串
  • B.getchar函数用于从磁盘文件读入字符
  • C.fputs函数用于把字符串输出到文件
  • D.fwrite函数用于以二进制形式输出数据到文件
26

计算机能直接执行的程序是(  )。

  • A.源程序
  • B.目标程序
  • C.汇编程序
  • D.可执行程序
32

算法的空间复杂度是指(  )。

  • A.算法程序的长度
  • B.算法程序中的指令条数
  • C.算法程序所占的存储空间
  • D.算法执行过程中所需要的存储空间
34

下列关于运行符重载的描述中,正确的是(  )。

  • A.运算符重载可以改变操作数的个数
  • B.运算符重载可以改变操作数的优先级
  • C.运算符重载可以改变运算符的结合性
  • D.运算符重载可以使运算符实现特殊功能
37

下列叙述中正确的是(  )。

  • A.在模块化程序设计中,一个模块应该尽量多地包括与其他模块联系的信息
  • B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节
  • C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
  • D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法
39

下列叙述中正确的是(  )。

  • A.一个算法的空间复杂度大,则其时间复杂度必定大
  • B.一个算法的空间复杂度大,则其时间复杂度必定小
  • C.一个算法的时间复杂度大,则其空间复杂度必定小
  • D.上述三种说法都不对
40

下列排序方法中,最坏情况下比较次数最少的是(  )。

  • A.冒泡排序
  • B.简单选择排序
  • C.直接插入排序
  • D.堆排序
43

源程序的文档化不包括(  )。

  • A.符号名的命名要有实际意义
  • B.正确的文档形式
  • C.良好的视觉组织
  • D.正确的程序注释