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