一起答

2013年9月全国计算机等级《二级C++》考前冲刺试卷八

  • 卷面总分:100分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:40次
  • 作答时间:120分钟
试卷简介

2013年9月全国计算机等级《二级C++》考前冲刺试卷八:本试卷总分100分;共有4类型题目

  • 选择题
  • 程序改错题
  • 简单应用题
  • 综合应用题
部分试题预览
  1. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。使sum(intn)能计算所有n的因子之和(不包括1和自身)。

    注意:不能修改程序的其他部分,只能补充sum函数。

    试题程序:

    #include

    intsum(intn)

    {

    }

    voidmain

    {

    cout<

    cout<

    cout<

    return;

    }

  2. (1)应添加“BA(intm){a=m;}”。

    (2)应添加“PAl(intm,intn):BA(n){b=m;}”。

    (3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。

    (4)应添加“cout<

    【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值,因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处的语句应添加“BA(intm){a=m;)”。根据第2处的要求,构造函数的形式为“PAl(intm,intn)”,m赋值给PA1类成员b,将n作为基类BA构造函数的参数值传入,故第2处应添加“PA1(intm,intn):BA(n){b=m;}”。根据第3处的要求,函数形式为PA2(intm,intn,intk),在构造函数中将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n,因此第3处应添加“PA2(intm,intn,intk):PA1(n,k){C=m;}”。根据第4处的要求,PA2类公有派生于PA1,而PA1公有派生于BA,因此在PA2类中可以调用基类的geta和getb来获得基类私有成员a和b,再输出PA2的私有成员C即满足要求,因此第4处应添加“cout<

  3. 设计程序时,应采纳的原则之一是(  )。

    • A.程序的结构应有助于读者的理解
    • B.限制goto语句的使用
    • C.减少或取消注释行
    • D.程序越短越好
  4. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。

    注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。

    试题程序:

    #include

    voidmain

    {

    inti=0;

    charstr[120];

    cout<<"Enterastringendwith'?'."<

    //********error********

    cin.getline(str,120);

    //********error********

    while(str)

    {

    //********error********

    if(str[i])='a')

    str[i]=str[i]-'a'+'A';

    i++;

    }

    cout<

    return;

    }

  5. 有三个关系R、S、T如下:

    则由关系R和S和到关系T的操作是(  )。

    • A.自然连接
    • B.差
    • C.交
    • D.并
  6. 有如下程序:

    #include

    usingnamespacestd;

    classXA{

    inta;

    public:

    staticintb;

    XA(intaa):a(aa){b++;}

    ~XA(){}

    intget(){returna;}

    };

    intXA::b=0

    intmain(){

    XAd1(1),d2(3);

    cout<

    return0;

    }

    运行时的输出结果是(  )。

    • A.5
    • B.6
    • C.7
    • D.8
  7. 有如下程序:

    #include

    usingnamespacestd;

    classBASE{

    public:

    ~BASE(){cout<<"BASE";}

    };

    classDERIVED:publicBASE{

    public:

    ~DERIVED(){cout<<"DERIVED";}

    };

    intmain(){DERIVEDx;return0;)

    执行后的输出结果是(  )。

    • A.BASE
    • B.DERlVED
    • C.BASEDERIVED
    • D.DERlVEDBASE
  8. 耦合性和内聚性是对模块独或性度量的两个标准。下列叙述中正确的是(  )。

    • A.提高耦合性降低内聚性有利于提高模块的独立性
    • B.降低耦合性提高内聚性有利于提高模块的独立性
    • C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
    • D.内聚性是指模块间互相连接的紧密程度
  9. 有下列程序:

    #include

    voidfun(inta[],intn)

    {inti,t;

    for(i=0;i

    i];a[n-1-i]=t;}

    }

    voidmain(  )

    {intk[10]={1,2,3,4,5,6,7,8,9,10},i;

    fun(k,5);

    for(i=2,i<8;i++)printf("%d",k[i]);

    printf("\n");

    }

    程序的运行结果是(  )。

    • A.345678
    • B.876543
    • C.1098765
    • D.321678
  10. 有如下类模板定义:

    template

    classBigNumber{

    longn;

    public;

    BigNumber(Ti):n(i){}

    BigNumberoperator+(BigNumberb){

    returnBigNumber(n+b.n):

    }

    };

    已知b1、b2是BigNumber的两个对象,则下列表达式中错误的是(  )。

    • A.b1+b2
    • B.b1+3
    • C.3+b1
    • D.3+3