无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2010年全国计算机等级考试二级C++模拟试题及答案(14)

2012-12-26来源/作者:卫凯点击次数:442

  编辑推荐:

  2010年全国计算机二级考试各科模拟试题冲刺专题

  全国计算机等级考试二级C++语言程序设计标准预测试卷汇总

  全国计算机二级考试C++笔试练习四十套

  笔试部分

  一、选择题

  1.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及

  A)数据的存储结构 B)计算方法

  C)数据映象 D)逻辑存储

  【参考答案】 A

  2.串的长度是

  A)串中不同字符的个数 B)串中不同字母的个数

  C)串中所含字符的个数且字符个数大于零 D)串中所含字符的个数

  【参考答案】 D

  3.在计算机中,算法是指

  A)加工方法 B)解题方案的准确而完整的描述 C)排序方法 D)查询方法

  【参考答案】 B

  4.下列不属于软件工程的3个要素的是( )

  A.工具 B.过程 C.方法 D.环境

  【参考答案】 D

  5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做

  A)软件投机 B)软件危机 C)软件工程 D)软件产生

  【参考答案】 B

  6.下面不属于软件设计原则的是

  A)抽象    B)模块化

  C)自底向上   D)信息隐蔽

  【参考答案】 C

  7.开发大型软件时,产生困难的根本原因是

  A)大系统的复杂性 B)人员知识不足

  C)客观世界千变万化 D)时间紧、任务重

  【参考答案】 A

  8.下列SQL语句中,用于修改表结构的是

  A)ALTER B)CREATE C)UPDATE D)INSERT

  【参考答案】 A

  9.数据库、数据库系统和数据库管理系统之间的关系是

  A)数据库包括数据库系统和数据库管理系统

  B)数据库系统包括数据库和数据库管理系统

  C)数据库管理系统包括数据库和数据库系统

  D)3者没有明显的包含关系

  【参考答案】 B

  10.关系模型允许定义3类数据约束,下列不属于数据约束的是

  A)实体完整性约束

  B)参照完整性约束

  C)域完整性约束

  D)用户自定义的完整性约束

  【参考答案】 C

  11.C++语言中标点符号中表示一条预处理命令开始的是

  A)# B); C)* D){

  【参考答案】 A

  12.每个C++程序中都必须有且仅有一个

  A)类 B)预处理命令 C)主函数 D)语句

  【参考答案】 C

  13.sizeof(float)是

  A)一个双精度型表达式 B)一个整型表达式

  C)一种函数调用 D)一个不合法的表达式

  【参考答案】 B

  14.设有int x=11;,则表达式(x++*2/3)的值是

  A)7 B)8 C)11 D)12

  【参考答案】 A

  15.设有程序段

  int k=10;

  while(k=0)k=k-1;

  则下面描述中正确的是

  A)循环执行10次

  B)无限循环

  C)循环体语句一次也不执行

  D)循环体语句执行一次

  【参考答案】 C

  16.对表达式for(表达式1; ;表达式3)可理解为

  A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)

  C)for(表达式1;表达式3;) D)for(;;表达式3)

  【参考答案】 B

  17.以下不正确的定义语句是

  A)double x[5]={2.0,4.0,6.0,8.0,10.0};

  B)int y[5]={0,1,3,5,7,9};

  C)char c1[]={′1′,′2′,′3′,′4′,′5′};

  D)char c2[]={′\x10′,′\xa′,′\x8′};

  【参考答案】 B

  18.有如下说明

  int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

  则数值为9的表达式是

  A)*p+9    B)*(p+8)

  C)*p+=9    D)p+8

  【参考答案】 B

  19.下列函数的运行结果是

  #include

  int f(int a,int b)

  { int c;

  if(a>b)c=1;

  else if(a==b)c=0;

  else c=-1;

  return(c); }

  void main()

  { int i=2,j=3;

  int p=f(i,j);

  cout << p; }

  A)-1 B)1 C)2 D)编译出错,无法运行

  【参考答案】 A

  20.以下对C++函数的有关描述中,正确的是

  A)在C++语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参

  B)C++函数既可以嵌套定义又可以递归调用

  C)函数必须无返回值,否则不能使用函数

  D)函数必须有返回值,返回值类型不定

  【参考答案】 A

  21.关于静态数据成员的描述中正确的是

  A)类的静态数据成员不是类的所有对象共享的数据

  B)类的静态数据成员不能被类的成员函数调用

  C)类的静态数据成员不能被类的构造函数调用

  D)类的静态数据成员必须进行初始化

  【参考答案】 D

  22.拷贝构造函数的参数一般是

  A)某对象名 B)某对象成员名 C)某对象的引用名 D)指向对象的指针名

  【参考答案】 C

  23.下表正确的是

  在父类中的访问属性访问修饰符在子类中的访问属性

  A)publicprivate不能直接访问 B)protectpublicpublic

  C)privatepublic不能直接访问 D)protectprivateprotect

  【参考答案】 C

  24.下面这个程序的结果是

  #include

  class A

  { private:

  int a;

  public:

  void seta(); int geta(); };

  void A::seta()

  {a = 1;}

  int A::geta()

  {return a;}

  class B

  { private:

  int a;

  public:

  void seta(); int geta(); };

  void B::seta()

  {a = 2;}

  int B::geta()

  {return a;}

  class C : public A, public B

  { private:

  int b;

  public:

  void display(); };

  void C::display()

  { int b = geta();

  cout << b; }

  void main()

  { C c;

  c.seta();

  c.display(); }

  A)1 B)2 C)随机输出1或2 D)程序有错

  【参考答案】 D

  25.下列运算符中全都可以被友元函数重载的是

  A)= , + , - , \           B)[] , +, (), new

  C)-> , + , * , >>           D)<< , >> , + , *

  【参考答案】 D

  26.对于模板定义关键字class和typename说法不正确的是

  A)程序中的class并不能都替换为typename

  B)class和typename都可互相替换

  C)程序中的typename都能替换为class

  D)程序中的部分class可以替换为typename

  【参考答案】 B

  27.对于下面的程序

  ifstream fin(c:\test.txt);

  if(fin)

  cout << "ok";

  else

  cout << "wrong";

  对于if语句中的内容可以换为

  A)fin.fail(); B)fin.bad(); C)fin.good(); D)fin.eof();

  【参考答案】 C

  28.以下程序的输出结果是

  #include

  long fun( int n)

  { long s;

  if(n==1||n==2)s=2;

  else s=n-fun(n-1);

  return s; }

  void main(){ cout << fun (3); }

  A)1 B)2 C)3 D)4

  【参考答案】 A

  29.不合法的main函数命令行参数表示形式是

  A)main(int a,char *c[]) B)main(int arc,char **arv)

  C)main(int argc,char *argv) D)main(int argv,char *argc[])

  【参考答案】 C

  30.有如下程序

  #include

  void main()

  { char ch[2][5]={"6937","8254"},*p[2];

  int i,j,s=0;

  for(i=0;i<2;i++)p[i]=ch[i];

  for(i=0;i<2;i++)

  for(j=0;p[i][j]>′\0′;j+=2)

  s=10*s+p[i][j]-′0′;

  cout << s; }

  该程序的输出结果是

  A)69825      B)63825

  C)6385      D)693825

  【参考答案】 C

  31.下面叙述不正确的是

  A)基类的保护成员在派生类中仍然是保护的成员

  B)基类的保护成员在公有派生类中仍然是保护的

  C)基类的保护成员在私有派生类中仍然是私有的

  D)对基类成员的访问必须是无二义性

  【参考答案】 A

  32.以下程序的输出结果是

  #include

  void main()

  { char x=040;

  cout << (x<<1); }

  A)100 B)80 C)64 D)32

  【参考答案】 C

  33.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是

  #include

  void main()

  { int a,b,t;

  cin >> a >> b;

  while()

  { if(a>b)

  { t=a;a=b;b=t;}

  cout << a << " " << b << endl;

  cin >> a >> b; } }

  A)!a=b B)a!=b C)a==b D)a=b

  【参考答案】 B

  34.对以下说明语句的正确理解是

  int a[10]={6,7,8,9,10};

  A)将5个初值依次赋给a[1]至a[5]

  B)将5个初值依次赋给a[0]至a[4]

  C)将5个初值依次赋给a[6]至a[10]

  D)因为数组长度与初值的个数不相同,所以此语句不正确

  【参考答案】 B

  35.类A是类B的友元,类B是类C的友元,则下列说法正确的是

  A)类B是类A的友元

  B)类C是类A的友元

  C)类A是类C的友元

  D)以上都不对

  【参考答案】 D

  二、填空题

  (1)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 【1】 。

  【参考答案】

  【1】n/2

  (2)用树型结构表示实体类型及实体间联系的数据模型称为 【2】 。

  【参考答案】

  【2】层次模型

  (3)类是一个支持集成的抽象数据类型,而对象是类的 【3】 。

  【参考答案】

  【3】实例

  (4)数据流图的类型有 【4】 和事务型。

  【参考答案】

  【4】变换型

  (5)当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 【5】 。

  【参考答案】

  【5】物理独立性

  (6)在C++语言的面向对象程序设计框架中, 【6】 是程序的基本组成单元。

  【参考答案】

  【6】类

  (7)C++语言程序的注释可以出现在程序中的任何地方,一个注释以 【7】 作为开始和结束的标记。

  【参考答案】

  【7】/* */

  (8)以下程序的输出结果是 【8】 。

  #include

  void fun()

  { static int a=0;

  a+=2;

  cout << a << " "; }

  void main()

  { int cc;

  for(cc=1;cc<4;cc++)

  fun();

  cout << endl;}

  【参考答案】

  【8】2 4 6

  (9)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。

  st=(char*) 【9】 ;

  【参考答案】

  【9】malloc(11)或malloc(sizeof(char)*11

  (10)以下程序的输出结果是 【10】 。

  #include

  unsigned fun(unsigned num)

  { unsigned k=1;

  do{ k *=num;num/=10;} while (num);

  return k; }

  void main()

  { unsigned n=26;

  cout << fun(n)<< endl; }

  【参考答案】

  【10】12

  (11)下列程序在构造函数和析构函数中申请和释放类的数据成员int *a,申请时使用形参b初始化a,请填空。

  class A

  { public:

  A(int b);

  ~A();

  private:

  int *a; };

  A::A(int b)

  { 【11】 ; }

  A::~A()

  { 【12】 ; }

  【参考答案】

  【11】a = new int(b); 【12】delete a

  (12)C++语言中的多态性是在编译时通过 【13】 和模板体现的,在运行时是通过 【14】体现的。

  【参考答案】

  【13】函数重载 【14】虚函数

  (13)将x+y*z中的"+"用成员函数重载,"*"用友元函数重载应写为 【15】 。

  【参考答案】

  【15】x. operator+(operator*(y,z))

  上机部分

  一、改错题

  使用VC6打开考生文件夹下的工程kt15_1,此工程包含一个源程序文件kt15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:

  Previous=9,Next=11

  源程序文件kt15_1.cpp清单如下:

  #include

  /*****************found*****************/

  intmain()

  { intx=10,y,z;

  prevnext(x,y,z);

  cout<<"Previous="<





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策