前言
程序设计与算法语言是高等学校重要的专业基础课,它以编程语言为平台,介绍程序设计的思想和方法。通过该课程的学习,学生不仅要掌握程序设计与算法语言的理论知识,更为重要的是要掌握算法设计与程序设计的思路、方法,通过大量的练习,培养学生解决问题和编程的能力,熟悉上机的全过程及调试程序的基本方法与技巧,使学生能够利用所学知识解决一些科学计算及实际问题。
C++语言是使用最为广泛的程序设计与算法语言之一,它全面兼容C语言,全面支持面向对象程序设计,具有全面支持面向过程和面向对象的混合编程等特点,能够充分发挥两类编程技术的优势。C++语言不仅是一门基础课,而且是学习数据结构、操作系统等后续课程的重要基础。
目前,C++语言的教材很多,但大部分教材主要通过案例教学讲解如何用语言知识设计程序,很少讲述设计程序的思路,并缺少对程序的分析,造成大部分学生不理解程序的运行过程,更不懂得如何设计程序,使学生为了应试而背记程序,结果学生虽然通过了计算机水平考试,但设计程序的能力较低,思路单一,开拓创新不足,造成在后续课程学习中遇到了很大的困难。
根据多年来教学经验的积累,我们清楚地知道学生设计程序的能力
需要大幅度提升
,思路需要拓宽。学生在学习过程中忽略了算法设计,从而造成程序设计的能力差,难以胜任以后的工作。因此,我们认为C++程序设计的教材一定要以程序设计为主线,以案例为驱动,通过案例教学引入数学模型和算法设计以及分析程序的过程,使教材突出C++语言的特性,最终实现提高学生分析程序和设计程序能力的目标。另外,考虑到目前大部分高校的学生都参加计算机水平考试,作者根据多年的教学经验,结合计算机水平考试Ⅱ级的《C++程序设计》考试大纲的要求,在本书中的相关章节专门按考试大纲的题型编写了相应的习题与实验内容,让学生的学习更有针对性,从而达到事半功倍的效果,力求从根本上提高学生的计算机水平考试的通过率。
目前,C++语言的教材虽然很多,但有针对性地适应第二批高等院校的本科生的教材并不多,这类学生急需一本理论性不太强,但有实际操作性的C++语言教材,本书在编写上能满足这类学生的要求。
本书主要具有如下7个特点。
(1) 内容组织符合学习规律: 内容由简单到复杂,衔接紧密,使学生由浅入深地学习。
(2) 内容精简: 根据计算机水平考试内容、面授的对象、授课时间的安排以及后继课程的需要,着重在内容上与传统的教材相比进行了取舍,使学生易于掌握知识。
(3) 分散难点: 对于一些难学的知识点,分散在与其更密切关联的知识中,使学生易于学习。
(4) 程序分析透彻: 详细讲解程序运行和变量值的变化,使学生易于理解程序。
(5) 以案例培养设计程序的思维: 通过案例教学,引入数学模型的建立和算法的设计,使学生易于理解设计程序的思路与方法。
(6) 习题多样化: 每一章节的习题都有多种类型,而且有参考计算机水平考试的题型,使学生的学习更有针对性,促进学生考级能力的提高。
(7) 实验题设计科学: 学习C++语言不仅要有扎实的基础,更重要的是实践,本书中设计了大量的实验,突出重点知识,结构合理。
全书以程序设计为主线,通过案例教学引入数学模型的建立和算法的设计,详细地讲解程序运行的过程和变量值的变化,最终达到培养学生设计程序和分析程序能力的目标。
本书共有9章,可分为4个部分:
第一部分为第1章,程序设计概述。该部分介绍计算机求解问题的步骤和算法设计、计算机程序,并简要介绍C/C++语言。
第二部分为第2~7章,面向过程程序设计基础。该部分介绍数据类型和表达式、程序结构、控制结构程序设计、函数、构造数据类型和指针。
第三部分为第8章,面向对象程序设计基础。该部分介绍类和对象、构造函数和析构函数、对象指针、静态成员、友元、继承和多态性。
第四部分为第9章,文件和流。该部分介绍文件、流类库、通过文件流(或指针)操作文件、输入/输出格式控制。
本书得到了数学与统计学院领导的支持,在此表示衷心的感谢。本书是作者根据多年的教学实践经验编写的,第1~7章由孔丽英编写,第8~9章由夏艳编写,徐勇对全书内容进行核查。本书可作为大学本专科程序设计课程的教材,也可供广大读者自学参考。由于作者水平有限,书中可能存在缺点或错误,敬请广大读者批评指正。
作者
2014年10月