第1章 C语言概述 1
1.1 计算机程序设计 1
1.1.1 计算机程序 1
1.1.2 计算机程序设计语言及其分类 1
1.1.3 程序设计过程 3
1.2 为什么要学习C语言 5
1.2.1 C语言发展历程简介 5
1.2.2 C语言语法结构的特点 5
1.3 简单的C程序 6
1.4 C程序的结构 8
1.4.1 C程序的结构及特点 8
1.4.2 养成良好的代码书写规范 9
1.5 在Visual C++6.0环境下运行C程序 10
1.5.1 C程序的执行流程 11
1.5.2 Visual C++6.0简介 11
1.5.3 Visual C++6.0环境下运行C程序的方法 11
实训1熟悉Visual C++6.0环境 18
1.6 本章小结 19
习题1 19
第2章 数据类型与运算 21
2.1 C语言基本数据类型 21
2.1.1 数据类型的概念 21
2.1.2 数据类型的分类 21
2.1.3 基本数据类型 22
2.2 数据的表现形式 23
2.2.1 关键字 24
2.2.2 标识符 24
2.2.3 常量 24
2.2.4 变量 27
2.3 运算符与表达式 32
2.3.1 算术运算符 34
2.3.2 赋值运算符 37
2.3.3 关系运算符 38
2.3.4 逻辑运算符 39
2.3.5 条件运算符 42
2.3.6 逗号运算符 42
2.3.7 其他运算符 43
2.4 数据类型自动转换 45
2.4.1 算术运算中的数据类型转换 45
2.4.2 赋值中的数据类型转换 45
实训2运算符与表达式的综合应用 47
2.5 本章小结 50
习题2 50
第3章 数据输入与输出 52
3.1 单个字符输入与输出 52
3.1.1 单个字符输出函数——putchar函数 52
3.1.2 单个字符输入函数——getchar函数 53
实训3 putchar函数与getchar函数的应用 54
3.2 格式化输入与输出函数 56
3.2.1 用printf函数输出数据 56
3.2.2 用scanf函数输入数据 62
实训4 scanf函数与printf函数的综合应用 68
3.3 本章小结 71
习题3 71
第4章 程序结构设计与应用 75
4.1 算法简介 75
4.1.1 算法的特性 75
4.1.2 算法的描述工具 76
4.1.3 程序的基本流程结构 78
4.2 顺序结构程序设计 80
4.2.1 顺序结构程序设计概念 80
4.2.2 顺序结构程序设计举例 80
实训5顺序结构程序设计实训 83
4.3 选择结构程序设计 85
4.3.1 if语句 85
4.3.2 switch语句 95
4.3.3 选择结构程序设计举例 98
实训6选择结构程序设计实训 104
4.4 循环结构程序设计 111
4.4.1 while语句和for语句 112
4.4.2 do-while语句 120
4.4.3 循环的嵌套 121
4.4.4 循环跳转语句 123
4.4.5 循环结构程序设计举例 127
实训7循环结构程序设计实训 131
4.5 本章小结 135
习题4 136
第5章 数组 138
5.1 一维数组 138
5.1.1 一维数组的定义 139
5.1.2 一维数组元素的引用 140
5.1.3 一维数组元素的初始化 142
5.1.4 一维数组应用举例 143
实训8一维数组应用实训 145
5.2 二维数组 148
5.2.1 二维数组的定义 149
5.2.2 二维数组元素的引用 150
5.2.3 二维数组元素的初始化 151
5.2.4 二维数组应用举例 154
实训9二维数组应用实训 158
5.3 字符数组与字符串 162
5.3.1 字符数组的定义 162
5.3.2 字符数组与字符串 163
5.3.3 字符数组的初始化 164
5.3.4 字符数组的引用 166
5.3.5 常用的字符串处理函数 169
5.3.6 字符数组应用举例 173
实训10字符数组应用实训 175
5.4 本章小结 179
习题5 179
第6章 函数 181
6.1 模块化程序设计方法 181
6.2 函数的定义与调用 182
6.2.1 函数概述 183
6.2.2 函数的定义 184
6.2.3 函数的调用 185
实训11函数的定义与调用实训 191
6.3 函数的嵌套调用与递归调用 193
6.3.1 嵌套调用 193
6.3.2 递归调用 195
实训12嵌套调用与递归调用应用实训 197
6.4 数组与函数参数 200
6.4.1 数组元素作为函数实参 200
6.4.2 数组名作为函数参数 201
实训13数组作为函数参数应用实训 204
6.5 变量的作用域 206
6.6 变量的存储类型 211
实训14变量的存储类别及其应用实训 215
6.7 本章小结 218
习题6 219
第7章 指针 221
7.1 指针与指针变量 221
7.1.1 地址与指针 221
7.1.2 指针变量的定义 223
7.1.3 指针变量的初始化 223
7.1.4 指针变量的引用与运算 225
实训15指针变量的引用及其运算实训 230
7.2 指针与数组 231
7.2.1 指针与一维数组 231
7.2.2 指向二维数组的指针变量 234
7.2.3 指向字符串的指针变量 236
实训16指向一维数组的指针变量及其应用实训 240
7.3 指针与函数 243
7.3.1 使用指向函数的指针变量调用函数 243
7.3.2 指针变量作为函数参数 244
7.3.3 指针型函数简介 249
实训17指针与函数及其应用实训 251
7.4 本章小结 255
习题7 256
第8章 结构体 258
8.1 结构体类型的数据 258
8.1.1 结构体类型 258
8.1.2 结构体类型变量 260
8.1.3 结构体类型变量的引用与初始化 262
8.2 结构体数组 266
8.2.1 结构体数组的定义 267
8.2.2 结构体数组的初始化 267
实训18结构体数组应用实训 269
8.3 指向结构体类型数据的指针 272
8.3.1 指向结构体变量的指针 272
8.3.2 指向结构体数组的指针 275
实训19指向结构体的指针变量及其应用实训 277
8.4 本章小结 280
习题8 281
第9章 文件 282
9.1 文件概述 282
9.2 文件的打开与关闭 283
9.2.1 打开文件函数(fopen函数) 283
9.2.2 关闭文件函数(fclose函数) 284
9.3 文件读/写函数 285
9.3.1 单个字符读/写函数 285
9.3.2 字符串读/写函数 285
9.3.3 数据块读/写函数 286
9.3.4 格式化读/写函数 287
实训20文件操作及其应用实训 288
9.4 本章小结 291
习题9 292
第10章 结构化程序设计与实训 293
10.1 结构化程序设计 293
10.2 “万年历”程序的设计与实训 295
10.2.1 需求分析 295
10.2.2 程序设计 296
10.2.3 编码 296
10.2.4 测试 300
10.2.5 维护 302
10.3 本章小结 303
习题10 303
附录A C语言关键字(32个) 304
附录B C语言常用字符ASCII代码对照表 306
附录C C语言运算符的优先级与结合性 307
参考文献 309