(轉載)ES6、ES7、ES8、ES9、ES10新特性一覽
728
2025-03-31
軟件職業技術學院
2008 ~2009 學年 第 2 學期
級軟件工程專業C#程序設計基礎 課程期末試卷
題號
一
二
三
四
五
六
七
八
九
十
總分
一、判斷題(共8分,每題1分)
1.C#語言屬于解釋型語言 ( )
2.在C#中所有類的基類都是Object類 ( )
3.抽象類可以用來實例化對象 ( )
4.File類可以用于操作文件內的數據 ( )
5.析構函數可以有多個重載。 ( )
6.一個可以獨立運行的程序有且只能有一個Main函數 ( )
7. 成員變量不賦初值也能使用。 ( )
8.函數重載要求參數的個數不同或參數的類型不同或返回值類型不同( )
二、選 擇 題(共40分,每題2分)
1.C#語言中最簡單的數據類型包括 ( )
A)整型、實型、邏輯型?????????? B)整型、實型、字符型
C)整型、字符型、邏輯型???????? D)整型、實型、邏輯型、字符型
2.下列給出的變量定義正確的方式是 ( )
A)int No$1?????? B)char _No????? C)float new?????? D)string public
3.設a=7,b=3,則表達式a*=b+2的值為: ( )
A)23?????? B)35?????? C)27?????? D)36
4.為表示關系x≤y≥z,應使用C#語言表達式 ( )
A)(x<=y)&&(y>=z)??????????????? ? B(x<=y)AND(y>=z)
C)(x<=y>=z)???????????????????? ? D)(x<=y)||(y>=z)
5.以下程序的輸出結果是 ( )
static void Main(string[] args)
{?? int x=8,y=8;
Console.Write("{0},{1}\n",x++,++y);}
A)8,8 ???????????????????????? B)9,9
C)9,8???????????????????????? D)8,9
6.C#程序中,可使用try..catch 機制來處理程序出現的以下那種類型的錯誤. ( )
A. 語法 B. 運行 C. 邏輯 D. 拼寫
7.設有說明語句int [] a=new int[8]則數組a包括了幾個數組元素。 ( )
A)6?????? B)7?????? C)8??????D)9
8.C#中MyC 為一自定義類,其中有以下方法定義 ( )
public static void Hello(){..}
使用以下語句創建了該類的對象,并使變量obj 引用該對象:
MyC obj = new MyC ();
那么,如何才能正確訪問類MyC的Hello 方法?
A. obj.Hello(); B. MyC.Hello(); C. 以上兩種方式都能正確; D.以上兩種方式都不正確 ;
9. using System; ( )
static void? Main(string[] args)
{? char? c1=(char)70;??? /*‘A’的ASCII碼值為65? */
if? (‘A’<=c1 && c1<=’Z’)
Console.Write(“{0},{1}”,c1,c1+1);
else?? Console.Write(c1);? }
運行結果:
A. 70,71 B. F,G C. 70,G D. F,71
10.以下哪個命名空間中的類和接口可以用于操作Access數據庫?
A. System.Data B. System.IO C. System.Data.SqlClient D. using System.Data.OleDb;
11.Static void? Main(string[] args) ( )
{ byte b = 255;
unchecked
{b++;}
Console.WriteLine(b); }
運行結果:
A.256 B.255 C.0 D.1
12.以下關于DataSet的描述正確的是. ( )
A.一個DataSet不能包含多個DataTable
B.DataSet只能實現對數據的查詢,不能實現數據的插入、修改和刪除
C. DataSet是ADO.NET面向無連接的數據庫操作的最佳體現。
D. 如果操作SqlServer數據庫,最好采用SqlDataSet,操作其他數據庫則應采用OleDbDataSet
13.要控制打開文件對話框(OpenFileDialog)可以打開的文件類型.需設置OpenFileDialog的___________屬性。
A.FileName B. Filter C. FilterIndex D.FileNames
14.要使ComboBox控件中的內容只能選擇,不能輸入,需設置它以下哪個屬性 ( )
A. ReadOnly B.ComboStyle C.DropDownStyle D.Style
15. 在C#中,將路徑名”C: \Doc\”存入字符變量path中的正確語句是: ( )
A path=“C://Doc//”;
B path=“C:\/Doc\/”;
C path=“C:\\Doc\\”;
D path=“C: \Doc\”;
本試卷共 4 頁,此頁為 A 卷第 1 頁 (注:參加重修考試者請在重修標識框內打鉤)
16.對于類:
class Test
{
private int a;
public int A
{
get{ return a;}
}
}
以下代碼可以正確使用成員變量a或屬性A的是: ( )
A. Test t=new Test(); B. Test t=new Test();
t.a=5; Console.WriteLine(t.a);
C. Test t=new Test(); D. Test t=new Test();
t.A=5; Console.WriteLine(t.A);
17. C#程序中,為使變量myForm 引用的窗體對象顯示為對話框,必須:
A. 使用myForm.ShowDailog 方法顯示對話框
B. 將myForm 對象的isDialog 屬性設為true
C. 將myForm 對象的FormBorderStyle 枚舉屬性設置為FixedDialog
D. 將變量myForm 改為引用System.Windows.Dialog 類的對象
18.在ADO.NET中,為了確保DataAdapter對象能夠正確地將數據從數據源填充到DataSet中,則必須事先設置好DataAdapter對象的下列哪個Command屬性? ( )
A. Delete Command B. Update Command C. Insert Command D. Select Command
19.想要得到當前正在運行的應用程序所在文件夾的路徑,需使用以下哪個屬性。 ( )
A.Application.StartupPath B.Application.ExecutablePath
C. this.Path D. File.CurrentPath
20.要向ListBox控件listBox1中添加一個新選項,需使用以下哪個方法。 ( )
A.listBox1.Rows.Add() B. listBox1.Item.Add()
C. listBox1.Add() D. listBox1.Insert()
三、簡答題(共20分,每題5分)
1. 簡述訪問修飾符的作用、C#中有哪幾種修飾符,以及各修飾符的訪問特點
2.簡述ADO.NET的面向無連接操作數據庫的含義、特點及實現方式
3.談談你對面向對象的多態性的理解
4.簡述FileStream類、StreamWriter類與StreamReader類、BinaryWriter類與BinaryReader類三者之間的區別
本試卷共 4 頁,此頁為 A 卷第 2 頁
四、程序題(共32分,第1題8分,第2題10分,第3題14分)
1.打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個“水仙花數”,因為153=1*1*1+5*5*5+3*3*3?? (8分)
2. 編寫一個利用鍵盤控制窗體上紅色方塊移動的程序,當用戶按下鍵盤上的“上”、“下”、“左”、“右”鍵時,方塊會向該方向移動。程序的運行界面如圖所示。(10分)
int x=20,y=20; //x控制方塊的當前橫坐標,y控制方塊的當前縱坐標
bool isDrawed=false; //標識窗體上當前是否已經繪制了最初的方塊
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
}
本試卷共 4 頁,此頁為 A 卷第 3 頁
3.設計一個數據庫管理程序,要求完成以下功能:(14分)
1)在Form1中實現用戶的登錄功能,如果用戶登錄成功,則進入另外一個窗體Form3(Form3中暫不實現任何代碼),如果用戶登錄不成功,要求采用MessageBox提示用戶到底是用戶名不存在還是密碼輸入錯誤。用戶點擊?Form1中的注冊按鈕可彈出Form2進行新用戶的注冊
2)在Form2中實現注冊功能:將textBox1, textBox2, comboBox1,textBox3中的內容依次插入Access數據庫Test.MDB中的myUsers表的字段有uName類型為nvarchar(20)、uPwd類型為nvarchar(20)、uGender類型為nvarchar(2)、uAge類型為int(4)中.
public class Form1 : System.Windows.Forms.Form
{
private void button1_Click(object sender, System.EventArgs e)
//登錄按鈕的事件代碼
{
}
private void button2_Click(object sender, System.EventArgs e)
//Form1中注冊按鈕的事件代碼
{
}
}
public class Form2 : System.Windows.Forms.Form
{
private void button1_Click(object sender, System.EventArgs e)
//Form2中注冊按鈕的事件代碼
{
}
}
本試卷共 4 頁,此頁為 A 卷第 4 頁
中原工學院軟件職業技術學院
2008~2009 學年 第 2 學期
08級軟件工程專業C#程序設計 課程期末試卷標準答案(即評分標準)
一、判斷題(共8分,每題1分)
錯對錯錯錯對對錯
二、選 擇 題(共40分,每題2分)
DDBAD BCBDD CCBCC DADAB
三、簡答題(共20分,每題5分)
1)訪問修飾符的作用是為了控制它所修飾的成員變量、屬性、方法或類的對外可訪問性的。C#中共有四種訪問修飾符:Public、Private、Protected、Interval.Public修飾符可使任何外部類都能訪問,Private只有本類可以訪問,Protected只有子類能訪問,Internal只有在同一程序集下的類才能訪問
2)所謂面向無連接,就是程序可以在不和數據庫保持連接的情況下訪問數據庫中的數據,在C#中實現此技術的是DataSet,在程序將數據庫中的數據填充到DataSet后,即和數據庫斷開連接。程序后續操作完全可以從內存的DataSet中獲取數據。
3)所謂多態性是指,在通過父類的引用調用具有多態實現的方法時,程序可自動根據該引用所指的實際對象的具體類型來調用該對象實際的方法,而非一味的調用父類的方法。
4)FileStream類是操作文件內容的基本類型,但它能讀寫的數據類型有限,只能以Byte類型方式讀寫數據。StreamWriter和StreamReader可以文本文件形式讀寫數據,讀寫方式靈活、BinaryWriter和BinaryReader可以以二進制形式讀寫文件,讀寫方式靈活。
四、編程題(共32分)(本題所有答案均為參考,如若有其他正確思路并結構清晰的答案仍然可以給滿分)
1.(8分)
Using System;
Class shuixian
{ Static void Main(string[] args)
{ int x,y,z,m,n;
for(x=0;x<=9;x++) 1分
for(y=0;y<=9;y++) 1分
for(z=0;z<=9;z++) 1分
{ m=x*100+y*10+z 2分
n=x*x*x+y*y*y+z*z*z 1分
if(m==n) 1分
Console.WriteLine(m)?; 1分
}}}
2. (10分)
int x=20,y=20;
bool isDrawed=false;
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
Graphics g=this.CreateGraphics();
g.FillRectangle(new SolidBrush(this.BackColor),x,y,20,20);
switch(e.KeyData)
{
case Keys.Left:
x-=5;
break;
case Keys.Right :
x+=5;
break;
case Keys.Up:
y-=5;
break;
case Keys.Down:
y+=5;
break;
}
g.FillRectangle(new SolidBrush(Color.Red),x,y,20,20);
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
if(!isDrawed)
{
this.CreateGraphics().FillRectangle(new SolidBrush(Color.Red),x,y,20,20);
isDrawed=true;
}
}
本試卷答案共 2 頁,此頁為第 1 頁
3.(14分)
private void button2_Click(object sender, System.EventArgs e)
//Form1中注冊按鈕
{
Form2 f=new Form2();
f.Show();
}
private void button1_Click(object sender, System.EventArgs e)
//Form1中的登錄按鈕
{
OleDbConnection conn=new OleDbConnection("provider=Microsoft.Jet.OleDb.4.0;data source=Test.MDB");
conn.Open ();
OleDbCommand cmd=new OleDbCommand();
cmd.Connection =conn;
cmd.CommandText="select upwd from myusers where uname=@username";
cmd.Parameters .Add(new OleDbParameter("@username",textBox1.Text));
OleDbDataReader dr=cmd.ExecuteReader();
if(dr.Read)
{
if(dr[0].ToString()==textBox2.Text)
{
Form3 f=new Form3();
f.Show ();
}
else
{
MessageBox.Show("密碼錯誤");
}
}
else
{
MessageBox.Show("用戶名不存在");
}
conn.Close ();
}
private void button1_Click(object sender, System.EventArgs e)
//Form2中的注冊按鈕
{
OleDbConnection conn=new OleDbConnection("provider=Microsoft.Jet.OleDb.4.0;data source=Test.MDB");
conn.Open ();
OleDbCommand cmd=new OleDbCommand();
cmd.Connection =conn;
cmd.CommandText="insert into myUsers values(@UserName,@UserPwd@UserSex,@UserAge)";
cmd.Parameters .Add(new OleDbParameter("@UserName",textBox1.Text));
cmd.Parameters .Add(new OleDbParameter("@UserPwd",textBox2.Text ));
cmd.Parameters .Add(new OleDbParameter("@UserSex",comboBox1.SelectedItem));
cmd.Parameters .Add(new OleDbParameter("@UserAge",textBox3.Text));
cmd.ExecuteNonQuery();
conn.Close ();
}
本試卷答案共 2 頁,此頁為第 2 頁
C# 數據結構
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。