国产在线精品一级A片-国产另类欧美-国产精品va在线观看一-我要找美国一级片黄色|www.zheinei.com

C++程序設計試題及答案一

時間:2017-04-21 11:25:28 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++程序設計試題及答案”