目录 1
第1章 概述 1
1.1 .NET框架 1
1.1.1 公共语言运行库(CLR) 1
1.1.2 托管模块 2
1.1.3 元数据 2
1.1.4 MSIL指令 3
1.2 .NET框架类库(FCL) 4
1.3 例子 5
小结 6
综合练习一 7
一、填空题 7
二、判断题 7
三、简答题 7
四、编程题 7
第2章 变量与运算符 8
2.1 什么是变量 8
2.2 基本数据类型 9
2.3 声明变量 9
2.5 指针 10
2.4 为变量赋值 10
2.5.1 指针的定义 11
2.5.2 指针变量 11
2.6 引用 12
2.7 常量 12
2.8 枚举 13
2.9 为类添加成员变量 13
2.10 算术运算符 14
2.11 关系运算符 15
2.12 逻辑运算符 15
2.13 按位运算符 16
2.14 sizeof运算符 17
2.15 问号运算符 17
2.16 复合赋值运算符 17
2.17 类型转换运算符 18
2.18 运算符优先级和结合性 18
小结 19
综合练习二 19
一、填空题 19
三、简答题 20
四、编程题 20
二、判断题 20
第3章 控制结构 21
3.1 控制结构分类 21
3.2 if选择结构 21
3.3 if/else选择结构 24
3.4 switch多重选择结构 27
3.5 while循环结构 28
3.6 do/while循环结构 31
3.7 for循环结构 32
3.8 break和continue语句 33
小结 35
综合练习三 36
一、填空题 36
二、判断题 36
三、简答题 36
四、编程题 36
第4章 函数 37
4.1.2 声明含有参数的函数原型 38
4.1.3 函数参数的默认值 38
4.1.1 声明一个简单的函数原型 38
4.1 声明函数原型 38
4.2 定义函数 39
4.2.1 定义一个简单的函数体 39
4.2.2 定义带有参数的函数体 39
4.2.3 调用函数 40
4.3 作用域规则 42
4.4 递归 43
4.4.1 无穷递归 43
4.4.2 递归编程 43
4.4.3 直接递归和间接递归 44
4.5 递归举例:Fibonacci数列 45
4.6 递归与迭代 46
4.7 函数重载 46
小结 47
综合练习四 47
一、填空题 47
二、判断题 47
三、简答题 48
四、编程题 48
第5章 数组 49
5.1 本地C++数组 49
5.1.2 初始化本地C++数组 50
5.1.3 数组应用举例 50
5.1.1 创建本地C++数组 50
5.1.4 向函数传递数组 51
5.1.5 多维数组 51
5.1.6 动态分配数组 55
5.2 数组排序 55
5.2.1 选择排序法 55
5.2.2 插入排序法 56
5.2.3 冒泡排序法 57
5.3 数组查找 57
5.3.2 二分查找 58
5.3.1 线性查找 58
5.3.3 比较查找算法 59
5.4 托管数组 59
小结 61
综合练习五 62
一、填空题 62
二、判断题 62
三、简答题 62
四、编程题 63
6.1 语言的互操作性 64
第6章 托管编程入门 64
6.1.1 元数据 65
6.1.2 公共类型系统 65
6.1.3 MSIL和标准代码 65
6.2 托管环境 66
6.2.1 托管代码和托管数据 66
6.2.2 自动内存管理 66
6.2.3 引用类型和值类型 67
6.3 使用托管 68
6.3.1 _gc类型 68
6.3.2 _value类型 73
6.3.3 属性 75
6.3.4 _identifier关键字 77
6.3.5 关键字小结 78
小结 78
综合练习六 78
一、填空题 78
二、判断题 79
三、简答题 79
四、编程题 79
第7章 程序集 80
7.1 程序集的概念 80
7.2 创建程序集 81
7.2.1 创建类库 82
7.2.2 类型的可见性 83
7.2.3 创建应用程序 84
7.2.4 用ILDasm查看程序集 85
7.3 共享程序集和私有程序集 87
7.3.1 创建共享程序集 87
7.3.2 全局程序集缓存(GAC) 91
7.3.3 在GAC中安装共享程序集 92
二、判断题 93
一、填空题 93
综合练习七 93
小结 93
7.3.4 使用共享程序集 93
三、简答题 94
四、编程题 94
第8章 类和对象 95
8.1 实现Longitude抽象数据类型 95
8.2 类的作用域 99
8.3 控制对成员的访问 100
8.4 构造函数 100
8.5 使用重载的构造函数 100
8.6 属性 101
8.7 使用this指针 103
8.8 软件重用 105
小结 105
综合练习八 105
一、填空题 105
二、判断题 106
三、简答题 106
四、编程题 106
第9章 面向对象编程 107
9.1 基类与子类 107
9.2 protected成员和_super关键字 108
9.3 基类与派生类的关系 109
9.4 派生类中的构造函数和析构函数 113
9.5 多态性简介 113
9.6 派生类对象转换为基类对象 113
9.7 抽象类和具体类 115
9.8 _sealed类和方法 120
小结 120
综合练习九 120
一、填空题 120
四、编程题 121
三、简答题 121
二、判断题 121
第10章 委托和事件 122
10.1 委托 122
10.1.1 单播委托 123
10.1.2 委托参数 124
10.1.3 多播委托 125
10.2 托管事件 128
10.2.1 托管事件示例 128
10.2.2 NET框架与事件 132
小结 132
三、简答题 133
四、编程题 133
综合练习十 133
二、判断题 133
一、填空题 133
第11章 异常处理 134
11.1 异常处理的基本知识 135
11.2 异常处理举例:除数为0 135
11.3 抛出异常 137
11.4 处理异常 138
11.4.2 使用异常层次体系 139
11.4.1 使用try/catch结构 139
11.4 _finally块 140
11.4.3 嵌套的try/catch结构 140
11.4.5 catch(...)块 141
11.4.6 构造函数与异常处理 142
11.5 重新抛出异常 142
11.6 异常与继承 142
11.7 创建自定义异常类型 142
小结 143
三、简答题 144
四、编程题 144
一、填空题 144
二、判断题 144
综合练习十一 144
第12章 图形输出 145
12.1 System::Drawing命名空间 145
12.2 Graphics类 146
12.3 颜色控制 147
12.4 字体控制 150
12.5 画笔和画刷 154
12.6 画线、矩形和椭圆 155
12.7 画弧形和曲线 157
12.8 画多边形和折线 159
12.9 处理图像 160
小结 163
综合练习十二 163
一、填空题 163
二、判断题 164
三、简答题 164
四、编程题 164
第13章 图形用户界面 165
13.1.2 Windows窗体与MFC和ATL 167
13.1 Windows窗体 167
13.1.1 什么是Windows窗体 167
13.1.3 System::Windows::Forms命名空间 168
13.2 标签 171
13.3 按钮 173
13.4 复选框和单选按钮 176
13.4.1 CheckBox 176
13.4.2 RadioButton 177
13.5 组合框 178
13.6 文本框 179
13.7 键盘事件处理 183
13.8 鼠标事件处理 187
13.9 TreeView控件 191
13.10 ListView控件 195
13.11 菜单 201
13.12 工具栏 204
13.13 状态栏 208
13.14 对话框 210
13.14.1 创建和使用对话框 211
13.14.2 使用通用对话框 218
小结 220
二、判断题 221
综合练习十三 221
一、填空题 221
三、简答题 222
四、编程题 222
第14章 文件处理 223
14.1 System::IO命名空间 223
14.2 文本的输入/输出 224
14.2.1 文本的输入 224
14.2.2 FileStream类 226
14.2.3 文本的输出 228
14.3 处理文件和目录 230
14.4 二进制输入/输出 238
14.4.1 BinaryWriter类 238
14.4.2 BinaryReader类 239
小结 239
综合练习十四 240
一、填空题 240
二、判断题 240
三、简答题 240
四、编程题 240
第15章 多线程 242
15.1 线程 243
15.1.1 启动线程 244
15.1.2 前台线程与后台线程 244
15.1.3 线程优先级 246
15.1.4 挂起和恢复线程 247
15.1.5 终止线程 247
15.1.6 线程状态 248
15.1.7 线程本地数据 249
15.2 线程同步 252
15.2.1 Interlocked 252
15.2.2 监视器 253
15.2.3 阅读器/编写器锁 260
15.2.4 互斥体 263
15.2.5 事件 263
15.2.6 处理多个同步对象 266
15.3 线程池 267
小结 268
二、判断题 269
三、简答题 269
四、编程题 269
一、填空题 269
综合练习十五 269
第16章 XML 270
16.1 读写XML 271
16.1.1 XmlTextReader类 271
16.1.2 XmlValidatingReader类 275
16.1.3 XmlDocument类 281
16.1.4 XmlTextWriter类 289
16.2 XPath 291
16.2.1 XPath基础 291
16.2.2 XPathNavigator类 293
16.2.3 在XPathNavigator中使用XPath 296
16.3 XSL转换(XSLT) 298
小结 302
综合练习十六 303
一、填空题 303
二、判断题 303
三、简答题 304
四、编程题 304
第17章 ADO.NET 305
17.1 关系数据库模型 305
17.2 关系数据库概述 306
17.3.1 ADO.NET数据提供程序 308
17.3 ADO.NET对象模型 308
17.3.2 ADO.NET命名空间 309
17.4 ADO.NET编程:从数据库中提取信息 310
小结 318
综合练习十七 319
一、填空题 319
二、判断题 319
三、简答题 319
四、编程题 319
第18章 Web服务 320
18.1.1 Web服务的体系结构 321
18.1 Web服务概述 321
18.1.2 Web服务客户端 323
18.1.3 Web服务的命名空间 325
18.2 创建和使用Web服务 325
18.2.1 创建Web服务 325
18.2.2 通过浏览器使用Web服务 328
18.2.3 在代码中使用Web服务 329
18.3 ATL Server 331
18.3.1 ATL Server概述 331
18.3.2 ATL Server的体系结构 332
18.3.3 创建ATL Server项目 333
18.3.4 项目生成的代码 336
18.3.5 修改代码 338
18.4 使用ATL Server创建Web服务 339
18.5 Web服务的未来 344
小结 345
综合练习十八 345
一、填空题 345
二、判断题 346
三、简答题 346
四、编程题 346