一起答

2015年全国计算机等级《二级C++》冲刺试卷四

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

2015年全国计算机等级《二级C++》冲刺试卷四:本试卷总分100分;共有4类型题目

  • 选择题
  • 程序改错题
  • 简单应用题
  • 综合应用题
部分试题预览
  1. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

    (1)定义类的公有数据成员函数N0、Name[32],其中N0是int型的数据,Name[32]为字符型。请在注释1后添加适当的语句。

    (2)完成函数Set的定义,分别设置N0和Name的值,请在注释2后添加适当的语句。

    (3)完成函数print,请在注释3后添加适当的语句,输出结果如下:

    N0=12345

    Name=HelloWorld!

    (4)添加默认构造函数,设置N0为0,Name为空,请在注释4后添加适当的语句。

    注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。

    试题程序:

    #include

    classTC

    {

    public:

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

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

    {

    No=no;

    for(inti=0;strName[i]!=0;i++)

    {

    Name[i]=strName[i];

    Name[i+1]=0;

    }

    }

    voidprint()

    {

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

    }

    TC()

    {

    //********4********)

    };

    intmain()

    {

    TCstu:

    stu.Set(12345,"HelloWorld!");stu.print();

    return0;

    }

  2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

    例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    #include(iostream.h)

    voidfun(char*s1,char*s2)

    {

    }

    voidmain

    {

    charsi[100】,s2【1OO];

    cout<<"Pleaseenterstringstrin9:"<

    cin.getline(s1,100);

    fun(s1,s2);

    cout<<"Theresultis:"<

    return;

    }

  3. (1)应改为“catch(char*s)”。

    (2)应改为“cateh(inti)”。

    (3)应改为“catch(…)”。

    【解析】本题中第1个标识前的异常抛出语句为“throw("error");”,其中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语句修改为“catch(char*S)”。第2个标识前的异常抛出语句为“throw((int)0);”,其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类型,那么就用删节号“…”表示它可以捕捉任何类型的异常信息,即修改为“catch(…)”。

  4. 设有“intx=11;”,则表达式(x++*2/3)的值是(  )。

    • A.7
    • B.8
    • C.11
    • D.12
  5. 有下列程序:

    #include

    intf(intx)

    {

    inty;

    if(x==0‖x==1)return(3);

    y=x*x-f(X-2);

    returny;

    }

    voidmain(  )

    {

    intZ;

    z=f(3);printf("%d\n",z);

    }

    程序的运行结果是(  )。

    • A.0
    • B.9
    • C.6
    • D.8
  6. 若已定义:

    inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是(  )。

    • A.a[p-a]
    • B.*(&a[i])
    • C.p[i]
    • D.a[10]
  7. 有如下函数模板定义:

    template

    T1FUN(T2n){returnn*5,0;}

    若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为(  )。

    • A.FUN(9)
    • B.FUN<9>
    • C.FUN(9)
    • D.FUN<9>(double)
  8. 在对函数进行原型声明时,下列语法成分中,不需要的是(  )。

    • A.函数返回类型
    • B.函数参数列表
    • C.函数名
    • D.函数体
  9. 设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是(  )。

    • A.auto
    • B.xegister
    • C.static
    • D.aut0或register
  10. 下列选项中不能作为C浯言合法常量的是(  )。

    • A.'cd'
    • B.0.1e+6
    • C."\a"
    • D.'\011'