第1章 C语言概述 1
1.1 计算机和C语言 1
1.2 二进制和程序存储控制原理 1
1.3 整数在内存中的存放形式 4
1.4 C程序设计语言概述 5
1.4.1 程序设计语言的发展 5
1.4.2 结构化程序设计方法 6
1.4.3 C语言简史 6
1.4.4 C语言的字符集和标识符 7
1.4.5 C程序的基本结构 8
1.4.6 C程序的编辑、编译和连接 9
1.4.7 Turbo C 2.0集成开发环境简介 10
练习一 12
第2章 数据类型、常量、变量和数组 13
2.1 概述 13
2.2 基本数据类型 13
2.2.1 字符型 13
2.2.2 整型 15
2.2.3 实型 15
2.3 常量 16
2.3.1 整型常量 17
2.3.2 实型常量 17
2.3.3 字符常量 18
2.3.4 字符串常量 18
2.3.5 符号常量 19
2.4 变量和数组 19
2.4.1 变量和数组的说明 20
2.4.2 变量和数组元素的初始化 21
2.5 指针变量的定义和初始化 23
2.6 类型标识符的重定义 25
练习二 26
第3章 运算符、表达式和常用的输入/输出函数 27
3.1 运算符和表达式 27
3.1.1 算术运算符和算术表达式 27
3.1.2 关系运算符和关系表达式 28
3.1.3 逻辑运算符和逻辑表达式 29
3.1.4 位运算符和位运算表达式 31
3.1.5 赋值运算符和赋值表达式 32
3.1.8 其他运算符 33
3.1.7 三目运算符和条件表达式 33
3.1.6 逗号运算符和逗号表达式 33
3.2 运算符的优先级和结合性 34
3.3 数据类型转换 34
3.4 常用的输入和输出函数 36
3.4.1 格式化输入/输出函数 36
3.4.2 字符串输入/输出函数 42
3.4.3 其他输入/输出函数 43
练习三 43
4.2 顺序语句结构 45
4.1 概述 45
第4章 语句结构Ⅰ——顺序结构和选择结构 45
4.3 选择语句结构 48
4.3.1 概述 48
4.3.2 简单的if结构 49
4.3.3 if else语句结构 50
4.3.4 if else if语句结构 53
4.3.5 if结构的嵌套 55
4.3.6 switch结构 58
练习四 62
5.2 while循环结构 64
第5章 语句结构Ⅱ——循环结构和无条件转向语句 64
5.1 概述 64
5.3 do_while循环结构 70
5.4 for循环结构 74
5.5 循环结构的嵌套 77
5.6 无条件转向语句 80
5.7 应用举例 84
练习五 86
6.1 概述 87
第6章 数组的应用 87
6.2 一维数组的应用 88
6.2.1 一维数组元素的表示方式 88
6.2.2 一维数组应用 91
6.3 二维数组的应用 96
6.3.1 二维数组元素的表示方法 96
6.3.2 二维数组应用 101
6.4 字符数组和字符串处理函数 103
6.5 指针数组和多级指针 106
6.5.1 指针数组 106
6.5.2 多级指针 107
练习六 108
第7章 函数 110
7.1 概述 110
7.2 函数的定义 111
7.3 函数的说明和调用 113
7.4 函数参数的传递 116
7.4.1 普通值传递 116
7.4.2 指针(地址)值传递 117
7.5.1 函数的嵌套调用 119
7.5 函数的嵌套调用和递归调用 119
7.5.2 函数的递归调用 121
7.6 数组作为函数参数 123
7.7 主函数参数 127
7.8 函数指针和函数指针数组 129
7.9 变量的作用域和存储类别 131
7.9.1 局部变量和全局变量 131
7.9.2 静态局部变量 132
7.9.3 变量的存储类别 133
7.11 预处理命令 135
7.10.2 内部函数 135
7.10.1 外部函数 135
7.10 外部函数和内部函数 135
7.11.1 文件包含 136
7.11.2 宏定义 137
7.11.3 条件编译 139
7.12 应用举例 141
7.13 综合应用:“学生成绩统计”程序1 148
练习七 154
第8章 结构体、共用体和枚举类型 156
8.1 概述 156
8.2 结构体类型的定义 157
8.3 结构体变量的定义 159
8.4 结构体变量的使用和初始化 161
8.4.1 结构体变量成员的使用 161
8.4.2 结构体变量的初始化 161
8.4.3 结构体变量(整体)的使用 162
8.5 结构体数据的输入/输出 163
8.6 结构体指针作为函数参数 166
8.7 动态内存分配函数 169
8.8.1 单链表概述 171
8.8 动态数据结构——链表 171
8.8.2 双链表概述 173
8.8.3 单链表创建和输出函数的设计及应用 175
8.8.4 单链表删除和插入函数的设计及应用 178
8.8.5 单链表在数制转换中的应用 184
8.9 带有位段成员的结构体 186
8.10 共用体类型 187
8.11 枚举类型 189
8.12 综合应用:“学生成绩统计”程序2 193
练习八 199
第9章 文件 200
9.1 概述 200
9.2 文件类型及其指针 202
9.3 文件的打开和关闭 203
9.3.1 文件打开函数 203
9.3.2 文件关闭函数 205
9.4 文件的输入和输出 205
9.4.1 读字符函数 205
9.4.2 写字符函数 209
9.4.3 格式化读/写函数 210
9.4.4 字符串读/写函数 212
9.4.5 块读/写函数 213
9.5 文件的定位函数 218
9.5.1 rewind()函数 218
9.5.2 fseek()函数 219
9.6 出错检测函数 224
9.6.1 ftell()函数 224
9.6.2 ferror()函数和Clearerr()函数 227
练习九 228
10.1 “学生成绩统计”程序3 229
第10章 综合应用 229
10.2 “职工工资单”程序 237
10.3 “学生成绩统计”程序4 242
练习十 249
附录A 常用字符与ASCII代码对照表 250
附录B C语言的关键字表 251
附录C 常用运算符的含义、优先级和结合性 252
附录D 常用C语言库函数 253
参考文献 257