就业数据资源平台
当前位置:首页 > C++语言程序设计
2010年上半年等级考试二级C++笔试精选试题(1)

第1题 下列能对对象进行初始化的是(  )。

  A.构造函数 B.析构函数 C.友元函数 D.静态成员函数


  【答案】:A


  【参考解析】:类的构造函数的作用就是在类实例化对象时,即对象还没有生成时完成一些初始化 的工作。此时,析构函数和静态成员函数都还没有建立,而友元函数是类外部的函数,根本无法完成类的实例化工作。


  第2题 若有以下宏定义:


  #define N 2


  #define Y(n)((N+1)*n)


  则执行语句z=2*(N+Y(5));后的结果是(  )。


  A.语句有错误 B.z=34 C.z=70 D.z无定值


  【答案】:B


  【参考解析】:本题考查宏定义的功能,可以把它看成一个函数,直接代人参数,可计算出结果为34,故选B。


  第3题 软件调试的目的是(  )。


  A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能


  【答案】:B


  【参考解析】:软件调试的目的是改正程序中的错误。


  第4题 下列关于关系运算的叙述中正确的是(  )。


  A.投影、选择、连接是从二维表的行的方向来进行运算


  B.投影、选择、连接是从二维表的列的方向来进行运算


  C.并、交、差是从二维表的列的方向来进行运算


  D.以上三种说法都不对


  【答案】:B


  【参考解析】:A和B是互相矛盾的,答案必然是这两者之一。在关系模型的数据语言中,常规的集合 运算(并、交、差、笛卡尔积等),是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的 行的方向来进行的;投影、选择、连接等运算主要是从二维表的列的方向来进行运算。正确答案是B。


  第5题 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(  )。


  A.ios::in B.ios::out C.ios::int|ios::out D.没有


  【答案】:D


  【参考解析】:c++中没有规定文件打开时的隐含打开方式,因此考生在写程序是必须指定打开方 式,否则将出现错误。


 第1题 以下不属于构造函数特征的是(  )。

  A.构造函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置默认参数 D.构造函数必须指定函数类型


  【答案】:D


  【参考解析】:构造函数和析构函数一样,是类的特殊的成员函数。其特殊之处在于,构造函数可以有多个版本以实现不同的初始化方式,不能指定形参和函数类型,这些都是系统默认完成。


  第2题 若有以下程序段:


  int?a=0,b=0,c=0;


  c=(a-=a-5),(a=b,b+3);


  cout《a《","《b《","《c《endl;


  《","<<<","《


  其输出结果是?(  )。


  A)3,O,-10 B)0,O,5 C)-10,3,-1O D)3,O,3


  【答案】:B


  【参考解析】:本题考察逗号表达式的使用规则。只要考生能将表达式正确展开,逐步分析,就可获得正确答案为B。


  第3题 静态成员函数不能说明为(  )。


  A.整型函数 B.常函数 C.虚函数 D.内联函数


  【答案】:C中 华 考 试 网


  【参考解析】:静态函数不能说明为虚函数。


  第4题 为了避免嵌套的if…else语句的二义性,C++规定与else配对的是(  )。


  A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if


  【答案】:C


  【参考解析】:C++规定else总是与之前未配对的最近的if进行配对。这样可以避免二义性,也便于编译器分析。


  第5题 下列关于虚基类的描述中错误的是(  )。


  A.完全二叉树 B.线性链表 C.带链的栈 D.带链的队列


  【答案】:B


  【参考解析】:虚基类主要是为了消除在多重继承中的二义性问题。实际上说某个类是虚基类,并不是该类本身有什么特殊的地方,而是在继承的时候加上virtual修饰词。虚基类不同于抽象类。虚 基类是可以被实例化的,派生类初始化时,必须列出虚基类的构造函数调用。虚基类对象的初始化 次数只于对象的多少有关,与类的层次结构是没有关系的。故本题正确答案为B。

就业数据资源平台