第1章 绪论 1
1.1 程序与程序设计语言 1
1.2 为什么学习C语言 2
1.3 C语言程序的结构 4
1.4 如何运行C程序 7
1.5 算法 8
1.6 软件开发 12
小结 12
习题 13
第2章 顺序结构程序设计 14
2.1 引例 14
2.2 数据的表现形式 15
2.2.1 标识符 15
2.2.2 数据类型 16
2.2.3 不同类型的常量 19
2.2.4 不同类型的变量 22
2.2.5 符号常量和常变量 26
2.3 基本运算 29
2.3.1 算术运算符和表达式 29
2.3.2 赋值运算 31
2.3.3 自动类型转换与强制类型转换 33
2.3.4 C语言的其他运算 34
2.4 常用数学库函数 35
2.5 数据的输入输出 36
2.5.1 格式化输出函数printf() 36
2.5.2 格式化输入函数scanf() 41
2.5.3 字符数据的输入输出函数 44
小结 46
习题 47
第3章 选择结构程序设计 49
3.1 引例 49
3.2 关系运算符和关系表达式 50
3.3 逻辑运算符和逻辑表达式 51
3.4 用if语句实现选择结构 53
3.5 条件运算符和条件表达式 58
3.6 if语句的嵌套 59
3.7 实现多分支选择的switch语句 63
小结 66
习题 67
第4章 循环结构程序设计 68
4.1 引例 68
4.2 循环控制结构与循环语句 69
4.3 几种循环的比较 75
4.4 循环嵌套 81
4.5 流程控制语句 84
4.5.1 用break语句提前终止循环 84
4.5.2 用continue语句提前结束本次循环 85
4.6 循环程序举例 87
小结 96
习题 98
第5章 数组 99
5.1 引言 99
5.2 一维数组 100
5.2.1 一维数组的定义 100
5.2.2 一维数组元素的引用 101
5.2.3 一维数组元素的初始化 102
5.2.4 一维数组的应用(1) 103
5.2.5 一维数组的应用(2) 107
5.3 二维数组 112
5.3.1 二维数组的定义 112
5.3.2 二维数组元素的引用 113
5.3.3 二维数组的初始化 113
5.3.4 二维数组的应用 114
5.4 字符数组 119
5.4.1 字符数组的定义与初始化 119
5.4.2 字符串的输入和输出 120
5.4.3 字符串的处理函数 122
5.4.4 字符串的应用 125
小结 128
习题 129
第6章 函数 131
6.1 引言 131
6.1.1 函数的作用 131
6.1.2 模块化的程序设计思想 133
6.2 函数定义 135
6.3 函数的调用和参数传递 138
6.3.1 函数的调用 138
6.3.2 函数的参数传递 140
6.3.3 函数的返回值 143
6.4 函数的声明和原型 144
6.5 函数的嵌套与递归调用 146
6.5.1 函数的嵌套调用 146
6.5.2 函数的递归调用 148
6.6 数组作为函数参数 153
6.7 变量的作用域和存储类型 156
6.7.1 变量的作用域 156
6.7.2 变量的存储类型 161
6.8 内部函数和外部函数 166
小结 166
习题 167
第7章 指针 169
7.1 什么是指针 169
7.2 指针的定义及使用 170
7.2.1 指针变量的定义及赋值 170
7.2.2 指针变量的引用 172
7.2.3 指针相关的运算 174
7.2.4 指向指针的指针 175
7.3 指针与数组 175
7.3.1 一维数组与指针 175
7.3.2 指针与二维数组 177
7.3.3 数组指针 178
7.3.4 指针与字符串 179
7.3.5 指针数组 180
7.4 指针和函数 182
7.4.1 指针作为函数的参数 182
7.4.2 指向函数的指针变量 187
7.4.3 返回指针值的函数 190
小结 192
习题 193
第8章 结构体与共用体 194
8.1 概述 194
8.1.1 结构体的引入 194
8.1.2 结构体类型的定义 195
8.2 结构体变量定义 195
8.2.1 结构体变量的定义与初始化 195
8.2.2 结构体变量的引用 198
8.3 结构体数组 199
8.3.1 结构体数组的定义与初始化 200
8.3.2 结构体数组应用举例 201
8.4 指向结构体类型数据的指针 203
8.4.1 指向结构体变量的指针 203
8.4.2 指向结构体数组的指针 204
8.4.3 用结构体变量和指向结构体的指针作函数参数 206
8.5 用指针处理链表 209
8.5.1 链表概述 209
8.5.2 简单链表 210
8.5.3 处理动态链表所需的函数 211
8.5.4 建立动态链表 213
8.5.5 输出链表 216
8.5.6 对链表的删除操作 217
8.5.7 对链表的插入操作 220
8.5.8 对链表的综合操作 222
8.6 共用体 224
8.6.1 共用体类型定义 224
8.6.2 共用体变量定义与引用 224
8.7 枚举类型 227
8.8 用typedef定义类型 228
小结 230
习题 231
第9章 文件 232
9.1 文件概述 232
9.2 常用文件操作函数 235
9.2.1 文件打开/关闭 235
9.2.2 文件读/写 238
9.3 文件操作示例 242
小结 251
习题 251
第10章 C语言应用程序设计实例 252
10.1 背景知识 252
10.2 核心知识点 252
10.3 系统开发环境 252
10.4 系统实施 252
10.5 小结 276
附录 277
附录A 在Visual C++6.0环境下运行C程序的方法 277
附录B 常用字符与ASCII代码对照表 280
附录C C语言中的关键字 281
附录D 运算符的优先级及结合方式 281
附录E 常用标准库函数 282
参考文献 287