第1章 C语言概述 1
本章学习目标 1
1.1 C语言的发展简史 1
1.2 C语言的特点 2
1.3 认识C程序 3
1.3.1 一个简单的C程序 3
1.3.2 C程序的基本结构 4
1.3.3 C程序中的单词 6
1.3.4 如何编写可读性良好的C程序 7
1.4 C程序的运行与调试 9
1.4.1 C程序设计的基本步骤 9
1.4.2 如何使用Turbo C/C++3.0运行与调试C程序 12
习题一 15
实训一 16
第2章 基本数据类型、运算符与表达式 18
本章学习目标 18
2.1 C语言的数据类型 18
2.2 常量与变量 19
2.2.1 常量 19
2.2.2 变量 19
2.3 整型数据 20
2.3.1 整型常量 20
2.3.2 整型变量 21
2.4 实型数据 24
2.4.1 实型常量 24
2.4.2 实型变量 25
2.5 字符型数据 26
2.5.1 字符常量 26
2.5.2 字符变量 28
2.5.3 字符串常量 29
2.6 各类数据混合运算 30
2.7 C语言的运算符与表达式 31
2.7.1 算术运算符和算术表达式 32
2.7.2 自增与自减运算符 33
2.7.3 赋值运算符和赋值表达式 35
2.7.4 关系运算符及其表达式 38
2.7.5 逻辑运算符及其表达式 39
2.7.6 逗号运算符(,)及其表达式 42
2.7.7 位运算符及其表达式 43
2.8 运算符的优先级及其结合性 45
习题二 46
实训二 47
第3章 简单的C程序设计 49
本章学习目标 49
3.1 C语句概述 49
3.2 程序的三种基本结构 50
3.3 赋值语句 52
3.4 数据输入输出 52
3.4.1 printf()——格式化输出函数 53
3.4.2 putchar()——单个字符的输出函数 57
3.4.3 scanf()——格式化输入函数 57
3.4.4 getchar()——单个字符输入函数 60
3.5 顺序结构的简单C程序设计举例 60
习题三 62
实训三 65
第4章 选择结构程序设计 67
本章学习目标 67
4.1 if语句 67
4.2 switch语句 74
4.3 选择结构程序设计举例 76
习题四 79
实训四 83
第5章 循环结构的C程序设计 84
本章学习目标 84
5.1 循环语句 84
5.1.1 goto语句 84
5.1.2 while语句 86
5.1.3 do-while语句 88
5.1.4 for语句 89
5.2 break语句和continue语句 91
5.2.1 break语句 91
5.2.2 continue语句 92
5.2.3 break语句和continue语句的比较 93
5.3 循环的嵌套 93
5.4 几种循环的比较 97
5.5 循环结构的C程序设计举例 98
习题五 100
实训五 103
第6章 数组和串 105
本章学习目标 105
6.1 一维数组的定义和引用 105
6.2 二维数组的定义和引用 110
6.3 字符数组与字符串 116
6.4 常用的字符串处理函数 119
6.5 数组应用编程 122
习题六 125
实训六 127
第7章 函数 130
本章学习目标 130
7.1 函数的定义 130
7.2 函数的调用 134
7.2.1 函数调用的一般形式 134
7.2.2 函数间的参数传递 136
7.2.3 函数调用的方式 139
7.2.4 函数的声明 140
7.2.5 函数的递归调用 141
7.2.6 数组作为函数的参数 147
7.3 由多个函数组成的C程序设计 149
习题七 151
实训七 153
第8章 编译预处理 155
本章学习目标 155
8.1 宏定义 155
8.2 文件包含 158
8.3 条件编译 159
习题八 160
实训八 161
第9章 指针 163
本章学习目标 163
9.1 指针与内存地址 163
9.1.1 变量的地址 163
9.1.2 变量在内存中的存取 164
9.2 变量的指针与指针变量 165
9.2.1 什么是指针变量 165
9.2.2 指针变量的定义 165
9.2.3 指针变量的引用 166
9.2.4 指针变量作为函数参数 169
9.3 数组指针 172
9.3.1 指向数组元素的指针 172
9.3.2 通过指针引用数组元素 173
9.3.3 数组名作函数参数 175
9.3.4 二维数组的指针和指向二维数组的指针变量 178
9.4 字符串指针 181
9.4.1 字符串的指针表示和引用 181
9.4.2 字符串指针作函数参数 183
9.5 函数指针 185
9.5.1 指向函数的指针变量 185
9.5.2 用函数指针变量调用函数 186
9.5.3 用指向函数的指针作函数参数 187
9.6 返回指针值的函数 189
9.7 指针数组和指向指针的指针 191
9.7.1 指针数组 191
9.7.2 指向指针的指针 193
9.7.3 指针数组作main()函数的形参 195
9.8 指针应用编程 196
习题九 199
实训九 202
第10章 结构类型 205
本章学习目标 205
10.1 结构体类型与结构体变量的定义 205
10.1.1 结构体类型的定义 205
10.1.2 结构体类型变量的定义 206
10.2 结构体变量的引用与初始化 208
10.2.1 结构体类型变量的引用 208
10.2.2 结构体变量的初始化 209
10.3 结构体数组 210
10.3.1 结构体数组的定义 210
10.3.2 结构体数组的初始化 211
10.3.3 结构体数组应用举例 211
10.4 指向结构体类型数据的指针 213
10.4.1 指向结构体变量的指针 213
10.4.2 指向结构体数组的指针 214
10.5 共用体类型 215
10.5.1 共用体类型的定义 215
10.5.2 共用体变量的定义 216
10.5.3 共用体变量的引用 217
10.6 枚举类型 219
10.7 用typedef定义类型的别名 220
10.8 结构体应用编程 221
习题十 224
实训十 227
第11章 C语言的模块化程序设计 230
本章学习目标 230
11.1 程序设计的基本方法 230
11.1.1 自顶向下、逐步求精的设计过程 230
11.1.2 模块化程序设计 233
11.1.3 结构化编程 234
11.2 C语言对模块化编程的支持 234
11.2.1 局部变量与全局变量 234
11.2.2 变量的存储类型 237
11.2.3 内部函数与外部函数 241
11.3 多个源程序文件组成的C程序设计 243
习题十一 245
实训十一 248
第12章 文件 249
本章学习目标 249
12.1 C语言文件概述 249
12.1.1 文件的概念及分类 249
12.1.2 文件的操作流程 250
12.1.3 文件指针 251
12.2 文件的打开与关闭 251
12.2.1 文件的打开 251
12.2.2 文件的关闭 253
12.3 文件的读写 253
12.3.1 读/写一个字符 254
12.3.2 读/写一个字符串 256
12.3.3 读/写一个数据块 257
12.4 文件定位 259
12.4.1 rewind()和fseek()函数 260
12.4.2 返回文件当前位置ftell()函数 261
12.5 文件的出错检测 262
12.5.1 ferror()函数 262
12.5.2 clearerr()函数 262
习题十二 262
实训十二 264
第13章 C语言的综合应用 266
本章学习目标 266
13.1 数据结构与算法的概念 266
13.1.1 数据结构 266
13.1.2 算法 270
13.2 顺序表的插入与删除 273
13.2.1 什么是顺序表 273
13.2.2 顺序表的插入和删除 274
13.3 链表的插入与删除 278
13.3.1 什么是链表 278
13.3.2 单链表的建立、插入与删除 279
13.4 综合应用案例分析 284
习题十三 297
实训十三 299
实训项目 电子通讯录的实现 300
附录A ASCII码表 321
附录B C语言的词法、句法和章法提要 322
附录C Turbo C常用库函数 323
参考文献 327