C程序设计课程设计 第3版
作者 : 刘振安 刘燕君 唐军 编著
出版日期 : 2016-02-29
ISBN : 978-7-111-52987-3
适用人群 : 高等院校计算机及相关专业本科生
定价 : 35.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 208
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是一本独立于具体的C语言教科书,重点放在C语言结构化设计的基本特征上,涵盖C语言的重要基础知识。通过循序渐进地启发学生完成典型案例,培养学生实际分析问题、编程和动手能力。本课程设计既重基础知识训练,也注重技能训练。本书既可以作为相关专业的C语言课程设计教学用书,也可以作为学习C语言的参考书。

图书特色

本书通过课程设计的综合训练,培养学生分析实际问题、编程和动手的能力,帮助学生系统掌握课程的主要内容。
在前两版的基础上,本书将原来设计内容中介绍的基础知识抽出来作为附录,更加突出设计内容,也方便查阅。书中的设计题目主要是以任务驱动为主线,详细介绍设计思想。
本书特点
独立于具体的C语言教科书,重点放在C语言结构化设计的基本特征上,以“不变”应“万变”,涵盖C语言的重要基础知识。
结合实际应用要求,既覆盖知识点,又接近工程实际需要。
通过详细的案例,循序渐进地启发学生完成设计。
增加位操作和状态机等设计题目以适应目前的技术和应用。
提供综合课程设计,强化C语言结构化设计,进一步锻炼学生的动手实践能力。

图书前言

原来编写课程设计一书的目的是想通过课程设计的综合训练,培养学生实际分析问题、编程和动手的能力,最终目标是通过这种形式,帮助学生系统掌握课程的主要内容,更好地完成教学任务。为此,课程设计的编写与教学顺序及内容紧密结合,以便能与教学同步进行。而随着C语言教学的改革,愈来愈多的学校将课程设计作为C语言的后继课程。为了适应这种形势,我们对第2版的内容进行了调整,形成了第3版。
在C语言教学中,为了保持数据结构知识的完整性,很多学校不讲授与数据结构重复的内容,例如堆栈和链表等。但对于想参加等级考试的学生,链表又是必要的。本书将链表作为可选内容以满足需要进行链表训练的学生的需求。
本课程设计将原来设计内容中介绍的基础知识抽出来作为附录,这样不仅更加突出设计内容,也方便查阅。书中的设计题目主要是以任务驱动为主线,详细介绍设计思想。
本书的主要特点如下:
(1)独立于具体的C语言教科书,重点放在C语言结构化设计的基本特征上,以“不变”应“万变”,涵盖C语言的重要基础知识。
(2)课程设计既覆盖知识点,又接近工程实际需要,有的还具有一定的趣味性。通过激发学习兴趣,调动学生主动学习的积极性,引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
(3) 通过详细的实例,循序渐进地启发学生完成设计。课程设计将要求、算法和源程序分开,为学生创造独立思考的条件。学生在充分理解要求和算法的前提下,完全可以不按书中提供的参考程序,而设计自己的应用程序。
(4)强调程序的多种解法和优化,以拓展学生的知识面。
(5)增加位操作和状态机等设计题目以适应目前的技术和应用。
(6)课程设计分为基本部分与技能提高训练,以满足不同学校和不同学生的要求。
(7)提供一个综合课程设计,这个课程设计的重点放在强化C语言结构化设计的知识和进一步锻炼学生的动手能力上。
(8)为了方便教学,可以在华章的网站(www.hzbook.com)上下载本书的PPT和完整的程序代码,也可以通过邮箱zaliu@ustc.edu.cn与笔者取得联系。其中,PPT进一步给出了课程设计的重点和难点,以及该设计的教学目的,方便教师选择与学生相适应的题目。
全书共分13章。第0章是课程设计概述;第1章讲述C语言典型算法;第2章是求解简单的逻辑题;第3章是求解复杂的逻辑题;第4章介绍函数与多文件编程;第5章是结构数组与文件;第6章讲解出圈游戏的多种解法;第7章是设计链表;第8章是链表文件信息管理;第9章是使用循环链表求解约瑟夫游戏;第10章是使用状态机设计程序;第11章介绍程序优化及一题多解的方法;第12章是综合课程设计。
本书的编写工作主要由刘振安、刘燕君和唐军完成。刘燕君主要负责第5章~第8章,唐军主要负责第1章~第2章、第9章、第12章,刘振安主要负责第0章、第3章~第4章、第10章~第11章,最后由刘振安统编。
在本次修订中,中科院院士陈国良教授给出了很多有益的建议,特此感谢!
本书前两版曾在全国许多院校使用,有的学校还将其作为毕业设计的参考资料,第3版的编写也得到他们的支持和帮助,在此表示感谢,希望今后继续不吝赐教。

刘振安于中国科学技术大学
2015年10月

上架指导

计算机\程序设计

封底文字

本书通过课程设计的综合训练,培养学生实际分析问题、编程和动手的能力,帮助学生系统掌握课程的主要内容。
在前两版的基础上,本书将原来设计内容中介绍的基础支持抽出来作为附录,更加突出设计内容,也方便查阅。书中的设计题目主要是以任务驱动为主线,详细介绍设计思想。
本书特点:
1.独立于具体的C语言教科书,重点放在C语言结构化设计的基本特征上,以“不变”应“万变”,涵盖C语言的重要基础知识。
2.结合实际应用要求,既覆盖知识点,又接近工程实际需要。
3.通过详细的案例,循序渐进地启发学生完成设计。
4.增加位操作和状态机等设计题目以适应目前的技术和应用。
5.提供一个综合课程设计,重点是强化C语言结构化设计,进一步锻炼学生的动手实践能力。

图书目录

前言
第0章 课程设计概述1
0.1 课程设计目标1
0.2 课程设计结构1
0.3 评价标准3
第1章 C语言典型算法4
1.1 迭代算法求sin x的值4
1.2 递推算法5
1.3 递归算法7
1.3.1 递归与递推的比较8
1.3.2 图解递归执行过程9
1.4 查找算法10
1.4.1 线性查找10
1.4.2 二分查找10
1.5 冒泡排序11
1.5.1 图解排序过程11
1.5.2 算法分析12
1.5.3 算法设计13
1.5.4 参考程序13
1.6 鸡兔同笼13
1.7 求解百鸡问题15
1.8 评价标准17
1.9 参考题目17
第2章 求解简单的逻辑题18
2.1 寻找成绩最佳者18
2.1.1 计算机求解逻辑思维题的方法18
2.1.2 使用枚举解题的参考程序20
2.2 寻找肇事车辆20
2.2.1 计算机解题的一般步骤20
2.2.2 课程设计内容21
2.2.3 计算机解题小结22
2.3 评价标准23
第3章 求解复杂的逻辑题24
3.1 逻辑运算符与逻辑表达式24
3.2 用另一种方法求解谁考了满分25
3.3 寻找作案人26
3.3.1 解题思路26
3.3.2 使用6重循环解题27
3.3.3 使用移位的方法解题28
3.4 评价标准30
3.5 参考题目30
第4章 函数与多文件编程31
4.1 设计要求31
4.1.1 功能设计要求31
4.1.2 具体实现要求31
4.2 函数设计注意事项32
4.2.1 函数参数传递方式32
4.2.2 函数类型和返回值32
4.2.3 结构与函数32
4.3 函数和算法分析33
4.4 参考程序33
4.5 组成一个工程36
4.6 评价标准37
第5章 结构数组与文件38
5.1 设计要求38
5.2 算法分析39
5.3 参考程序40
5.4 测试程序43
5.4.1 测试菜单和读写空文件44
5.4.2 测试生成和显示职工信息文件44
5.4.3 测试生成和显示职工简明信息文件45
5.4.4 测试删除操作45
5.4.5 建立符合要求的文件 45
5.5 评价标准47
第6章 出圈游戏的多种解法48
6.1 使用数组设计出圈程序48
6.1.1 设计思想48
6.1.2 参考程序49
6.2 使用二维字符串数组设计出圈程序49
6.2.1 设计思想50
6.2.2 参考程序50
6.3 使用分配内存设计出圈程序52
6.3.1 设计思想52
6.3.2 参考程序53
6.4 使用结构设计出圈程序54
6.4.1 设计思想54
6.4.2 参考程序55
6.5 生死游戏57
6.5.1 直接按出圈方法计算57
6.5.2 输出没有标记的生还者60
6.6 评价标准62
第7章 设计链表64
7.1 设计要求64
7.1.1 功能设计要求64
7.1.2 总体设计64
7.1.3 函数设计65
7.2 算法分析66
7.3 参考程序67
7.4 测试程序72
7.5 评价标准75
第8章 链表文件信息管理76
8.1 设计要求76
8.1.1 功能设计要求76
8.1.2 总体设计77
8.2 record程序的模块设计80
8.3 record程序的测试87
8.4 评价标准93
第9章 使用循环链表求解约瑟夫游戏94
9.1 简单的循环链表求解约瑟夫游戏94
9.1.1 简单循环链表设计思想94
9.1.2 函数实现95
9.1.3 参考程序97
9.2 能输出姓名的循环链表求解约瑟夫游戏99
9.2.1 设计思想99
9.2.2 参考程序100
9.3 使用动态内存的循环链表求解约瑟夫游戏103
9.3.1 设计思想103
9.3.2 参考程序104
9.4 优化循环链表求解约瑟夫游戏107
9.4.1 设计思想107
9.4.2 参考程序107
9.5 评价标准112
第10章 使用状态机设计程序113
10.1 使用状态机的简单例子113
10.2 课程设计120
10.3 评分标准122
第11章 程序优化及一题多解123
11.1 程序优化123
11.1.1 设计题目和基本程序123
11.1.2 减少循环优化程序124
11.1.3 减少调用次数优化程序127
11.1.4 提高计算速度优化程序128
11.2 应用位运算一题多解129
11.2.1 使用比较的方法129
11.2.2 使用加法的方法132
11.3 评分标准135
第12章 综合课程设计136
12.1 实用结构化程序设计基础136
12.1.1 模块化程序设计136
12.1.2 分块开发137
12.1.3 工程文件139
12.2 设计学生成绩管理程序139
12.2.1 功能设计要求139
12.2.2 总体设计141
12.2.3 函数设计142
12.3 参考程序145
12.4 测试示例158
12.4.1 菜单项及空表和空文件测试158
12.4.2 测试建表159
12.4.3 测试读取文件161
12.5 评价标准163
12.6 增加功能实例163
12.6.1 增加功能163
12.6.2 增加的函数和文件164
12.6.3 修改程序清单说明164
附录A 使用编程环境174
附录B 集成环境调试命令及调试实例180
附录C 设计一个简单的菜单187
附录D 编程的基本文件结构192
附录E 7位ASCII代码表199
参考文献200

教学资源推荐
作者: [美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic) 著
作者: [美]戴维 I. 施奈德(David I. Schneider) 著
参考读物推荐
作者: 王秀文 郭明鑫 王宇韬 编著
作者: 任侃 曹越 吴杰 等著
作者: (美)Bruce Armstrong , Millard F. Brown III