標籤:

2015面試準備03

一、單項選擇題(每小題2分,共20分)

1.在類作用域中能夠通過直接使用該類的( )成員名進行訪問。

A. 私有B. 公用C. 保護D. 任何

答案:D

2.小數類型(decimal)和浮點類型都可以表示小數,正確說法:( )

A. 兩者沒有任何區別

B. 小數類型比浮點類型取值範圍大

C.小數類型比浮點類型精度高

D. 小數類型比浮點類型精度低

答案:C

3.能作為C#程序的基本單位是()。

A. 字元B. 語句 C. 函數D. 源程序文件

答案:B

4. 可用作C#程序用戶標識符的一組標識符是()。

A. void define +WORDB. a3_b3 _123 YN

C. for -abc Case D. 2a DOsizeof

答案:B

5.引用類型主要有4種:類類型、數組類型、介面類型和( )。

A.對象類型 B.字元串類型 C.委託類型 D.整數類型

答 案:C

6.載入窗體時觸發的事件是()。

A. Click B.Load C.GotFoucsD.DoubleClick

答案:B

7.改變窗體的標題,需修改的窗體屬性是()。

A. Text B. NameC.Title D. Index

答案:A

8.在C#中定義介面時,使用的關鍵字是()。

A.interface B.: C.classD.overrides

答案:A

9.在類的成員中,用於存儲屬性值的是()。

A. 屬性 B. 方法 C. 事件 D.成員變數

答案:成員變數

10.在C#中,定義派生類時,指定其基類應使用的語句是()。

A.Inherits B.: C.Class D.Overrides

答案:B

11.類的以下特性中,可以用於方便地重用已有的代碼和數據的是().

A.多態 B.封裝 C.繼承 D.抽象

答案:C

12.在Array類中,可以對一維數組中的元素進行排序的方法是()。

A.Sort() B.Clear() C.Copy()D.Reverse()

答案:A

13.將變數從字元串類型轉換為數值類型可以使用的類型轉換方法是( )。

A.Str() B.Cchar C.CStr()D.int.Parse();

答案:D

14.數據類型轉換的類是( )。

A.Mod B.Convert C. ConstD. Single

答案:B

15.字元串連接運算符包括&和()。

A. + B. - C. *D. /

答案 A

16.先判斷條件的當循環語句是( )。

A. do...while B.while C. while...do D. do ...loop

答案:B

17. C#是一種面向( )的語言。

A. 機器 B.過程 C.對象 D.事物

答案:C

18. 假定一個10行20列的二維整型數組,下列哪個定義語句是正確的( )。

A. int[]arr = new int[10,20]

B. int[]arr = int new[10,20]

C. int[,]arr = new int[10,20]

D. int[,]arr = new int[20;10]

答案:C

19. 以下正確的描述是( )。

A. 函數的定義可以嵌套,函數的調用不可以嵌套

B. 函數的定義不可以嵌套,函數的調用可以嵌套

C. 函數的定義和函數的調用均可以嵌套

D. 函數的定義和函數的調用均不可以嵌套

答案:B

20.小數類型和浮點類型都可以表示小數,正確說法:()

A. 兩者沒有任何區別

B. 小數類型比浮點類型取值範圍大

C.小數類型比浮點類型精度高

D. 小數類型比浮點類型精度低

答案:C

21.在C#中,可以標識不同的對象的屬性是()。

A.Text B.Name C.TitleD.Index

答案:B

22.在VC#.Net中,可以標識不同的對象的屬性是( )。

A.Text B.Name C.TitleD.Index

答案:B

23.在C#中定義介面時,使用的關鍵字是( )。

A.interface B.:C.class D.overrides

答案:A

24.屬於C#語言的關鍵字()。

A. abstract B. camel C. SalaryD. Employ

答案:A

25.C#語言中,值類型包括:基本值類型、結構類型和( )。

A.小數類型 B.整數類型 C.類類型 D.枚舉類型

答案:D

26. 假定一個10行20列的二維整型數組,下列哪個定義語句是正確的( )。

A.int[]arr = new int[10,20]

B.int[]arr = int new[10,20]

C.int[,]arr = new int[10,20]

D.int[,]arr = new int[20;10]

答案:C

27. 以下正確的描述是( )。

A. 函數的定義可以嵌套,函數的調用不可以嵌套

B. 函數的定義不可以嵌套,函數的調用可以嵌套

C. 函數的定義和函數的調用均可以嵌套

D. 函數的定義和函數的調用均不可以嵌套

答案:B

28. 以下說法正確的是( )。

A. 介面可以實例化 B.類只能實現一個介面

C. 介面的成員都必須是未實現的 D.介面的成員前面可以加訪問修飾符

答案:C

29. 下列關於抽象類的說法錯誤的是( )。

A. 抽象類可以實例化 B.抽象類可以包含抽象方法

C. 抽象類可以包含抽象屬性 D.抽象類可以引用派生類的實例

答案:A

30. 下列關於重載的說法,錯誤的是( )。

A. 方法可以通過指定不同的參數個數重載

B. 方法可以通過指定不同的參數類型重載

C. 方法可以通過指定不同的參數傳遞方式重載

D. 方法可以通過指定不同的返回值類型重載

答案:D

31. 關於虛方法實現多態,下列說法錯誤的是( )。

A. 定義虛方法使用關鍵字virtual

B. 關鍵字virtual可以與override一起使用

C. 虛方法是實現多態的一種應用形式

D. 派生類是實現多態的一種應用形式

答案:B

32. 以下關於繼承的說法錯誤的是( )。

A. .NET框架類庫中,object類是所有類的基類

B. 派生類不能直接訪問基類的私有成員

C. protected修飾符既有公有成員的特點,又有私有成員的特點

D. 基類對象不能引用派生類對象

答案:D

33. 繼承具有( ),即當基類本身也是某一類的派生類時,派生類會自動繼承間接基類的成員。

A. 規律性 B.傳遞性 C.重複性 D.多樣性

答案:B

34. 下列說法中,正確的是( )。

A. 派生類對象可以強制轉換為基類對象

B. 在任何情況下,基類對象都不能轉換為派生類對象

C. 介面不可以實例化,也不可以引用實現該介面的類的對象

D. 基類對象可以訪問派生類的成員

答案:A

6.使用Dirctory類的下列方法,可以獲取指定文件夾中的文件的是( ).

A.Exists() B.GetFiles()C.GetDirectories()D.CreateDirectory()

答案:B

2.StreamWriter對象的下列方法,可以向文本文件寫入一行帶回車和換行的文本的是( )。

A.WriteLine() B.Write() C.WritetoEnd() D.Read()

答案:A

3.建立訪問鍵時,需在菜單標題的字母前添加的符號是( )。

A.!B.# C.$ D.&

答案:D

4.在C#.Net中,用來創建主菜單的對象是( )。

A. MenuB.MenuItem C.MenuStrip D.Item

答案:C

5.下面所列舉的應用程序中,不是多文檔應用程序的是( )

A.WordB.Excel C.PowerPoint D.記事本

答案:D

7.下面所列舉的應用程序中,不是多文檔應用程序的是( )

A.WordB.Excel C.PowerPoint D.記事本

答案:D

5.在Array類中,可以對一維數組中的元素查找的方法是()。

A.Sort()B.BinarySearch()C.Convert() D.Index()

答案:B

二、填空題(每空2分,共20分)

1. 當在程序中執行到 語句時,將結束所在循環語句中循環體的一次執行。

答案:continue

2. 枚舉是從System. 類繼承而來的類型。

答案:Enum

3.類中聲明的屬性往往具有get()和 兩個訪問器。

答案:set()

4.C#提供一個默認的無參構造函數,當我實現了另外一個有一個參數的構造函數時,還想保留這個無參數的構造函數。這樣我應該寫 構造函數。

答:兩個

5.介面(interface)是指: 。

答:只含有公有抽象方法(public abstract method)的類。這些方法必須在子類中被實現。

6. 在switch語句中,每個語句標號所含關鍵字case後面的表達式必須是 。

答案:常量表達式

7. 在while循環語句中,一定要有修改循環條件的語句,否則,可能造成 .。

答案:死循環

8.傳入某個屬性的SET方法的隱含參數的名稱是 。

答:value

9.C#的類不支持多重繼承,但可以用 來實現。

答案:介面

10.C#數組類型是一種引用類型,所有的數組都是從System命名空間的 類繼承而來的引用對象。

答案:object

12.一般將類的構造方法聲明為 訪問許可權。如果聲明為private,就不能創建該類的對象。

答案:public或公有

13.在方法定義中,virtual含義: 。

答案:被virtual修飾的方法可以被子類覆寫

14. C#數組元素的下標從 開始。

答案:0

15. 元素類型為double的2行5列的二維數組共佔用 位元組的存儲空間。

答案:80

16.對於方法,參數傳遞分為值傳遞和 兩種。

答案:引用傳遞

三、判斷題(每題2分,20分)

1.不能指定介面中方法的修飾符。

答:對

2.DotNet包含兩個部分,即公共語言運行時和框架類庫

答案:對

3.在同一行上可以書寫多條語句,每條語句間用分號分隔。

答案:對

4.在數據類型轉化時,只能通過類型轉換關鍵字或Convert類實現。

答案:錯

5.在定義數組時不允許為數組中的元素賦值。

答案:錯

6.定義枚舉時至少為其中的一個枚舉成員賦值。

答案:錯

7.介面與類同樣是面向對象程序設計的核心,是創建對象的模版。

答案:對

8.委託是將方法作為參數傳遞給另一方法的一種數據類型。事件與委託沒有關係。

答案:錯

9.如果要實現重寫,在基類的方法中必須使用virtual關鍵字,在派生類的方法中必須使用overrides關鍵字。

答案:錯

10.在C#類中,this代表了當前類本身。

答案:錯

11.靜態類和實例類的區別在於:靜態類不需要初始化即可直接使用,實例類需要進行實例化,生成對象才可使用。

答案:對

12.用Interval屬性設置Timer控制項Tick事件發生的時間間隔單位為秒。

答案:錯

13.設置圖片框控制項的SizeMode屬性為StretchImage時,圖片可以按圖片框的大小比例縮放顯示。

答案:對

14.可以重寫私有的虛方法。

答:錯

15.在C#中,所有類都是直接或間接地繼承System.Object類而得來的。

答案:對

16.在C#中,任何方法都不能實現多繼承。

答案:錯

17.在C#中,子類不能繼承父類中用private修飾的成員變數和成員方法。

答案:對

18.菜單項標題中有含有帶下劃線的字元,這是快捷鍵。

答案:錯

2.可以阻止某一個類被其他類繼承。

答:對

14.一個窗體中可以有多個彈出式菜單。

答案:對

5.在C#Net中,窗體父子關係通過「屬性」窗口來創建。

答案:對

7.使用Directory類的Move()方法可以刪除文件。

答案:錯

8.使用FileInfo類的Copy()方法可以複製文件。

答案:對

9.DataSet對象中的表可以和資料庫中的表同名,也可以不同名。

答案:對

10.Command對象可以執行SQL語句。

答案:對

5.使用Directory類的Move()方法可以刪除文件。

答案:錯

6.使用FileInfo類的Copy()方法可以複製文件。

答案:對

`

四、程序閱讀題(每小題5分,共30分)

1.寫出以下程序的運行結果。

using System;

class Test

{

public static void Main()

{

int x = 5;

int y = x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

}

}

答案: 5

7

2. 寫出下列函數的功能。

static int SA(int a,int b)

{

if(a>b)

return 1;

else if(a==b)

return 0;

else

return -1;

}

答案:比較兩個整數a和b的大小,若a>b則返回1,若a= =b則返回0,若a<b則返回-1。

3.寫出下列函數的功能。

static float FH() {

float y=0,n=0;

int x =Convert.ToInt32(Console.ReadLine()); //從鍵盤讀入整型數據賦給x

while (x!=-1) {

n++; y+=x;

x = Convert.ToInt32(Console.ReadLine());

}

if (n==0)

return y;

else

return y/n;

}

答案:求出從鍵盤上輸入的一批常數的平均值,以-1作為結束輸入的標誌。

4.寫出以下程序運行結果。

usingSystem;

classTest

{

static int[] a = { 1, 2, 3, 4, 5, 6, 7, 8};

public static void Main()

{

int s0, s1, s2;

s0 = s1 = s2 = 0;

for (int i = 0; i < 8; i++)

{

switch (a[i] % 3)

{

case 0: s0 += Test.a[i]; break;

case 1: s1 += Test.a[i]; break;

case 2: s2 += Test.a[i]; break;

}

}

Console.WriteLine(s0 + " " +s1 + " " + s2);

}

}

答案:912 15

5.寫出以下程序的功能。

static void f2(ref double[] a, int n)

{int i; double sum=0;

for(i=0;i<n;i++)sum+=a[i];

sum/=n;

for(i=0;i<n;i++)

if(a[i]>=sum)

Console.write( a[i] + 「「 );

Console.writeLine ();

}

答案:顯示輸出數組a中大於等於平均值的所有元素值。

6.寫出以下程序運行結果。

using System;

class Test

{

const int N=5;

public static void Main(){

inta = 0;

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

{

int c=0, b=2;

a+=3; c=a+b;

Console.write (c + 「 「 );

} }

答案:5 8 11 14

7. 寫出以下程序運行結果。

using System;

class Test

{

static void LE(ref int a, ref int b) {

int x= a;

a =b; b = x;

Console.writeLine (a + 「 「 +b);

}

public static void Main()

{

int x=10, y=25;

LE(ref x, ref y);

Console.writeLine (x + 「 「 +y);

}

}

答案:25 10

25 10

8.寫出以下程序的功能。

static void WA(ref int[] a, int n) {

for(int i=0;i<n-1;i++) {

int k=i;

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

if(a[j]<a[k]) k=j;

int x=a[i]; a[i]=a[k]; a[k]=x; }

}

答案:採用選擇排序的方法對數組a中的n個整數按照從小到大的次序重新排列。

9. 寫出以下程序的運行結果。

using System;

class Test

{

public static void Main ()

{

int[ ] a ={2,4,6,8,10,12,14,16,18};

for (int i=0; i<9; i++) {

Console.write(「 」+a[i]);

if((i+1)%3==0) Console.writeLine();

} }

}

答案:2 4 6

8 10 12

14 16 18

10. 寫出以下程序運行結果。

using System;

class Test

{

public static void Main ()

{

int s=0;

for (int i=1; ; i++) {

if (s>50) break;

if (i%2==0) s+=i;

}

Console.writeLine ("i, s=" +i + "," + s);

} }

答案:i,s = 15, 56


推薦閱讀:

星座秘籍:十二星座必知的面試風水秘籍
英語面試四大秘籍
教資面試|數學《直線的點斜式方程》教案
鞠躬都有大學問?這7條秘籍幫你躲過日本面試的禮儀雷區
面試中遇到最難的這10個問題該怎麼回答?

TAG:面試 | 準備 | 2015 |