试题 百分网手机站

计算机二级C++模拟试题二

时间:2020-11-07 11:06:22 试题 我要投稿

2015年计算机二级C++模拟试题(二)

  一、选择题

2015年计算机二级C++模拟试题(二)

  在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

  (1)循环链表的主要优点是

  A)不再需要头指针了

  B)从表中任一结点出发都能访问到整个链表

  C)在进行插入、删除运算时,能更好的保证链表不断开

  D)已知某个结点的位置后,能够容易的找到它的直接前件

  (2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

  A)ABCED

  B)DCBEA

  C)DBCEA

  D)CDABE

  (3)n个顶点的强连通图的边数至少有

  A)n-1

  B)n(n-1)

  C)n

  D)n+1

  (4)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的

  A)安全性

  B)一致性

  C)可理解性

  D)合理性

  (5)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

  A)抽象和信息隐蔽

  B)局部化和封装化

  C)内聚性和耦合性

  D)激活机制和控制方法

  (6)软件开发的结构化生命周期方法将软件生命周期划分成

  A)定义、开发、运行维护

  B)设计阶段、编程阶段、测试阶段

  C)总体设计、详细设计、编程调试

  D)需求分析、功能定义、系统设计

  (7)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是

  A)路径的集合

  B)循环的集合

  C)目标的集合

  D)地址的集合

  (8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有

  A)特定的数据模型

  B)数据无冗余

  C)数据可共享

  D)专门的数据管理软件

  (9)数据库设计包括两个方面的设计内容,它们是

  A)概念设计和逻辑设计

  B)模式设计和内模式设计

  C)内模式设计和物理设计

  D)结构特性设计和行为特性设计

  (10)实体是信息世界中广泛使用的一个术语,它用于表示

  A)有生命的事物

  B)无生命的事物

  C)实际存在的事物

  D)一切事物

  (11)以下都是C++语言标识符的是

  A)dsfa,df4,f$

  B)huhj,a^,k2

  C)3k,h,j_9

  D)_ok,jk,k8

  (12)C++语言中用于定义类的`关键字是

  A)class

  B)struct

  C)default

  D)sizeof

  (13)设以下变量均为int类型,则值不等于7的表达式是

  A)(x=y=6,x+y,x+1)

  B)(x=y=6,x+y,y+1)

  C)(x=6,x+1,y=6,x+y)

  D)(y=6,y+1,x=y,x+1)

  (14)以下程序的输出结果是

  #include

  void main()

  { int a=21,b=11;

  cout << --a+b;}

  A)30

  B)31

  C)32

  D)33

  (15)while 和do-while循环的主要区别是

  A)do-while的循环体至少无条件执行一次

  B)while的循环控制条件比do-while的循环控制条件更严格

  C)do-while允许从外部转到循环体内

  D)do-while 的循环体不能是复合语句

  (16)与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是

  A)if (x>0)y=1;

  else if(x<0)y=-1;

  else y=0;

  B)if(x)

  if(x>0)y=1;

  else if(x<0)y=-1;

  C)y=-1;

  if(x)

  if(x>0)y=1;

  else if(x==0)y=0;

  else y=-1;

  D)y=0;

  if(x>=0)

  if(x>0)y=1;

  else y=-1;

  (17)若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为 (假设a[0][0]位于数组的第一个位置上)

  A)i*m+j

  B)j*m+i

  C)i*m+j-1

  D)i*m+j+1

  (18)下面程序段的运行结果是

  #include

  void main()

  { char *s="abcde";

  s+=2;

  cout << &s;}

  A)cde

  B)字符′c′

  C)字符′c′的地址

  D)无确定的输出结果

  (19)下面叙述不正确的是

  A)派生类一般都用公有派生

  B)对基类成员的访问必须是无两义性的

  C)赋值兼容规则也适用于多重继承的组合

  D)基类的公有成员在派生类中仍然是公有的

  (20)下面程序应能对两个整型变量的值进行交换。以下正确的说法是

  #include

  void swap(int p,int q)

  { int t;

  t=p;

  p=q;

  q=t;}

  void main()

  { int a=10,b=20;

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

  swap(&a,&b);

  cout << a << " " << b;}

  A)该程序完全正确

  B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

  C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可

  D)以上说法都不对

  (21)关于友元的概念错误的是

  A)友元函数没有this指针

  B)调用友元函数时必须在它的实参中给出要访问的对象

  C)一个类的成员函数也可以作为另一个类的友元函数

  D)只能在类的公有段声明友元

  (22)关于抽象类下面说法正确的是

  A)抽象类就是其中有函数定义但没有实现的类

  B)抽象类是可以被实例化的

  C)派生类不能成为抽象类

  D)抽象类的子类必须实现父类中的纯虚函数

  (23)下面程序的结果是

  #include

  class test { private:

  int num;

  public:

  test();

  int getint(){return num;}

  ~test();};

  test :: test()

  { num =0;}

  test::~test()

  { cout<<"Destructor is active"< P>

  { test x[3];

  cout<<"Exiting main"<>

  Destructor is active

  Destructor is active

  Destructor is active

  B)Exiting main

  Destructor is active

  Destructor is active

  C)Exiting main

  Destructor is active

  D)Exiting main

  (24)如果表达式--x+y中,--是作为成员函数重载的, +是作为成员函数重载的,则该表达式还可为

  A)y.operator+(x.operator--(0))

  B)y.operator+(x.operator--())

  C)y.operator+(operator--(x,0))

  D)operator+(x.operator--())

  (25)下列语句不能够用于打开C根目录下文件test.txt的语句是

  A)ifstream fin; fin.open("C:\\test.txt");

  B)ifstream fin("C:\\test.txt");

  C)A)和B)

  D)ifstream fin; fin("C:\\test.txt");

  (26)以下哪个基类中的成员函数表示纯虚函数?

  A)virtual void vf (int)

  B)void vf (int)=0

  C)virtual void vf(=0)

  D)virtual void yf(int){ }

  (27)下面程序输出的结果是

  #include

  void main()

  { int i;

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

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

  cout << a[i][i] << " ";}

  A)1 5 9

  B)7 5 3

  C)3 5 7

  D)5 9 1

  (28)派生类继承基类的方式有

  A)public

  B)private

  C)protected

  D)以上都对

  (29)下列程序的运行结果为

  #include

  class Location {

  protected:

  int X, Y;

  public:

  void SetX(int myx){X=myx;}

  void SetY(int myy){Y=myy;}

  void showxy(){cout << "X=" << X << " " << "Y=" << Y <>

  private:

  int H, W;

  public:

  void SetH(int myh){H=myh;}

  void SetW(int myw){W=myw;}

  void show(){ cout << "X=" << X << " " << "Y=" << " " << Y << " " << "H=" << H << " " << "W=" << W << endl;}};

  void main()

  { Rectangle r1;

  r1.SetX (3);

  r1.SetY (5);

  r1.SetH (4);

  r1.SetW (6);

  r1.showxy();

  r1.show();}

  A)X=3 Y=5

  X=3 Y=5 H=4 W=6

  B)X=3 Y=5

  X=3 Y=5 H=3 W=6

  C)X=3 Y=5

  X=3 Y=4 H=4 W=6

  D)X=3 Y=5

  X=3 Y=3 H=4 W=6

  (30)有以下程序

  #include

  void ss(char *s,char t)

  { while(*s)

  { if(*s==t)*s=t-′a′+′A′;

  s++;}}

  void main()

  { char str1[100]="abcddfefdbd",c=′d′;

  ss(str1,c); cout << str1;}

  程序运行后的输出结果是

  A)ABCDDEFEDBD

  B)abcDDfefDbD

  C)abcAAfefAbA

  D)Abcddfefdb

  31)有以下程序

  #include

  void main()

  { int a=5,b=0,c=0;

  if(a=b+c)cout << "***"<< ?$$$?<下列选项叙述正确的是<>

  A)有语法错不能通过编译

  B)可以通过编译但不能通过连接

  C)输出***

  D)输出$$$

  (32)已知各变量的定义如下

  int i=8,k,a,b;

  unsigned long w=5;

  double x=1.42,y=5.2;

  则以下符合C++语言语法的表达式是

  A)a+=a-=(b=4)*(a=3)

  B)a=a*3+2

  C)x%(-3)

  D)y=float i

  (33)以下程序中循环体总的执行次数是

  int i,j;

  for(i=6;i>1;i--)

  for(j=0;j{……}

  A)20

  B)261

  C)15

  D)25

  (34)对于下面的程序,说法正确的是

  #include

  void main()

  { int x=3,y=4,z=2;

  if(x=y+z)cout << "x=y+z";

  else cout << "x!=y+z";}

  A)不能通过编译

  B)输出6

  C)输出x!=y+z

  D)输出x=y+z

  (35)下列程序的输出结果是

  #include

  void main()

  { int a[3],i,j,k=2;

  for(i=0;i<3;i++)a[i]=i;

  for(i=0;ifor(j=0;ja[j]=a[i];

  cout << a[2];}

  A)2

  B)3

  C)1

  D)0

  二、填空题

  请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

  (1)常用的黑箱测试有等价分类法、 1 、因果图法和错误推测法4种。

  (2)测试的目的是暴露错误,评价程序的可靠性;而 2 的目的是发现错误的位置并改正错误。

  (3)软件维护活动包括以下几类:改正性维护、适应性维护、 3 维护和预防性维护。

  (4)在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 4 。

  (5)关键字ASC和DESC分别表示 5 的含义。

  (6)C++语言中表示双精度浮点数的关键字是 6 。

  (7)执行下列语句后,c3中的值为 7

  int c1=1,c2=2,c3;c3=1.0/c2*c1;

  (8)若从键盘输入70,则以下程序输出的结果是 8 。

  #include

  void main()

  { int a;cin >> a;

  if(a>50)cout << a;

  if(a>40)cout << a;

  if(a>30)cout << a;}

  (9)以下程序的输出结果是 9 。

  #include

  void main()

  { char s[]="abcdef";s[3]=′\0′;

  cout << s << endl;}

  (10)以下程序运行后的输出结果是 10 。

  #include

  void fun(int x,int y)

  { x=x+y;y=x-y;x=x-y;

  cout << x << "," << y << ","; }

  void main()

  { int x=2,y=3;fun(x,y);

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

  (11)常数据成员和静态数据成员在使用前共同的要求是要进行 11 。

  (12)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是 12 。

  (13)表达式x.operator+(y.operator++(0))还可以写成 13 。

  (14)要采用"cin,cout"进行输入输出时,必须包含的头文件是 14 。

  (15)构造函数是和 15 同名的函数。

【2015年计算机二级C++模拟试题(二)】相关文章:

1.2017年计算机二级模拟试题

2.2017年计算机二级MySQL考前模拟试题

3.计算机二级模拟试题

4.计算机二级c++试题及答案

5.2015计算机二级《JAVA》全真模拟试题及答案

6.2017年计算机二级JAVA考试模拟试题及答案

7.2017年计算机二级公共基础知识模拟试题

8.2017年计算机二级考试java模拟试题及答案

9.2017年计算机二级考试C++考前测试题及答案