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

C++程序设计基础

中国水利水电出版社
    【作 者】主编 杨长兴 【I S B N 】978-7-5084-9304-6 【责任编辑】李炎 【适用读者群】高职高专 【出版时间】2011-12-27 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】292 【千字数】457 【印 张】18.25 【定 价】32 【丛 书】21世纪高职高专新概念规划教材 【备注信息】
图书详情

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

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

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

    本书配有免费电子教案,读者可以从中国水利水电出版社网站及万水书苑上下载,网址为:http://www.waterpub.com.cn/softdown/或http://www.wsbookshow.com。

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

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

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

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

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

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

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

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

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

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

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

    在本书的编写过程中,王小玲、田琪、严晖、周肆清、舒卫真、邵自然、李力、刘雄鹰、裘嵘、温国海、杨莉军、曹丹等老师参与了大纲的讨论和文稿校对工作,本书采纳了他(她)们许多宝贵的意见,在此一并表示感谢。编者在编写书的过程中参考了大量的文献资料,在此也向这些文献资料的作者表示衷心感谢。

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

    编 者

    2011年11月

    前言

    第1章 C++基础知识 1
    1.1 程序设计语言的发展历程 1
    1.2 C++程序的基本结构 2
    1.2.1 C++程序结构 3
    1.2.2 C++程序的书写格式 5
    1.3 C++开发环境及应用程序的开发过程 5
    1.3.1 Visual C++ 6.0开发环境 5
    1.3.2 一个应用程序的开发过程 5
    习题一 10
    第2章 C++数据类型与表达式 11
    2.1 C++的词法规则 11
    2.1.1 C++的字符集组成 11
    2.1.2 C++的单词及其构词规则 12
    2.2 C++基本数据类型 13
    2.3 常量与变量 14
    2.3.1 常量 14
    2.3.2 变量 17
    2.4 运算符与表达式 20
    2.4.1 算术运算符与算术表达式 20
    2.4.2 关系运算符与关系表达式 22
    2.4.3 逻辑运算符与逻辑表达式 23
    2.4.4 位运算符与位运算表达式 24
    2.4.5 赋值运算符与赋值表达式 25
    2.4.6 三目运算符与三目条件表达式 27
    2.4.7 逗号运算符与逗号表达式 28
    2.4.8 指针运算 29
    2.4.9 运算符的优先级及结合性 29
    2.4.10 类型转换 31
    习题二 32
    第3章 程序控制结构 35
    3.1 顺序结构 35
    3.1.1 定义语句 36
    3.1.2 表达式语句 36
    3.1.3 复合语句 36
    3.1.4 空语句 37
    3.1.5 基本输入输出 37
    3.2 选择结构 40
    3.2.1 if语句 40
    3.2.2 switch语句 44
    3.3 循环结构 46
    3.3.1 循环概念的引入 46
    3.3.2 while语句 46
    3.3.3 do-while语句 48
    3.3.4 for语句 50
    3.3.5 多重循环 53
    3.4 控制转向语句 56
    3.4.1 break语句 56
    3.4.2 continue语句 57
    3.4.3 goto语句 58
    3.5 程序实例 58
    3.6 编译预处理 63
    3.6.1 宏定义 63
    3.6.2 文件包含 65
    3.6.3 条件编译 66
    习题三 69
    第4章 函数 72
    4.1 函数的定义与调用 73
    4.1.1 函数的定义 73
    4.1.2 函数的声明 75
    4.1.3 函数的返回值 76
    4.1.4 函数的调用 77
    4.2 函数的参数传递 78
    4.2.1 参数的值传递 79
    4.2.2 参数的地址传递 80
    4.3 函数的嵌套调用与递归调用 81
    4.3.1 函数的嵌套调用 81
    4.3.2 函数的递归调用 82
    4.4 内联函数 84
    4.4.1 内联函数的引入 85
    4.4.2 内联函数的定义与调用 86
    4.5 变量和函数的属性 87
    4.5.1 变量的作用域 87
    4.5.2 变量的生存期 91
    4.5.3 内部函数和外部函数 95
    4.6 函数模板 96
    4.6.1 函数模板与模板函数 97
    4.6.2 函数模板的使用 98
    4.7 C++常用系统函数 98
    4.7.1 常用数学函数 99
    4.7.2 常用字符串处理函数 100
    习题四 101
    第5章 数组与指针 105
    5.1 数组及其应用 105
    5.1.1 数组的概念 105
    5.1.2 一维数组 106
    5.1.3 二维数组 111
    5.1.4 数组作为函数的参数 114
    5.2 指针及其应用 117
    5.2.1 指针的概念 117
    5.2.2 指针变量的定义及初始化 118
    5.2.3 指针的运算 119
    5.2.4 指针作函数参数 121
    5.2.5 返回指针值的函数 123
    5.2.6 函数指针(指向函数的指针) 124
    5.3 指针与数组 127
    5.3.1 指针与一维数组 127
    5.3.2 指针用作函数参数 129
    5.3.3 指针与二维数组 130
    5.4 字符串 134
    5.4.1 字符串的概念 134
    5.4.2 字符串的存储表示法 134
    5.4.3 字符串的输入与输出 136
    5.4.4 字符串函数及其应用 137
    5.5 指针数组与多级指针 139
    5.5.1 指针数组 139
    5.5.2 多级指针 141
    5.5.3 行指针、指针数组、多级指针的
    区别 142
    5.5.4 命令行参数 143
    习题五 144
    第6章 自定义数据类型 146
    6.1 结构体类型 146
    6.1.1 结构体类型的定义 146
    6.1.2 结构体变量的定义 147
    6.1.3 结构体变量的引用与初始化 148
    6.1.4 结构体数组 150
    6.1.5 结构体与函数 152
    6.1.6 链表 154
    6.2 共用体类型 159
    6.2.1 共用体类型与变量的定义 160
    6.2.2 共用体变量的引用 161
    6.2.3 共用体与结构体的联合使用 162
    6.3 枚举类型 163
    6.4 自定义类型 165
    习题六 166
    第7章 类与对象 169
    7.1 从面向过程到面向对象 169
    7.1.1 面向对象程序设计的基本概念 170
    7.1.2 C++面向对象程序的结构 171
    7.2 类的定义 172
    7.2.1 类的定义 172
    7.2.2 类成员的访问控制 175
    7.2.3 对象的定义与使用 177
    7.3 对象的初始化 178
    7.3.1 构造函数 179
    7.3.2 析构函数 182
    7.3.3 复制构造函数 183
    7.4 对象数组与对象指针 186
    7.4.1 对象数组 186
    7.4.2 对象指针 187
    7.4.3 指向类成员的指针 188
    7.4.4 this指针 190
    7.5 静态成员 191
    7.5.1 静态数据成员 191
    7.5.2 静态成员函数 193
    7.6 友元 194
    7.6.1 友元函数 194
    7.6.2 友元类 195
    7.7 常类型 196
    7.7.1 常对象 196
    7.7.2 常成员函数 196
    7.7.3 常数据成员 197
    7.8 程序实例 198
    习题七 204
    第8章 继承与派生 210
    8.1 继承与派生的概念 210
    8.1.1 基类与派生类 210
    8.1.2 继承与派生的作用 211
    8.1.3 派生类的声明 212
    8.2 派生类成员的访问控制 213
    8.2.1 三种派生方式的定义 213
    8.2.2 派生类成员访问控制规则 217
    8.3 派生类的构造函数和析构函数 218
    8.3.1 派生类的构造函数和析构函数的
    声明 218
    8.3.2 派生类的构造函数和析构函数的
    构造规则 219
    8.3.3 派生类构造函数和析构函数的
    调用顺序 220
    8.4 多重继承 221
    8.4.1 多重继承的声明与引用 221
    8.4.2 虚基类 223
    8.5 基类和派生类的转换 227
    8.6 继承与组合 227
    习题八 228
    第9章 多态性与虚函数 230
    9.1 函数重载 230
    9.2 运算符重载 231
    9.3 多态性 242
    9.3.1 编译时的多态性 242
    9.3.2 运行时的多态性 244
    9.4 虚函数 246
    9.4.1 虚函数的作用 246
    9.4.2 多重继承与虚函数 249
    9.4.3 虚析构函数 250
    9.5 纯虚函数与抽象类 252
    9.5.1 纯虚函数 252
    9.5.2 抽象类 253
    9.6 抽象类实例 253
    习题九 255
    第10章 输入输出流 258
    10.1 C++的输入输出流 258
    10.1.1 流的概念 258
    10.1.2 C++流类库 259
    10.1.3 与iostream类库有关的头文件 261
    10.1.4 插入与提取运算符 261
    10.2 标准I/O 262
    10.2.1 标准流类 262
    10.2.2 格式控制成员函数 263
    10.2.3 字符输入输出成员函数 265
    10.3 文件I/O 267
    10.3.1 文件的概念 267
    10.3.2 文本文件的读写 269
    10.3.3 二进制文件的读写 271
    10.3.4 文件的随机读写 274
    10.4 内存I/O 277
    10.4.1 字符串流的概念 277
    10.4.2 字符串流的输出操作 278
    10.4.3 字符串流的输入操作 279
    习题十 281
    参考文献 284

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册