C语言程序设计教程与项目实训 / 21世纪高等学校计算机基础实用规划教材
¥39.50定价
作者: 丁学钧、温秀梅
出版时间:2016年12月
出版社:清华大学出版社
- 清华大学出版社
- 9787302454694
- 1-1
- 89054
- 16开
- 2016年12月
- 工学
- 软件工程
- TP312
- 计算机
- 本专科、高职高专
内容简介
本书共分3篇:初级篇(C语言基础知识及程序设计初步)、提高篇(C语言中的复杂数据类型与高级编程技术)和实训篇(基于C语言面向过程的项目实训)。 本书在内容编排上对C语言的知识不求全面系统,但求有理论、有深度、有层次,使其真正能够承担起第一门专业软件课程的重任,对大一新生有一定的专业引导性;特别是实训篇的内容在目前已有教材中未曾见到过。 本书中的所有程序都是在VC 6.0环境下编译调试通过的。本着少而精的原则,全书版面清晰、结构紧凑,知识信息含量高。本书可以作为高校(本科、专科)计算机及其相关专业的教材,也可以作为非计算机专业的教学参考书、培训班教材和自学教材。
目录
初级篇 C语言基础知识及程序设计初步
第1章 绪论 3
1.1 程序设计概述 3
1.1.1 程序设计的发展历程 3
1.1.2 结构化程序设计 4
1.1.3 面向对象程序设计 5
1.1.4 程序设计语言 6
1.1.5 语言处理程序 8
1.1.6 C语言简介 8
1.2 算法及算法的表示 9
1.2.1 算法的概念 9
1.2.2 流程图表示法 9
1.2.3 简单算法设计 11
1.3
C语言基础 13
1.3.1 字符集 13
1.3.2 标识符 13
1.3.3 关键字 14
1.3.4 运算符 14
1.3.5 分隔符 14
1.3.6 空白符 15
1.3.7 C程序的基本结构 15
1.4 上机步骤与实验指导 18
1.4.1 程序的编辑、编译、运行和调试 18
1.4.2
Visual C 集成开发环境 19
1.4.3 编辑、编译、运行和调试程序 19
第2章 基本数据类型 24
2.1 数据类型概述 24
2.2 运算符和表达式 25
2.2.1 常量 25
2.2.2 变量 25
2.2.3 整型 26
2.2.4 实型 27
2.2.5 字符型 28
2.2.6
void类型 29
2.2.7 运算符概述 30
2.2.8 赋值运算符和赋值表达式 30
2.2.9 算术运算符和算术表达式 32
2.2.10 关系运算符和关系表达式 34
2.2.11 逻辑运算符和逻辑表达式 34
2.2.12 条件运算符和条件表达式 35
2.2.13 逗号运算符和逗号表达式 35
2.2.14 类型转换 36
2.3 数据的输入与输出 37
2.3.1 字符输入输出函数 38
2.3.2 格式输出函数printf 39
2.3.3 格式输入函数scanf 41
2.3.4 简单程序举例 43
习题 46
第3章 3种程序控制结构 48
3.1 顺序结构 48
3.2 选择结构 49
3.2.1
if语句实现选择结构 49
3.2.2
switch语句实现选择结构 58
3.3 循环结构 61
3.3.1
while语句 62
3.3.2
do…while语句 64
3.3.3
for语句 65
3.3.4
break语句和continue语句 67
3.3.5 循环嵌套 69
3.4 程序结构综合举例 71
习题 77
第4章 复杂数据类型初探——数组 79
4.1 复杂数据类型概述 79
4.2 一维数组 79
4.2.1 一维数组的定义 79
4.2.2 一维数组元素的引用 80
4.2.3 一维数组的初始化 81
4.2.4 一维数组程序举例 82
4.3 二维数组 85
4.3.1 二维数组的定义 85
4.3.2 二维数组元素的引用 85
4.3.3 二维数组的初始化 86
4.3.4 二维数组程序举例 87
4.4 字符串与数组 90
4.4.1 字符数组的定义 90
4.4.2 字符数组的初始化 90
4.4.3 字符数组的使用 92
4.4.4 字符串处理函数 93
4.4.5 字符数组程序举例 95
习题 97
提高篇 C语言中的复杂数据类型与高级编程技术
第5章 函数 101
5.1 函数的定义 101
5.2 函数的调用 104
5.2.1 函数原型声明 104
5.2.2 函数的调用 106
5.2.3 参数传递机制 107
5.2.4 函数返回值 111
5.3 函数的嵌套调用 112
5.4 递归函数 113
5.5 变量的作用域 117
5.5.1 局部作用域 118
5.5.2 全局作用域 118
5.6 变量的存储方式和生存期 121
习题 127
第6章 指针 129
6.1 指针的基本概念 129
6.1.1 地址和指针的概念 129
6.1.2 指针变量的定义 130
6.1.3 指针变量运算符 131
6.1.4 指针的运算 135
6.2 指针与数组 138
6.2.1 指向数组的指针 138
6.2.2 指针与字符数组 141
6.2.3 多级指针与指针数组 144
6.2.4 指针与多维数组 149
6.2.5 数组指针 153
6.3 指针与函数 154
6.3.1 指针作为函数参数 154
6.3.2 指针作为函数的返回值——指针函数 157
6.3.3 指向函数的指针——函数指针 158
6.4 动态内存分配与指向它的指针变量 162
习题 164
第7章 编译预处理 165
7.1 宏定义 165
7.1.1 无参宏 166
7.1.2 有参宏 168
7.2 文件包含 171
7.3 条件编译 172
习题 175
第8章 复杂数据类型——结构体、共用体和枚举类型 176
8.1 结构体类型 176
8.2 结构体变量 178
8.2.1 结构体变量的定义 178
8.2.2 结构体变量的初始化 180
8.2.3 结构体变量成员的引用 181
8.3 结构体数组 184
8.3.1 结构体数组的定义 184
8.3.2 结构体数组的初始化 185
8.3.3 结构体数组应用举例 185
8.4 结构体指针 186
8.4.1 指向结构体变量的指针 187
8.4.2 指向结构体数组的指针 188
8.4.3 用结构体变量和结构体指针作为函数参数 189
8.5 用结构体指针处理链表 191
8.5.1 链表概述 191
8.5.2 创建单链表 193
8.5.3 输出链表 196
8.5.4 链表的删除操作 196
8.5.5 链表的插入操作 198
8.5.6 链表的综合操作 200
8.6 共用体类型 202
8.6.1 共用体的概念 202
8.6.2 共用体类型和共用体类型变量的定义 202
8.6.3 共用体成员的引用方式 204
8.6.4 共用体类型的特点和应用 204
8.7 枚举类型 207
8.7.1 枚举类型及枚举变量的定义 207
8.7.2 枚举元素的引用 208
习题 209
实训篇 基于C语言面向过程的项目实训
第9章 项目实训概述及数据存储基础 213
9.1 概述 213
9.2 最基本的数据存储技术——文件 213
9.2.1 概述 213
9.2.2 文件类型 214
9.2.3 文件指针 214
9.2.4 文件的打开与关闭 214
9.2.5 文件的读写 215
9.2.6 文件的随机读写 218
第10章 需求分析与功能模块设计 220
10.1
需求分析 220
10.2
功能模块设计 220
10.2.1 功能模块划分 220
10.2.2 概要设计 221
第11章 详细设计与实现 223
11.1
概述 223
11.2
登录业务模块功能及主函数实现 223
11.2.1 系统登录及主函数功能流程图 223
11.2.2 代码实现步骤 223
11.3
系统菜单功能实现 226
11.3.1 功能需求描述 226
11.3.2 代码实现步骤 226
11.4
开户功能实现 227
11.4.1 功能需求描述 227
11.4.2 代码实现步骤 227
11.5
存款功能与取款功能的实现 231
11.5.1 存款功能需求描述 231
11.5.2 存款代码实现步骤 231
11.5.3 取款功能需求描述 232
11.6
文件的读写操作 234
11.6.1 文件的读写功能需求描述 234
11.6.2 文件的读写功能代码实现步骤 234
11.6.3 与读写文件相关的其他函数 235
11.7
查询功能实现 236
11.7.1 查询功能需求描述 236
11.7.2 查询功能代码实现步骤 237
11.8
销户功能实现 241
11.8.1 销户功能需求描述 241
11.8.2 销户功能代码实现步骤 241
第12章 项目测试与总结 244
12.1
项目测试 244
12.1.1 单元测试 244
12.1.2 集成测试 245
12.2
项目总结 246
12.2.1 实训目标与要求 246
12.2.2 实训过程与步骤 247
12.2.3 实训项目总结报告撰写要求 247
12.3
系统局限性分析与功能扩展的考虑 247
12.3.1 系统局限性分析 247
12.3.2 如何进行功能扩展的考虑 248
附录A 标准字符ASCII表 251
附录B 运算符和结合性 253
附录C 常见库函数 255
附录D 模拟考试题 261
模拟考试题一 261
模拟考试题一参考答案 271
模拟考试题二 272
模拟考试题二参考答案 283
附录E 参考课时安排 285
参考文献 286