本书是以工程实践项目为导向的"新工科”C语言教材,采用案例模式,全面、细致地介绍了C语言的语法知识和简单应用。全书分为7章,以"成绩管理系统”实践项目为主线,主要内容包括C语言与软件工程概述、成绩管理系统项目综述、成绩处理子系统实现、查询统计子系统实现、后台管理子系统实现、查询统计子系统动态实现和文件管理子系统实现等。 本书在设计上针对的是计算机语言初学者,内容浅显易懂,实例丰富。本书既可作为高等院校计算机科学与技术相关专业C语言的教材或辅导用书,也可供计算机语言爱好者或其他专业的学生使用。
杨政,男,沈阳工程学院教授,辽宁省百千万人才工程千人层次、C语言程序设计省级精品课骨干成员、软件工程专业负责人。
第1章 C语言与软件工程概述 1
1.1 C语言概述 1
1.1.1 C语言的发展简史 1
1.1.2 C语言的特点 1
1.1.3 C程序的基本特点 2
1.1.4 C程序结构初步 4
1.1.5 C程序上机运行步骤 6
1.1.6 C语言集成开发环境 7
1.2 软件工程概述 14
1.2.1 软件需求分析 15
1.2.2 软件概要设计 17
1.2.3 软件详细设计 17
1.2.4 软件编码实现 18
1.3 小结 19
第2章 成绩管理系统项目综述 20
2.1 系统功能分析与设计 20
2.1.1 需求分析与功能描述 20
2.1.2 系统总体设计 21
2.2 算法描述与详细设计 21
2.2.1 算法描述工具 21
2.2.2 系统详细设计 24
2.3 C程序的基本组成单位 24
2.3.1 函数定义 26
2.3.2 函数调用 28
2.4 变量的作用域和存储类别 29
2.5 人机界面设计 34
2.6 小结 37
第3章 成绩处理子系统实现 38
3.1 成绩处理子系统概述 38
3.2 成绩信息输入模块知识基础 39
3.2.1 数据类型 39
3.2.2 常量与变量 40
3.2.3 给变量赋初值 52
3.2.4 变量的数据类型转换 52
3.2.5 数据的输入 54
3.3 成绩信息输出模块知识基础 60
3.3.1 运算符和表达式 60
3.3.2 运算符的优先级和结合性 65
3.3.3 数据的输出 65
3.4 成绩处理子系统的编码设计和编码实现 68
3.5 小结 72
第4章 查询统计子系统实现 73
4.1 查询统计子系统概述 73
4.2 查询统计子系统控制条件知识基础 74
4.2.1 关系运算符和关系表达式 74
4.2.2 逻辑运算符和逻辑表达式 75
4.3 查询统计子系统控制选择结构知识基础 77
4.3.1 if语句 77
4.3.2 switch语句 83
4.4 查询统计子系统控制循环结构知识基础 86
4.4.1 goto语句 87
4.4.2 while语句 88
4.4.3 do-while语句 90
4.4.4 for语句 91
4.4.5 4种循环的比较 94
4.4.6 break语句和continue语句 94
4.5 查询统计子系统的编码设计和编码实现 96
4.6 小结 98
第5章 后台管理子系统实现 99
5.1 后台管理子系统概述 99
5.2 后台管理子系统知识基础 99
5.2.1 一维数组 99
5.2.2 二维数组 104
5.2.3 字符数组 108
5.2.4 字符串处理函数 111
5.2.5 程序示例 114
5.2.6 数组元素作为函数实参使用 117
5.2.7 数组名作为函数参数使用 118
5.3 后台管理子系统高级知识 123
5.3.1 结构 123
5.3.2 结构数组 128
5.3.3 枚举类型 130
5.3.4 类型定义符typedef 133
5.4 小结 134
第6章 查询统计子系统动态实现 135
6.1 查询统计子系统动态实现概述 135
6.2 查询统计子系统指针知识基础 135
6.2.1 指针 135
6.2.2 指针变量作为函数参数使用 141
6.2.3 指针变量问题的进一步说明 144
6.3 查询统计子系统数组指针知识基础 147
6.3.1 指向数组元素的指针 147
6.3.2 通过指针变量引用数组元素 148
6.3.3 数组名作为函数参数使用 151
6.3.4 指向多维数组的指针和指针变量 158
6.4 查询统计子系统字符串指针知识基础 160
6.4.1 字符串的表示形式 160
6.4.2 使用字符串指针变量和字符数组的区别 164
6.5 查询统计子系统函数指针知识基础 164
6.6 查询统计子系统指针型函数知识基础 165
6.7 查询统计子系统指针数组知识基础 167
6.7.1 指针数组的概念 167
6.7.2 指向指针的指针 170
6.7.3 main函数的参数 171
6.8 指针数据类型和指针运算小结 173
6.9 查询统计子系统结构指针知识基础 173
6.10 查询统计子系统链表知识基础 179
6.11 小结 181
第7章 文件管理子系统实现 182
7.1 文件管理子系统概述 182
7.2 文件管理子系统文件打开/关闭知识基础 182
7.3 文件管理子系统文件读/写知识基础 184
7.3.1 单个字符读/写操作 184
7.3.2 字符串读/写操作 186
7.3.3 数据块读/写操作 187
7.3.4 格式化读/写操作 190
7.4文件管理子系统出错检测知识基础 191
7.4.1 ferror函数 191
7.4.2 clearerr函数 191
7.4.3 exit函数 192
7.5 小结 192
附录A 成绩管理系统的基本实现方法 193
附录B 成绩管理系统基于链表的实现方法 211
附录C 成绩管理系统基于函数指针的实现方法 230