热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

C++程序设计(第二版)

中国水利水电出版社
    【作 者】主编 杨长兴 刘卫国 【I S B N 】978-7-5084-9364-0 【责任编辑】李炎 【适用读者群】本专通用 【出版时间】2012-01-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】316 【千字数】480 【印 张】19.75 【定 价】35 【丛 书】普通高等教育“十二五”规划教材 【备注信息】
图书详情

    本书以程序设计零基础为起点,全面介绍包括面向过程和面向对象的C++程序设计方法。全书共10章,包括C++基础知识、程序控制结构、函数与编译预处理、数组与指针、自定义数据类型、类与对象、重载与模板、继承与派生、多态性与虚函数、输入输出流。各章节内容由浅入深、相互衔接、前后呼应、循序渐进。

    为了提高读者对程序设计思想方法的理解,本书将程序设计语言模型与人类自然语言模型相比较,让读者对程序设计语言模型及其内容的理解有了完整的参照对象。全书各章节选用大量程序设计经典实例来讲解基本概念和程序设计方法,同时配有大量习题供读者练习。本书的配套教材《C++程序设计实践教程》(第二版)提供了本课程的实践内容、上机指导及习题参考答案。

    本书语言表达严谨,文字流畅,内容通俗易懂、重点突出、实例丰富。适合作为高等院校各专业程序设计课程的教材,还适合作为广大计算机爱好者的自学参考用书。

    编写原则:加强基础、注重实践、突出应用、勇于创新。

    教学理念:教思想、教方法,真正做到“授人以鱼,不如授人以渔”。

    本书以程序设计零基础为起点,介绍包括面向过程和面向对象的C++程序设计方法。内容安排注重由浅入深、相互衔接、前后呼应、循序渐进,语言表达严谨,文字流畅,内容通俗易懂、重点突出,实例丰富。

    本书作者长期从事程序设计课程的教学工作,并利用C/C++/Visual C++开发了许多软件项目,具有丰富的教学经验和较强的科研能力。

    为了提高读者的编程技巧,选用了大量的经典例题,有些例题还备有多种可能的解答,以期拓展读者的解题思路。本书所给出的程序示例均在Visual C++ 6.0环境下进行了调试和运行。

    为了帮助读者更好地学习C++,编者还编写了配套教材《C++程序设计实践教程(第二版)》一书,该配套教材提供了本课程的实践内容、上机指导及习题参考答案。

    目前,随着计算机技术的普及与提高,高校计算机基础教学的内容也在不断改革与发展。程序设计课程是大学生必须掌握的计算机基本知识。选用某种程序设计语言作为高校大学生程序设计课程的语言环境,是各校计算机基础教学工作者改革研究的课题之一。过去很长一段时间,许多高校选用C语言作为程序设计课程的语言。但随着软件工程技术的不断发展,面向对象的程序设计方法已成为当今软件开发的重要手段之一,尤其是Visual C++的出现,进一步推动了面向对象与可视化编程技术的发展与应用。因此,掌握面向对象的程序设计方法已经成为大学生计算机应用与软件开发能力的要求之一。由于C++兼容了C语言的功能强、效率高、风格简洁、满足包括系统程序设计和应用程序设计的大多数任务的特点,又扩充了面向对象部分,即支持类、继承、派生、多态性等,解决了其代码的重用问题,C++实际上是既支持面向过程的结构化程序设计又支持面向对象的程序设计的语言。所以,我们根据多年的实际教学经验,在程序设计课程教学改革研究时,选用C++作为程序设计课程的语言环境。对于本书内容的选择,我们力求面向读者,以程序设计零基础为起点,全面介绍了包括面向过程和面向对象的C++程序设计方法。让读者首先接受面向对象的程序设计的思想方法,并理解面向对象的程序设计是需要以面向过程的程序设计方法作为基础的。

    全书共分为10章,第1章介绍C++的基础知识;第2章介绍程序控制结构;第3章介绍函数;第4章介绍数组与指针;第5章介绍自定义数据类型;第6章介绍类与对象;第7章介绍重载与模板;第8章介绍继承与派生;第9章介绍多态性与虚函数;第10章介绍输入输出流。从全书组织结构来看,首先定位C++是兼顾面向过程和面向对象的程序设计语言,面向对象的程序设计是以面向过程的程序设计为基础的。因此,在第1~5章以介绍面向过程的程序设计为主;在第6~10章以介绍面向对象的基本思想与方法为主。

    本书编者长期从事程序设计课程的教学工作,并利用C/C++/Visual C++开发了许多软件项目,具有丰富的教学经验和较强的科学研究能力。编者本着加强基础、注重实践、突出应用、勇于创新的原则,力求使本书达到有较强的可读性、适用性和先进性。我们的教学理念是:教学是教思想、教方法,真正做到“授人以鱼,不如授人以渔”。为了加强读者对程序设计思想方法的理解,本书将程序设计语言模型与人类自然语言模型相比较,让读者对程序设计语言模型及其内容的理解有了完整的参照对象。为了提高读者的编程技巧,选用了大量的经典例题,这些例题与相应章节的基本内容是完全吻合的,而且读者对这些例题的自然解法是相当熟悉的。例题还备有多种可能的解答,以期拓展读者的解题思路。为了便于读者自学,在全书的内容组织、编排上注重由浅入深、深入浅出、循序渐进。因此,本书适合作为高等院校各专业程序设计课程的教材,也适合作广大计算机爱好者的自学参考用书。如教师选用本书作为大学生程序设计课程的教材,可根据实际教学课时数调整或取舍内容。

    本书所给出的程序示例均在Visual C++ 6.0环境下进行了调试和运行。为了帮助读者更好地学习C++,编者还编写了配套教材《C++程序设计实践教程》(第二版)一书,该配套教材提供了本课程的实践内容、上机指导及习题参考答案。

    本书由杨长兴、刘卫国任主编,负责全书的总体策划、统稿和定稿工作。曹岳辉、李利明任副主编,协助主编完成统稿、定稿工作。各章编写工作分工如下:第1章由杨长兴编写,第2章由周春艳编写,第3章由朱从旭编写,第4章由周欣然编写,第5章由李小兰编写,第6章由刘卫国编写,第7章由曹岳辉编写,第8章由吕格莉编写,第9章由李利明编写,第10章由蔡旭晖编写。

    本书的编写得到了中南大学信息科学与工程学院施荣华等教授的大力支持与帮助,在此表示衷心的感谢。在本书的编写过程中,王小玲、严晖、周肆清、舒卫真、田琪、邵自然、罗芳、杨莉军等老师参与了大纲的讨论和文稿校对工作,本书吸收了他(她)们许多宝贵的意见,在此一并表示感谢。编者在编写本书的过程中参考了大量的文献资料,在此也向这些文献资料的作者表示衷心感谢。

    由于本书编者水平所限,成稿时间仓促,书中如有疏漏及不妥之处,敬请读者不吝赐教。

    前言

    第1章 C++基础知识 1
    1.1 程序设计语言的基本概念 1
    1.2 C++程序的基本结构 3
    1.2.1 C++程序结构 3
    1.2.2 C++程序的书写格式 4
    1.3 一个应用程序的开发过程 5
    1.3.1 Visual C++ 6.0开发环境 5
    1.3.2 一个应用程序的开发过程 5
    1.4 C++的词法规则 9
    1.4.1 C++的字符集组成 9
    1.4.2 C++的单词及其构词规则 10
    1.5 C++基本数据类型 11
    1.6 常量与变量 12
    1.6.1 常量 12
    1.6.2 变量 15
    1.7 运算符与表达式 18
    1.7.1 算术运算符与算术表达式 18
    1.7.2 关系运算符与关系表达式 20
    1.7.3 逻辑运算符与逻辑表达式 21
    1.7.4 位运算符与位运算表达式 22
    1.7.5 赋值运算符与赋值表达式 23
    1.7.6 三目运算符与三目条件表达式 25
    1.7.7 逗号运算符与逗号表达式 26
    1.7.8 指针运算 26
    1.7.9 运算符的优先级和结合性 27
    1.7.10 类型转换 29
    习题1 30
    第2章 程序控制结构 33
    2.1 顺序结构 33
    2.1.1 定义语句 33
    2.1.2 表达式语句 34
    2.1.3 复合语句 34
    2.1.4 空语句 34
    2.1.5 基本输入输出 34
    2.2 选择结构 37
    2.2.1 if语句 38
    2.2.2 switch语句 43
    2.3 循环结构 45
    2.3.1 while语句 45
    2.3.2 do…while语句 47
    2.3.3 for语句 49
    2.3.4 多重循环 51
    2.4 控制转向语句 53
    2.4.1 break语句 53
    2.4.2 continue 语句 54
    2.4.3 goto语句 55
    2.5 程序实例 56
    习题2 61
    第3章 函数与编译预处理 64
    3.1 函数的概念 64
    3.2 函数的定义与调用 67
    3.2.1 函数的定义 67
    3.2.2 函数的声明 67
    3.2.3 函数的返回值 69
    3.2.4 函数的调用 70
    3.3 函数的参数传递 71
    3.3.1 参数的值传递 72
    3.3.2 参数的地址传递 73
    3.3.3 带默认值的参数 74
    3.4 函数的嵌套调用与递归调用 75
    3.4.1 函数的嵌套调用 75
    3.4.2 函数的递归调用 76
    3.5 内置函数 81
    3.6 变量和函数的属性 83
    3.6.1 变量的作用域 83
    3.6.2 变量的生存期 87
    3.6.3 内部函数和外部函数 91
    3.7 编译预处理 93
    3.7.1 宏定义 93
    3.7.2 文件包含 95
    3.7.3 条件编译 96
    习题3 98
    第4章 数组与指针 102
    4.1 数组及其应用 102
    4.1.1 数组的概念 102
    4.1.2 一维数组 103
    4.1.3 二维数组 107
    4.1.4 数组作为函数的参数 110
    4.2 指针及其应用 113
    4.2.1 指针的概念 113
    4.2.2 指针变量的定义及初始化 114
    4.2.3 指针的运算 115
    4.2.4 指针作函数参数 116
    4.2.5 返回指针值的函数 118
    4.2.6 指向函数的指针 119
    4.3 指针与数组 121
    4.3.1 指针与一维数组 121
    4.3.2 一维数组名和指针作函数参数的
    进一步讨论 123
    4.3.3 指针与二维数组 123
    4.4 字符串 125
    4.4.1 字符串的概念 126
    4.4.2 字符串的存储表示法 126
    4.4.3 字符串的输入与输出 128
    4.4.4 字符串处理处理函数 128
    4.4.5 字符串的简单应用举例 130
    4.5 指针数组与多级指针 132
    4.5.1 指针数组 132
    4.5.2 多级指针 133
    4.5.3 带形参的main函数 134
    4.6 引用 135
    4.6.1 变量的引用 135
    4.6.2 引用作函数参数 136
    4.6.3 引用作函数返回值 137
    习题4 137
    第5章 自定义数据类型 141
    5.1 结构体类型 141
    5.1.1 结构体类型的定义 141
    5.1.2 结构体变量的定义 142
    5.1.3 结构体变量的引用与初始化 143
    5.1.4 结构体数组 145
    5.1.5 结构体与函数 147
    5.1.6 链表 149
    5.2 共用体类型 154
    5.2.1 共用体类型与变量的定义 154
    5.2.2 共用体变量的引用 155
    5.2.3 共用体与结构体的联合使用 156
    5.3 枚举类型 158
    5.4 自定义类型 159
    思考与扩充 160
    5.5 位段结构 160
    习题5 164
    第6章 类与对象 167
    6.1 面向对象程序设计的基本概念 167
    6.2 类与对象的定义 169
    6.2.1 C++面向对象程序的结构 170
    6.2.2 类的定义 171
    6.2.3 对象的定义与使用 174
    6.2.4 类与结构体的区别 175
    6.3 对象的初始化 176
    6.3.1 构造函数 176
    6.3.2 析构函数 179
    6.3.3 复制构造函数 181
    6.4 对象数组与对象指针 184
    6.4.1 对象数组 184
    6.4.2 对象指针 185
    6.4.3 指向类成员的指针 186
    6.4.4 this指针 188
    6.5 友元 189
    6.5.1 友元函数 189
    6.5.2 友元类 190
    6.6 类成员的共享与保护 191
    6.6.1 静态成员 192
    6.6.2 常对象和常成员 194
    6.7 程序实例 197
    习题6 201
    第7章 重载与模板 206
    7.1 重载 206
    7.1.1 函数重载 207
    7.1.2 运算符重载 211
    7.2 模板 227
    7.2.1 函数模板 227
    7.2.2 类模板 229
    7.3 应用实例 230
    习题7 239
    第8章 继承和派生 241
    8.1 继承和派生的概念 241
    8.1.1 基类与派生类 241
    8.1.2 继承与派生的作用 242
    8.1.3 派生类的声明 243
    8.2 派生类成员的访问控制 244
    8.2.1 派生类成员访问控制简介 244
    8.2.2 private、protected与public
    类成员 244
    8.2.3 三种派生方式的定义 246
    8.2.4 派生类成员访问控制规则 251
    8.3 派生类的构造函数和析构函数 251
    8.3.1 派生类的构造函数和析构函数
    的声明 251
    8.3.2 派生类的构造函数和析构函数
    的构造规则 253
    8.3.3 派生类的构造函数和析构函数
    的调用顺序 253
    8.4 多重继承 254
    8.4.1 多重继承的声明 254
    8.4.2 多重继承的几点说明 256
    8.4.3 虚基类 256
    8.5 基类和派生类的转换 260
    8.5.1 什么是基类和派生类的转换 260
    8.5.2 基类与派生类的转换方法 261
    8.6 继承与组合 261
    习题8 262
    第9章 多态性与虚函数 264
    9.1 多态性的概念 264
    9.1.1 编译时的多态性 265
    9.1.2 运行时的多态性 267
    9.2 虚函数 268
    9.2.1 虚函数的作用 269
    9.2.2 虚函数的使用 271
    9.2.3 多重继承与虚函数 273
    9.2.4 虚析构函数 275
    9.3 纯虚函数与抽象类 277
    9.3.1 纯虚函数 277
    9.3.2 抽象类 278
    9.4 抽象类实例 278
    习题9 282
    第10章 输入输出流 285
    10.1 C++的输入输出 285
    10.1.1 C++流的概念 285
    10.1.2 C++流类库 286
    10.1.3 与iostream类库有关的头文件 287
    10.1.4 插入与提取运算符的重载 287
    10.2 格式化输入输出 288
    10.2.1 标准输入输出流类 288
    10.2.2 数据输入输出成员函数 289
    10.2.3 格式控制成员函数 291
    10.3 文件输入输出 293
    10.3.1 文件的概念 293
    10.3.2 文本文件的读写 295
    10.3.3 二进制文件的读写 296
    10.3.4 文件的随机读写 299
    10.4 字符串流 301
    10.4.1 字符串流的概念 301
    10.4.2 字符串流的输出操作 301
    10.4.3 字符串流的输入操作 302
    习题10 303
    参考文献 305
最新评论共有 2 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册