定 價:52 元
叢書名:21世紀(jì)高等教育計算機規(guī)劃教材
- 作者:姚普選
- 出版時間:2015/12/1
- ISBN:9787115412300
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312
- 頁碼:361
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書以C#語言為載體,系統(tǒng)地講解了算法的概念、程序設(shè)計的基本思想,以及常用的程序設(shè)計方法。本書的主要內(nèi)容包括:程序設(shè)計基礎(chǔ)知識與C#程序設(shè)計的一般方法;算法的概念及應(yīng)用;數(shù)據(jù)類型的概念及C#中的常用數(shù)據(jù)類型;類和對象的概念及應(yīng)用;用戶界面設(shè)計的一般方法和技能;I/O流與數(shù)據(jù)文件的概念及應(yīng)用。
本書將理論知識、程序?qū)嵗c實驗指導(dǎo)整合為一體,盡力為各教學(xué)環(huán)節(jié)的融會貫通創(chuàng)造條件。本書注重程序設(shè)計理念的先進性、程序設(shè)計方法的實用性以及學(xué)習(xí)過程中思維的連貫性,對于主要概念、常用方法以及具有遞進關(guān)系的系列內(nèi)容,都根據(jù)教學(xué)活動中的實際需求予以精心編排和講解。
本書可用作高等院校計算機程序設(shè)計課程的教材,也可作為程序設(shè)計工作者的參考書。
《C#程序設(shè)計基礎(chǔ)與實踐》一書,作者花費了大量的時間去設(shè)計和調(diào)試案例,力求將算法思想貫穿全文,注重學(xué)習(xí)的思維連貫性,以引導(dǎo)學(xué)生入門和提高。全書每章節(jié)都由基本知識、程序解析、實驗指導(dǎo)三部分組成,學(xué)生學(xué)習(xí)完基礎(chǔ)知識,通過精心設(shè)計的程序和解析,可快速掌握基本知識點,最后通過實驗指導(dǎo)來提升程序設(shè)計能力。
姚普選,西安交通大學(xué)高級工程師,從事計算機教學(xué)近四十年,主講過“數(shù)據(jù)庫原理及應(yīng)用”“高級程序設(shè)計”“面向?qū)ο蟪绦蛟O(shè)計”“微機原理及應(yīng)用”等多門課程,曾主持國家精品課程,編寫過多本計算機類****書。
第1章 程序設(shè)計基本知識 1
1.1 程序及程序設(shè)計語言 1
1.1.1 程序的一般結(jié)構(gòu) 1
1.1.2 程序設(shè)計語言 4
1.1.3 C#語言與.NET框架 6
1.2 程序設(shè)計的一般步驟 8
1.2.1 Visual C#開發(fā)環(huán)境 8
1.2.2 創(chuàng)建控制臺應(yīng)用程序 11
1.2.3 創(chuàng)建Windows窗體應(yīng)用程序 14
1.3 程序解析 17
程序1-1 計算并聯(lián)電阻 17
程序1-2 求解二元一次方程組 19
程序1-3 3個數(shù)排序 20
1.4 實驗指導(dǎo) 23
實驗1-1 C#程序的編輯、編譯和運行 23
實驗1-2 簡單控制臺應(yīng)用程序 25
實驗1-3 簡單Windows窗體應(yīng)用程序 27
實驗1-4 有特殊控件的Windows窗體應(yīng)用程序 29
實驗1-5 程序的調(diào)試和運行 31
第2章 數(shù)據(jù)類型與運算符 36
2.1 .NET框架與C#的數(shù)據(jù)類型 36
2.1.1。甆ET框架的數(shù)據(jù)類型 36
2.1.2 System命名空間及其基類型 38
2.1.3 C#的數(shù)據(jù)類型 39
2.2 內(nèi)置類型及其常量和變量 40
2.2.1 數(shù)值型常量 40
2.2.2 數(shù)值類型及其變量 41
2.2.3 字符和字符串 43
2.2.4 數(shù)據(jù)類型轉(zhuǎn)換 44
2.2.5 常用數(shù)學(xué)函數(shù) 47
2.3 運算符與表達(dá)式 48
2.3.1 算術(shù)運算及自增減運算 49
2.3.2 關(guān)系運算和邏輯運算 50
2.3.3 位運算 51
2.3.4 賦值運算和條件運算 52
2.3.5 運算順序 53
2.4 程序解析 54
程序2-1 按海倫公式求三角形面積 55
程序2-2 提取E-mail地址中的用戶名和域名 56
程序2-3 輸出一個5位整數(shù)的反序數(shù) 57
程序2-4 判斷一個4位整數(shù)是否回文數(shù) 59
程序2-5 加法練習(xí)器 61
2.5 實驗指導(dǎo) 64
實驗2-1 不同類型數(shù)據(jù)的輸入輸出 64
實驗2-2 表達(dá)式求值 66
第3章 算法及程序的控制結(jié)構(gòu) 69
3.1 算法的概念與基本結(jié)構(gòu) 69
3.1.1 算法的概念 69
3.1.2 算法的特征 70
3.1.3 算法的3種基本結(jié)構(gòu) 71
3.2 程序中的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 75
3.2.1 if語句和switch語句 75
3.2.2 while語句和do-while語句 78
3.2.3 for語句 80
3.2.4 循環(huán)的嵌套 81
3.2.5 跳轉(zhuǎn)語句 82
3.3 程序解析 83
程序3-1 確定某年某月的天數(shù) 84
程序3-2 輸出100以內(nèi)能同時被3和5整除的數(shù) 85
程序3-3 找2~10000之內(nèi)的所有完全數(shù) 86
程序3-4 窮舉法求組合數(shù) 88
程序3-5 計算sinx函數(shù)的值 89
3.4 實驗指導(dǎo) 91
實驗3-1 3種基本結(jié)構(gòu) 91
實驗3-2 迭代法 93
實驗3-3 窮舉法 95
第4章 類和對象 97
4.1 類及類的實例 97
4.1.1 面向?qū)ο蟪绦蛟O(shè)計的概念 98
4.1.2 類的定義和使用 100
4.1.3 對象的創(chuàng)建和使用 101
4.2 類的成員 103
4.2.1 類中的方法 103
4.2.2 構(gòu)造函數(shù) 105
4.2.3 內(nèi)存回收與析構(gòu)函數(shù) 107
4.2.4 類中的屬性 109
4.2.5 this引用 111
4.2.6 類中的成員常量和只讀字段 114
4.3 異常處理 116
4.3.1 處理異常情況的傳統(tǒng)方式 117
4.3.2 try-catch語句 118
4.3.3。甆ET的異常類 120
4.3.4 finally 語句塊 122
4.3.5 throw語句 125
4.4 程序解析 127
程序4-1 時間類 128
程序4-2 復(fù)數(shù)運算 130
程序4-3 點類和矩形類 132
4.5 實驗指導(dǎo) 134
實驗4-1 修改并運行程序 135
實驗4-2 人員類及其對象 137
實驗4-3 異常的捕獲與處理 138
實驗4-4 包含異常處理的分?jǐn)?shù)類 139
實驗4-5 橢圓類及其對象 141
第5章 數(shù)組、枚舉與結(jié)構(gòu) 142
5.1 數(shù)組 142
5.1.1 一維數(shù)組的定義和引用 142
5.1.2 多維數(shù)組的定義和使用 144
5.1.3 交錯數(shù)組的定義和使用 148
5.1.4 使用foreach語句遍歷數(shù)組 149
5.2 枚舉與結(jié)構(gòu) 151
5.2.1 枚舉的定義和使用 151
5.2.2 結(jié)構(gòu)的定義和使用 153
5.2.3 裝箱與拆箱 155
5.3 程序解析 157
程序5-1 順序查找 157
程序5-2 LINQ查詢 159
程序5-3 輸出楊輝三角 161
程序5-4 篩法求素數(shù) 163
程序5-5 Josephus問題 166
程序5-6 計算商品金額 167
5.4 實驗指導(dǎo) 169
實驗5-1 數(shù)組的使用 169
實驗5-2 結(jié)構(gòu)及結(jié)構(gòu)數(shù)組的使用 171
實驗5-3 枚舉型變量的使用 173
第6章 方法 175
6.1 方法的定義和調(diào)用 175
6.1.1 靜態(tài)與非靜態(tài)方法 175
6.1.2 方法的定義和調(diào)用方式 177
6.1.3 方法體及變量的作用域 179
6.2 參數(shù)傳遞方式 180
6.2.1 方法中的參數(shù)修飾符 181
6.2.2 可選參數(shù)和命名參數(shù) 183
6.2.3 參數(shù)傳遞時的數(shù)據(jù)類型轉(zhuǎn)換 184
6.2.4 按值傳遞參數(shù) 186
6.2.5 按引用傳遞參數(shù) 189
6.2.6 數(shù)組參數(shù)的傳遞 191
6.3 方法重載與遞歸調(diào)用 193
6.3.1 方法重載 193
6.3.2 方法的遞歸調(diào)用 195
6.3.3 尾遞歸 198
6.4 程序解析 199
程序6-1 比較兩個分?jǐn)?shù)的大小 200
程序6-2 幾個數(shù)及數(shù)組排序 202
程序6-3 牛頓迭代法求方程的根 204
6.5 實驗指導(dǎo) 207
實驗6-1 方法的定義和調(diào)用 207
實驗6-2 方法重載與遞歸調(diào)用 209
第7章 類的繼承性與多態(tài)性 212
7.1 面向?qū)ο蟪绦虻奶攸c 212
7.1.1 類的三大特性 212
7.1.2 C#及其他面向?qū)ο蟪绦蛟O(shè)計語言 213
7.1.3 類的繼承性的概念 215
7.1.4 類的多態(tài)性的概念 216
7.2 類的繼承性 217
7.2.1 派生類的定義和使用 217
7.2.2 派生類的構(gòu)造函數(shù)及虛擬方法 221
7.2.3 Object類 223
7.2.4。甆ET通用類型系統(tǒng) 226
7.2.5 object變量與var變量 227
7.3 類的多態(tài)性 228
7.3.1 虛方法實現(xiàn)類的多態(tài)性 229
7.3.2 抽象類及抽象方法實現(xiàn)類的多態(tài)性 231
7.3.3 接口的定義與繼承 233
7.3.4 接口實現(xiàn)類的多態(tài)性 235
7.3.5 運算符重載 238
7.4 程序解析 240
程序7-1 網(wǎng)絡(luò)賬號類 241
程序7-2 圓類及其派生類 243
程序7-3 抽象幾何體類及其派生類 246
程序7-4 加減乘除計算器 248
程序7-5 復(fù)數(shù)的四則運算 252
7.5 實驗指導(dǎo) 254
實驗7-1 類的繼承性 254
實驗7-2 類的多態(tài)性 257
實驗7-3 接口和運算符重載 259
第8章 Windows應(yīng)用程序 261
8.1 項目與解決方案 261
8.1.1 創(chuàng)建Windows應(yīng)用程序項目 261
8.1.2 使用解決方案資源管理器 266
8.1.3 項目與解決方案 267
8.2 事件及事件處理方法 269
8.2.1 Windows應(yīng)用程序的事件驅(qū)動機制 270
8.2.2 委托的概念及應(yīng)用 271
8.2.3 事件的定義及工作方式 273
8.2.4 鼠標(biāo)事件處理 274
8.2.5 鍵盤事件處理 277
8.3 窗體設(shè)計 280
8.3.1 窗體與控件 280
8.3.2 多窗體應(yīng)用程序 282
8.3.3 使用畫筆和畫刷繪圖 285
8.3.4 窗體上的菜單 287
8.3.5 消息對話框的使用 291
8.3.6 標(biāo)準(zhǔn)對話框的使用 292
8.4 程序解析 294
程序8-1 委托的定義和使用 294
程序8-2 計數(shù)器程序 296
程序8-3 密碼輸入程序 299
程序8-4 簡單畫圖程序 302
程序8-5 畫函數(shù)圖像程序 305
8.5 實驗指導(dǎo) 307
實驗8-1 多窗體調(diào)用 307
實驗8-2 移動兩個列表中的項 310
實驗8-3 計算器程序 313
實驗8-4 繪圖程序 314
第9章 流與文件 317
9.1 流類與文件類 317
9.1.1 流及流類 317
9.1.2 System.IO命名空間中的類 319
9.1.3 流類的方法和屬性 321
9.2 文件讀寫及其他操作 323
9.2.1 讀寫文本文件 324
9.2.2 使用FileStream對象讀寫文件 325
9.2.3 讀寫二進制文件 327
9.2.4 對象序列化 329
9.2.5 文件目錄操作 330
9.2.6 文件拷貝、移動和刪除等操作 332
9.3 程序解析 335
程序9-1 讀寫文件及文件屬性 335
程序9-2 讀寫文本文件 337
程序9-3 二進制方式讀寫職工信息文件 340
9.4 實驗指導(dǎo) 345
實驗9-1 通過內(nèi)存流讀取圖片 345
實驗9-2 通過文件流寫入文本文件 346
實驗9-3 讀寫二進制文件 347
附錄1 ASCII碼表 349
附錄2 數(shù)據(jù)庫連接與查詢 351
附錄2.1 數(shù)據(jù)庫系統(tǒng) 351
附錄2.2 關(guān)系數(shù)據(jù)庫 352
附錄2.3 ADO.NET數(shù)據(jù)庫接口 356
參考文獻 363