圖書簡介:
C#作為Microsoft公司的重要新產品,越來越受到軟件開發人員的青睞,現在許多軟件公司都把C#作為自己產品的開發平臺。
本書共分8章,每章都是以項目引領,每一項目的展開都以項目實施為邏輯順序,劃分為若干個工作任務,把相關的理論知識以項目進行的順序有機地融入闡述。通過本書的學習,讀者可以初步具備開發Windows應用程序的能力。
本書是在全國進行教育課程教學改革大環境下,為適應高等職業院校項目化教學改革編寫的,宗旨是培養學習者的實際編程能力。
本書可以作為高等職業院校信息管理及相關專業的教材,也可以作為其他學習 C#程序設計又想快速提高自己編程能力的學習者的參考用書。
前 言
傳統的教學組織方式主要是班級授課制,以課堂教學的形式來開展,學生學習的主要方式以聽講、討論、閱讀、背誦、理解和書面練習為主。班級授課方式符合傳統職業教育課程重理論知識傳授的需求,是一種在“去情景化”課堂中,傳授給學生所需的理論知識的教學方法。它認為學生通過一定的實訓就可以將知識運用于實踐,是一種“從理論到實踐”的線性演繹過程。這種學校本位的課堂教學模式,造成了職業教育實訓課與理論課的劃分,同時也將理論與實踐割裂開來。
職業教育作為不同于普通教育的另一種類型的教育,是一種研究通過什么樣的教育途徑來獲取合適的職業從業資格的科學。目前,我國職業教育項目課程改革的高潮已經形成,項目課程是高職課程未來的發展方向。高職項目課程的提出,正是以工學結合為主線整合了理論與實踐。相對應的項目課程應該注重理論、實踐的一體化,以學生活動為主建立適合學生活動的教學組織方式。遵循項目課程改革的思路,筆者及同事們在過去一年的時間里對高職“C#程序設計”這一門課程的項目教學進行了深入的探討和研究,并進行了一段時間的實踐,目前尚不能說我們的項目化教學取得了成功,但至少可以說我們有了一些認識,取得了一些經驗。我們的目的在于,探索項目化課程實施的一般性步驟與方法,使得學習主體在學習中有意識地掌握三個相互依存、有機聯系的本領:一是學會獨立地制訂計劃,這是一種預測性、診斷性的工作訓練;二是學會獨立地實施計劃,這是一種過程性、形成性的工作訓練;三是學會獨立地評估計劃,這是一種總結性、反饋性的工作訓練。
本書就是以項目課程的思路編寫的。《C#程序設計》一書分為上、下兩冊,上冊為Windows項目開發,下冊為Web項目開發。本書是上冊,上冊共選取了7個項目,除第1章外,每章一個項目,每個項目的展開都以項目實施為邏輯順序,劃分為若干個工作任務,把相關的理論知識以項目進行的順序有機地融入闡述,而7個項目基本覆蓋了大綱要求的能力目標,通過本書的學習,讀者可以初步具備開發Windows應用程序的能力。
本書的第1章通過創建一個控制臺應用程序和Windows應用程序,幫助讀者了解Visual Studio .NET 2010的開發環境;第2章是一個存款計算器小項目,主要幫助讀者掌握基本的 C#語法、基本數據類型、變量、表達式計算等基本的編程知識;第3章是一個門票銷售計算器,主要的教學目標是分支控制結構的運用;第4章和第5章的項目是一個學生成績統計器和排序系統,也是比較小的項目,意在幫助讀者掌握循環控制結構以及基本的排序算法;第6章的項目是一個標準的四則運算計算器,加入此項目主要是學習 C#中的方法,并訓練編程的邏輯思維;第7章的貪吃蛇游戲則是一個比較復雜的項目,選取這一項目是考慮到面向對象編程語言中關鍵的一個內容——類的學習,同時涵蓋了 GDI+ 的一些基本知識;第8章介紹的C/S架構的通訊錄管理系統,是一個麻雀雖小但五臟俱全的數據庫系統開發項目,即通過ADO.NET技術實現對數據的查詢、添加、修改和刪除等操作。
作為高職“C#程序設計”課程的教材,本書作者安排了一個大概的學時分配,供廣大教師或學員參考。
章 學時分配
第1章 4
第2章 6
第3章 8
第4章 10
第5章 12
第6章 18
第7章 30
第8章 42
合計 130
參加本書編寫工作的有邵順增、李琳、耿亞、馮益斌和車金慶等。在此我們還要對馬永山、肖玉表示感謝,他們對本書的編寫工作提出了寶貴的意見。
由于作者水平有限,書中難免存在缺點及不妥之處,歡迎廣大讀者批評指正,同時更歡迎從事本課程教學的同仁與我們共同探討項目課程以及項目課程教材編寫方面的問題。
編 者
目 錄
第1章 第一個應用程序 1
1.1 項目一:第一個控制臺應用程序 1
1.1.1 工作目標 1
1.1.2 工作任務 1
1.1.3 工作任務一:創建第一個空控制臺應用程序 1
1.1.4 工作任務二:編寫程序代碼運行調試程序 4
1.2 項目二:第一個Windows應用程序 6
1.2.1 工作目標 6
1.2.2 工作任務 7
1.2.3 工作任務一:創建第一個
Windows應用程序 7
1.2.4 工作任務二:設計程序界面及控件屬性設置 8
1.2.5 工作任務三:編寫程序代碼、運行調試程序 10
1.2.6 問題探究 12
1.2.7 項目實踐 13
第2章 存款計算器 14
2.1 工作目標 14
2.2 工作任務 15
2.3 工作任務一:項目分析與算法流程設計 15
2.4 工作任務二:界面設計 15
2.5 工作任務三:代碼編寫 17
2.5.1 知識準備 17
2.5.2 代碼編寫與分析 29
2.6 工作任務四:系統運行與效果測試 36
2.7 問題探究 36
2.8 項目實踐 37
第3章 門票銷售計算器 40
3.1 工作目標 40
3.2 工作任務 43
3.3 知識準備 43
3.4 工作任務一:項目分析與算法流程設計 52
3.5 工作任務二:界面設計 54
3.6 工作任務三:代碼編寫 56
3.7 工作任務四:系統運行與效果測試 60
3.8 問題探究 60
3.9 項目實踐 61
第4章 學生成績統計器 66
4.1 工作目標 66
4.2 工作任務 66
4.3 工作任務一:項目分析與算法流程設計 67
4.4 工作任務二:代碼編寫 68
4.4.1 知識準備 68
4.4.2 代碼編寫與分析 80
4.5 工作任務三:系統運行與效果測試 83
4.6 問題探究 83
4.7 項目實踐 84
第5章 成績排序系統 89
5.1 工作目標 89
5.2 工作任務 90
5.3 工作任務一:項目分析與算法流程設計 90
5.4 工作任務二:界面設計 94
5.5 工作任務三:代碼編寫 94
5.5.1 知識準備 94
5.5.2 代碼編寫與分析 106
5.6 工作任務四:系統運行與效果測試 111
5.7 問題探究 111
5.8 項目實踐 111
第6章 四則運算計算器 114
6.1 項目一:整數四則運算計算器設計 114
6.1.1 工作目標 114
6.1.2 工作任務 114
6.1.3 工作任務一:構建計算器的狀態圖 115
6.1.4 工作任務二:設計程序模塊的流程圖 117
6.1.5 工作任務三:設計界面,完成窗體及控件的屬性設置 121
6.1.6 工作任務四:編寫程序代碼 122
6.1.7 工作任務五:測試軟件,對錯誤進行調試修改 132
6.2 項目二:實數四則運算計算器設計 132
6.2.1 工作目標 132
6.2.2 工作任務 132
6.2.3 工作任務一:設計程序模塊的流程圖 133
6.2.4 工作任務二:編寫程序代碼 136
6.3 項目三:帶記憶功能的計算器設計 139
6.4 問題探究 141
6.5 項目實踐 141
第7章 貪吃蛇游戲 142
7.1 工作目標 142
7.2 工作任務 143
7.3 知識準備——類、對象、字段、屬性和方法 143
7.3.1 類的基本概念 143
7.3.2 屬性 146
7.3.3 實例構造函數 150
7.4 工作任務一:項目總體設計 155
7.4.1 項目功能描述 155
7.4.2 主窗體布局 155
7.4.3 項目的總體結構 156
7.5 工作任務二:Bean類 157
7.5.1 豆(Bean)類分析 157
7.5.2 豆(Bean)類實現 157
7.5.3 豆(Bean)類代碼 160
7.6 工作任務三:Block類 161
7.6.1 塊(Block)類分析 161
7.6.2 塊(Block)類實現 162
7.6.3 塊(Block)類代碼 163
7.7 工作任務四:Snake類 164
7.7.1 蛇(Snake)類分析 164
7.7.2 蛇(Snake)類實現 166
7.7.3 蛇(Snake)類代碼 175
7.8 工作任務五:Floor類 180
7.8.1 場地(Floor)類分析 180
7.8.2 場地(Floor)類實現 181
7.8.3 場地(Floor)類代碼 185
7.9 工作任務六:PubClass類 187
7.10 工作任務七:Speed類 188
7.10.1 自定義速度(Speed)類分析 188
7.10.2 自定義速度(Speed)類代碼 190
7.11 工作任務八:主界面(Start類) 190
7.11.1 主界面(Start類)分析 190
7.11.2 主界面(Start類)實現 193
7.11.3 主界面(Start類)代碼 198
7.12 知識擴展——派生類 201
7.13 問題探究 206
7.14 項目實踐 207
第8章 通訊錄管理系統 208
8.1 工作目標 208
8.2 工作任務 209
8.3 知識準備 209
8.3.1 管理信息系統 209
8.3.2 C/S結構 210
8.3.3 ADO.NET 技術框架 210
8.4 工作任務一:系統概要設計 213
8.4.1 功能模塊分析 213
8.4.2 數據庫設計 213
8.5 工作任務二:設計“用戶管理”窗體 215
8.6 工作任務三:設計“用戶登錄”窗體 220
8.6.1 知識準備 220
8.6.2 任務實現 223
8.7 工作任務四:設計“主操作”窗體 230
8.7.1 知識準備 230
8.7.2 任務實現 237
8.8 工作任務五:設計“新增聯系人”窗體 246
8.8.1 知識準備 246
8.8.2 任務實現 247
8.9 工作任務六:設計“修改聯系人”窗體 255
8.9.1 知識準備 255
8.9.2 任務實現 257
8.10 工作任務七:設計“查找聯系人”窗體 261
8.10.1 知識準備 261
8.10.2 任務實現 264
8.11 問題探究 267
8.12 項目實踐 268
參考文獻 269