中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 個人簡歷 > 求職簡歷 > 筆試題目 > C筆試題目及答案

C筆試題目及答案

發布時間:2021-04-10

C筆試題目及答案

  C++由于語言本身過度復雜,這甚至使人類難于理解其語義。更為糟糕的是C++的編譯系統受到C++的復雜性的影響,非常難于編寫,即使能夠使用的編譯器也存在了大量的問題,這些問題大多難于被發現。下面就由第一范文網小編為大家介紹一下C++筆試題目及答案的文章,歡迎閱讀。

  C++筆試題目及答案篇1

  1. What’s overload function in C++?

  “重載”是指編寫一個與已有函數同名但參數表不同的函數。構成重載的條件是:在相同的范圍內(比如說在同一個類中),函數名字相同,但函數參數不同(要么參數類型不同,要么參數個數不同,要么兩者都不同)

  2. A. What’s inline function in C++?

  內聯函數是指嵌入代碼,就是在調用函數的地方不是跳轉,而是直接把代碼寫到那里去。它與普通函數相比能提高效率,因為它不需要中斷調用,在編譯的時候內聯函數可以直接把代碼鑲嵌到目標代碼中去,省去了函數調用的開銷,但是它是以代碼膨脹為代碼的(以增加空間消耗為代價)

  B. When would you use inline function?

  (1)一個函數不斷的被重復調用

  (2)函數只有簡單的幾行,且函數內部包含:for,while,switch語句。

  C. Please write sample code.

  void Foo(int x,int y);

  inline void Foo(int x,int y){...}

  需要注意的是:關鍵字inline必須與函數定義體放在一起才能使函數構成內聯,僅將inline放在函數聲明前不起任何作用。

  3. Which of the following are legal? For those usages thatare illegal, explain why.

  const int buf;

  不合法。因為定義const變量(常量)時必須進行初始化,而buf沒有初始化。

  int cnt = 0;

  const int sz = cnt;

  合法。

  cnt++; sz++;

  不合法。因為修改了const變量sz的值。

  4. Please point out the errors in the following C++ code. Andwhy?

  switch ( ival )

  {

  case 1, 3, 5, 7, 9:oddcnt++;

  break;

  case 2, 4, 6, 8, 10:evencnt++;

  break;

  }

  貌似case 不能把所有的情況并列列出來,沒見過 case 1, 3, 5, 7,9:這種寫法,改為 case1:oddcnt++; case 3:oddcnt++;

  C++筆試題目及答案篇2

  1. Given the following base and derived class definitions:

  class Base

  {

  public:

  foo ( int );

  protected:

  int _bar;

  double _foo_bar;

  };

  class Derived: public Base

  {

  public:

  foo ( string );

  bool bar ( Base *pb );

  void foobar ;

  protected:

  string _bar;

  };

  Identify what is wrong with each of thefollowing code fragments and how each might be fixed:

  (a) Derived d; d.foo ( 1024 );

  錯誤:定義個派生類的對象d,d.foo( 1024 );派生類中foo的參數是string,不能將int型轉換為"string"

  (b) void Derived :: foobar { _bar=1024;}

  正確:定義派生類的成員函數foobar;把整形1024賦給string ,發生類型轉換

  (c) bool Derived :: bar { Base *pb }

  { return _foo_bar = = pb->_foo_bar; }

  錯誤:沒有參數列表,還有下面不應該為"==",還有在派生類中無法訪問基類的保護成員。

  應該改為:boolDerived :: bar (Base *pb)

  { return _foo_bar = pb->_foo_bar; }

  2. A. Please list all the design patterns you known.

  常見的設計模式有23種,比如說:單例模式、工廠模式,觀察者模式、組合模式、策略模式、適配器模式、命令模式等等

  B. Please explain the pattern of “Factory” and give anexample if you can.

  工廠模式使一個類的實例化延遲到子類,換句話說也就是將創建對象實例的責任,

  轉移到工廠類中,并利用抽象的原理,將實例化行為延遲到具體工廠類。

  3. A. Please list all the sorting algorithms you known.

  排序算法:冒泡排序(最簡單了,就是2個for循環)、快速排序、選擇排序、插入排序、歸并排序、希爾排序、堆排序等等

  B. Please use pseudo code to describe the algorithm of “QuickSort”.

  快速排序采用的是分治策略,分治法的基本思想是:將原問題分解為若干個規模更小但結構與原問題相似的子問題,遞歸解決這些子問題,然后將這些子問題的解組合為原問題的解。

  快速排序:快速排序是對冒泡排序的一種改進,時間復雜度均是O(nlogn)空間復雜度是:O(logn)

  基本思想:通過一趟排序算法將待排記錄分割成2部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,則可分別對這兩部分記錄進行排序以達到整個序列有序。

  一趟快速排序做法:

  附設兩個指針low和high,設樞軸記錄關鍵字為pivotkey,則先從高位(high)起向前搜索找到第一個關鍵字小于pivotkey的記錄和樞軸記錄進行交換,然后從低位(low)所指位置向后搜索,找到第一個關鍵字大于pivotkey的記錄和樞軸記錄進行交換,重復這兩步,直至low=high為止。

  源代碼:

  void quicksort(int a, int low, int high)

  {

  inti,j,key,temp;

  if(low< high)

  {

  key= a[low];

  i= low;

  j= high;

  while(i< j)

  {

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

  if(a[i] > key)

  break;

  for(j = j; j > low; j--)

  if(a[j] < key)

  break;

  if(i< j)

  {temp = a[i];

  a[i]= a[j];

  a[j]= temp;

  }

  }

  temp= a[low];

  a[low]= a[j];

  a[j]= temp;

  quicksort(a,low,j-1);

  quicksort(a,i,high);

  }

  }

  測試:int_tmain(int argc, _TCHAR* argv)

  {

  inta={49,38,65,97,76,13,27,49};

  intsize = sizeof(a)/sizeof(int);

  quicksort(a,0,size-1);

  for(int i=0;i

  {

  cout<

  cout<

  }

  system("pause");

  return0;

  }

  C++筆試題目及答案篇3

  Please answer the following questions:

  A. What’s process scheduling and list all schedulingalgorithms you known.

  調度算法是指:根據系統的資源分配策略所規定的資源分配算法。

  1.先來先服務和短作業(進程)優先調度算法

  2.高優先權優先調度算法

  3.基于時間片的輪轉調度算法

  B. What’s the “Race Condition”?

  競態條件(racecondition)是一個在設備或者系統試圖同時執行兩個操作的時候

  出現的不希望的狀況,但是由于設備和系統的自然特性,為了正確地執行,操作必

  須按照合適順序進行。 常用在多線程環境中。

  C. Please explain the diagram of process state change.

  進程有3種基本狀態,等待、就緒、運行。

  運行態→等待態:往往是由于等待外設,等待主存等資源分配或等待人工干預而引

  起的。(服務請求,如請求I/O等)

  等待態→就緒態:等待的條件已滿足,只需分配到處理器后就能運行。(服務完

  成/事件來到)

  運行態→就緒態:不是由于自身原因,而是由外界原因使運行狀態的進程讓出處理

  器,這時候就變成就緒態。例如時間片用完,或有更高優先級的進程來搶占處理器

  等。 (時間片到等)

  就緒態→運行態:系統按某種策略選中就緒隊列中的一個進程占用處理器,此時就

  變成了運行態(進程調度)

主站蜘蛛池模板: 国产精品久久久久一区 | 顶级少妇A级毛片 | 视频免费观看高清 | 亚洲av综合色区无码一区 | 麻豆免费av | 在线观看无码AV网址 | 欧美精品网址 | 黄色录像一级视频 | 逼逼av网站 | 免费看av网 | 欧美一区不卡视频 | 免费无遮挡男女视频 | 欲妇荡岳丰满少妇岳 | 午夜性色一区二区三区不卡视频 | 又黄又爽又刺激的视频 | 日韩激情免费视频 | 扒开双腿疯狂进出爽爽爽水视频 | 青草伊人久久 | 国产无遮挡裸露视频免费 | 欧美一级日韩一级亚洲一级 | 亚洲色婷婷久久精品AV蜜桃小说 | 亚洲福利视频一区二区 | 成年免费视频播放网站推荐 | 亚洲精品成人a8198a | 四虎看片 | 激情aⅴ欧美一区二区三区 亚洲一区二区三区免费 | 成·人免费午夜视频 | av在线大片 | 精品国产第一页 | 国内精品视频在线播放 | 情侣黄网站大全免费看 | 妞干网免费 | 亚洲资源一区 | 亚洲性网址 | 免费黄色在线观看网站 | 女人扒下裤让男人桶到爽 | 欧美亚洲精品一区二区三区在线观看 | 小黄文纯肉污到你湿 | 99久久精品久久亚洲精品 | 亚洲自拍偷拍av | 一级视频在线 |