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
{
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
{
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
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
{
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
{
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
{
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個問題該怎麼回答?