第1章 C语言概述 1
1.1C语言的发展历史 1
1.2一个简单的C程序 1
1.3C语言的特点 5
1.4C程序的结构和风格 7
1.4.1程序书写格式 7
1.4.2采用缩进格式 8
1.4.3用现代风格来说明和定义函数 10
1.4.4关于注释 11
1.4.5C语言中的汉字 12
1.5源程序的编辑、编译、连接和运行 12
习题1 13
第2章 C语句及其要素:数据、运算符及表达式 15
2.1语句 15
2.2数据类型描述 15
2.2.1整型数 16
2.2.2字符型 16
2.2.3实型(浮点型)数 17
2.3常量 18
2.4变量及其定义和赋初值 21
2.5数据类型的转换 24
2.6算术运算符 25
2.7赋值运算符 26
2.8关系运算符和逻辑运算符 28
2.8.1关系运算 28
2.8.2逻辑运算符 29
2.8.3按位逻辑运算符 30
2.9移位运算符 32
2.9.1左移运算符 32
2.9.2右移运算符 33
2.10条件运算符和逗号运算符 34
2.10.1条件运算符 34
2.10.2逗号运算符 34
2.11优先级和结合率 35
2.12数据的输入和输出 36
习题2 41
第3章 C语言程序设计的算法和流程控制 44
3.1C语言程序的设计步骤和算法 44
3.1.1结构化程序设计的基本概念 44
3.1.2算法及其表示 45
3.2流程控制语句 48
3.3选择型控制结构 49
3.3.1if.else结构 49
3.3.2switch结构 54
3.4循环控制结构 56
3.4.1while结构 57
3.4.2do*while循环 62
3.4.3for循环结构 63
3.5其他流程控制语句 68
3.5.1break语句 68
3.5.2continue语句 68
3.5.3exit函数实现的流程转向 69
3.5.4goto语句 70
3.6综合举例 70
习题3 73
第4章 函数及变量的作用域 78
4.1函数的定义 78
4.2函数的说明 80
4.3函数的调用 81
4.3.1函数的传值调用 81
4.3.2函数的嵌套调用 83
4.3.3函数的递归调用 83
4.4变量的存储类型及其作用域 85
4.4.1动态变量 86
4.4.2静态变量和外部变量 88
4.5编译预处理 90
4.5.1宏替换 90
4.5.2文件包含 91
4.6条件编译 91
习题4 94
第5章 数组 97
5.1数组的基本概念 97
5.1.1一维数组及其定义 97
5.1.2数组的初始化 97
5.1.3数组元素的引用 98
5.1.4一维数组的应用 98
5.2字符数组和字符串 100
5.2.1字符串的引入 100
5.2.2字符串的初始化 101
5.2.3字符串的输入和输出 101
5.2.4字符串运算函数 102
5.3数组作为函数的参数 104
5.4二维数组和多维数组 105
5.5数组应用综合举例 107
习题5 114
第6章 指针 118
6.1指针的概念 118
6.2指针变量的定义和使用 119
6.2.1指针变量的定义 119
6.2.2指针的计算 120
6.3指针与函数 121
6.3.1指针作为函数的参数 121
6.3.2指向函数的指针 125
6.3.3返回指针值的函数 128
6.4指针与数组 129
6.4.1一维数组的指针表示法 129
6.4.2指针与字符串 130
6.4.3指针数组 132
6.5指向指针的指针 135
6.5.1多重指针 135
6.5.2用二重指针来处理二维数组 136
6.6main()函数中的参数 138
习题6 140
第7章 结构、联合及枚举 142
7.1结构的基本概念及定义 142
7.1.1基本概念 142
7.1.2结构类型的定义 142
7.1.3结构变量的定义 143
7.2结构变量的初始化及使用 145
7.2.1结构变量的初始化 145
7.2.2结构变量的引用 147
7.3结构数组 149
7.3.1结构数组的定义及初始化 149
7.3.2结构数组的引用 151
7.4指向结构的指针 153
7.4.1结构指针的定义 153
7.4.2用结构指针来访问结构成员 154
7.4.3指向结构数组的指针 155
7.5结构与函数 156
7.5.1结构变量作为函数的参数 156
7.5.2返回值为结构类型的函数 158
7.5.3结构指针作为函数的参数 159
7.6动态存储分配和链表 161
7.6.1自引用结构和链表 162
7.6.2与内存分配有关的函数和运算符 162
7.6.3链表——动态存储分配的实现 164
7.6.4链表中结点的删除和插入操作 166
7.6.5链表应用举例 169
7.7联合 173
7.7.1联合的基本概念 173
7.7.2联合变量的引用 174
7.7.3联合变量的应用 175
7.7.4指向联合的指针 177
7.8枚举 177
7.9用typedef定义类型 179
习题7 180
第8章 文件 185
8.1文件概述 185
8.1.1关于文件的基本概念 185
8.1.2文件类型指针 186
8.1.3文件的打开与关闭 187
8.2顺序文件的操作 189
8.2.1顺序文件的创建(写)和追加 189
8.2.2顺序文件的读 193
8.3随机文件的读、写操作 199
8.3.1文件的定位 199
8.3.2随机读写 200
8.4文件操作的出错检测 203
习题8 203
第9章 C语言的集成开发环境 205
9.1TurboC概述 205
9.2TurboC集成开发环境 205
9.2.1基本操作 205
9.2.2TC的热键 206
9.2.3菜单结构及命名约定 207
9.2.4主菜单 208
9.2.5快速参考行 208
9.2.6编辑窗口 208
9.2.7编辑命令的速成指南 209
9.2.8在编辑窗口中操作源文件 210
9.2.9信息窗口 211
9.2.10观察窗口 211
9.3在TurboC环境下调试C程序 212
9.3.1调试控制 212
9.3.2调试程序屏幕显示 212
9.3.3调试菜单命令和热键 212
9.4集成环境下的C程序基本调试方法 213
9.5VisualC++集成开发环境 215
9.5.1VisualC++简介 215
9.5.2VisualC++集成开发环境 216
9.5.3简单的C/C++程序的编写和运行过程 218
9.5.4程序调试 221
9.6TurboC库函数 223
9.6.1字符串函数 223
9.6.2字符型函数 224
9.6.3数学函数 225
9.6.4输入输出函数 225
9.6.5动态存储分配函数 227
9.6.6其他库函数 228
综合练习 229
试题汇编 239
附录 265
附录A 运算符优先级和结合方向 265
附录B 常用ASCII码字符编码表 266
参考文献 267