第1章 C语言概述 1
1.1 程序设计与程序设计语言 1
1.1.1 计算机与程序设计 1
1.1.2 程序设计语言的发展 2
1.1.3 程序设计方法 3
1.2 C语言的发展及其特点 4
1.3 C语言程序简介 5
1.4 Visual C++6.0 7
1.4.1 VisualC++6.0主窗口 7
1.4.2 简单C语言程序的编写和运行过程 8
1.4.3 Visual C++程序调试的一般过程及手段 9
本章小结 14
习题 14
第2章 C语言程序设计基础 16
2.1 数据类型 16
2.1.1 整型 16
2.1.2 实型 19
2.1.3 字符型 19
2.2 常量和变量 20
2.2.1 整型常量和整型变量 21
2.2.2 实型常量和实型变量 22
2.2.3 字符常量和字符变量 23
2.2.4 字符串常量 23
2.3 常用函数 24
2.4 算术运算符和算术表达式 25
2.4.1 算术运算符 25
2.4.2 算术表达式 26
2.5 赋值运算 27
2.6 逗号表达式 28
2.7 数据类型转换 28
2.7.1 数据类型的隐式转换 28
2.7.2 数据类型的显式转换 30
2.8 数据的输入输出 30
2.8.1 数据的输出函数 30
2.8.2 数据的输入函数 34
本章小结 36
习题 36
第3章 选择结构程序设计 39
3.1 算法 39
3.1.1 算法及其表示 39
3.1.2 算法的设计过程 42
3.2 关系运算符和关系表达式 42
3.2.1 关系运算符 42
3.2.2 关系表达式 43
3.3 逻辑运算符和逻辑表达式 44
3.3.1 逻辑运算符 44
3.3.2 逻辑表达式 44
3.4 if语句 45
3.4.1 if语句的基本形式 45
3.4.2 if语句的嵌套 50
3.5 条件运算符和条件运算表达式 51
3.6 switch语句 53
3.7 应用举例 55
本章小结 59
习题 59
第4章 循环结构程序设计 66
4.1 概述 66
4.1.1 循环结构程序的组成 66
4.1.2 循环结构程序的分类 66
4.2 while语句和do-while语句 66
4.2.1 用法 66
4.2.2 执行过程 67
4.2.3 循环的嵌套 69
4.2.4 应用举例 70
4.3 for语句 72
4.3.1 用法 72
4.3.2 执行过程 73
4.3.3 循环的嵌套 73
4.3.4 for语句的变化形式 75
4.3.5 应用举例 78
4.4 循环的控制 82
4.4.1 复杂循环的控制条件 82
4.4.2 break语句和continue语句 82
4.4.3 goto语句 84
4.4.4 应用举例 85
本章小结 88
习题 88
第5章 函数与宏定义 95
5.1 函数的定义与调用 95
5.1.1 函数的定义 95
5.1.2 函数的调用 99
5.2 函数间参数的传递 102
5.3 变量的属性 104
5.3.1 局部变量和全局变量 105
5.3.2 动态存储方式和静态存储方式 106
5.3.3 变量的存储类别 107
5.4 函数的递归调用 111
5.5 宏定义 116
5.5.1 文件包含指令 116
5.5.2 不带参数的宏定义 117
5.5.3 带参数的宏定义 118
本章小结 119
习题 120
第6章 数组 124
6.1 一维数组 124
6.1.1 一维数组的定义 124
6.1.2 一维数组的初始化 125
6.1.3 一维数组元素的引用 126
6.1.4 一维数组的应用 128
6.2 二维数组 133
6.2.1 二维数组的定义 133
6.2.2 二维数组的初始化 134
6.2.3 二维数组元素的引用 135
6.2.4 二维数组的应用 135
6.3 字符数组 136
6.3.1 字符数组与字符串 136
6.3.2 字符串的输入与输出 137
6.3.3 字符串处理函数 140
6.4 数组作为函数参数 143
6.4.1 一维数组与函数 143
6.4.2 二维数组与函数 145
本章小结 147
习题 147
第7章 指针 151
7.1 指针的概念 151
7.1.1 指针和指针变量 151
7.1.2 直接访问数据和间接访问数据 151
7.2 指针的操作 152
7.2.1 指针变量的定义 152
7.2.2 指针变量的赋值 153
7.2.3 指针运算符 154
7.3 指针与数组 156
7.3.1 一维数组与指针 156
7.3.2 二维数组与指针 159
7.3.3 字符串与指针 162
7.4 指针与函数 166
7.4.1 指针参数与函数的地址传送调用 166
7.4.2 返回指针的函数 169
7.4.3 指向函数的指针 170
7.4.4 带参数的main函数 172
本章小结 173
习题 174
第8章 结构体与共用体 177
8.1 结构体 177
8.1.1 结构体类型与结构体变量 177
8.1.2 结构体数组 183
8.1.3 结构体指针 184
8.2 链表 187
8.2.1 链表的结构 187
8.2.2 链表的定义 187
8.2.3 动态链表 188
8.3 共用体 195
8.3.1 共用体的特点 197
8.3.2 共用体变量的应用 197
8.4 枚举类型 198
8.5 自定义类型名 201
本章小结 202
习题 203
第9章 文件 209
9.1 文件的基本概念 209
9.1.1 文件的概念 209
9.1.2 文件的分类 209
9.1.3 文件的一般操作过程 210
9.1.4 文件的指针 210
9.2 文件的打开与关闭 211
9.3 文件的读/写 213
9.3.1 fwrite函数 213
9.3.2 ffead函数 214
9.4 文件的其他操作 215
9.4.1 文件的格式化读/写 215
9.4.2 文件的随机读/写 216
9.4.3 文件的字符读/写 216
本章小结 220
习题 220
附录A 常用字符与ASCII代码对照表 225
附录B C语言关键字及其用途 227
附录C 运算符的优先级和结合性 228
附录D 常见C语言源程序错误和警告信息 229
附录E 常用C语言标准库函数 241
参考文献 246