本書是適合理論實踐一體化教學模式的教材,結合已開發(fā)的完整項目實例學生成績管理系統(tǒng),介紹了程序邏輯、C#程序設計基礎、面向對象的編程。全書以項目為載體、以案例為驅動,由淺入深、循序漸進地介紹了學生成績管理系統(tǒng)項目開發(fā)的完整過程。在本書的編寫過程中,重要知識點和技能點,如C#語言基礎、程序控制結構、數(shù)組、函數(shù)、類、對象、繼承、多態(tài)、委托與事件、異常處理、文件的輸入與輸出等都穿插在項目實現(xiàn)之中。這種做法有利于讀者快速掌握C#程序開發(fā)的基本知識、技巧和方法。本書結構新穎,層次分明,內容豐富,充分考慮了高職高專學生的特點,具體案例與C#語言的功能緊密結合。書中所有案例及課堂實訓都選自編者多年積累的教學素材,具有很強的代表性和實用性。本書適合作為高職高專院校C#程序設計的教材,也可作為C#程序設計自學人員的參考書。
1.面向應用,問題牽引。
2.圍繞項目,案例驅動 。
3.編碼規(guī)范,習慣良好。
本書第一版出版發(fā)行至今已接近十年,承蒙讀者的厚愛,進行了兩次重印。鑒于第一版依賴的開發(fā)環(huán)境是Visual Studio .NET 2005,但該版本的軟件目前已經(jīng)不再使用,本次修訂,我們將本書所依賴的環(huán)境升級為Visual Studio .NET 2015,并對其中的一些小錯誤進行了更正。
C#是微軟公司推出的一種面向對象的編程語言,是.NET開發(fā)平臺的重要組成部分。它功能強大、編程簡潔明快,開發(fā)效率高,應用十分廣泛。
本書圍繞軟件開發(fā)職業(yè)崗位設計,在能力目標上,重點培養(yǎng)學生的編程邏輯能力、面向對象的分析和設計能力;在內容選擇上,選取了C#語言基礎、程序控制結構、數(shù)組、函數(shù)、類、對象、繼承、多態(tài)、委托與事件、異常處理、文件的輸入和輸出等;在內容組織上,以項目為載體,以案例為驅動,將知識點、技能點的學習融合到具體的案例之中。本書的導航圖如下:
本書具有以下特點:
1.面向應用,問題牽引
本書在編寫的過程中,按照提出問題分析問題解決問題的思路編寫,引導學生不斷思考,提高學生分析問題和解決問題的能力。
2.圍繞項目,案例驅動
為了配合教材的編寫,編者以一個具體的項目學生成績管理系統(tǒng)為載體,設計了一系列案例,將知識點和技能點的學習融入到案例當中,提高學習者的興趣。
3.編碼規(guī)范,習慣良好
本書在對類、對象、方法、屬性、文件等命名時,遵守統(tǒng)一的命名規(guī)則,使初學者一開始就養(yǎng)成良好的編程習慣。
本書結構層次分明,內容豐富,充分考慮了高職高專學生的特點,具體案例與C#語言的功能緊密結合。書中所有案例及課堂實訓都選自編者多年積累的教學素材,具有很強的代表性和實用性。使用本教材,讀者可在輕松的氛圍中掌握項目開發(fā)的基本知識、技巧和方法。
本書由湖南鐵路科技職業(yè)技術學院信息技術系周龐榮、易斌任主編,王梟婷、張紅秀任副主編,于訓全任主審。全書分為14章,其中第1~5章由周龐榮編寫,第6章由武漢城市職業(yè)學院張紅秀編寫,第7章由河北交通職業(yè)技術學院王梟婷編寫,第8~14章由易斌編寫。于訓全對本書進行了認真的審閱,并提出了寶貴意見。
由于編者水平有限,加之時間倉促,書中難免有疏漏之處,敬請讀者批評指正。
編
者
2019年3月
周龐榮,湖南鐵路科技職業(yè)技術學院
第1章 編程邏輯 1
1.1 什么是程序 1
1.2
I-P-O周期 2
1.3 繪制一個簡單的程序流程圖
2
1.3.1
初步認識繪制程序
流程圖的符號 2
1.3.2
認識繪制程序流程圖的
工具 3
1.3.3
繪制程序流程圖 4
1.4 繪制順序結構流程圖 5
1.4.1
初步認識變量和常量 5
1.4.2
初步認識數(shù)據(jù)類型 5
1.4.3
聲明變量 6
1.4.4
初步認識運算符
與表達式 6
1.4.5
繪制順序結構流程圖 8
1.5 繪制簡單的選擇結構流程圖
9
1.5.1
選擇結構 9
1.5.2
構造條件表達式 10
1.5.3
繪制程序流程圖 10
1.6 繪制嵌套的選擇結構流程圖
10
1.6.1
嵌套的選擇結構 11
1.6.2
繪制程序流程圖 11
1.7 繪制復雜的選擇結構流程圖
12
1.7.1
復雜的選擇結構 12
1.7.2
繪制程序流程圖 13
1.8 繪制次數(shù)固定的循環(huán)結構
流程圖 14
1.8.1
初步認識循環(huán)結構 14
1.8.2
構造循環(huán)結構的條件
表達式 14
1.8.3
繪制次數(shù)固定的循環(huán)
結構流程圖 15
1.9 繪制次數(shù)可變的循環(huán)結構
流程圖 15
1.9.1
初步認識次數(shù)可變的
循環(huán)結構 16
1.9.2
繪制次數(shù)可變的循環(huán)
結構流程圖 16
1.10
繪制內嵌的循環(huán)結構流程圖 17
1.10.1
初步認識內嵌的循環(huán)
結構 17
1.10.2
繪制內嵌的循環(huán)結構
流程圖 17
1.11
繪制使用模塊的流程圖 19
1.11.1
初步認識模塊 19
1.11.2
繪制使用模塊的流程圖 19
思考與練習 20
第2章 Visual C#概述 21
2.1
Visual Studio .NET和C#簡介 21
2.2 創(chuàng)建一個簡單的C#應用程序 22
2.2.1
編輯C#應用程序 22
2.2.2
編譯C#應用程序 24
2.2.3
運行C#應用程序 24
思考與練習 25
第3章 變量和常量 27
3.1 數(shù)據(jù)類型 27
3.1.1
初步認識C#中的數(shù)據(jù)
類型 27
3.1.2
確定需要使用的數(shù)據(jù)
類型 30
3.2 變量 31
3.2.1
如何使用變量 31
3.2.2
確定需要使用的變量 32
3.3 使用控制臺的輸入/輸出 33
3.3.1
初步認識控制臺的輸入/
輸出 33
3.3.2
實現(xiàn)應用程序 37
3.4 變量的作用域和生存周期
39
3.4.1
確定變量的作用域 39
3.4.2
修改程序 40
3.4.3
預測程序的輸出結果 40
3.5 常量 41
3.5.1
了解常量的類型 42
3.5.2
輸出程序的結果 43
3.6 實現(xiàn)數(shù)據(jù)類型轉換 45
3.6.1
初步認識類型轉換 45
3.6.2
實現(xiàn)應用程序 46
3.7 裝箱與拆箱 47
3.7.1
初步認識裝箱與拆箱 48
3.7.2
預測程序的輸出結果 49
思考與練習 49
第4章 運算符與表達式 51
4.1
C#運算符簡介 51
4.2 算術運算符 52
4.2.1
初步認識算術運算符 53
4.2.2
預測程序的輸出結果 54
4.3 自增/自減運算符 55
4.3.1
初步認識自增/自減
運算符 56
4.3.2
預測程序的輸出結果 56
4.4 關系運算符 57
4.4.1
初步認識關系運算符 58
4.4.2
預測程序的輸出結果 58
4.5 邏輯運算符 59
4.5.1
初步認識邏輯運算符 59
4.5.2
預測程序的輸出結果 60
4.6 位運算符 60
4.6.1
初步認識位運算符 61
4.6.2
預測程序的輸出結果 62
4.7 條件運算符 62
4.7.1
初步認識條件運算符 63
4.7.2
預測程序的輸出結果 63
4.8 復合賦值運算符 64
4.8.1
初步認識復合賦值
運算符 64
4.8.2
預測程序的輸出結果 64
4.9 其他運算符 65
4.9.1
is運算符 65
4.9.2
as運算符 65
4.9.3
typeof運算符 66
4.9.4
sizeof運算符 67
4.10
運算符的優(yōu)先級和結合性 67
4.10.1
初步認識運算符的
優(yōu)先級和結合性 68
4.10.2
預測程序的輸出結果 68
思考與練習 69
第5章 程序控制語句 70
5.1 順序結構 70
5.1.1
初步認識順序結構 70
5.1.2
實現(xiàn)應用程序 71
5.2 簡單的選擇結構 72
5.2.1
初步認識選擇結構 72
5.2.2
實現(xiàn)應用程序 74
5.3 嵌套的選擇結構 75
5.3.1
初步認識嵌套的選擇
結構 75
5.3.2
實現(xiàn)應用程序 76
5.4 復雜的選擇結構 78
5.4.1
初步認識復雜的選擇
結構 79
5.4.2
實現(xiàn)應用程序 80
5.5
switch語句 81
5.5.1
初步認識switch語句 81
5.5.2
實現(xiàn)應用程序 82
5.6
while語句 83
5.6.1
初步認識while語句 83
5.6.2
實現(xiàn)應用程序 84
5.7
do…while語句 85
5.7.1
初步認識do…while
語句 85
5.7.2
實現(xiàn)應用程序 87
5.8
for語句 88
5.8.1
初步認識for語句 88
5.8.2
實現(xiàn)應用程序 89
5.9 使用break語句終止循環(huán) 91
5.9.1
初步認識break語句 91
5.9.2
實現(xiàn)應用程序 93
5.10
使用continue語句結束本次
循環(huán) 94
5.10.1
初步認識continue語句 94
5.10.2
實現(xiàn)應用程序 95
5.11
內嵌的循環(huán)結構 96
5.11.1
初步認識內嵌的循環(huán)
結構 96
5.11.2
實現(xiàn)應用程序 97
思考與練習 98
第6章 數(shù)組 100
6.1 數(shù)組概述 100
6.2 一維數(shù)組 100
6.2.1
定義一維數(shù)組 101
6.2.2
初始化一維數(shù)組 101
6.2.3
引用一維數(shù)組 102
6.2.4
理解冒泡排序法的
思路 103
6.2.5
實現(xiàn)應用程序 103
6.3 二維數(shù)組 104
6.3.1
定義二維數(shù)組 104
6.3.2
初始化二維數(shù)組 105
6.3.3
引用二維數(shù)組 105
6.3.4
實現(xiàn)應用程序 105
6.4
ArrayList 106
6.4.1
初步認識ArrayList 107
6.4.2
預測程序的輸出結果 108
思考與練習 109
第7章 函數(shù) 110
7.1 函數(shù)概述 110
7.2 函數(shù) 110
7.2.1
定義函數(shù) 111
7.2.2
調用函數(shù) 112
7.2.3
實現(xiàn)應用程序 113
7.3 值類型參數(shù) 114
7.3.1
初步認識值類型參數(shù) 115
7.3.2
預測程序的輸出結果 116
7.4 引用類型參數(shù) 116
7.4.1
初步認識引用類型
參數(shù) 117
7.4.2
預測程序的輸出結果 117
7.5 輸出型參數(shù) 118
7.5.1
初步認識輸出型參數(shù) 118
7.5.2
預測程序的輸出結果 119
7.6 數(shù)組型參數(shù) 119
7.6.1
初步認識數(shù)組型參數(shù) 120
7.6.2
預測程序的輸出結果 120
7.7 遞歸 121
7.7.1
初步認識遞歸 121
7.7.2
實現(xiàn)應用程序 122
思考與練習 123
第8章 面向對象程序設計基礎
125
8.1 面向對象程序設計概述
125
8.1.1
對象 125
8.1.2
類 126
8.1.3
消息和行為 126
8.1.4
類的封裝性 126
8.2 對象 127
8.2.1
定義類 127
8.2.2
定義類的成員字段 128
8.2.3
定義類的成員方法 128
8.2.4
加載訪問修飾符 130
8.2.5
創(chuàng)建對象并訪問對象
成員 131
8.2.6
實現(xiàn)應用程序 132
8.3 屬性 136
8.3.1
聲明屬性 136
8.3.2
訪問屬性 138
8.3.3
實現(xiàn)應用程序 139
8.4 索引器 142
8.4.1
初步認識索引器 142
8.4.2
實現(xiàn)應用程序 143
8.5 方法重載 145
8.5.1
初步認識重載方法 145
8.5.2
構造重載方法原型 145
8.6 構造函數(shù) 146
8.6.1
定義構造函數(shù) 146
8.6.2
實現(xiàn)應用程序 147
8.7 重載構造函數(shù) 148
8.7.1
定義重載構造函數(shù) 149
8.7.2
預測程序的輸出結果 149
8.8 析構函數(shù) 150
8.8.1
初步認識析構函數(shù) 151
8.8.2
預測程序的輸出結果 151
8.9 靜態(tài)類 152
8.10
靜態(tài)成員 153
8.10.1
初步認識靜態(tài)成員 154
8.10.2
預測程序的輸出結果 154
思考與練習 155
第9章 繼承 159
9.1 類的繼承性 159
9.1.1
繼承的概念 159
9.1.2
繼承的工作機制 160
9.2 繼承 160
9.2.1
定義基類 160
9.2.2
設置基類成員的訪問
控制方式 160
9.2.3
設置派生類成員的訪問
控制方式 162
9.2.4
實現(xiàn)應用程序 163
9.3 隱藏基類成員 166
9.3.1
使用new關鍵字隱藏
基類成員 166
9.3.2
實現(xiàn)應用程序 166
9.4 派生類的構造函數(shù)和析構函數(shù)
169
9.5
base關鍵字 170
思考與練習 171
第1