C++程序设计试题及答案二

时间:2017-04-26 09:13:17 C++试题 我要投稿

C++程序设计试题及答案(二)

  C++程序设计的考试大家准备得怎么样了呢?为此阳光网小编为大家推荐了C++程序设计试题,希望能帮到大家。

 C++程序设计试题及答案(二)

  C++程序设计试题(二)

  一、单项选择题

  1.下面正确的字符常量是:

  A) “c” B) ‘\\’’ C) ‘W’ D) ‘’

  2.下列字符串中不能作为C++标识符使用的是:

  A) WHILE B) user C) _1var D) 9stars

  3.执行语句序列的输出结果是______。

  int i=0;

  while(i<25)

  i+=3;

  cout<

  A) 24 B) 25 C) 27 D) 28

  4.下列符号中可以用作C++标识符的是______。

  A) radius B) foo~bar C) else D) 3room

  5.若a是int类型变量,则表达式a=25/3%3的值是:

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

  6.以下叙述中不正确的是:

  A) 在不同的函数中可以使用相同名字的变量

  B) 函数中的形参是局部变量

  C) 在一个函数内部定义的变量只在本函数范围内有效

  D) 在一个函数内部定义的变量在所有函数内部有效

  7.变量的引用,其含义是指该变量的:

  A.值 B.类型 C.别名 D.地址

  8.已知定义:char s[10]; 则下面不表示s[1]的地址的是:

  A.s+1 B.*(s+1) C.&s[0]+1 D.&s[1]

  9.通常拷贝构造函数的参数是:

  A.对象 B.对象的'成员 C.对象的引用 D.对象的指针

  10.派生类对象的构造顺序是先调用:

  A.派生类的构造函数 B.基类的构造函数

  C.内嵌对象的构造函数 D.友元类的构造函数

  二、填空题

  1.动态多态是指在___(1)____时才确定使用哪个___(2)___函数的方式。

  2.友员不是类的成员,但必须在___(3)__予以声明,它具有存取类的__(4)__成员的特权。

  3.C++中class与struct的主要区别是在缺省访问权限时,__(5)_的成员为私有的,而__(6)_的成员为公有的。

  4.若有定义语句:int a=3,b=2;,则表达式a

  5.表达式:26%3=___(8)____,32/5=___(9)____。

  6.类的成员包括__(10)__和___(11)___两种,在面向对象的术语中,前者称为属性、后者称为方法。其访问权限有三种,由符号__(12)___、__(13)__和_(14)_指定,其中具有__(15)_权限的成员只有类中的成员函数才能访问、而具有__(16)__权限的成员在任何函数中都可访问。

  7.对基类成员的初始化,必须在派生类构造函数的 (17) 中进行。

  8.C++源程序文件的扩展名是 (18) ,头文件的扩展名是 (19) 。

  9.若n为整型,则表达式n=(float)2/3的值是 (20) 。

  三、写出程序的运行结果

  1.写出程序运行结果

  include

  #include

  class CRect

  {

  private:

  char color[10];

  int left;

  int top;

  int length;

  int width;

  public:

  CRect();

  CRect(char *c, int t, int lef, int len, int wid);

  void SetColor(char *c);

  void SetSize(int l=100, int w=100);

  void Move(int t,int l);

  void Draw();

  };

  CRect::CRect()

  {

  strcpy(color, "Black");

  top = 0;

  left = 0;

  length = 0;

  width = 0;

  }

  CRect::CRect(char *c, int t, int lef, int len, int wid)

  {

  strcpy(color, c);

  top = t;

  left = lef;

  length = len;

  width = wid;

  }

  void CRect::SetColor(char *c)

  {

  strcpy(color, c);

  }

  void CRect::SetSize(int l, int w)

  {

  length=l;

  width = w;

  }

  void CRect::Move(int t,int l)

  {

  top = t;

  left = l;

  }

  void CRect::Draw()

  {

  cout << "矩形左上角坐标为(" << left << "," << top << ")" << endl;

  cout << "矩形长和宽分别为" << length << "," << width << endl;

  cout << "矩形的颜色是" << color << endl;

  }

  void main()

  {

  CRect r;

  r.SetColor("Red");

  r.Move(10,20);

  r.SetSize(100,200);

  r.Draw();

  r.Move(50,50);

  r.SetColor("Blue");

  r.Draw();

  }

  2.写出程序运行结果

  #include

  class A

  {

  int x,y;

  public:

  A()

  {

  x=0;

  y=0;

  }

  A(int a, int b)

  {

  x=a;

  y=b;

  }

  ~A()

  {

  if(x==y)

  cout << "x=y" << endl;

  else

  cout << "x!=y" << endl;

  }

  void Display()

  {

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

  }

  };

  void main()

  {

  A a1, a2(2,3);

  a1.Display();

  a2.Display();

  }

  3.写出程序运行结果

  #include

  class A

  {

  private:

  int n;

  public:

  A(int i)

  {

  n=i;

  }

  operator ++()

  {

  n++;

  }

  operator ++(int )

  {

  n+=2;

  }

  void Display()

  {

  cout << "n=" << n << endl;

  }

  };

  void main()

  {

  A a(2), b(2);

  a++;

  ++b;

  a.Display();

  b.Display();

  }

  4.写出程序运行结果

  #include

  int func1(int n);

  int func2(int n);

  void main()

  {

  int sum;

  sum = func2(5);

  cout << sum << endl;

  }

  int func1(int n)

  {

  if(n==1)

  return 1;

  else

  return n*func1(n-1);

  }

  int func2(int n)

  {

  int s = 0;

  for(int i=1; i<=n; i++)

  s += func1(i);

  return s;

  }

  >>>下一页更多精彩“ C++程序设计试题及答案”