C++语言是目前被广泛采用的程序设计语言,它语法简洁,运行**,既可以进行面向过程的程序设计,又可以进行面向对象的程序设计。因此,它既适于程序设计语言的初学者,又适于面向过程程序设计技术过渡到面向对象程序设计技术的学习者阅读。
本书全面讲解面向过程的程序设计及面向对象程序设计的基本概念。其间针对教学**和难点,配有大量的例题,使初学者学习完相关章节的内容后,拿到题目,即能够独立编程,而不致茫然无措。
本书适合于大学本科非计算理工类各专业师生阅读,对计算机专业的学生来说也是一本较好的参考书,同时适于自学C++语言的读者阅读。 前言
编写背景 教育部高教司早在“八五”期间已经把计算机基础教学纳入高校的重要基础课程中,提出了“加强工科非计算机专业计算机基础教学工作的几点意见”,对计算机基础教学的地位和任务(培养目标)、课程体系和教学内容、教学方法和手段、师资和教材建设以及基础硬件设施的建设等多方面提出了指导性的意见。 其中*重要的一点是提出了计算机基础教学的三层次教学模式(即计算机文化基础、计算机技术基础和计算机应用基础)和课程体系。**程序设计语言类课程属于课程体系的第二个层次。 经过多年的教学实践,教育部高教司于2003年又提出了“进一步加强高校计算机基础教学的几点意见(征求意见稿)”(俗称计算机基础教育白皮书),针对计算机基础教学的现状与发展,提出了计算机基础教学改革的指导思想;按照分类、分层次组织教学的思路,提出了计算机基础课教学内容的知识结构与课程设置。在附件中给出了六门计算机基础教学的典型核心课程,并给出了这六门课程的教学大纲。这六门课程包括:大学计算机基础、计算机程序设计基础(含C和C++)、计算机硬件技术基础(微机原理与接口、单片机原理与应用)、数据库技术与应用、多媒体技术与应用、网络技术与应用。 另外,全国高校计算机基础教育研究会成立了“高等院校计算机基础教育改革课题研究组”。该研究组于2004年出版了课题报告《中国高等院校计算机基础教育课程体系2004》(简称CFC 2004),对国内计算机基础教育进行了全面的总结和系统研究,是指导计算机教育改革的重要文件。 本书正是依据上述“白皮书”中给出的“计算机程序设计基础(C++)”的大纲编写而成,同时也满足CFC 2004中所给的C++语言的主要内容。 编写内容和教学要求 目前,各大专院校非计算机专业,尤其是电类专业,普遍选用程序设计语言C++作为程序设计教学的**语言。为什么要选用面向对象的程序设计语言C++呢?因为目前市场上绝大部分通用的计算机软件开发工具都是基于面向对象的编程工具,如Visual C++、Delphi、Java和C# .NET等。随着计算机应用的普及,迫切需要大专院校学生具备面向对象的编程能力才能够适应社会的需求。本书就是为了满足这个层次的学生需求而编写的。本书内容是使用面向对象通用软件开发工具的基础。 本书第1~9章是结合C++语言的基本语法,介绍传统的面向过程的程序设计。内容包括C++语言基本数据类型、基本运算、基本输入/输出、结构化流程控制语句、函数、编译预处理、数组、结构体、指针和链表等内容,基本上是传统的C程序设计语言的内容。第二部分第10~15章是面向对象的程序设计,以面向对象的三大特点为主线,讲述类和对象的基本概念,类的封装、继承和多态,函数模板和类模板,并讲述了输入/输出流类体系、文件操作等内容。 本书作者主张的教学理念是注重程序设计算法的教学,注重对学生算法思路的逻辑训练,而不拘泥于语法要素的细枝末节。本书通俗易懂,各章节配有大量的例题和习题,主要是针对各章的教学难点和**以及各种算法而设计的。在选择例题和习题时,尽量涵盖目前程序设计语言课程的各种算法类型。使初学者拿到习题后,能够在本书例题中找到相似的例子,这样对于初学者来说,解题就不是一件非常困难的事情了。除了进行课本教学外,教师还可以根据实际情况选择安排课程设计,选用适合不同层次学生的课程设计题目,加强学生动手编制较大规模程序的能力。有关课程设计的书可参考机械工业出版社出版的《C++程序设计课程设计》(ISBN: 7-111-14565-8)。 本书第1、2、9~14章由王珊珊编写,第5~8章由臧洌编写,第3、4、15章由张志航编写,全书由王珊珊负责统稿。 讲述本书全部内容的建议学时为:理论教学56学时,课程设计16学时(内容另行安排),上机实验60学时。本书的实验环境是Visual C++ 6.0,本书中全部的例题和习题均在该环境中通过编译和运行。 本书可能会存在疏漏、不妥和错误之处,恳请广大读者指正。