标题：程序设计实践教程
图书信息
作者：章小莉、周知杨、张岩、赵耿 
图书详细信息：ISBN：9787302293958定价：45元印次：1-1装帧：平装印刷日期：2012-9-13
图书简介
本书从实用性和趣味性出发，分模块进行基础知识、信息管理与存储、字符串处理、绘图、贴图等编程训练，最终通过棋牌类游戏开发，实现模块知识综合应用的训练。本书提供了160道描述详细、功能要求具体、开发目标明确的训练任务，意在对学生进行上千行代码编写与调试的训练，帮助他们感悟编程之道，发现编程乐趣，激发创新意识。本书可以作为高等院校计算机类专业以及相关专业学生的教材，也可供C语言编程人员参考。
图书前言
本书是C语言入门之后的强化训练教材，目的是帮助实现编写应用程序的梦想。教材对学过标准C语言的学生进行编码强化训练，提高编写和调试代码能力，学会求解实际问题、管理事务信息、设计和开发字符串处理函数。另外，本书第4、5章补充MFC的画图和贴图知识，第6章介绍棋牌类游戏开发，培养学生开发Windows棋牌类游戏和简单画图应用程序的能力，增加编程乐趣，激发编程兴趣。本书共分6章，每章一个专题。第1章 基础训练。总结标准C语言知识以及重点和难点，详述调试程序技巧，简介程序代码测试方法，提供求解简单实际问题的训练，巩固所学C语言知识。第2章 信息管理与存储训练。温习文件知识，讲述文件应用难点，举例说明文件实现信息管理与存储的方法，使得在信息管理与存储训练中，克服对文件的恐惧，掌握操作文件的技能。第3章 字符串处理训练。总结常用C语言字符串函数，详细介绍自定义字符串函数的设计、实现和测试方法，比较不同方法定义的字符串类型数据在使用中的差别，提供大量字符串实训任务，提高解决字符串相关问题的能力。第4章 绘图技术训练。学习MFC的画图和文字显示技术，进行画图训练，为开发界面漂亮的Windows应用程序打基础，学会开发简单画图软件。第5章 粘贴图片技术训练。了解Windows程序中静态和动态图片操作区别，学习MFC程序的粘贴图片和操作图片技术，在强化训练中，学会在程序中运用图片资源的能力。第6章 综合训练。了解游戏程序内部控制方法，初步掌握基于MFC单文档框架的游戏程序的设计与开发，能够在游戏程序实现过程中合理地选择数据结构并设计算法，综合运用前5章知识，完成棋牌类游戏的制作。◆程序设计实践教程前 言 每章末专题训练任务提供详细功能描述，利于专注代码编写与调试，快速提高编码能力。附录中提供了VC++6.0基本操作说明，给出程序设计实验报告框架，以及程序设计实验报告样本，帮助学会撰写实验设计报告。本书既可以独立使用，也可以与“C语言程序设计”课程教学同步使用。独立使用时，建议在学完“C语言程序设计”课程之后，按本书划分的训练模块，让每个学生在完成1～5章模块训练后，再进行第6章综合训练，获得上千行代码编写的强化练习，确实提高程序设计能力，激发开发软件的兴趣。与“C语言程序设计”课程教学同步使用时，第1～3章可以作为C语言学习的实验指导书，第4、5章拓展程序开发知识，第6章综合训练，共同提高Windows应用程序开发能力，培养编程创新活力。在本书编写中，周知杨编写第1章，章小莉编写第2、4、5章，张岩编写第3、6章，宋燕红编写第1章部分训练任务，徐小青编写第2章部分训练任务，刘翔威实现第6章中全部代码，赵耿审校全书。此外还得到谢婷婷、赵越、马晓阳、刘瑾、张克君、李晓东、庞岩梅等人大力帮助，在此深表感谢。虽然本书内容集编者们多年工作经验及实践感悟，但是由于提笔时间匆匆，难免有错误之处，敬请大家批评指正。技术在不断更新，教学过程在不断发展，每个教与学的人都会有很多自己的体会，敬请读者不吝赐教，以利于我们不断改进自己的工作，与大家共同进步。 
致教师 F?oreword 今天的学生面临求职的强烈压力，学校注重培养动手能力，能极大提高他们的竞争力。本书梳理了C语言知识重点、难点，补充了绘图、贴图知识，给出160多个开发任务，营造开发氛围，为吸引学生参与编程做好准备，为培养学生的竞争力提供训练。本书所列训练任务，有具体描述，详细功能要求，必要的设计提示。任务分模块按难易等级划分，使全体学生都有机会参与训练。在知识方面： 本书提供模块训练所需教学课件，书中例题源代码，便于教师集中进行教学辅导。在开发任务方面： 本书分5个基础模块（基础知识，信息管理与存储，字符串处理，绘图，贴图），一个综合训练（棋牌类游戏设计与开发），使学生可以经过模块练习，能力拓展，走向综合运用。在考虑学生个性方面：每个模块训练分3到4个难易等级的开发任务，尊重学生的个性不同，提供人人参与的机会。在实验报告方面：提供报告框架以及实验报告样本，使学生学会撰写程序开发实验报告，学会规范开发软件，并总结开发经验。在管理方面：附有实验管理表格和评分建议，便于教师记录学生实验过程中的表现，对实验进行过程化管理。在成绩统计方面： 给出总分合计建议性公式，方便做好全方位评价学生实验的能力。建议教师选用本书时，尽量安排一段相对集中的时间开展实验，依据本校学生的情况，把实验内容分为必做和选做两个部分，允许每个学生按能力选择开发任务，积极鼓励学生挑战难题，使学生获得上千行代码编写与调试经验，在“魔鬼”训练中“新生”。为防止学生选题过于集中，可以考虑基于学生（C语言）程序设计学习成绩分配设计任务，从而保证学习效果。每位教师都有自己的不少经验与创意设想，敬请赐教，让我们共同进步。
致学生 F?oreword 学完《程序设计基础》 (C语言版），很想自己动手编写一个Windows应用程序吧，但是真正动手，发现前面道路还很漫长，需要继续学习Windows API或Windows MFC，面向对象设计思想和编程技术，于是乎，热情在漫漫长路上消失殆尽。这本书，就是想创造编程强化训练中的乐趣，力图在学习过标准C语言知识之后，带领大家求解实际问题，并直接走进VC++6.0的MFC编程世界，基于MFC框架进行画图、贴图、棋牌类游戏开发，在快乐中迈入编程自由王国，激发创新思维，成为软件开发后备军。如果C语言学得不太好，第1章帮你温习重点，解答难点，掌握基本问题求解技巧，熟练调试程序技能。第2、3章，对文件使用、字符串处理进行训练，找到编程感觉。如果已经掌握C语言基本知识，第4、5章，教会VC画图与贴图技术，提高创作精美程序界面的能力。第6章，一个棋牌类游戏的设计与开发，带给你成就感。挽起你的袖子，走入编程训练吧，挑战与乐趣同在，创意与刻苦相伴。
图书目录
第1章 基础训练11.1 C语言知识总结11.1.1 C语言知识点归纳11.1.2 难点回顾与使用注意事项191.2 算法设计301.3 VC程序调试技术361.3.1 Visual C++调试工具361.3.2 调试过程中的跟踪与监测391.3.3 断点设置和使用501.4 基础训练举例571.4.1 基本知识应用571.4.2 数组应用611.4.3 指针使用681.4.4 结构体应用761.5 程序测试821.5.1 单元测试831.5.2 集成测试861.6 基础训练注意事项861.7 基础训练任务87本章参考文献98第2章 信息管理与存储训练992.1 文件992.1.1 文件中的数据992.1.2 文件分类1002.2 C语言文件知识小结1022.2.1 标准C语言文件处理函数102目 录◆程序设计实践教程 2.2.2 文件处理流程1052.3 文件函数使用举例1052.4 信息管理程序开发1172.4.1 程序设计与实现1172.4.2 程序测试1212.5 文件使用注意事项1222.5.1 不同类型文件比较1222.5.2 常见错误及原因1242.6 信息管理与存储训练任务1242.6.1 信息管理训练任务1242.6.2 信息存储训练任务141本章参考文献144第3章 字符串处理训练1453.1 字符串函数及函数设计1453.1.1 C语言字符串函数1453.1.2 字符串处理函数设计1553.2 字符串处理举例1683.3 VC中三种字符串定义与使用注意事项1793.3.1 字符数组和字符指针1803.3.2 String类1823.3.3 CString类1873.3.4 三种类型字符串之间的转换1903.4 字符串处理训练任务191本章参考文献199第4章 绘图技术训练2004.1 VC绘图技术2004.1.1 VC绘图基础2004.1.2 绘图流程2024.2 绘图函数2064.2.1 绘制线条函数2074.2.2 绘制形状函数2104.2.3 填充函数2144.3 绘图类及其使用举例2164.3.1 矩形类2164.3.2 点类2174.3.3 画笔类2184.3.4 画刷类2204.4 绘图技术应用举例2214.4.1 绘图技术解题2214.4.2 绘图难点2394.5 文本显示2404.6 绘图技术训练任务244本章参考文献251第5章 粘贴图片技术训练2525.1 VC贴图知识2525.1.1 粘贴静态图片2535.1.2 粘贴动态图片编程基础2555.1.3 粘贴动态图片流程2605.2 粘贴动态图片举例2655.3 粘贴图片技术训练任务275本章参考文献282第6章 综合训练2836.1 游戏程序开发准备2836.1.1 游戏程序的一般结构2846.1.2 游戏程序的一般流程2866.1.3 游戏程序开发步骤2886.1.4 游戏程序设计中的注意事项2906.2 游戏程序开发举例2946.2.1 图片对对碰制作2956.2.2 俄罗斯方块制作3126.3 棋牌类游戏设计任务341本章参考文献359附录A VC集成开发环境361A.1 VC可视化集成开发环境 361A.1.1 项目工作区361A.1.2 应用程序向导(AppWizard)362A.1.3 类向导(ClassWizard)363A.1.4 组件库(Component Gallery)363A.1.5 输出窗口(Output)363A.2 VC创建项目工程363A.2.1 创建C++程序364A.2.2 创建Console应用程序364A.2.3 创建Win32应用程序365A.2.4 创建MFC应用程序368本章参考文献368附录B 基于MFC开发应用程序基础369B.1 程序坐标系统369B.2 MFC项目工程实例370B.2.1 添加新类372B.2.2 添加新消息处理函数373B.2.3 添加成员变量375B.2.4 添加成员函数377B.2.5 重载虚拟函数377B.3 应用程序消息响应机制简介378B.3.1 Win32应用程序消息响应机制378B.3.2 MFC应用程序消息响应机制381B.4 对话框383B.4.1 基本概念383B.4.2 控件383B.4.3 制作对话框384B.5 单文档程序388B.5.1 单文档程序的文件结构389B.5.2 单文档程序的类结构390B.5.3 单文档程序的MFC接口393B.5.4 单文档程序的执行过程397本章参考文献398附录C399C.1 程序设计实验报告框架399C.2 程序设计实现报告样本400附录D 程序设计实验管理表与考核建议样本406附录E 实例快速索引408[1]