一起答

2017年计算机二级考试C++模拟试题2

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

     #include<iostream.h>

     void f(int n)

     {

     int x(5);

     static int y(10);

     if(n>0)

     {

     ++x;

     ++y;

     cout<<x<<","<<y<<endl;

     }

      }

     void main()

     {

     int m(1);

     f(m),

     }

     则该程序的输出结果是【 】

  2. 在下面横线上填上适当的语句,完成程序。

     #include<iostream>

     using namespace std;

     class TestClass

     {

     int x;

     public:

     TestClass(int i){x=i;}

     ~TestClass(){}

     };

     class TestClass1:public TestClass

     {

     public;

     ______//完成类TestClassl构造函数的定义

     };

     int main()

     {

     TestClass1 0bj();

     return 0;

     }

  3. 有如下递归函数:

     int Fun(int n){

        if(n<=1) return 1;

        ______

     }

     请补充完整,使得函数Fun能够正确计算形参n的阶乘。

  4. 下面程序输出的结果是【 】。

     #include <iostream>

     using namespace std;

     class A {

     public:

        virtual void show() {cout<<"A!";

     };

     class B: public A {

     public:

        void show() {cout << "B!";}

     };

     class C: public B{

     public:

        void show(){cout << "C!";}

     };

     void show_info(A &i) {i. show();}

     void main() {

     A ia; B ib; C ic; show_info(ia);show_info(ib); show_info(ic); }

  5. 若磁盘上已存在某个文本文件,其全路径文件名为d:\shiti\tes.txt,下列语句中不能打开该文件的是(  )。

    • A.ifstream file("d:\shiti\test.txt");
    • B.ifstream file("d:\\shiti\\test.txt");
    • C.ifstream file;file.open("d:\\shiti\\test.txt");
    • D.ifstream* pFile = new ifstream("d:\\shiti\\test.txt");
  6. 有如下类定义和变量定义:

    class parents{

    public:

    int publicData;

    private:

    int privateData;

    };

    class ChildA:public Parents{/*类体略*/);

    class ChildB:private Parents{/*类体略*/};

    ChildA a;

    ChildB b:

    下列语句中正确的是

    • A.coutD.cout<
  7. 下列不是关系模型的组成部分的是(  )。

    • A.关系列表
    • B.关系数据结构
    • C.关系操作集合
    • D.关系完整性约束
  8. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作

    • A.软件投机
    • B.软件危机
    • C.软件工程
    • D.软件产生
  9.  对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确韵是(  )。

    • A.冒泡排序为n/2
    • B.冒泡排序为n
    • C.快速排序为n
    • D.快速排序为n(n-1)/2
  10. 己知类X是类Y的友元,类Y是类Z的友元,则 ______。

    • A.类X一定是类Z的友元
    • B.类Z一定是类X的友元
    • C.类Z的成员函数可以访问类Y的对象的任何成员
    • D.类K的成员函数可以访问类Y的对象的任何成员
  11. 下列说法正确的是(  )。

    • A.定义int a[4]={1,3};,则a[0]=1,a[1]=3,a[3]的值不确定
    • B.定义static int a[4];,则元素值不确定
    • C.const int x;x=5;表示给常量x赋初值
    • D.定义int a[4];,则其元素的值是不确定的
  12. 下列关于类的访问权限的描述中,(  )是错误的。

    • A.类中说明为公有的成员可以被程序中的任何代码访问
    • B.类中说明为私有的成员只能被类的成员函数和说明为友元类的成员函数访问
    • C.类中说明为保护的成员可以被该类的派生类的成员访问
    • D.类的对象和类成员函数一样可以访问类的所有成员
  13. 派生类对象对其基类中的什么成员是可访问的?

    • A.公有继承的私有成员
    • B.私有继承的公有成员
    • C.私有继承的保护成员
    • D.保护继承的保护成员
  14. 下列数据结构中,按先进后出原则组织数据的是

    • A.线性链表
    • B.栈
    • C.循环链表
    • D.顺序表
  15. 对下列二叉树

    进行中序遍历的结果是(  )。 

    • A.ACBDFEG
    • B.ACBDFGE
    • C.ABDCGEF
    • D.FCADBEG
  16. 在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是

    • A.fail
    • B.eof
    • C.bad
    • D.good
  17. 软件工程的出现是由于

    • A.程序设计方法学的影响
    • B.软件产业化的需要
    • C.软件危机的出现
    • D.计算机的发展
  18. 在面向对象方法中,(  )描述的是具有相似属性与操作的一组对象。

    • A.属性
    • B.事件
    • C.方法
    • D.类
  19. 下列叙述中正确的是(  )

    • A.线性表是线性结构
    • B.栈与队列是非线性结构
    • C.线性链表是非线性结构
    • D.二叉树是线性结构
  20. 下列关于C++语言类的描述中错误的是

    • A.类用于描述事物的属性和对事物的操作
    • B.类与类之间通过封装而具有明确的独立性
    • C.类与类之间必须是平等的关系,不能组成层次结构
    • D.类与类之间可以通过一些方法进行通信和联络
  21. 下列叙述中正确的是

    • A.一个算法的空间复杂度大,则其时间复杂度也必定大
    • B.一个算法的空间复杂度大,则其时间复杂度必定小
    • C.一个算法的时间复杂度大,则其空间复杂度必定小
    • D.上述三种说法都不对
  22. 下列数组的定义中,会产生错误的是

    • A.int a[]={'0','1','2','3','4','5','6');
    • B.int a[10]={0,1,2,3,4,5,6};
    • C.char a[5]="hello";
    • D.char a[5]={'h','e','r','l','o'};
  23. 下列关于类定义的叙述中,正确的是

    • A.类定义中包括数据成员和函数成员的声明
    • B.类成员的缺省访问权限是保护的
    • C.数据成员必须被声明为私有的
    • D.成员函数只能在类体外进行定义
  24. 设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>B) &&(n=c>D) 运算后,n的值为(  )

    • A.0
    • B.1
    • C.2
    • D.3
  25. 对于一个类定义,下列叙述中错误的是

    • A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数。
    • B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数。
    • C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数。
    • D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数。
  26. C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过(  )派生出新的类。

    • A.复用
    • B.继承
    • C.封装
    • D.引用
  27. 有如下函数模板声明:    template<typename T>    T Max(T a,T b){return(a>-b)?a:b;}  下列对函数模板Max()的调用中错误的是(  )。

    • A.Max(3.5,4.5)
    • B.Max(3.5,4)
    • C.Max<double>(3.5,4.5)
    • D.Max<double>(3.5,4)
  28. 已知三个关系:  学生(学号,姓名,性别)  课程(课程编号,课程名称,学时)  成绩(学号,课程编号,分数)  若要列出选修课程名称为“DB”, 且分数低于60的学生姓名和分数, 则应使用的关系代数运算有 ______。

    • A.选择、投影,自然连接
    • B.选择、投影
    • C.选择、自然连接
    • D.投影、自然连接
  29. 有类定义如下:

      class Type{

      public:

      Type(int i=0);

      Type operator-(int);

      friend Type operator+(Type,Type);

      private:

      int val;

        };

      若有对象定义Type c1;则下列语句序列中,错误的是

    • A.Type(3)+c1;
    • B.c1+Type(3);
    • C.3-c1;
    • D.c1-3;
  30. 函数定义为Fun(int &i),变量定义n=100,则下面调用正确的是(  )。

    • A.Fun(20);
    • B.Fun(20+n);
    • C.Fun(n);
    • D.Fun(&n);
  31. 算法的有穷性是指

    • A.算法程序的运行时间是有限的
    • B.算法程序所处理的数据量是有限的
    • C.算法程序的长度是有限的
    • D.算法只能被有限的用户使用
  32. 若有语句int * point,a=4;和point=&a;下面均代表地址的一组选项是

    • A.a,point,* &a
    • B.& * a,&a,* point
    • C.* &point,* point,&a
    • D.&a,& * point,point