第1章 C语言基础知识 1
1.1 C语言概述 1
1.1.1 程序设计语言及程序设计 1
1.1.2 算法 3
1.1.3 C语言的特点 6
1.1.4 怎样学习C语言 7
1.2 C程序的基本结构 7
1.3 C程序的执行 10
1.3.1 C程序执行的过程 10
1.3.2 Microsoft Visual C++ 6.0集成开发环境 11
1.3.3 程序的调试 14
习题 16
第2章 数据类型和运算符 19
2.1 C程序的符号系统 19
2.1.1 C语言字符集 19
2.1.2 标识符 20
2.2 C语言的数据类型 21
2.2.1 整型数据 21
2.2.2 实型数据 23
2.2.3 字符型数据 24
2.3 常量 25
2.3.1 整型常量 25
2.3.2 实型常量 26
2.3.3 字符常量 26
2.3.4 字符串常量 27
2.3.5 符号常量 28
2.4 变量 29
2.4.1 变量的定义 29
2.4.2 变量的初始化与赋值 30
2.5 运算符和表达式 31
2.5.1 算术运算符 32
2.5.2 关系运算符 33
2.5.3 逻辑运算符 34
2.5.4 自增自减运算符 36
2.5.5 赋值运算符和赋值表达式 37
2.5.6 条件运算符 39
2.5.7 逗号运算符和表达式 40
2.5.8 各种运算中数据类型的转换 41
习题 43
第3章 顺序程序设计 48
3.1 结构化程序设计思想 48
3.1.1 结构化程序设计方法 48
3.1.2 结构化程序的标准 48
3.1.3 3种基本模块 49
3.2 C语言程序设计的基本程序语句 51
3.3 数据的输入与输出 53
3.3.1 数据输出函数 54
3.3.2 数据输入函数 59
3.4 顺序结构程序综合举例 62
习题 66
第4章 选择结构程序设计 70
4.1 if结构语句 70
4.1.1 单分支结构 70
4.1.2 双分支结构 72
4.1.3 多分支结构 73
4.1.4 if语句的嵌套 75
4.2 switch结构语句 78
4.3 选择结构程序举例 80
习题 83
第5章 循环结构程序设计 89
5.1 while语句 89
5.2 do-while语句 92
5.3 for语句 95
5.4 break语句和continue语句 98
5.5 循环的嵌套 100
5.6 循环综合举例 102
习题 104
第6章 数组 109
6.1 一维数组 109
6.1.1 一维数组的定义 109
6.1.2 数组元素的引用 110
6.1.3 一维数组的存储结构与初始化 111
6.1.4 一维数组综合举例 114
6.2 二维数组 121
6.2.1 二维数组的定义及引用 121
6.2.2 二维数组的存储结构以及初始化 122
6.3 字符数组与字符串 125
6.3.1 字符数组的定义、初始化及处理 125
6.3.2 字符数组的处理 126
6.3.3 字符串的概念及处理 127
6.3.4 字符串的输入输出函数 128
6.3.5 字符串处理函数 130
6.3.6 综合练习 134
习题 137
第7章 函数 141
7.1 模块化程序设计与函数 141
7.2 函数定义与调用 142
7.2.1 函数概述 142
7.2.2 函数的定义 144
7.2.3 函数的调用 145
7.2.4 函数的声明 146
7.2.5 函数的参数和函数的返回值 147
7.2.6 数组作为函数的参数 151
7.2.7 函数的嵌套和递归调用 154
7.2.8 函数设计综合举例 156
7.3 变量作用域与存储方式 158
7.3.1 变量的作用域 159
7.3.2 变量的存储方式 162
7.4 编译预处理 167
7.4.1 文件包含 167
7.4.2 宏定义 168
7.4.3 条件编译 171
习题 173
第8章 指针 177
8.1 指针和指针变量 177
8.1.1 指针 177
8.1.2 指针变量 178
8.1.3 指针变量的赋值与运算 178
8.1.4 多级指针 181
8.1.5 用指针变量处理一般变量综合举例 183
8.2 指针与数组 184
8.2.1 指针变量处理一维数组 185
8.2.2 指针变量处理二维数组 187
8.2.3 指针数组 190
8.3 指针变量处理字符串 191
8.4 指针变量与函数 194
8.5 本章综合实例 198
习题 200
第9章 结构体类型与链表 207
9.1 结构体类型的定义 207
9.2 结构体变量 209
9.2.1 结构体变量的定义和初始化 209
9.2.2 结构体变量的使用 210
9.3 结构体数组 213
9.3.1 结构体数组的定义和初始化 214
9.3.2 结构体数组的使用 214
9.4 结构体类型指针 215
9.4.1 结构体类型指针的概念 215
9.4.2 结构体类型指针作为函数参数 216
9.5 链表 217
9.5.1 链表的概念 218
9.5.2 用指针实现内存动态分配 219
9.5.3 单向链表的常用操作 221
习题 228
第10章 共用体与枚举类型 229
10.1 共用体 229
10.1.1 共用体类型和共用体变量 229
10.1.2 共用体变量的引用 230
10.1.3 共用体变量的应用 232
10.2 枚举类型 233
10.2.1 枚举类型和枚举变量 233
10.2.2 枚举类型变量的应用 235
10.3 类型标识符的重定义 236
10.4 位运算 238
10.4.1 位运算符和位运算 238
10.4.2 位段结构 241
习题 242
第11章 文件 244
11.1 文件概述 244
11.1.1 文件的概念 244
11.1.2 文本文件和二进制文件 245
11.1.3 缓冲文件系统 246
11.2 文件类型及其指针 246
11.2.1 文件类型 246
11.2.2 文件类型指针 247
11.3 文件的打开和关闭 247
11.3.1 文件打开函数 247
11.3.2 文件关闭函数 249
11.4 文件的输入和输出 250
11.4.1 字符读写函数fgetc()和fputc() 250
11.4.2 字符串读写函数fgets()和fputs() 252
11.4.3 格式化读写函数fscanf()和fprintf() 254
11.4.4 数据块读写函数fread()和fwrite() 256
11.4.5 文件的其他相关函数 258
习题 260
附录A ASCII码表完整版 261
附录B C语言的32个关键字 263
附录C 运算符优先级和结合性 264
附录D C语言常用函数 265
参考文献 271