網站首頁 工作範例 辦公範例 個人範例 黨團範例 簡歷範例 學生範例 其他範例 專題範例

C筆試題目及答案

欄目: 筆試題目 / 釋出於: / 人氣:1.82W

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; ( 1024 );

錯誤:定義個派生類的物件d,( 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等)

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

成/事件來到)

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

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

等。 (時間片到等)

就緒態→執行態:系統按某種策略選中就緒佇列中的一個程序佔用處理器,此時就

變成了執行態(程序排程)

Tags:筆試 題目