第1章 C程序设计基础 1
1.1 程序设计概述 1
1.1.1 程序设计的概念 1
1.1.2 程序设计方法 1
1.1.3 程序设计语言及其发展 2
1.2 C语言概述 4
1.2.1 C语言的发展 4
1.2.2 C语言的特点 5
1.2.3 C语言的应用 6
1.3 C程序的组成 7
1.3.1 简单程序举例 7
1.3.2 C程序的组成特点 9
1.3.3 C程序的书写规范 9
1.4 C程序设计的一般步骤 10
1.5 C语言程序开发调试环境 11
1.5.1 Visual C++ 6.0简介 11
1.5.2 Visual C++ 6.0下开发调试C程序的方法与步骤 12
1.6 小结 17
1.7 练习 17
第2章 基本数据类型及运算 19
2.1 C语言的构成元素 19
2.1.1 构成元素概述 19
2.1.2 字符集 19
2.1.3 标识符 20
2.2 C语言的数据类型 21
2.2.1 数据类型概述 21
2.2.2 整型 22
2.2.3 浮点型 24
2.2.4 字符型 25
2.3 常量 25
2.3.1 符号常量 26
2.3.2 整型常量 26
2.3.3 浮点型常量 28
2.3.4 字符常量 28
2.3.5 字符串常量 30
2.4 变量 30
2.4.1 变量的概念 30
2.4.2 变量定义 31
2.4.3 变量初始化 31
2.4.4 变量赋值 31
2.5 运算符和表达式 32
2.5.1 运算符概述 32
2.5.2 算术运算符和算术表达式 33
2.5.3 赋值运算符和赋值表达式 36
2.5.4 逗号运算符和逗号表达式 38
2.6 数据类型转换 38
2.6.1 自动转换 38
2.6.2 强制类型转换 39
2.7 小结 40
2.8 练习 40
第3章 简单C程序设计 44
3.1 算法 44
3.1.1 算法的概念 44
3.1.2 算法的特性 45
3.1.3 算法设计的要求 45
3.1.4 算法的描述 46
3.2 C语句概述 49
3.3 C语言的输入输出 51
3.3.1 输入输出概述 51
3.3.2 格式输出函数printf 52
3.3.3 格式输入函数scanf 57
3.3.4 字符输出函数与字符输入函数 60
3.4 程序设计举例 61
3.5 小结 62
3.6 练习 62
第4章 选择结构 64
4.1 关系运算符和关系表达式 64
4.1.1 关系运算符 64
4.1.2 关系运算符的优先级 65
4.1.3 关系表达式 65
4.1.4 关系表达式的值 65
4.2 逻辑运算符和表达式 66
4.2 1 逻辑运算符 66
4.2.2 逻辑运算符的优先级 66
4.2.3 逻辑表达式 66
4.2.4 逻辑表达式的值 66
4.3 if语句 69
4.3.1 if语句的形式 69
4.3.2 if语句的嵌套 76
4.4 条件运算符和条件表达式 80
4.5 switch语句 82
4.6 程序设计举例 87
4.7 小结 94
4.8 练习 94
第5章 循环结构 98
5.1 while语句 98
5.2 do…while语句 101
5.3 for语句 103
5.4 循环嵌套 108
5.5 break语句 111
5.6 continue语句 112
5.7 goto语句 115
5.8 程序设计举例 116
5.9 小结 122
5.10 练习 123
第6章 数组 128
6.1 一维数组 128
6.1.1 一维数组的定义 128
6.1.2 一维数组的初始化 129
6.1.3 一维数组元素的引用 130
6.1.4 程序设计举例 131
6.2 二维数组 137
6.2.1 二维数组的定义 137
6.2.2 二维数组的初始化 138
6.2.3 使用二维数组 139
6.2.4 程序设计举例 141
6.3 字符数组 143
6.3.1 字符数组的定义 143
6.3.2 字符数组的初始化 143
6.3.3 字符数组的输入输出 145
6.3.4 字符串处理函数 148
6.3.5 程序设计举例 158
6.4 小结 161
6.5 练习 161
第7章 函数 166
7.1 函数概述 166
7.2 函数的定义 168
7.2.1 函数的定义形式 168
7.2.2 函数的参数 169
7.2.3 函数的返回值 171
7.3 函数的声明和调用 172
7.3.1 函数的声明 172
7.3.2 函数的调用 174
7.3.3 函数的嵌套调用 174
7.3.4 函数的递归调用 176
7.4 变量的作用域与存储类别 178
7.4.1 变量的作用域 178
7.4.2 变量的存储类别 182
7.4.3 变量的作用域与存储类别小结 187
7.5 内部函数与外部函数 187
7.5.1 内部函数 187
7.5.2 外部函数 188
7.6 预处理 189
7.6.1 文件包含 189
7.6.2 宏定义 190
7.7 小结 196
7.8 练习 196
第8章 指针 203
8.1 指针的概念 203
8.2 指针变量 203
8.2.1 指针变量的概念 203
8.2.2 指针变量的定义 204
8.2.3 指针变量的赋值 204
8.2.4 指针变量的引用 205
8.3 指针与数组 208
8.3.1 指向数组元素的指针 208
8.3.2 指向一维数组的指针变量 214
8.3.3 指针数组 215
8.4 指针与字符串 216
8.4.1 指向字符串的指针变量 216
8.4.2 指向字符串的指针变量与字符数组的区别 220
8.5 指针与函数 222
8.5.1 指针变量作为函数参数 222
8.5.2 返回指针值的函数 226
8.5.3 指向函数的指针 228
8.5.4 指针数组作为main函数的参数 231
8.6 指向指针的指针 233
8.7 小结 235
8.8 练习 235
第9章 构造数据类型 239
9.1 结构体 239
9.1.1 结构体类型 239
9.1.2 结构体类型的声明 240
9.1.3 结构体变量 240
9.1.4 结构体数组 244
9.1.5 结构体指针 247
9.2 链表 251
9.2.1 链表概述 251
9.2.2 链表操作 252
9.3 共用体 258
9.3.1 共用体类型 258
9.3.2 共用体变量 259
9.4 枚举类型 261
9.4.1 枚举类型 261
9.4.2 枚举变量 262
9.5 用typedef定义类型别名 263
9.6 小结 264
9.7 练习 264
第10章 位运算 267
10.1 位运算符 267
10.2 简单位运算 268
10.3 位域 272
10.4 小结 274
10.5 练习 275
第11章 文件 276
11.1 文件概述 276
11.2 文件的打开与关闭 277
11.2.1 文件指针 277
11.2.2 文件的打开 278
11.2.3 文件的关闭 279
11.3 文件的读写 279
11.3.1 字符的读写 279
11.3.2 字符串读写 282
11.3.3 数据块读写 284
11.3.4 格式化读写函数 286
11.4 文件的定位 287
11.5 文件的检测 291
11.6 小结 291
11.7 练习 292
附录A 常用字符与ASCII代码对照表 297
附录B C语言中的关键字 300
附录C 运算符和结合性 301
附录D C常用库函数 303
参考文献 310