C#是由C語言和C++演變而來的,是少有的互聯(lián)網(wǎng)誕生之后才推出的簡單易學(xué)且功能強大的編程語言,備受開發(fā)人員青睞。使用C#開發(fā)Web應(yīng)用、移動應(yīng)用、虛擬現(xiàn)實和云計算應(yīng)用是當(dāng)前的一個流行方向。本書介紹了C#概述,簡單的C#程序設(shè)計,數(shù)據(jù)類型、運算符與表達(dá)式,結(jié)構(gòu)化程序設(shè)計,數(shù)組、結(jié)構(gòu)和枚舉,面向?qū)ο蟪绦蛟O(shè)計,繼承與接口,窗體可視化應(yīng)用程序設(shè)計,文件和流,客戶機/服務(wù)器編程訪問數(shù)據(jù)等內(nèi)容。本書理實結(jié)合,結(jié)構(gòu)嚴(yán)謹(jǐn),突出應(yīng)用性。本書可作為普通高等院校、高等職業(yè)院校、軟件學(xué)院和培訓(xùn)機構(gòu)的教材,也可作為從事軟件開發(fā)與應(yīng)用相關(guān)工作人員的參考用書。
劉甫迎,教授,碩士研究生導(dǎo)師,2006年獲的國家級教學(xué)名師獎、成為當(dāng)時全國高職高專首位獲得該殊榮的教師。2006~2010年,擔(dān)任高職高專計算機類專業(yè)教學(xué)指導(dǎo)委委員,曾獲四川省有突出貢獻(xiàn)的優(yōu)秀專家稱號,四川省優(yōu)秀教師稱號。1982年1月畢業(yè)于電子科技大學(xué)計算機工程專業(yè)。1975年至1995年在中國科學(xué)院成都計算機應(yīng)用研究所,歷任軟件研究室副主任、副研究員。1985年在加拿大McMaster大學(xué)作中科院公派訪問學(xué)者。作為負(fù)責(zé)人獲國家精品課程一項,四川省精品課程二項,獲四川省教學(xué)成果一、二等獎各一項。作為主編2002年獲全國普通高等學(xué)校優(yōu)秀教材二等獎。1981年獲四川省重大科技成果獎。發(fā)表論文40余篇,主編出版教材、著作21部。2006年獲教育部“十一五”規(guī)劃教材立項兩部。
目錄
第1章 C#概述 1
1.1 C#簡介 1
1.1.1 C#的由來 1
1.1.2 C#的特點 2
1.1.3 Microsoft .NET 4
1.1.4 C#的發(fā)展及C# 13.0與Visual Studio 2022的功能 6
1.2 C#的安裝、啟動和集成開發(fā)環(huán)境 10
1.2.1 C#的安裝 10
1.2.2 C#的啟動 13
1.2.3 C#的集成開發(fā)環(huán)境 16
習(xí)題 21
第2章 簡單的C#程序設(shè)計 22
2.1 C#程序結(jié)構(gòu) 22
2.1.1 第一個C#程序 22
2.1.2 編譯和執(zhí)行程序 23
2.1.3 C#程序結(jié)構(gòu)分析 24
2.1.4 標(biāo)識符 26
2.2 輸入/輸出方法 27
2.2.1 WriteLine( )方法 27
2.2.2 Write( )方法 30
2.2.3 ReadLine( )方法 31
2.2.4 Read( )方法 32
習(xí)題 32
第3章 數(shù)據(jù)類型、運算符與表達(dá)式 34
3.1 數(shù)據(jù)類型 34
3.1.1 值類型 34
3.1.2 引用類型 37
3.1.3 類型轉(zhuǎn)換 39
3.1.4 裝箱和拆箱 41
3.2 常量與變量 43
3.2.1 常量 43
3.2.2 變量 43
3.3 運算符與表達(dá)式 46
3.3.1 運算符 46
3.3.2 表達(dá)式 53
習(xí)題 56
第4章 結(jié)構(gòu)化程序設(shè)計 57
4.1 結(jié)構(gòu)化程序設(shè)計的概念 57
4.1.1 結(jié)構(gòu)化程序設(shè)計與算法的概念 57
4.1.2 流程圖 58
4.2 順序結(jié)構(gòu) 59
4.2.1 順序結(jié)構(gòu)的概念 59
4.2.2 順序結(jié)構(gòu)的實例 59
4.3 選擇結(jié)構(gòu) 60
4.3.1 選擇結(jié)構(gòu)的概念 60
4.3.2 條件語句 60
4.3.3 分支語句 66
4.3.4 選擇結(jié)構(gòu)的實例 68
4.4 循環(huán)結(jié)構(gòu) 70
4.4.1 循環(huán)結(jié)構(gòu)的概念 70
4.4.2 while語句和do…while語句 71
4.4.3 for語句和foreach語句 73
4.4.4 跳轉(zhuǎn)語句 77
4.4.5 循環(huán)語句的算法——循環(huán)結(jié)構(gòu)的實例 80
4.5 異常處理 82
4.5.1 異常處理的概念 82
4.5.2 異常的處理 83
習(xí)題 87
第5章 數(shù)組、結(jié)構(gòu)和枚舉 91
5.1 數(shù)組 91
5.1.1 數(shù)組的概念 91
5.1.2 一維數(shù)組 92
5.1.3 二維數(shù)組 96
5.1.4 冒泡排序算法——數(shù)組的實例 100
5.2 結(jié)構(gòu)類型 101
5.2.1 結(jié)構(gòu)的聲明 101
5.2.2 結(jié)構(gòu)成員的訪問 102
5.2.3 順序查找算法——結(jié)構(gòu)的實例 103
5.3 枚舉 105
5.3.1 枚舉類型的定義 105
5.3.2 枚舉成員的賦值 106
5.3.3 枚舉成員的訪問 108
習(xí)題 111
第6章 面向?qū)ο蟪绦蛟O(shè)計 114
6.1 面向?qū)ο蟪绦蛟O(shè)計的基本概念 114
6.2 類和對象 117
6.2.1 類的聲明 118
6.2.2 類的成員 119
6.2.3 對象的聲明 121
6.2.4 對象初始化器 123
6.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 125
6.3.1 構(gòu)造函數(shù) 125
6.3.2 析構(gòu)函數(shù) 128
6.4 方法 129
6.4.1 方法的定義與調(diào)用 129
6.4.2 方法的參數(shù)類型 132
6.4.3 方法的重載 134
6.4.4 靜態(tài)方法與非靜態(tài)方法 135
6.4.5 運算符的重載 136
6.4.6 遞歸 139
6.4.7 基于元組的“多”返回值 140
6.5 屬性 141
6.5.1 屬性的聲明 141
6.5.2 屬性的訪問 143
6.6 索引指示器 144
6.6.1 定義索引指示器 144
6.6.2 使用索引指示器訪問對象 145
6.7 委托和事件 147
6.7.1 委托 147
6.7.2 事件 149
6.8 C#常用的基礎(chǔ)類 152
6.8.1 Math類與Random類 152
6.8.2 字符串 153
6.9 命名空間 157
6.9.1 命名空間的聲明 157
6.9.2 命名空間的成員 158
6.9.3 命名空間的使用 158
習(xí)題 160
第7章 繼承與接口 162
7.1 C#的繼承機制 162
7.1.1 繼承的基本知識 162
7.1.2 base關(guān)鍵字 164
7.1.3 覆蓋 166
7.2 多態(tài)性 167
7.2.1 多態(tài)性的概述 167
7.2.2 虛方法 168
7.2.3 多態(tài)性的實現(xiàn) 168
7.3 接口 170
7.3.1 接口的定義 170
7.3.2 接口的成員 171
7.3.3 接口的實現(xiàn) 175
7.4 泛型、泛型接口和委托中的協(xié)變、逆變 190
7.4.1 泛型、泛型集合List<T>、IEnumerable<T>接口及yieldy語句 190
7.4.2 協(xié)變和逆變 194
7.4.3 泛型接口和委托中的協(xié)變和逆變 194
7.5 本地方法 198
習(xí)題 199
第8章 窗體可視化應(yīng)用程序設(shè)計 201
8.1 Windows窗體 201
8.1.1 Windows窗體的基本屬性 202
8.1.2 創(chuàng)建窗體 203
8.1.3 設(shè)置啟動窗體屬性 204
8.2 控件概述 205
8.2.1 控件的基本屬性 206
8.2.2 控件共有的屬性、事件和方法 207
8.3 命令按鈕(Button)控件 214
8.4 標(biāo)簽(Label)控件 216
8.5 文本框(TextBox)控件 218
8.6 單選按鈕(RadioButton)控件與復(fù)選框(CheckBox和CheckedListBox)
控件 219
8.7 面板(Panel)控件和分組框(GroupBox)控件 224
8.8 圖形框(PictureBox)控件 226
8.9 列表框(ListBox)控件、帶復(fù)選框的列表框 (CheckedListBox)控件和
組合框(ComboBox)控件 228
8.9.1 列表框(ListBox)控件 228
8.9.2 帶復(fù)選框的列表框(CheckedListBox)控件 230
8.9.3 組合框(ComboBox)控件 231
習(xí)題 233
第9章 文件和流 235
9.1 文件和流的概念 235
9.2 文件的讀和寫 240
9.2.1 讀文件 240
9.2.2 寫文件 242
9.3 文件操作實例——鏈表算法 243
習(xí)題 247
第10章 客戶機/服務(wù)器編程訪問數(shù)據(jù) 248
10.1 客戶機/服務(wù)器模式編程 248
10.2 ADO.NET的概念 249
10.3 ADO.NET對象 251
10.3.1 Connection對象 251
10.3.2 Command對象 252
10.3.3 DataReader對象 254
10.3.4 DataAdapter對象 254
10.3.5 DataSet對象 255
10.4 數(shù)據(jù)綁定控件 257
習(xí)題 259
第11章 多線程應(yīng)用 260
11.1 多線程的基本概念 260
11.2 多線程編程 264
11.2.1 線程的優(yōu)先級和執(zhí)行狀態(tài) 264
11.2.2 線程同步 265
習(xí)題 268
第12章 C#案例——FoxOA的人力資源培訓(xùn)成績管理系統(tǒng) 269
12.1 系統(tǒng)的概述 269
12.1.1 辦公自動化系統(tǒng)FoxOA 269
12.1.2 系統(tǒng)功能 270
12.2 系統(tǒng)分析與設(shè)計 270
12.2.1 計算機輔助軟件工程工具 270
12.2.2 系統(tǒng)建模 270
12.3 主要關(guān)鍵技術(shù) 273
12.3.1 MVC設(shè)計模式簡介 273
12.3.2 MVC設(shè)計模式的實現(xiàn) 273
12.4 數(shù)據(jù)庫結(jié)構(gòu) 274
12.5 用戶使用說明書 274
12.5.1 系統(tǒng)平臺 274
12.5.2 登錄和進(jìn)入系統(tǒng) 274
12.6 關(guān)鍵源程序 275
習(xí)題 294
附錄A “程序設(shè)計基礎(chǔ)(C#)”課程教學(xué)大綱 295
附錄B “程序設(shè)計基礎(chǔ)(C#)”課程實驗指導(dǎo)書 297
附錄C 模擬試題 302
C.1模擬考試試卷(一) 302
C.2模擬考試試卷(二) 304