第1章C语言的基本概念 1
目录 1
1-1程序语言 2
1-1-1为什么需要程序语言 2
1-1-2高级语言 3
1-2 C语言的演化 3
1-3 Microsoft Visual C++6.0的安装 4
1-4启动程序与画面简介 16
1-4-1启动Visual C++ 16
1-4-2 Visual C++画面概述 17
1-4-3启动MSDN Library 19
1-4-4 MSDN Library画面概述 20
1-5-1程序设计步骤 21
1-5 C语言程序结构 21
1-5-2 C语言程序结构 22
1-6如何编写C语言程序 25
1-6-1 C语言程序的格式 25
1-6-2编译程序语言和解释程序语言 25
1-6-3 Visual C++程序的编写与编译方法 26
温故知新 29
自我突破习题 29
第2章数据类型与表达式 31
2-1 C语言的数据类型与变量声明 32
2-1-1常量与变量 32
2-1-2整数 33
2-1-4字符 34
2-1-3浮点数 34
2-2输入与输出 35
2-3运算符和表达式 40
2-3-1数学运算表达式 40
2-3-2赋值表达式 42
2-3-3逻辑关系表达式 42
2-3-4位运算表达式 43
2-3-5数据类型的转换与强制转换数据类型运算符 47
2-3-6运算符优先级 48
温故知新 53
自我突破习题 53
第3章程序流程控制 55
3-1-1 for语句 56
3-1循环结构 56
3-1-2 while语句 64
3-1-3 do…while语句 68
3-2条件流程控制 71
3-2-1 if语句 71
3-2-2 else if语句 74
3-3多重分支结构(switch…case) 77
3-4 中断分支与循环语句 82
3-4-1 中断分支break语句 82
3-4-2 continue语句 85
3-5条件运算符(?:) 89
3-6跳转语句(goto) 93
温故知新 94
自我突破习题 95
第4章数组与指针 99
4-1数组 100
4-1-1数值数组数据的赋值 100
4-1-2字符数组数据的赋值 107
4-2多维数组 111
4-2-1数值二维数组数据的赋值 112
4-2-2字符二维数组数据的赋值 117
4-3指针 119
4-3-1指针的意义 119
4-3-2指针的运算 120
4-4-1 new配置内存 123
4-4动态分配内存 123
4-4-2 delete释放内存 127
4-5指针与数组 129
4-5-1指针与一维数组 129
4-5-2指针与多维数组 131
4-5-3指针与字符数组 133
温故知新 133
自我突破习题 134
第五章函数与函数库 137
5-1函数定义 138
5-2参数传递 140
5-2-1传值调用 141
5-2-2传址调用 143
5-3-1数学函数 146
5-3 C++常用函数 146
5-3-2随机数函数 151
5-3-3字符串函数 153
5-3-4数据转换函数 157
5-3-5输入输出函数 160
5-4递归函数(Recursive Functions) 167
5-5内联函数 170
温故知新 171
自我突破习题 171
第6章特殊数据类型与定义 175
6-1枚举(enum) 176
6-2用户自定义类型名称(typedef) 178
6-3-1结构的定义与存取 180
6-3结构(struct) 180
6-3-2函数中结构数据的传递 184
6-4预处理器指令 188
6-4-1 #define与#undef 188
6-4-2#include 190
6-4-3#if…#else…#endif与#elif 193
6-4-4 #ifdef与#ifndef 195
6-5变量的作用范围 196
6-5-1自动变量(auto) 196
6-5-2静态变量(static) 197
6-5-3外部变量(extem) 199
6-5-4静态外部变量(static extern) 201
自我突破习题 202
6-5-5寄存器变量(register) 202
温故知新 202
第7章对象与类 205
7-1面向对象的基本概念 206
7-1-1什么是对象 206
7-1-2面向对象设计的优点 208
7-2加上行为的结构——类 208
7-2-1类的意义 208
7-2-2类的设计方法 210
7-2-3类中成员的种类 214
7-2-4嵌套类 216
7-3构造函数与析构函数 217
7-3-1构造函数的基本概念 217
7-3-2设定对象的初始值 218
7-3-3构造函数重载 229
7-3-4析构函数 230
7-4对象的声明与操作 230
7-4-1对象的声明 230
7-4-2对象的指定 231
7-4-3动态配置对象 232
温故知新 234
自我突破习题 235
第8章继承与派生类 239
8-1派生类 240
8-1-1继承的概念 240
8-1-2派生类——公共派生 242
8-1-3派生类——私有派生 249
8-1-4派生类——保护派生 250
8-1-5派生的原则 252
8-1-6派生类的构造函数与析构函数 253
8-2多重继承 255
8-2-1基本概念 255
8-2-2构造函数的定义 255
8-2-3成员函数的存取 258
8-3类的层次 259
8-3-1单一类层次 259
8-3-2多重类层次 261
8-4虚基类 263
8-4-1使用时机 263
8-4-2构造函数的存取 265
8-4-3析构函数的存取 271
8-4-4虚基类成员的存取 272
温故知新 273
自我突破习题 274
第9章虚函数与友元函数 279
9-1多态 280
9-2虚函数 281
9-2-1定义与声明 281
9-2-2存取关系 284
9-2-3动态链接 292
9-2-4纯虚函数 296
9-3-1友元函数 298
9-3友元函数与友元类 298
9-3-2友元类 300
9-4 this指针 303
温故知新 305
自我突破习题 306
第1 0章重载 309
10-1函数重载 310
10-1-1一般函数重载 310
10-1-2构造函数重载 311
10-1-3复制构造函数 315
10-2运算符重载 319
10-2-1运算符函数 319
10-2-2二元运算符的重载(一) 321
10-2-3二元运算符的重载(二) 326
10-2-4一元运算符的重载 331
10-2-5等号运算符的重载 334
10-3类的类型转换 337
10-3-1利用构造函数转换类型 337
10-3-2类类型转换成其他类型 339
温故知新 340
自我突破习题 341
第11章模板 347
11-1什么是模板 348
11-2函数模板 350
11-2-1套用一般数据类型的函数模板 350
11-2-2套用自定义类型的函数模板 353
11-3类模板 357
11-3-1定义及使用方法 357
11-3-2具有固定类型的类模板 359
11-3-3一个类模板范例——串行队列 362
温故知新 376
自我突破习题 376
第12章输入与输出流 379
12-1流 380
12-2输出流cout 382
12-2-1串联输出 382
12-2-2字符与字符串输出 382
12-2-4设定输出格式 383
12-2-3清除缓冲区flush() 383
12-3输入流cin 389
12-3-1串联输入 389
12-3-2单一字符输入get 389
12-3-3字符串输入getline()和ignore() 391
12-4文件的输入与输出 393
12-4-1简单的文件I/O处理 394
12-4-2 高级文件处理 397
12-4-3随机访问文件 409
温故知新 414
自我突破习题 415
附录A C++关键字 417
附录B ASCII码字符对照表 419