C 綜合筆試題1

2021-05-14 16:54:04 字數 4205 閱讀 4093

1.靜態成員和非靜態成員的區別?

答:靜態變數使用 static 修飾符進行宣告,在類被例項化時建立,通過類進行訪問不帶有 static 修飾符宣告的變數稱做非靜態變數,在物件被例項化時建立,通過物件進行訪問乙個類的所有例項的同一靜態變數都是同乙個值,同乙個類的不同例項的同一非靜態變數可以是不同的值靜態函式的實現裡不能使用非靜態成員,如非靜態變數、非靜態函式等

示例:

using system;
using system.collections.generic;
using system.text;
namespace example01
static void main(string args)
", class1.staticstr);
class1 tmpobj1 = new class1();
tmpobj1.notstaticstr = "tmpobj1";
class1 tmpobj2 = new class1();
tmpobj2.notstaticstr = "tmpobj2";
//非靜態變數通過物件進行訪問,不同物件的同一非靜態變數可以有不同的值
console.writeline("tmpobj1's notstaticstr: ", tmpobj1.notstaticstr);
console.writeline("tmpobj2's notstaticstr: ", tmpobj2.notstaticstr);
console.readline();
}
}
}

結果:

class1's staticstr: class

tmpobj1's notstaticstr: tmpobj1

tmpobj2's notstaticstr: tmpobj2

2.const 和 static readonly 區別?

答:const

用 const 修飾符宣告的成員叫常量,是在編譯期初始化並嵌入到客戶端程式

static readonly

用 static readonly 修飾符宣告的成員依然是變數,只不過具有和常量類似的使用方法:通過類進行訪問、初始化後不可以修改。但與常量不同的是這種變數是在執行期初始化

示例:

測試類:

using system;
using system.collections.generic;
using system.text;
namespace example02lib
}
客戶端**:
using system;
using system.collections.generic;
using system.text;
using example02lib;
namespace example02
", class1.strconst);
console.writeline("strstaticreadonly : ", class1.strstaticreadonly);
console.readline();
}
}
}

結果:

strconst : const

strstaticreadonly : staticreadonly

修改後的示例:

測試類:

using system;
using system.collections.generic;
using system.text;
namespace example02lib
}

結果

strconst : const

strstaticreadonly : staticreadonly changed

3.extern 是什麼意思?

答:extern 修飾符用於宣告由程式集外部實現的成員函式經常用於系統api函式的呼叫(通過 dllimport )。注意,和dllimport一起使用時要加上 static 修飾符也可以用於對於同一程式集不同版本元件的呼叫(用 extern 宣告別名)不能與 abstract 修飾符同時使用

示例:

using system;
using system.collections.generic;
using system.text;
using system.runtime.interopservices;
namespace example03
}
}

結果:

4.abstract 是什麼意思?

答:abstract 修飾符可以用於類、方法、屬性、事件和索引指示器(indexer),表示其為抽象成員.abstract 不可以和 static 、virtual 一起使用宣告為 abstract 成員可以不包括實現**,但只要類中還有未實現的抽象成員(即抽象類),那麼它的物件就不能被例項化,通常用於強制繼承類必須實現某一成員

示例:

using system;
using system.collections.generic;
using system.text;
namespace example04
//抽象方法,傳入乙個字串引數無返回值
public abstract void function(string value);
//抽象事件,型別為系統預定義的**(delegate):eventhandler
public abstract event eventhandler event;
//抽象索引指示器,只具有get訪問器表示繼承類必須將該索引指示器實現為唯讀
public abstract char this[int index]
}
#endregion
#region 繼承類
public class deriveclass : baseclass
set
}
public override void function(string value)
}
public override event eventhandler event;
public override char this[int index]
}
}
#endregion
class program
}
static void main(string args)
}
}

結果:

123456776

5432

1

綜合筆試題

1 寫乙個輸入整數 如123456789 轉換為二進位制的程式,如輸入32則輸出1000000 public class convertutil public static int doibinarystringtointeger string from 2 寫出對100個整數進行排序的程式,要求用...

雅虎公司C 筆試題 1

雅虎公司c 筆試題,包括問答題和選擇題兩部分。試試看,你能回答出多少題,可以通過雅虎的考試嗎?question 1.單選 在計算機網路中,表徵資料傳輸可靠性的指標是 1.傳輸率 2.誤位元速率 3.資訊容量 4.頻帶利用率 question 2.單選 以下關於鏈式儲存結構的敘述中哪一條是不正確的?1...

北電C語言筆試題(1)

寫乙個氣泡排序方法,bubblesort int data,int numbers of data 要求如下 1 滿足陣列data中的所有偶數和所有奇數均是遞增排序。2 滿足data中奇 偶數分別排開,偶在前,奇在後,如 原始data 1 4 8 5 6 9 2 7 經過你寫的函式排序後變成 2 4...