一、選擇填空題(每空2分,共60分)
1.在對SQL Server 資料庫操作時應選用()。
a)SQL Server .NET Framework 資料提供者;
b)OLE DB .NET Framework 資料提供者;
c)ODBC .NET Framework 資料提供者;
d)Oracle .NET Framework資料提供者;
2.下列選項中,()是參考型別。
a)enum類型
b)struct類型
c)string類型
d)int類型
3.關於ASP.NET中的程式碼後置檔案的描述正確的是()
a)Web表單頁的程式的邏輯由程式碼群組成,這些代碼的建立用於與表單互動。編程邏輯唯一與使用者介面不同的檔案中。該檔案稱作為“程式碼後置”檔案,如果用C#建立,該檔案將具有“.ascx.cs”副檔名。
b)項目中所有Web表單頁的程式碼後置檔案都被編譯成.EXE檔案。
c)項目中所有的Web表單頁的程式碼後置檔案都被編譯成項目動態連結程式庫(.dll)檔案。
d)以上都不正確。
4.以下描述錯誤的是()
a)在C++中支援抽象類別而在C#中不支援抽象類別。
b)C++中可在標頭檔中聲明類的成員而在CPP檔案中定義類的成員,在C#中沒有標頭檔並且在同一處聲明和定義類的成員。
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在衍生類別中重新定義基類的虛函數必須在前面加Override。
5.C#的資料類型有()
a)實值型別和調用類型;
b)實值型別和參考型別;
c)參考型別和關聯類型;
d)關聯類型和調用類型;
6.下列描述錯誤的是()
a)類不可以多重繼承而介面可以;
b)抽象類別自身可以定義成員而介面不可以;
c)抽象類別和介面都不能被執行個體化;
d)一個類可以有多個基類和多個基底介面;
7.在DOM中,裝載一個XML文檔的方法()
a)save方法
b)load方法
c)loadXML方法
d)send方法
8.下列關於建構函式的描述正確的是()
a)建構函式可以聲明傳回型別。
b)建構函式不可以用private修飾
c)建構函式必須與類名相同
d)建構函式不能帶參數
9.以下是一些C#中的枚舉型的定義,其中錯誤的用法有()
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
10.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是()。
a)9
b)2
c)6
d)越界
11.介面是一種參考型別,在介面中可以聲明(),但不可以聲明公有的域或私人的成員變數。
a)方法、屬性、索引器和事件;
b)方法、屬性資訊、屬性;
c)索引器和欄位;
d)事件和欄位;
12.ASP.NET架構中,伺服器控制項是為配合Web表單工作而專門設計的。伺服器控制項有兩種類型,它們是( )
a)HTML控制項和Web控制項
b)HTML控制項和XML控制項
c)XML控制項和Web控制項
d)HTML控制項和IIS控制項
13.ASP.NET中,在Web表單頁上註冊一個使用者控制項,指定該控制項的名稱為”Mike”,正確的註冊指令為( )
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非
14.在ADO.NET中,對於Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是()。
a)insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執行;
b)ExecuteNonQuery()方法返回執行Sql語句所影響的行數。
c)Select操作的Sql語句只能由ExecuteReader()方法來執行;
d)ExecuteReader()方法返回一個DataReder對象;
15.下列ASP.NET語句(b)正確地建立了一個與SQL Server 2000資料庫的串連。
a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);
d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
16.Winform中,關於ToolBar控制項的屬性和事件的描述不正確的是()。
a)Buttons屬性工作表示ToolBar控制項的所有工具列按鈕
b)ButtonSize屬性工作表示ToolBar控制項上的工具列按鈕的大小,如高度和寬度
c)DropDownArrows屬性工作表明工具列按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下方向鍵
d)ButtonClick事件在使用者單擊工具列任何地方時都會觸發
17.在ADO.NET中執行一個預存程序時,如果要設定輸出參數則必須同時設定參數的方向和( ),必要時還要設定參數尺寸。
a)大小;
b)上限;
c)初始值;
d)類型;
18.如果將表單的FormBoderStyle設定為None,則( )。
a)表單沒有邊框並不能調整大小;
b)表單沒有邊框但能調整大小;
c)表單有邊框但不能調整大小;
d)表單是透明的;
19.如果要將表單設定為透明的,則( )
a)要將FormBoderStyle屬性設定為None;
b)要將Opacity屬性設定為小於100%得值;
c)要將locked 屬性設定為True;
d)要將 Enabled屬性設定為True;
20.下列關於C#中索引器理解正確的是( )
a)索引器的參數必須是兩個或兩個以上
b)索引器的參數類型必須是整數型
c)索引器沒有名字
d)以上皆非
21.下面描述錯誤的是( )。
a)表單也是控制項;
b)表單也是類;
c)控制項是從表單繼承來的;
d)表單的父類是控制項類;
22.要對註冊表進行操作則必須包含( )。
a)System.ComponentModel命名空間;
b)System.Collections命名空間;
c)System.Threading命名空間;
d)Microsoft.Win32命名空間;
23.要建立多文檔應用程式,需要將表單的( )屬性設為true。
a)DrawGrid;
b)ShowInTaskbar;
c)Enabled;
d)IsMdiContainer;
24.如果設treeView1=new TreeView(),則treeView1.Nodes.Add("根節點")返回的是一個 ()類型的值。
a)TreeNode;
b)int;
c)string;
d)TreeView;
25.下面關於XML的描述錯誤的是()。
a)XML提供一種描述結構化資料的方法;
b)XML 是一種簡單、與平台無關並被廣泛採用的標準;
c)XML文檔可承載各種資訊;
d)XML只是為了產生結構化文檔;
26. 以下的C#代碼,試圖用來定義一個介面:
public interface IFile
{
int A;
int delFile()
{
A = 3;
}
void disFile();
}
關於以上的代碼,以下描述錯誤的是( )。
a)以上的代碼中存在的錯誤包括:不能在介面中定義變數,所以int A程式碼將出現錯誤;
b)以上的代碼中存在的錯誤包括:介面方法delFile是不允許實現的,所以不能編寫具體的實現函數;
c)代碼void disFile();聲明無錯誤,介面可以沒有傳回值;
d)代碼void disFile();應該編寫為void disFile(){};
27.在ASP.NET中有Button控制項myButton,要是單擊控制項時,導航到其他頁面http://www.abc.com, 正確的代碼為( )。
a)private void myButton_Click(object sender, System.EventArgs e){Redirect(“http://www.abc.com”);}
b)private void myButton_Click(object sender, System.EventArgs e){Request.Redirect(“http://www.abc.com”);}
c)private void myButton_Click(object sender, System.EventArgs e){Reponse.Redirect(“http://www.abc.com”);}
d)private void myButton_Click(object sender, System.EventArgs e){Request.Redirect(“http://www.abc.com”);return true;}
28.XML文檔既包含資料同時也可包含( )。
a)中繼資料;
b)架構;
c)代碼;
d)圖片;
29.在C#中利用Socket進行網路通訊編程的一般步驟是:建立Socket偵聽、( )、利用Socket接收和發送資料。
a)建立Socket串連;
b)獲得連接埠號碼;
c)獲得IP地址;
d)獲得主機名稱;
30.聲明一個委託public delegate int myCallBack(int x); 則用該委託產生的回調方法的原型應該是( )。
a)void myCallBack(int x) ;
b)int receive(int num) ;
c)string receive(int x) ;
d)不確定的;
二、判斷題,對的打√錯的打×(每小題2分,共20分)
1.( )在C#中,裝箱操作是將實值型別轉化成參考型別。
2.( )介面中的成員不可以有訪問域修飾符,但可以有其它修飾符。
3.( )在C#中,索引器是專門用來訪問對象中的數組資訊的。
4.( )在C#中,介面可以被多重繼承而類不能。
5.( )在C#中,int[][]是定義一個int型的二維數組。
6.( )異常類對象均為System.Exception類的對象。
7.( ) 當表單最小化後,再次還原成為活動表單時將自動觸發Paint事件。
8.( ) ASP.NET中,使用驗證控制項來驗證使用者輸入,要求使用者不可跳過該項輸入,並且使用者輸入值在0和1000之間,則適用RequiredFieldValidator和RangeValidator控制項。
9.( ) 聲明委託實際上是聲明了一個方法。
10.( ) 任何事物都是對象。
三、簡述題(每小題10分,共20分)
1.請簡述一下用Socket進行同步通訊編程的詳細步驟
2. 比較ADO 與ADO.NET 的不同。