前 言
从20世纪70年代的结构化程序设计,到90年代的面向对象技术,程序设计技术在不断发展。目前国内各高校开设的程序设计课程种类繁多,选取的第一门程序设计课程也不相同。
教育部2003年颁发了计算机基础教育白皮书“关于进一步加强高校计算机基础教学的几点意见”,在教育部1997年155号文件的基础上对计算机基础教学的目标重新定位,提出了适应新形势的课程体系。按照教育部新课程体系的要求,程序设计基础课程作为理工科大学生的必修课,既要讲结构化程序设计,也要讲面向对象程序设计。
本书以解决实际问题的程序设计思想作为出发点进行编写,并选择C/C++语言为背景进行讲解,突出程序设计方法,介绍常用的数组、链表等数据结构,讲解了递归、递推、排序、查找等算法的设计。学习目标是理解和掌握程序设计的基本概念和方法,具备运用程序设计语言、数据结构和算法进行基本的结构化程序设计和面向对象程序设计的能力。
本教材主要特色有以下几点。
一、教学内容既注重基础理论又突出实用性。突出结构化程序设计和面向对象程序设计的基本原理、概念和方法,特别强调培养学生分析问题、解决问题和动手实践的能力,重点突出,精选例题和习题,由浅入深逐步展开进行讲解。
二、充分体现教师的教学思想。参加编写的教师均是多年从事计算机基础课教学和科研工作的一线教师,积累了一定的经验,教材编写时突出程序设计方法,把教师的教学思想融入教材中,由浅入深、循序渐进,语言和语法的讲解完全融会贯通在程序设计及实例中。
三、重点内容突出。舍弃一些次要内容,如位运算、多级指针、多维数组与指针等,使该教材通俗易懂。与该书配套的《计算机程序设计基础辅导与实验教程》中对每章都编写了补充阅读内容,作为本书的扩展。
四、教学资源丰富。构建了包括教材、实验教材、电子教案、源程序文件包、网络教程等在内的立体化教学资源。
全书共12章,其中前8章为结构化程序设计,主要包括程序设计概述、程序设计初步知识、程序的控制结构、模块化程序设计、构造数据类型、指针、动态数据结构、文件;第9章为结构化程序设计到面向对象程序设计的过渡;最后3章围绕面向对象程序设计的封装性、继承性、多态性,讲解了类和对象、构造和析构函数、静态成员、友元、继承与派生、多态性与虚函数等内容。
本书包含了大量的程序例子,并附有运行结果。凡在程序开头带有程序名编号的,都是完整的程序,这些程序都在Visual C++ 6.0环境下调试通过。程序及电子教案等资源可以在北京交通大学出版社网站http://press.bjtu.edu.cn/ 的【FTP下载专区】中查找下载。
全书由北京交通大学的5位教师集体编写完成。第1、2、4、9、10章由赵宏编写;第3、8章由李会霞编写;第5、6章由靳小燕编写;第7章由鲍志斌编写;第11、12章由翟高寿编写。全书由赵宏统稿。
清华大学计算机系吴文虎教授以广博的知识,耐心细致地审阅了全稿,提出了许多宝贵的修改意见,在此表示衷心的感谢。
在编写此书时还得到了许多同事的关心和支持,在此表示深深的谢意。
由于时间仓促,作者水平有限,本教材编写中难免有不足和疏漏,欢迎读者提出宝贵意见和建议,以供再版时改进。
作 者
2005年1月
V
more >