本书是一本实践型教材,书中从实用的角度出发,结合具体的应用实例,将C语言程序设计中使用的基本数据结构、算法和技巧进行了综合,并对如何运用C语言进行绘图做了介绍,有助于进一步提高学生程序设计能力。全书共分三个部分: 基本数据结构应用,综合应用,图形界面部分;共有12个训练题目。
本书适合作为普通高等院校或对程序设计要求较高的高职高专院校C语言课程设计、实训或实习的指导书,也可作为C语言程序设计综合性实验的参考书。
"C语言程序设计”是一门十分重要的基础课程,但作为第一语言讲授时,主要讲解的是语言本身的语句、语法规定和程序设计最基本的算法(如数据单元交换、迭代法求方程的根、常用的几种排序法等),大多数学生仅能使用高级语言的基本结构编写几十行的程序代码,而对如何分析问题、解决问题以及编程思想掌握得非常有限,学生的编程能力、上机调试程序的能力训练得较少。这样就不能够满足后续课程的编程能力需求,虽然学习了程序设计语言,却不能解决问题。
目前许多院校都在做教学模式、课程体系的改革,在实践课程中增加了C语言程序设计实习/实训或C语言课程设计,或在课程的教学中增大上机实践学时,而这类教材和参考书较少,正因如此,作者在总结多年授课经验的基础上编写了这本教材。
本书分为三部分,共12个训练题目,从项目的概述、主要功能、主要知识点、主要算法、设计思想等方面进行描述。第一部分主要是对C语言的基本数据结构和基本算法进行训练,介绍了万年历、双向链表、完全二叉树以及简单的计算机游戏程序实现的基本算法,同时重点训练有关函数、结构体、链表的基本操作;第二部分主要是针对C语言中结构体与文件数据结构的综合应用,用其实现一些小型的信息管理系统,如通讯录、学生成绩管理系统、学生档案管理系统等;第三部分主要介绍了C语言在Turbo C环境下绘制图形界面的操作方法和常用函数,这部分内容一般在C语言的课堂教学中没有涉及,并且编程代码与具体的开发环境密切相关,但对于同学了解图形界面的程序开发很有帮助,书中以窗口图形界面设计、具体图形的绘制、五子棋游戏和俄罗斯方块游戏的实现为例,讲解图形界面绘制程序的基本流程。
本书由多年从事计算机教育的一线教师编写,内容已在我校C语言课程设计教学中使用过,在教学实践中得到了很好的应用,同时也得到任课教师赵建辉、范江波和部分同学很好的修改建议,此外研究生胡家兴、赵蕊、黄海和吴秀也做了大量的书稿整理工作,在此一并感谢他们所付出的劳动。
由于作者的水平有限,书中难免有不妥之处,欢迎读者多提宝贵意见。
作 者 2009年5月
第1部分 基本数据结构应用
实训1 万年历2 1.1 系统概要2
1.2 基本功能要求2
1.3 主要知识点2
1.4 系统设计思路3
1.5 部分程序代码5
实训2 双向链表功能应用10
2.1 系统概要10
2.2 基本功能要求10
2.3 主要知识点10
2.3.1 基本概念10
2.3.2 建立动态链表11
2.3.3 链表的输出12
2.3.4 链表的删除操作13
2.3.5 链表的插入操作14
2.3.6 双向链表15
2.4 系统设计思路15
2.5 部分程序代码16
实训3 完全二叉树19
3.1 系统概要19
3.2 基本功能要求19
3.3 主要知识点19
3.4 系统设计思路21
3.5 部分程序代码23
实训4 龟兔赛跑30
4.1 系统概要30
4.2 基本功能要求30
4.3 主要知识点30
4.4 系统设计思路32
4.5 部分程序代码33
实训5 人机苹果大战36
5.1 系统概要36
5.2 基本功能要求36
5.3 主要知识点36
5.4 系统设计思路37
5.5 部分程序代码37
第2部分 综 合 应 用
实训6 通讯录44 6.1 系统概要44
6.2 基本功能要求44
6.3 主要知识点44
6.4 系统设计思路50
6.5 部分程序代码50
实训7 学生成绩管理系统57
7.1 系统概述57
7.2 基本功能要求57
7.3 主要知识点57
7.4 系统程序结构58
7.5 部分程序代码58
实训8 学生档案管理系统70
8.1 系统概要70
8.2 基本功能要求70
8.3 主要知识点70
8.4 系统设计思路71
8.4.1 系统模块划分71
8.4.2 系统数据结构73
8.4.3 函数设计73
8.5 部分程序代码74
第3部分 图形界面部分
实训9 简单的C语言图形编程86 9.1 系统概要86
9.2 基本功能要求86
9.3 主要知识点86
9.3.1 字符屏幕函数86
9.3.2 图形函数92
9.4 系统程序结构及主要算法103
9.5 系统主要函数源程序代码103
实训10 C语言图形界面编程110
10.1 系统概要110
10.2 基本功能要求110
10.3 主要知识点110
10.4 系统设计思路112
10.4.1 系统运行流程图112
10.4.2 数据结构和函数的设计112
10.5 主要函数代码113
实训11 五子棋游戏121
11.1 系统概要121
11.2 基本功能要求121
11.2.1 功能121
11.2.2 基本功能模块描述121
11.3 主要知识点124
11.4 系统设计思路125
11.5 程序伪代码126
实训12 俄罗斯方块游戏程序136
12.1 系统概要136
12.2 基本功能要求136
12.3 主要知识点136
12.4 系统设计思想138
12.5 部分程序代码140
参考文献144