zoukankan      html  css  js  c++  java
  • 2006年9月全国计算机等级考试二级C笔试真题及参考答案

    2006年9月全国计算机等级考试二级C笔试真题及参考答案

    更新于:2007年9月21日 念时

    2006年9月全国计算机等级考试二级C笔试试卷及参考答案 

      
    二、填空题(每空2 分,共30 分)
    请将每一个空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。
    (1)下列软件系统结构图

    的宽度为 [1] 。
    (2) [2] 的任务是诊断和改正程序中的错误。
    (3)一个关系表的行为 [3] 。
    (4)按“行进后出”原则组织数据的数据结构是 [4] 。
    (5)数据结构分为线性结构和非线性结构,带链的队列属于 [5] 。
    (6)若有定义语句:int*a,b;,则变量b 的数据类型是 [6] 。
    (7)已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标
    为i-1 的单元,其中1≤i<n。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a
    中元素为2,3,4,4。请将语句补充完整:
    For(int i=0;i(8)已知递归函数f 的定义如下:
    int f (int n)
    {
    If(n<=1)return 1;//递归结束情况
    else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是 [8] 。
    (9)创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给
    出数组元素的初值,则调用缺省构造函数,下列程序涉及到对象数组的创建和单个对象的创
    建,其输出结果是 [9] 。
    #include
    using namespace std;
    class Foo{
    public:
    Foo(int X){cout <<’A”}
    Foo(){}
    };
    int main()
    Foo f[3],g(3);
    return 0;
    }
    (10)习惯性在下列程序的输出结果是42,请将画线处缺失的部分补充完整。
    #include
    Using namespace atd;
    Class Foo{
    int value;
    public:
    Foo():value(0){}
    Void setValue(int value)
    { [10] =value; //给Foo 的数据成员value 赋值}void print(){cout<};
    Int main()
    {
    Foo f;
    f.setValue(42);
    f.print();
    retum0;
    }
    (11)如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是
    只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 [11] 。
    #include
    using namespace std;
    class Base{
    public:
    Void print(){cout<< ‘B’;}};
    class Derived: public Base{
    public
    void print(){cout<< ‘D’;}}
    int main()
    {
    Derived*pd=new Dreived);
    Base*pb=pd;
    pb->print();
    pd->print();
    delete pd;
    return 0;
    }
    (12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承
    private。已知有如下类定义:
    class Base{
    protected:
    void fun(){}
    };
    Class Derived: Base{};
    则Base 类中的成员函数fun(),在Derived 类中的访问权限是 [12] (注意:要求填
    写private、protected 或public 中的一项)。
    (13)在MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。
    [13] MyClass::operator=(const MyClass rhs)
    {
    if(this=&rhs)return*this;
    value=rhs. value;
    return*this;
    }
    (14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列
    中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分
    补充完整。
    class InsertSort{
    public:
    InsertSort(int*a0,int n0):a(a0),n(n0){}//参数组首地址,n 是数组元素个数
    void sort()
    {//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]
    for (int i=1;iint j;
    for( [14] ;j>0;--j){
    if(t>a[j-1])break;
    a[j]=a[j-1];}
    a[j]=t;}}
    protected:
    int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数
    };
    (15)下列程序的输出结果是 [15]
    #include
    using namespace std;
    class A{
    int a
    public:
    A():a(9){}
    virtual void print() const {cout<};
    class B:public A{
    char b;
    public:
    B(){b= ‘S’;}
    void print()const{cout<};
    void show(Aa&X){X,print()}
    int main()
    { Ad1;*p;
    Bd2;
    p=&d2;
    d1,print();
    d2,print();
    p->print();
    show(d1);
    show(d2);
    return 0;}


     一、 选择题: 
    01—05  DACBD          06—10    CDBBA 
    11—15  ADDAD          16—20    CCBBC 
    21—25  DACBC          26—30    ABCDC 
    31—35  ADBAD          36—40    BBADC 
    41—45  CBBCD          46—50    BABDC 
    二、 填空题: 
    1、3 
    2、调试 
    3、元组 
    4、栈 
    5、线性
    6、12346.0
    7、10  11 
    8、1 
    9、   7   4 
    10、n=n/10 
    11、(x+8) 
    12、sin(x) 
    13、0 
    14、i%2==0 
    15、s-- 
    16、*s++ 
    17、18 
    18、16  11 
    19、->data 
    20、”rb”

  • 相关阅读:
    定时器工厂
    无聊js画了个菱形
    盒模型之滚动条
    无聊,纯css写了个评分鼠标移入的效果
    json属性名为什么要双引号?
    原生js写的一个简单slider
    D2 前端技术论坛总结(上)
    第一天,入坑 —— 2014.10.24
    获取div相对文档的位置
    我们平时是怎么写html和css的?
  • 原文地址:https://www.cnblogs.com/nianshi/p/901243.html
Copyright © 2011-2022 走看看