第1章 C语言概述 1
1.1 程序设计语言的发展及其特点 1
1.2 C语言的发展过程及其特点 2
1.2.1 C语言的发展过程 2
1.2.2 当代最优秀的程序设计语言 2
1.2.3 C语言的版本 2
1.2.4 C语言的特点 3
1.2.5 C语言的应用 3
1.3 认识简单的C语言程序 4
1.4 Visual C++6.0集成开发环境的使用 8
1.4.1 Visual C++6.0简介和启动 8
1.4.2 利用Visual C++6.0集成开发环境建立工程 9
1.5 C程序开发过程 13
本章小结 15
习题1 16
第2章 数据类型、运算符与表达式 17
2.1 计算机的工作原理 17
2.2 C语言的数据类型 18
2.3 常量、变量和标识符 19
2.3.1 标识符 20
2.3.2 常量和符号常量 20
2.3.3 变量 21
2.4 整型数据 22
2.4.1 整型常量的表示方法 22
2.4.2 整型变量 22
2.4.3 整型常量的分类 26
2.5 实型数据 26
2.5.1 实型常量的表示方法 26
2.5.2 实型变量 27
2.5.3 实型常数的类型 29
2.6 字符型数据 29
2.6.1 字符常量 29
2.6.2 字符变量 30
2.6.3 字符数据在内存中的存储形式及使用方法 31
2.6.4 字符串常量 32
2.7 C语言的运算符与表达式 33
2.7.1 赋值运算符、赋值表达式 33
2.7.2 不同数据类型间的赋值规则 34
2.7.3 算术运算符和算术表达式 36
2.7.4 逗号运算符和逗号表达式 39
2.7.5 sizeof运算符和复合赋值运算符 40
本章小结 41
习题2 42
第3章 C程序设计——顺序程序设计 43
3.1 程序的控制结构 43
3.1.1 算法的基本概念 43
3.1.2 算法的特性 44
3.1.3 算法的表示 44
3.1.4 用N-S流程图表示算法 46
3.1.5 用计算机语言表示算法 46
3.1.6 结构化程序设计方法 47
3.2 C语句概述 47
3.3 数据输入输出的概念及在C语言中的实现 48
3.4 字符数据的输入与输出 49
3.4.1 字符输出函数putchar 49
3.4.2 键盘输入函数getchar 49
3.5 格式输出函数printf 50
3.5.1 printf函数调用的一般形式 50
3.5.2 使用printf函数注意事项 52
3.6 格式输入函数scanf 53
3.7 顺序结构程序设计举例 57
本章小结 59
习题3 59
第4章 选择结构程序设计 61
4.1 关系运算符和表达式 61
4.1.1 关系运算符及其优先级 61
4.1.2 关系表达式 62
4.2 逻辑运算符和逻辑表达式 63
4.2.1 逻辑运算符 63
4.2.2 逻辑表达式 63
4.3 if语句 65
4.3.1 if语句的三种形式 65
4.3.2 if语句的嵌套 69
4.3.3 条件运算符和条件表达式 70
4.4 switch语句 71
4.5 程序举例 75
本章小结 76
习题4 77
第5章 循环控制 78
5.1 概述 78
5.2 goto语句以及用goto语句构成循环 78
5.3 while语句 79
5.4 do-while语句 80
5.5 for语句 82
5.6 循环的嵌套 84
5.7 几种循环的比较 85
5.8 break和continue语句 85
5.8.1 break语句 85
5.8.2 continue语句 86
5.9 程序举例 87
本章小结 89
习题5 89
第6章 函数 90
6.1 函数概述 90
6.2 函数的定义与调用 91
6.2.1 无参函数的定义形式 91
6.2.2 有参函数定义的一般形式 93
6.3 函数的返回值 95
6.4 函数参数的传递方式 96
6.5 函数的调用 98
6.5.1 函数调用的方式 98
6.5.2 函数的嵌套调用 98
6.5.3 函数的递归调用 99
6.6 变量的作用域和生存期 103
6.6.1 局部变量的作用域和生存期 103
6.6.2 全局变量 105
6.7 变量的存储类别 107
6.7.1 动态存储方式与静态存储方式 107
6.7.2 auto变量 108
6.7.3 用static声明局部变量 108
6.7.4 register变量 109
本章小结 110
习题6 110
第7章 预处理命令 111
7.1 概述 111
7.2 宏定义 111
7.2.1 无参宏定义 112
7.2.2 带参宏定义 114
7.3 文件包含 117
7.4 条件编译 118
本章小结 120
习题7 121
第8章 数组 122
8.1 一维数组 122
8.1.1 一维数组的定义方式 122
8.1.2 一维数组在内存中的存放形式 124
8.1.3 一维数组元素的引用 124
8.1.4 一维数组的初始化 125
8.1.5 一维数组程序举例 126
8.2 二维数组的定义和引用 128
8.2.1 二维数组的定义 128
8.2.2 二维数组在内存中的存放形式 129
8.2.3 二维数组元素的引用 129
8.2.4 二维数组的初始化 131
8.2.5 二维数组程序举例 132
8.3 字符数组和字符串 133
8.3.1 字符数组的定义 133
8.3.2 字符数组在内存中的存放形式 133
8.3.3 字符数组的初始化 134
8.3.4 字符数组的应用 134
8.3.5 字符串和字符串结束标志 134
8.3.6 字符数组的输入输出 135
8.3.7 字符串处理函数 137
8.4 数组名或数组元素作为函数的参数 139
8.4.1 数组元素作为函数的参数 139
8.4.2 数组名作为函数的参数 141
8.5 程序举例 142
本章小结 146
习题8 146
第9章 指针 148
9.1 地址和指针的基本概念 148
9.2 变量的指针和指向变量的指针变量 149
9.2.1 定义一个指针变量 149
9.2.2 指针变量在内存中的表示 150
9.2.3 指针变量的引用 150
9.2.4 指针变量作为函数参数 153
9.3 数组的指针和指向数组的指针变量 155
9.3.1 指向数组元素的指针 155
9.3.2 通过指针引用数组元素 156
9.3.3 数组名作为函数参数 159
9.3.4 指向多维数组的指针和指针变量 163
9.4 字符串的指针和指向字符串的指针变量 166
9.4.1 字符串的表示形式 166
9.4.2 使用字符串指针变量与字符数组的区别 169
9.5 函数指针变量 170
9.6 指针型函数 170
9.7 指针数组和指向指针的指针 171
9.7.1 指针数组的概念 171
9.7.2 指向指针的指针 172
9.7.3 main函数的参数 174
9.8 有关指针的数据类型和指针运算的小结 176
9.8.1 有关指针的数据类型的小结 176
9.8.2 指针运算的小结 176
9.8.3 void指针类型 177
本章小结 177
习题9 177
第10章 结构体与共用体 178
10.1 定义一个结构体的一般形式 178
10.2 结构体变量的说明 179
10.3 结构体成员变量的表示方法 182
10.4 结构体变量的赋值 182
10.5 结构体变量的初始化 183
10.6 结构体数组 184
10.6.1 结构体数组的定义 184
10.6.2 结构体数组的初始化 185
10.6.3 结构体数组元素的引用 185
10.6.4 结构体数组的应用 185
10.7 结构体指针变量的说明和使用 187
10.7.1 指向结构体变量的指针变量 187
10.7.2 指向结构体数组的指针 189
10.7.3 结构体变量和指针变量作为函数参数 190
10.8 动态存储分配 191
10.9 链表的概念 193
10.9.1 创建动态链表 194
10.9.2 链表结点的查找与输出 195
10.9.3 链表的插入操作 196
10.9.4 删除结点操作 198
10.10 联合体 199
10.10.1 联合体类型的定义 199
10.10.2 联合体变量的定义和引用 200
10.10.3 联合体变量的赋值 200
10.11 枚举类型 202
10.11.1 枚举类型的定义和枚举变量的说明 202
10.11.2 枚举类型变量的赋值和使用 202
本章小结 203
习题10 204
第11章 位运算 205
11.1 按位与运算 205
11.2 按位或运算 207
11.3 按位异或运算 207
11.4 取反运算 209
11.5 左移运算 209
11.6 右移运算 209
本章小结 210
习题11 210
第12章 文件 211
12.1 文件概述 211
12.2 文件指针 212
12.3 文件的打开与关闭 213
12.3.1 文件打开函数fopen 213
12.3.2 文件关闭函数fclose 214
12.4 文件的读写 215
12.4.1 字符读写函数fgetc和fputc 215
12.4.2 字符串读写函数fgets和fputs 218
12.4.3 数据块读写函数fread和fwrite 219
12.4.4 格式化读写函数fscanf和fprintf 221
12.5 文件的随机读写 222
12.5.1 文件定位 222
12.5.2 文件的随机读写 223
12.6 文件检测函数 224
12.6.1 文件结束检测函数feof 224
12.6.2 读写文件出错检测函数ferror 224
本章小结 224
习题12 224
附录A 关键字 225
附录B ASCII码表 227
附录C 运算符 229
附录D 常用函数 231
参考文献 235