试题

下半年全国计算机二级C++全真模拟试题

时间:2024-07-17 04:39:33 试题 我要投稿
  • 相关推荐

2015下半年全国计算机二级C++全真模拟试题

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

2015下半年全国计算机二级C++全真模拟试题

  (1)下列叙述中正确的是

  A)线性表是线性结构

  B)栈与队列是非线性结构

  C)线性链表是非线性结构

  D)二叉树是线性结构

  (2)非空的循环单链表head的尾结点(由p所指向),满足

  A)p->next==NULL

  B)p==NULL

  C)p->next=head

  D)p=head

  (3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是

  A)堆排序

  B)直接插入排序

  C)快速排序

  D)直接选择排序

  (4)对建立良好的程序设计风格,下面描述正确的是

  A)程序应简单、清晰、可读性好

  B)符号名的命名只要符合语法

  C)充分考虑程序的执行效率

  D)程序的注释可有可无

  (5)下列不属于结构化分析的常用工具的是

  A)数据流图

  B)数据字典

  C)判定树

  D)PAD图

  (6)在软件生产过程中,需求信息的给出是

  A)程序员

  B)项目管理者

  C)软件分析设计人员

  D)软件用户

  (7)下列工具中为需求分析常用工具的是

  A)PAD

  B)PFD

  C)N-S

  D)DFD

  (8)NULL是指

  A)0

  B)空格

  C)未知的值或无任何值

  D)空字符串

  (9)数据库的故障恢复一般是由

  A)数据流图完成的

  B)数据字典完成的

  C)DBA完成的

  D)PAD图完成的

  (10)下列说法中,不属于数据模型所描述的内容的是

  A)数据结构

  B)数据操作

  C)数据查询

  D)数据约束

  (11)面向对象程序设计思想的主要特征中不包括

  A)继承性

  B)功能分解,逐步求精

  C)封装性和信息隐藏

  D)多态性

  (12)C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言

  A)ASP

  B)C

  C)VB

  D)Java

  (13)设变量a是int型,f是double型,i是float型,则表达式10+′a′+ i * f值的数据类型

  A)int

  B)float

  C)double

  D)不确定

  (14)能正确表示逻辑关系:"a≥10或a≤0"的C++语言表达式是

  A)a>=10 or a<=0

  B)a>=0|a<=10

  C)a>=10 && a<=0

  D)a>=10‖a<=0

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

  #include

  void main()

  { int i,j,x=0;

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

  { x++;

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

  { if(j%2)continue;

  x++;}

  x++;}

  cout << "x=" << x;}

  A)x=4

  B)x=8

  C)x=6

  D)x=12

  (16)若执行下面的程序时,从键盘上输入5和2,则输出结果是

  #include

  void main()

  { int a,b,k;

  cin >> a >> b;

  k=a;

  if(a  k=a%b;

  else

  k=b%a;

  cout << k << endl;}

  A)5

  B)3

  C)2

  D)0

  (17)有以下程序

  #include

  #include

  void main()

  { char *p="abcde\0fghjik\0 ";

  cout << strlen(p);}

  程序运行后的输出结果是

  A)12

  B)15

  C)6

  D)5

  (18)若有说明语句

  char a[]="It is mine";

  char *p="It is mine";

  则以下不正确的叙述是

  A)a+1表示的是字符t的地址

  B)p指向另外的字符串时,字符串的长度不受限制

  C)p变量中存放的地址值可以改变

  D)a中只能存放10个字符

  (19)以下程序的运行结果是

  #include

  void sub(int x,int y,int *z)

  { *z=y-x;}

  void main()

  { int a,b,c;

  sub(10,5,&a);

  sub(7,a,&b);

  sub(a,b,&c);

  cout << a <<","<< b<<"," << c << endl;}

  A)5,2,3

  B)-5,-12,-7

  C)-5,-12,-17

  D)5,-2,-7

  (20)下列程序是用来判断数组中特定元素的位置所在,则输出结果为

  #include

  #include

  int fun(int *s, int t, int *k)

  { int i;

  *k=0;

  for(i=0;i  if(s[*k]  return s[*k];}

  void main()

  { int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

  fun(a, 10, &k);

  cout << k <<′,′ << a[k];}

  A)7,431

  B)6

  C)980

  D)6,980

  (21)执行下列程序段,结果是

  #include

  void main()

  { int x=40;

  char y=′C′;

  int n;

  n=(x&0xff)&&(y>′B′);

  cout << n;}

  A)0

  B)1

  C)2

  D)3

  (22)关于this指针的说明不正确的是

  A)不能在程序中修改this指针

  B)this指针可以给其他指针赋值,但不能修改this指针

  C)静态成员函数中没有this指针

  D)this指针可以被赋值

点击查看试题答案及解析
  (23)下面程序的结果是

  #include

  class A

  { public:

  A(){cout << "construtA" << endl;}

  virtual ~A(){cout << "destructA" << endl;}};

  class B : public A

  { };

  class C : public A

  { };

  class D : public B,public C

  { };

  void main()

  {D d;}

  A)constructA

  destructA

  B)constructA

  constructA

  destructA

  destructA

  C)constructA

  constructA

  constructA

  destructA

  destructA

  destructA

  D)constructA

  constructA

  constructA

  constructA

  destructA

  destructA

  destructA

  destructA

  (24)关于虚函数下面说的正确的是

  A)若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

  B)虚函数不能声明为友元

  C)子类必须重定义父类的虚函数

  D)虚函数不能是static的

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

  A)(operator++(x)).operator/(y)

  B)(operator++(0)).operator/(y)

  C)operator/((operator++(x,0)),y)

  D)operator/((operator++(0)),y)

  (26)要想使23.78965421的输出为23.7887应用的语句是

  A)cout << 23.78965421;

  B)cout << fixed << 23.78965421;

  C)cout << 23.78965421 -0.001;

  D)cout << fixed << 23.78965421 - 0.001;

  (27)有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)

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

  A)a[p-a]

  B)*(&a[i])

  C)p[i]

  D)*(*(a+i))

  (28)有以下程序

  #include

  float fun(int x,int y)

  { return(x+y); }

  void main()

  { int a=2,b=5,c=8;

  cout << fun((int)fun(a+c,b),a-c);}

  程序运行后的输出结果是

  A)编译出错

  B)9

  C)21

  D)9.0

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

  #include

  class Location {

  private:

  int X, Y;

  public:

  void init(int=0, int=0);

  void valueX( int val ){X=val;}

  int valueX(){ return X;}

  void valueY(int val){Y=val;}

  int valueY( ){return Y;}};

  void Location::init(int initX, int initY)

  { X=initX;

  Y=initY;}

  void main( )

  { Location A,B;

  A.init( );

  A.valueX (5);

  cout <  B.init(6,2);

  B.valueY (4);

  cout<  A)5

  0

  6

  4

  B)0

  0

  6

  4

  C)5

  0

  6

  2

  D)0

  0

  6

  2

  (30)在C++语言中,封装是借助于什么达到的?

  A)结构

  B)类

  C)数组

  D)函数

  (31)在位运算中,操作数每左移一位,其结果相当于

  A)操作数乘以2

  B)操作数除以2

  C)操作数除以4

  D)操作数乘以4

  (32)有如下程序

  #include

  #define N 2

  #define M N+1

  #define NUM 2*M+1

  void main()

  { int i;

  for(i=1;i<=NUM;i++)

  cout << i;}

  该程序中的for循环执行的次数是

  A)5

  B)6

  C)7

  D)8

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

  #include

  int b=2;

  int func(int *a)

  { b += *a; return(b);}

  void main()

  { int a=2, res=2;

  res += func(&a);

  cout << res;}

  A)4

  B)6

  C)8

  D)10

  (34)所有在函数中定义的变量,连同形式参数,都属于

  A)全局变量

  B)局部变量

  C)静态变量

  D)寄存器变量

  (35)有如下程序:

  #include

  long fib(int n)

  { if(n>2)return(fib(n-1)+fib(n-2));

  else return (2);}

  void main()

  { cout << fib (3);}

  该程序的输出结果是

  A)2

  B)4

  C)6

  D)8

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

  (1)冒泡排序算法在最好的情况下的元素交换次数为 1 。

  (2)在最坏情况下,堆排序需要比较的次数为 2 。

  (3)若串s="MathTypes",则其子串的数目是 3 。

  (4)软件开发环境是全面支持软件开发全过程的 4 集合。

  (5)关系数据库的关系演算语言是以 5 为基础的DML语言。

  (6)C++语言中关键字运算符有new,delete和 6 。

  (7)将以下程序写成三目运算表达式是 7 。

  if(a>b)max=a;

  else max=b;

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

  #include

  void main()

  { char s[]="defghijk";s[4]=′\0′;

  cout << s << endl;}

  (9)下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。

  #include

  #include

  void main()

  { char a[]="clanguage",t;

  int i, j, k;

  k=strlen(a);

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

  for(j=i+2; j<=k; 9 )

  if ( 10 )

  { t=a[i]; a[i]=a[j]; a[j]=t; }

  cout << a;

  cout << endl;}

  (10)静态成员函数可以直接访问类的 11 成员,不能直接访问类的 12 成员。

  (11)请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是 13 。

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

  (13)假设fin是一个文件流对象,则关闭文件的语句是 15 。

【下半年全国计算机二级C++全真模拟试题】相关文章:

计算机二级《MSOffice》全真模拟试题09-29

计算机二级C++模拟试题及答案09-22

2015年9月全国计算机二级C++笔试全真模拟题10-26

全国计算机二级考试C++精选试题及答案08-17

全国计算机二级《C++》上机试题及答案08-15

下半年全国计算机二级C++考试模拟题及答案06-27

2016年计算机二级C++上机模拟试题06-05

2016年计算机二级《C++》模拟试题及答案06-11

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

全国计算机二级考试C++巩固试题与答案10-03