第1章 C语言的第一堂课 1
1-1 C语言的起源 1
1-2 我的第一个C程序 2
1-2-1 程序代码编写规则 4
1-2-2 编译程序代码 5
1-2-3 运行C程序 5
1-2-4 程序代码的调试 6
1-3 helloworld程序快速解析 7
1-3-1 头文件的作用 7
1-3-2 main()函数简介 8
1-3-3 system()函数的作用 9
1-3-4 注释与缩排 9
1-4 课后练习 10
第2章 变量与常数 13
2-1 认识变量 14
2-1-1 变量命名原则 14
2-1-2 变量的声明 15
2-2 变量的作用域 17
2-2-1 全局变量 18
2-2-2 局部变量 18
2-2-3 区块变量 18
2-3 常数 20
2-4 课后练习 22
第3章 C语言的基本数据类型 24
3-1 认识基本数据类型 24
3-1-1 整数 24
3-1-2 浮点数 27
3-1-3 字符类型 29
3-1-4 转义字符简介 33
3-2 数据类型转换 34
3-2-1 自动类型转换 35
3-2-2 强制类型转换 36
3-3 上机程序测验 37
3-4 课后练习 38
第4章 格式化输入与输出函数 41
4-1 printf()函数 41
4-1-1 格式化字符 43
4-1-2 字段宽度设置功能 45
4-1-3 精度设置功能 47
4-1-4 标志设置功能 50
4-2 scanf()函数 51
4-2-1 格式化字符 52
4-2-2 加上提示字符 54
4-2-3 字段宽度设置功能 56
4-2-4 输入字符串 57
4-3 其他输入/输出函数 59
4-3-1 getchar()函数与putchar()函数 59
4-3-2 getche()函数与getch()函数 60
4-3-3 gets()函数与puts()函数 62
4-4 上机程序测验 63
4-5 课后练习 64
第5章 表达式与运算符 66
5-1 表达式简介 66
5-2 认识运算符 67
5-2-1 赋值运算符 68
5-2-2 算术运算符 69
5-2-3 关系运算符 70
5-2-4 逻辑运算符 71
5-2-5 位运算符 74
5-2-6 递增与递减运算符 79
5-2-7 复合赋值运算符 81
5-3 上机程序测验 82
5-4 课后练习 82
第6章 流程控制与选择性结构 86
6-1 顺序结构 86
6-2 选择结构 87
6-2-1 if条件语句 88
6-2-2 if-else条件语句 90
6-2-3 条件运算符 94
6-2-4 switch选择语句 95
6-3 上机程序测验 99
6-4 课后练习 100
第7章 循环结构 103
7-1 for循环 104
7-1-1 for循环的使用方式 104
7-1-2 嵌套循环 106
7-2 while循环 107
7-3 do while循环 110
7-4 循环控制指令 112
7-4-1 break指令 113
7-4-2 continue指令 114
7-4-3 goto指令 115
7-5 上机程序测验 117
7-6 课后练习 118
第8章 数组与字符串 120
8-1 认识C语言的数组 120
8-1-1 一维数组 121
8-1-2 二维数组 126
8-1-3 多维数组 130
8-2 字符串简介 132
8-2-1 字符串的使用 133
8-2-2 字符串数组 134
8-2-3 字符串处理功能 136
8-2-4 字符串处理函数 138
8-3 上机程序测验 140
8-4 课后练习 142
第9章 指针基础入门 146
9-1 认识地址 146
9-1-1 指针的作用 146
9-1-2 变量地址的存取 147
9-1-3 存取数组元素的地址 148
9-1-4 指针变量 149
9-2 多重指针 153
9-2-1 双重指针 153
9-2-2 多重指针 155
9-3 认识指针运算 157
9-3-1 递增与递减运算 157
9-3-2 指针常数与数组 159
9-3-3 指针变量与数组 162
9-4 上机程序测验 162
9-5 课后练习 163
第10章 高级指针处理 166
10-1 指针与字符串 166
10-1-1 使用指针设置字符串 166
10-1-2 指针数组 168
10-2 动态分配 170
10-2-1 动态分配变量 170
10-2-2 动态分配一维数组 172
10-2-3 动态分配字符串 174
10-2-4 动态分配多维数组 175
10-2-5 通用类型指针 180
10-3 上机程序测验 181
10-4 课后练习 182
第11章 函数的基本认识 184
11-1 认识函数 184
11-1-1 模块化设计精神 185
11-1-2 函数的使用 185
11-2 函数的使用 185
11-2-1 函数原型声明简介 185
11-2-2 函数的定义 187
11-2-3 函数的调用 188
11-3 参数传递方式 189
11-3-1 参数的意义 189
11-3-2 传值调用 189
11-3-3 传址调用 192
11-3-4 数组参数的传递 194
11-4 递归的作用 197
11-5 上机程序测验 199
11-6 课后练习 201
第12章 函数的高级应用与宏 203
12-1 命令行参数 203
12-2 指针返回值 205
12-3 函数指针 207
12-4 变量的作用域 208
12-4-1 auto变量 208
12-4-2 register变量 209
12-4-3 static变量 210
12-4-4 extern变量 211
12-5 预处理器 213
12-5-1 宏指令 214
12-5-2 条件编译指令 216
12-5-3 #include指令 218
12-6 上机程序测验 219
12-7 课后练习 220
第13章 结构数据类型 223
13-1 结构简介 223
13-1-1 声明结构变量 223
13-1-2 存取结构成员 224
13-1-3 结构指针 226
13-1-4 动态分配结构变量 229
13-1-5 结构数组 231
13-1-6 嵌套结构 233
13-2 链表 235
13-2-1 链表的建立 236
13-2-2 链表程序的实现 236
13-3 函数与结构 241
13-3-1 结构参数与传值调用 241
13-3-2 结构参数与传址调用 241
13-4 上机程序测验 242
13-5 课后练习 244
第14章 其他自定义数据类型与项目设计 248
14-1 类型定义指令 248
14-2 枚举指令 251
14-3 联合指令 253
14-4 项目程序简介 255
14-5 上机程序测验 259
14-6 课后练习 260
第15章 文件的输入与输出 261
15-1 缓冲区简介 261
15-1-1 fopen()函数与fclose()函数 262
15-1-2 putc()函数与getc()函数 264
15-1-3 fputs()函数与fgets()函数 266
15-1-4 fprintf()函数与fscanf()函数 268
15-1-5 fwrite()函数与fread()函数 270
15-1-6 fseek函数与rewind()函数 273
15-2 无缓冲区的输入与输出 275
15-2-1 open()函数与close()函数 276
15-2-2 read()函数与write()函数 277
15-2-3 lseek()函数 280
15-3 上机程序测验 282
15-4 课后练习 283
第16章 C到C++面向对象程序设计 286
16-1 认识面向对象设计 286
16-1-1 封装 287
16-1-2 继承 288
16-1-3 多态 288
16-2 第一个C++程序 288
16-2-1 头文件 289
16-2-2 程序注释 290
16-2-3 命名空间 291
16-2-4 输入输出功能简介 291
16-2-5 浮点数 292
16-2-6 布尔数据类型 294
16-3 C++的函数 295
16-3-1 传引用调用 296
16-3-2 内联函数 297
16-3-3 函数重载 299
16-4 类 301
16-4-1 类的声明 301
16-4-2 访问权限关键字 302
16-4-3 创建类对象 303
16-5 构造函数与析构函数 305
16-5-1 构造函数 305
16-5-2 析构函数 309
16-5-3 作用域解析运算符 310
16-6 上机程序测验 313
16-7 课后练习 314
附录A C的标准函数库 318
A-1 字符串处理函数 318
A-2 字符处理函数 319
A-3 常用数学函数 320
A-4 时间与日期函数 321
A-5 类型转换函数 321
A-6 流程控制函数 321
附录B C编译程序的介绍与安装 323
B-1 C/C++编译程序简介 323
B-1-1 Visual Studio 323
B-1-2 Dev C++ 324
B-1-3 GCC 325
B-2 Dev C++的安装与介绍 325
B-2-1 下载Dev C++ 325
B-2-2 安装Dev C++ 326
B-2-3 程序项目的建立 328