本书是教育部“高等教育面向21世纪教学内容和课程体系改革计划”的研究成果,是面向21世纪课程教材。\r\n\r\n 本书内容包括;第一章绪论;第二章C+十语言初步;第三章基本数据类型与基本运算;第四章基本控制结构与导出数据类型;第五章函数,函数与运算符的重载;第六章指针,引用与动态内存分配;第七章类与对象;第八章继承与派生;第九章模板;第十章输入输出流和第十一章用 C+十语言设计面向对象程序。\r\n\r\n 本书结构清晰、系统性强、语言的叙述简洁;适合作为计算机专业与非计算机专业学生学习高级语言程序设计及面向对象技术的教材。\r\n
\r\n
第一章 绪论 \r\n\r\n 1. 1 程序设计与程序设计语言 \r\n\r\n 1. 1. 1 计算机与程序设计 \r\n\r\n 1. 1. 2 程序设计语言 \r\n\r\n 1. 1. 3 程序设计方法理论的发展 \r\n\r\n 1. 1. 4 程序设计技术的四个层次 \r\n\r\n 1. 2 C+十语言概述 \r\n\r\n 1. 2. l 为什么选择C+十语言 \r\n\r\n 1. 2. 2 C+十语言简史 \r\n\r\n 1. 2. 3 C+十语言的特点 \r\n\r\n 1. 3 本书的宗旨及内容安排 \r\n\r\n 1. 3. 1 讲授C+十语言的困难 \r\n\r\n 1. 3. 2 本书指导思想 \r\n\r\n 1. 3. 3 本书内容安排 \r\n\r\n 思考题 \r\n\r\n 第二章 C+十语言初步 \r\n\r\n 2. 1 初识C+十程序 \r\n\r\n 2. 1. l 程序实例 \r\n\r\n 2. 1. 2 I/O语句 \r\n\r\n 2. 2 C+十语言的基本符号 \r\n\r\n 2. 2. 1 基本符号分类 \r\n\r\n 2. 2. 2 基本符号的ASCll编码 \r\n\r\n 2. 3 C+十语言的词汇 \r\n\r\n 2. 3. l 关键字 \r\n\r\n 2. 3. 2 标识符 \r\n\r\n 2. 3. 3 字面常量 \r\n\r\n 2. 3. 4 运算符 \r\n\r\n 2. 3. 5 分割符 \r\n\r\n 2. 4 C+十程序的基本框架 \r\n\r\n 2. 4. 1 主函数 \r\n\r\n 2. 4. 2 预处理命令 \r\n\r\n 2. 4. 3 C+十程序的SP框架 \r\n\r\n 2. 4. 4 C+十程序的OOP框架 \r\n\r\n 2. 5 运行C+十程序 \r\n\r\n 2. 5. l 编辑C+十程序 \r\n\r\n 2. 5. 2 编译和链接过程 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第三章 基本数据类型与基本运算 \r\n\r\n 3. 1 包含简单计算的C+十程序 \r\n\r\n 3. 1. 1 程序实例:求两数之和 \r\n\r\n 3. 1. 2 程序实例, 计算圆面积 \r\n\r\n 3. 2 基本类型及其派生类型 \r\n\r\n 3. 2. 1 数据类型的概念 \r\n\r\n 3. 2. 2 基本类型 \r\n\r\n 3. 2. 3 基本类型的派生类型 \r\n\r\n 3. 2. 4 enum类型 \r\n\r\n 3. 3 说明语句 \r\n\r\n 3. 3. l 语句 \r\n\r\n 3. 3. 2 常量和变量 \r\n\r\n 3. 3. 3 常量说明 \r\n\r\n 3. 3. 4 变量说明 \r\n\r\n 3. 3. 5 类型说明 \r\n\r\n 3. 4 基本运算符 \r\n\r\n 3. 4. 1 运算符和表达式的概念 \r\n\r\n 3. 4. 2 运算类型与运算符 \r\n\r\n 3. 4. 3 赋值运算 \r\n\r\n 3. 4. 4 算术运算 \r\n\r\n 3. 4. 5 关系运算 \r\n\r\n 3. 4. 6 逻辑运算 \r\n\r\n 3. 4. 7 位运算 \r\n\r\n 3. 4. 8 其他运算 \r\n\r\n 3. 4. 9 运算的优先组 \r\n\r\n 3. 4. 10 运算与运算符小结 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第四章 基本控制结构与导出数据类型 \r\n\r\n 4. 1 控制语句. 复合语句和空语句 \r\n\r\n 4. 1. l 简单的计算器程序 \r\n\r\n 4. 1. 2 控制语句 \r\n\r\n 4. 1. 3 复台语句和空语句 \r\n\r\n 4. 2 分支语句 \r\n\r\n 4. 2. l 分支语句 \r\n\r\n 4. 2. 2 温度值变换程序 \r\n\r\n 4. 3 循环语句 \r\n\r\n 4. 3. l 循环语句 \r\n\r\n 4. 3. 2 求索救 \r\n\r\n 4. 3. 3 计算常数e的值 \r\n\r\n 4. 4 转向语句 \r\n\r\n 4. 5 数据导出类型(l), 数组(Array) \r\n\r\n 4. 5. 1 导出类型的概念 \r\n\r\n 4. 5. 2 一维数组 \r\n\r\n 4. 5. 3 多维数组 \r\n\r\n 4. 5. 4 数组与字符串 \r\n\r\n 4. 6 C+十程序实例 \r\n\r\n 4. 6. 1 统计学生成绩 \r\n\r\n 4. 6. 2 输出三角函数表 \r\n\r\n 4. 6. 3 画一个四叶玫瑰线图形 \r\n\r\n 4. 6. 4 Eratosthenes筛法求索救 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第五章 团数, 函数与运算符的在我 \r\n\r\n 5. 1 三次方程求根程序的设计 \r\n\r\n 5. 2 函数的说明与使用 \r\n\r\n 5. 2. l 函数说明 \r\n\r\n 5. 2. 2 函数调用 \r\n\r\n 5. 2. 3 函数的返回 \r\n\r\n 5. 2. 4 函数的多数 \r\n\r\n 5. 2. 5 值调用与引用饲用 \r\n\r\n 5. 2. 6 函数的嵌套与速归 \r\n\r\n 5. 2. 7 内联函数 \r\n\r\n 5. 3 函数与运算符的重载 \r\n\r\n 5. 3. l 函数重载 \r\n\r\n 5. 3. 2 可重载运算符 \r\n\r\n 5. 3. 3 运算符重载函数的定义 \r\n\r\n 5. 4 程序实例 \r\n\r\n 5. 4. 1 '三色冰激凌'程序 \r\n\r\n 5. 4. 2 Hanoi塔问题 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第六章 指针, 引用与动态内存分配 \r\n\r\n 6. 1 选择排序算法 \r\n\r\n 6. 2 导出数据类型(2), 指针 \r\n\r\n 6. 2. 1 指针变量说明 \r\n\r\n 6. 2. 2 指针变量的操作 \r\n\r\n 6. 2. 3 指针与教组 \r\n\r\n 6. 2. 4 字符串措针 \r\n\r\n 6. 2. 5 指针与函数 \r\n\r\n 6. 3 指针与动态内存分配 \r\n\r\n 6. 3. 1 动态分配运算符 \r\n\r\n 6. 3. 2 用指针进行内在动态分配 \r\n\r\n 6. 4 导出数据类型(3), 引用 \r\n\r\n 6. 5 程序实例 \r\n\r\n 6. 5. 1 按人名字典客排列电话簿 \r\n\r\n 6. 5. 2 构建人员档案链表 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第七章 类与对象 \r\n\r\n 7. 1 设计一个钱类 \r\n\r\n 7. 2 类和对象的说明 \r\n\r\n 7. 2. 1 类说明和对象说明 \r\n\r\n 7. 2. 2 对象的初始化, 构造与桥构函数 \r\n\r\n 7. 2. 3 静态成员 \r\n\r\n 7. 2. 4 友元 \r\n\r\n 7. 2. 5 类作为用户定义的数据类型(运算符重载) \r\n\r\n 7. 2. 6 this指针 \r\n\r\n 7. 2. 7 常量成员 \r\n\r\n 7. 2. 8 结构与联合 \r\n\r\n 7. 2. 9 类之间的关系 \r\n\r\n 7. 3 程序实例 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第八章 继承与派生 \r\n\r\n 8. l 公司雇员档案的管理 \r\n\r\n 8. 2 派生类 \r\n\r\n 8. 2. 1 派生类说明 \r\n\r\n 8. 2. 2 派生类的构造函数和桥相回敬 \r\n\r\n 8. 2. 3 其他特征的继承关系 \r\n\r\n 8. 2. 4 派生关系中的二义性处理 \r\n\r\n 8. 3 多态性与虚函数 \r\n\r\n 8. 3. 1 超载与动态联编 \r\n\r\n 8. 3. 2 基类指针与派生类指针 \r\n\r\n 8. 3. 3 虚函数 \r\n\r\n 8. 3. 4 抽象基类 \r\n\r\n 8. 4 程序实例 \r\n\r\n 8. 4. 1 计算函数的定积分 \r\n\r\n 8. 2. 2 利用图元类画图 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第九章 模板 \r\n\r\n 9. 1 一个队列模板 \r\n\r\n 9. 2 模板说明 \r\n\r\n 9. 2. l 类模板说明 \r\n\r\n 9. 2. 2 函数模板说明 \r\n\r\n 9. 2. 3 关于模板若干问题的说明 \r\n\r\n 9. 3 程序实例:链表模板的设计 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第十章 输入输出流 \r\n\r\n 10. 1 流类库的优点 \r\n\r\n 10. 2 文件与流的概念 \r\n\r\n 10. 3 C+十的流类库 \r\n\r\n 10. 4 I/O的格式控制 \r\n\r\n 10. 4. l 用于格式控制的类ios成员函数 \r\n\r\n 10. 4. 2 格式控制符 \r\n\r\n 10. 4. 3 用户定义格式控制符 \r\n\r\n 10. 5 其他输入输出控制函数 \r\n\r\n 10. 5. 1 I/O操作状态控制 \r\n\r\n 10. 5. 2 其他 I/O控制 \r\n\r\n 10. 6 文件 I/O \r\n\r\n 10. 6. 1 文件的打开与关闭 \r\n\r\n 10. 6. 2 文件的读写操作 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 第十一章 用C+十语言设计面向对象程序 \r\n\r\n 11. l 仿真系统程序的总体设计 \r\n\r\n 11. 2 仿真程序simulation的框架 \r\n\r\n 11. 3 电梯运行系统 \r\n\r\n 11. 4 person类的设计 \r\n\r\n 11. 5 floor类的设计 \r\n\r\n 11. 6 elevator类的设计 \r\n\r\n 11. 7 办公大楼电梯运行仿真系统 \r\n\r\n 思考题 \r\n\r\n 练习题 \r\n\r\n 附录 \r\n\r\n 附录A Visual C++6. 0编程环境简介 \r\n\r\n 附录B 标准函数 \r\n\r\n 附录C 关键词索引 \r\n\r\n \r\n\r\n \r\n
\r\n
刘景 南开大学教授, 博士生导师, 计算机科学与技术系主任, 教育部全国高等学校计算机科学与技术教学指导委员会软件专家组成员, 天津市高等学校计算机基础教学指导委员会副主任. 主要研究领域为算法设计与分析. 面向对象程序设计技术. 并行与分布式处理及应用. 网络应用软件技术等.
本教材是为高等学校计算机及相关专业的高级语言程序设计课程编写的.
用C+十语言取代Pascal语言(或者C语言), 使教学内容上发生了巨大的变化, 把程序设计技术的重点从结构程序设计转向面向对象程序设计, 是一个重大变革. 作者曾经与一些计算机专家讨论, 大家比较一致的看法是:
·面向对象程序设计(Object Oriented Programming, OOP)技术是目前程序设计与软件开发的主流, 是培养计算机专业人才的重点内容, 过去只在高年级开一个选修课的方法不能继续下去了. 现在国家
把发展软件产业作为科教兴国的重大战略任务提出来, 培养高级编程人才首当其冲. 程序设计课程的变革可以说是当务之急.
·讲授OOP技术最合适的语言是C+十语言. 一方面它是应用最广的OOP语言, 另一方面, 也有利于学生学习一般的编程技巧. 不过, 一定不要把它作为C语言的扩充来讲授.
然而, 在如何进行以OOP技术为主的程序设计教学问题上, 专家们的意见却不尽统一. 问题主要在于, C+十语言的规模和C+十程序的复杂程度, 往往使得教师们在面对刚刚步入大学的学生时感到困难重重, 比起十几年前讲BASIC语言不知要难多少倍!
不过, 从目前国内外的计算机教学的发展来看, 从一开始就讲授C+十语言是大势所趋, 因为这是现代软件技术的需要. 早在20世纪90年代中期, 南开大学. 中山大学等高校已经开始采用C+十语言作为程序设计主干课的内容, 并取得了一些经验. 尽管如此, 教材的编写仍然是一个艰巨而具有探索性的工作. 在本书的编写过程中, 作者始终把讲授编程技术作为主线, 努力使其不要淹没在大量语法规则的讲解之中, 虽然一些 C+十的实用程序都很长, 但仍然尽量多引用高水平的程序实例, 避免像许多C+十教材中那样把实例简化到仅用来说明语法, 成了一本语法说明书. 我们的教材就是为了培养高水平编程人员的. 另一方面也应指出, 掌握现代编程技术是一个长期的过程, 同学们应在后继课程(如算法与数据结构. 编译技术. 数据库技术. 软件工程. JAVA语言等)中不断地提高和完善.
在编写本书的过程中, 得到教育部高等学校计算机科学技术教学指导委员会和高等教育出版社的专家和编辑的鼓励, 天津大学边奠英教授详细审阅了全文, 并提出了许多宝贵意见, 南开大学周玉龙. 于春凡副教授在原稿中发现了许多错误和不妥之处, 邵秀丽副教授和研究生熊伟. 罗艳以及董沙沙则为本书选编了习题, 编写了三个附录, 检查了书中的应用程序, 并完成了全部的整理工作, 在此向他们表示衷. 心的感谢.
在编写本书的过程中, 作者参阅了国内外许多程序设计语言与数据结构方面的书籍, 从中吸收了新的思想. 新的内容, 同时又力图有所突破. 有所创新, 然而能力和水平有限, 可能有许多错误和不足之处, 敬请阅读本书的老师和同学子以指正.
刘玲
2000年于南开大学
无封面