基础篇 3
第1章 C语言概述 3
1.1 程序设计基础 3
1.1.1 计算机及程序执行 3
1.1.2 程序 6
1.1.3 程序设计语言 6
1.2 C语言简介 8
1.2.1 C语言发展 8
1.2.2 C语言的特点 9
1.3 初识C语言程序 10
1.3.1 C语言基本结构 10
1.3.2 C语言的开发过程 11
1.3.3 C语言程序的书写规范 13
1.4 程序设计与算法 13
1.4.1 算法概念 13
1.4.2 算法描述 14
1.4.3 程序设计 15
1.5 C语言程序的开发过程 17
1.5.1 基本术语 17
1.5.2 开发C语言程序的基本过程 17
本章小结 18
习题1 18
第2章 C语言基本数据类型 20
2.1 字符集与词汇 20
2.1.1 C语言的字符集 20
2.1.2 C语言的词汇 20
2.2 数据类型 22
2.3 常量与变量 23
2.3.1 常量 23
2.3.2 变量 24
2.4 数据类型 26
2.4.1 整型数据 26
2.4.2 实型数据 30
2.4.3 字符型数据 32
2.4.4 各种数据类型间的转换 35
本章小结 37
习题2 37
第3章 运算符和表达式 40
3.1 数据的输入与输出 40
3.1.1 格式输出函数 41
3.1.2 格式输入函数 43
3.1.3 字符输出函数 46
3.1.4 字符输入函数 47
3.2 运算符和表达式的概念 47
3.3 赋值运算符和赋值表达式 49
3.4 算术运算符和算术表达式 50
3.4.1 基本算术运算符 50
3.4.2 自增、自减运算符 51
3.5 关系运算符和关系表达式 53
3.6 逻辑运算符和逻辑表达式 54
3.7 条件运算符和条件表达式 56
3.8 逗号运算符和逗号表达式 57
3.9 求字节运算符 58
3.10 位运算符 58
3.11 贯穿教学全过程的案例——学生成绩管理 62
本章小结 63
习题3 64
第4章 C语言程序控制结构 70
4.1 结构化程序设计方法 70
4.1.1 自顶向下分析问题的方法 71
4.1.2 模块化设计 71
4.1.3 结构化编码 72
4.2 C语句简介 72
4.2.1 表达式语句 72
4.2.2 赋值语句 73
4.2.3 函数调用语句 73
4.2.4 空语句 73
4.2.5 复合语句 74
4.2.6 控制语句 74
4.3 顺序结构程序设计 74
4.4 选择结构程序设计 75
4.4.1 单分支if语句 75
4.4.2 双分支if…else语句 77
4.4.3 多分支if…else if语句 78
4.4.4 if语句的嵌套 81
4.4.5 switch开关语句 84
4.5 循环结构程序设计 87
4.5.1 while语句 88
4.5.2 do…while语句 89
4.5.3 for语句 91
4.5.4 循环的嵌套 95
4.5.5 循环与选择的相互嵌套 97
4.6 转向控制语句 98
4.6.1 break语句 98
4.6.2 continue语句 100
4.6.3 goto语句 101
4.7 几种常用的典型算法 102
4.7.1 辗转相除法 103
4.7.2 枚举法 104
4.7.3 迭代法 107
4.7.4 递推法 108
4.8 贯穿教学全过程的案例——学生成绩管理 110
本章小结 115
习题4 116
提高篇 129
第5章 数组及应用 129
5.1 一维数组 129
5.1.1 一维数组的定义 129
5.1.2 一维数组的初始化 131
5.1.3 一维数组元素的访问 132
5.1.4 一维数组的应用 134
5.2 二维数组 139
5.2.1 二维数组的定义 139
5.2.2 二维数组的初始化 140
5.2.3 二维数组元素的访问 141
5.2.4 二维数组的应用 145
5.3 字符数组与字符串 148
5.3.1 字符数组的定义 148
5.3.2 字符数组的初始化 149
5.3.3 字符数组的引用 150
5.3.4 字符串 151
5.3.5 字符串处理函数 154
5.3.6 字符数组的应用 158
5.4 贯穿教学全过程的案例——学生成绩管理 160
本章小结 174
习题5 175
第6章 函数 181
6.1 函数概述 181
6.1.1 函数基本知识 181
6.1.2 C程序函数分类 183
6.2 函数的定义与调用 184
6.2.1 函数定义 184
6.2.2 函数调用 186
6.2.3 函数参数 187
6.2.4 函数的返回值 188
6.3 函数的嵌套调用与递归调用 189
6.3.1 函数的嵌套调用 189
6.3.2 函数的递归调用 191
6.4 函数与数组 195
6.4.1 数组元素作函数实参 195
6.4.2 一维数组名作函数参数 196
6.4.3 多维数组名作函数参数 198
6.5 函数中变量作用域与生存期 199
6.5.1 变量的作用域 199
6.5.2 变量的存储类别 202
6.6 编译预处理 208
6.6.1 宏定义 208
6.6.2 文件包含 212
6.6.3 条件编译 213
6.7 典型程序举例 214
6.8 贯穿教学全过程的案例——学生成绩管理 218
本章小结 220
习题6 221
第7章 指针 225
7.1 指针基础 225
7.1.1 指针与内存地址 225
7.1.2 指针变量与指针指向的对象 226
7.1.3 指针的初始化与NULL指针 227
7.1.4 指针运算 228
7.2 指针与数组 231
7.2.1 指针与一维数组 232
7.2.2 指针与二维数组 233
7.2.3 指针与字符串 237
7.3 指针与函数 238
7.3.1 指针作为函数参数 238
7.3.2 指针作为函数返回类型 241
7.3.3 函数指针 241
7.4 指针的指针 244
7.5 贯穿教学全过程案例——学生成绩管理 245
本章小结 254
习题7 254
第8章 结构体与共用体 260
8.1 结构体 260
8.1.1 结构体声明及特点 260
8.1.2 结构体类型的变量、数组及指针 262
8.1.3 结构体作为函数参数 268
8.1.4 结构体的自引用与不完整声明 270
8.2 共用体 273
8.2.1 共用体的特点 273
8.2.2 共用体变量的初始化 274
8.3 枚举 275
8.4 使用类型别名定义 276
8.5 链表 277
8.5.1 动态内存管理函数 277
8.5.2 链表 279
8.6 贯穿教学全过程案例——学生成绩管理 282
本章小结 296
习题8 296
第9章 文件 302
9.1 问题引出 302
9.2 文件的基本概念 304
9.2.1 文件的概念 304
9.2.2 文本文件和二进制文件 304
9.2.3 文件的两种处理系统 305
9.2.4 设备文件 306
9.2.5 流式文件 306
9.3 文件指针 306
9.4 文件的打开与关闭 307
9.4.1 文件的打开(fopen函数) 307
9.4.2 文件的关闭(fclose函数) 310
9.5 文件的读写 310
9.5.1 文件的字符读写函数(fgetc:和fputc) 311
9.5.2 文件的字符串读写函数(fgets和fputs) 314
9.5.3 文件的格式化读写函数(fscanf()和fprintf()) 316
9.5.4 数据块读写函数(fread和fwrite) 318
9.6 文件的随机读写 321
9.6.1 fseek函数 321
9.6.2 ftell函数 323
9.7 文件的检测 325
9.7.1 ferror函数 325
9.7.2 clearerr函数 325
9.7.3 feof函数 326
9.8 文件操作常见错误分析 327
9.9 主函数中的参数 328
9.10 贯穿教学全过程的案例——学生成绩管理 329
本章小结 333
习题9 334
实践篇 343
第10章 C语言在图形编程中的应用 343
10.1 图形显示的基本概念 343
10.1.1 图形显示的坐标 344
10.1.2 像素 344
10.2 常用图形函数 345
10.2.1 图形系统的初始化 345
10.2.2 屏幕颜色设置和清屏函数 345
10.2.3 基本图形函数 347
10.2.4 填充颜色函数 348
10.2.5 线型设置函数 349
10.3 图形方式下的文本输出函数 351
10.3.1 文本输出函数 351
10.3.2 文本输出字符串函数 351
10.4 综合应用实例 352
10.4.1 源代码解析 352
10.4.2 运行结果 355
10.4.3 小结 355
第11章 综合开发实例——学生教务管理系统 356
11.1 系统需求分析 356
11.2 系统总体设计 356
11.3 系统详细设计及编码 357
11.3.1 系统详细设计的任务 357
11.3.2 系统详细设计 358
11.3.3 系统编码 361
11.4 系统调试与测试 373
11.4.1 系统调试 373
11.4.2 系统测试 373
11.5 系统文档与维护 375
11.5.1 整理文档 375
11.5.2 系统维护 375
11.6 总结与展望 375
11.6.1 系统总结 375
11.6.2 系统展望 376
第12章 C语言实验内容 377
12.1 C程序的VC开发环境 377
12.2 C程序调试和常见错误 380
12.2.1 程序调试 380
12.2.2 C程序错误类型 382
12.2.3 C程序错误示例分析 384
12.3 实验内容 393
实验1 基本数据类型、运算符和表达式 393
实验2 选择结构程序设计 394
实验3 循环结构程序设计 396
实验4 数组程序设计 397
实验5 函数及模块化程序设计 398
实验6 指针程序设计 401
实验7 结构与单链表程序设计 402
实验8 文件程序设计 404
附录A C语言关键字 407
附录B 标准字符ASCII码表 409
附录C 运算符优先级和结合性表 411
附录D C语言常用库函数 413
参考文献 417