简介
面向对象程序设计是现今最主要的软件设计方法。C++作为程序设计中最专业和热门的一种语言,已成为广大程序员的首选。本书以Microsoft Visual C++的设计实例为基础,运用较多的范例引导C++程序设计的技巧,并配合由浅入深的习题和清晰明了的解说,使读者可以循序渐进地体会C++程序设计的精髓。
对于学习程序设计的初学者而言,本书采用了通俗易懂的文字,通过渐进式的范例引导练习,再以适时的图解阐释了文中的要点。有助于读者踏出稳健的第一步并建立起程序设计的信心,使其以后深入研究课题时充满动力。
本书非常适合初次学习程序语言或想彻底了解C++语言的读者阅读,也可作为高等院校教授程序语言、面向对象程序设计的教材。另外,随书所附光盘包含全部范例的程序源代码,使读者学习更加便利。
本书由碁峯资讯股份有限公司提供版权,经中国铁道出版社计算机图书项目中心审选,由戴军、贺军、龚亚平、李志伟、陈贤淑、廖康良和孟丽花等完成了本书的编排工作。
目录
第1章 c语言的基本概念 1
1-1 程序语言 2
1-1-1 为什么需要程序语言 2
1-1-2 高级语言 3
1-2 c语言的演化 3
1-3 microsoft visual c++ 6.0的安装 4
1-4 启动程序与画面简介 16
1-4-1 启动visual c++ 16
1-4-2 visual c++画面概述 17
1-4-3 启动msdn library 19
1-4-4 msdn library画面概述 20
1-5 c语言程序结构 21
1-5-1 程序设计步骤 21
1-5-2 c语言程序结构 22
1-6 如何编写c语言程序 25
1-6-1 c语言程序的格式 25
1-6-2 编译程序语言和解释程序语言 25
1-6-3 visual c++程序的编写与编译方法 26
温故知新 29
自我突破习题 29
.第2章 数据类型与表达式 31
2-1 c语言的数据类型与变量声明 32
2-1-1 常量与变量 32
2-1-2 整数 33
2-1-3 浮点数 34
2-1-4 字符 34
2-2 输入与输出 35
2-3 运算符和表达式 40
2-3-1 数学运算表达式 40
2-3-2 赋值表达式 42
2-3-3 逻辑关系表达式 42
2-3-4 位运算表达式 43
2-3-5 数据类型的转换与强制转换数据类型运算符 47
2-3-6 运算符优先级 48
温故知新 53
自我突破习题 53
第3章 程序流程控制 55
3-1 循环结构 56
3-1-1 for语句 56
3-1-2 while语句 64
3-1-3 do...while语句 68
3-2 条件流程控制 71
3-2-1 if语句 71
3-2-2 else if语句 74
3-3 多重分支结构(switch...case) 77
3-4 中断分支与循环语句 82
3-4-1 中断分支break语句 82
3-4-2 continue语句 85
3-5 条件运算符(? :) 89
3-6 跳转语句(goto) 93
温故知新 94
自我突破习题 95
第4章 数组与指针 99
4-1 数组 100
4-1-1 数值数组数据的赋值 100
4-1-2 字符数组数据的赋值 107
4-2 多维数组 111
4-2-1 数值二维数组数据的赋值 112
4-2-2 字符二维数组数据的赋值 117
4-3 指针 119
4-3-1 指针的意义 119
4-3-2 指针的运算 120
4-4 动态分配内存 123
4-4-1 new配置内存 123
4-4-2 delete释放内存 127
4-5 指针与数组 129
4-5-1 指针与一维数组 129
4-5-2 指针与多维数组 131
4-5-3 指针与字符数组 133
温故知新 133
自我突破习题 134
第五章 函数与函数库 137
5-1 函数定义 138
5-2 参数传递 140
5-2-1 传值调用 141
5-2-2 传址调用 143
5-3 c++常用函数 146
5-3-1 数学函数 146
5-3-2 随机数函数 151
5-3-3 字符串函数 153
5-3-4 数据转换函数 157
5-3-5 输入输出函数 160
5-4 递归函数(recursive functions) 167
5-5 内联函数 170
温故知新 171
自我突破习题 171
第6章 特殊数据类型与定义 175
6-1 枚举(enum) 176
6-2 用户自定义类型名称(typedef) 178
6-3 结构(struct) 180
6-3-1 结构的定义与存取 180
6-3-2 函数中结构数据的传递 184
6-4 预处理器指令 188
6-4-1 #define与#undef 188
6-4-2 #include 190
6-4-3 #if...#else...#endif与#elif 193
6-4-4 #ifdef与#ifndef 195
6-5 变量的作用范围 196
6-5-1 自动变量(auto) 196
6-5-2 静态变量(static) 197
6-5-3 外部变量(extern) 199
6-5-4 静态外部变量(static extern) 201
6-5-5 寄存器变量(register) 202
温故知新 202
自我突破习题 202
第7章 对象与类 205
7-1 面向对象的基本概念 206
7-1-1 什么是对象 206
7-1-2 面向对象设计的优点 208
7-2 加上行为的结构--类 208
7-2-1 类的意义 208
7-2-2 类的设计方法 210
7-2-3 类中成员的种类 214
7-2-4 嵌套类 216
7-3 构造函数与析构函数 217
7-3-1 构造函数的基本概念 217
7-3-2 设定对象的初始值 218
7-3-3 构造函数重载 229
7-3-4 析构函数 230
7-4 对象的声明与操作 230
7-4-1 对象的声明 230
7-4-2 对象的指定 231
7-4-3 动态配置对象 232
温故知新 234
自我突破习题 235
第8章 继承与派生类 239
8-1 派生类 240
8-1-1 继承的概念 240
8-1-2 派生类--公共派生 242
8-1-3 派生类--私有派生 249
8-1-4 派生类--保护派生 250
8-1-5 派生的原则 252
8-1-6 派生类的构造函数与析构函数 253
8-2 多重继承 255
8-2-1 基本概念 255
8-2-2 构造函数的定义 255
8-2-3 成员函数的存取 258
8-3 类的层次 259
8-3-1 单一类层次 259
8-3-2 多重类层次 261
8-4 虚基类 263
8-4-1 使用时机 263
8-4-2 构造函数的存取 265
8-4-3 析构函数的存取 271
8-4-4 虚基类成员的存取 272
温故知新 273
自我突破习题 274
第9章 虚函数与友元函数 279
9-1 多态 280
9-2 虚函数 281
9-2-1 定义与声明 281
9-2-2 存取关系 284
9-2-3 动态链接 292
9-2-4 纯虚函数 296
9-3 友元函数与友元类 298
9-3-1 友元函数 298
9-3-2 友元类 300
9-4 this指针 303
温故知新 305
自我突破习题 306
第10章 重载 309
10-1 函数重载 310
10-1-1 一般函数重载 310
10-1-2 构造函数重载 311
10-1-3 复制构造函数 315
10-2 运算符重载 319
10-2-1 运算符函数 319
10-2-2 二元运算符的重载(一) 321
10-2-3 二元运算符的重载(二) 326
10-2-4 一元运算符的重载 331
10-2-5 等号运算符的重载 334
10-3 类的类型转换 337
10-3-1 利用构造函数转换类型 337
10-3-2 类类型转换成其他类型 339
温故知新 340
自我突破习题 341
第11章 模板 347
11-1 什么是模板 348
11-2 函数模板 350
11-2-1 套用一般数据类型的函数模板 350
11-2-2 套用自定义类型的函数模板 353
11-3 类模板 357
11-3-1 定义及使用方法 357
11-3-2 具有固定类型的类模板 359
11-3-3 一个类模板范例--串行队列 362
温故知新 376
自我突破习题 376
第12章 输入与输出流 379
12-1 流 380
12-2 输出流cout 382
12-2-1 串联输出 382
12-2-2 字符与字符串输出 382
12-2-3 清除缓冲区flush() 383
12-2-4 设定输出格式 383
12-3 输入流cin 389
12-3-1 串联输入 389
12-3-2 单一字符输入get 389
12-3-3 字符串输入getline()和ignore() 391
12-4 文件的输入与输出 393
12-4-1 简单的文件i/o处理 394
12-4-2 高级文件处理 397
12-4-3 随机访问文件 409
温故知新 414
自我突破习题 415
附录a c++关键字 417
附录b ascii码字符对照表 419
1-1 程序语言 2
1-1-1 为什么需要程序语言 2
1-1-2 高级语言 3
1-2 c语言的演化 3
1-3 microsoft visual c++ 6.0的安装 4
1-4 启动程序与画面简介 16
1-4-1 启动visual c++ 16
1-4-2 visual c++画面概述 17
1-4-3 启动msdn library 19
1-4-4 msdn library画面概述 20
1-5 c语言程序结构 21
1-5-1 程序设计步骤 21
1-5-2 c语言程序结构 22
1-6 如何编写c语言程序 25
1-6-1 c语言程序的格式 25
1-6-2 编译程序语言和解释程序语言 25
1-6-3 visual c++程序的编写与编译方法 26
温故知新 29
自我突破习题 29
.第2章 数据类型与表达式 31
2-1 c语言的数据类型与变量声明 32
2-1-1 常量与变量 32
2-1-2 整数 33
2-1-3 浮点数 34
2-1-4 字符 34
2-2 输入与输出 35
2-3 运算符和表达式 40
2-3-1 数学运算表达式 40
2-3-2 赋值表达式 42
2-3-3 逻辑关系表达式 42
2-3-4 位运算表达式 43
2-3-5 数据类型的转换与强制转换数据类型运算符 47
2-3-6 运算符优先级 48
温故知新 53
自我突破习题 53
第3章 程序流程控制 55
3-1 循环结构 56
3-1-1 for语句 56
3-1-2 while语句 64
3-1-3 do...while语句 68
3-2 条件流程控制 71
3-2-1 if语句 71
3-2-2 else if语句 74
3-3 多重分支结构(switch...case) 77
3-4 中断分支与循环语句 82
3-4-1 中断分支break语句 82
3-4-2 continue语句 85
3-5 条件运算符(? :) 89
3-6 跳转语句(goto) 93
温故知新 94
自我突破习题 95
第4章 数组与指针 99
4-1 数组 100
4-1-1 数值数组数据的赋值 100
4-1-2 字符数组数据的赋值 107
4-2 多维数组 111
4-2-1 数值二维数组数据的赋值 112
4-2-2 字符二维数组数据的赋值 117
4-3 指针 119
4-3-1 指针的意义 119
4-3-2 指针的运算 120
4-4 动态分配内存 123
4-4-1 new配置内存 123
4-4-2 delete释放内存 127
4-5 指针与数组 129
4-5-1 指针与一维数组 129
4-5-2 指针与多维数组 131
4-5-3 指针与字符数组 133
温故知新 133
自我突破习题 134
第五章 函数与函数库 137
5-1 函数定义 138
5-2 参数传递 140
5-2-1 传值调用 141
5-2-2 传址调用 143
5-3 c++常用函数 146
5-3-1 数学函数 146
5-3-2 随机数函数 151
5-3-3 字符串函数 153
5-3-4 数据转换函数 157
5-3-5 输入输出函数 160
5-4 递归函数(recursive functions) 167
5-5 内联函数 170
温故知新 171
自我突破习题 171
第6章 特殊数据类型与定义 175
6-1 枚举(enum) 176
6-2 用户自定义类型名称(typedef) 178
6-3 结构(struct) 180
6-3-1 结构的定义与存取 180
6-3-2 函数中结构数据的传递 184
6-4 预处理器指令 188
6-4-1 #define与#undef 188
6-4-2 #include 190
6-4-3 #if...#else...#endif与#elif 193
6-4-4 #ifdef与#ifndef 195
6-5 变量的作用范围 196
6-5-1 自动变量(auto) 196
6-5-2 静态变量(static) 197
6-5-3 外部变量(extern) 199
6-5-4 静态外部变量(static extern) 201
6-5-5 寄存器变量(register) 202
温故知新 202
自我突破习题 202
第7章 对象与类 205
7-1 面向对象的基本概念 206
7-1-1 什么是对象 206
7-1-2 面向对象设计的优点 208
7-2 加上行为的结构--类 208
7-2-1 类的意义 208
7-2-2 类的设计方法 210
7-2-3 类中成员的种类 214
7-2-4 嵌套类 216
7-3 构造函数与析构函数 217
7-3-1 构造函数的基本概念 217
7-3-2 设定对象的初始值 218
7-3-3 构造函数重载 229
7-3-4 析构函数 230
7-4 对象的声明与操作 230
7-4-1 对象的声明 230
7-4-2 对象的指定 231
7-4-3 动态配置对象 232
温故知新 234
自我突破习题 235
第8章 继承与派生类 239
8-1 派生类 240
8-1-1 继承的概念 240
8-1-2 派生类--公共派生 242
8-1-3 派生类--私有派生 249
8-1-4 派生类--保护派生 250
8-1-5 派生的原则 252
8-1-6 派生类的构造函数与析构函数 253
8-2 多重继承 255
8-2-1 基本概念 255
8-2-2 构造函数的定义 255
8-2-3 成员函数的存取 258
8-3 类的层次 259
8-3-1 单一类层次 259
8-3-2 多重类层次 261
8-4 虚基类 263
8-4-1 使用时机 263
8-4-2 构造函数的存取 265
8-4-3 析构函数的存取 271
8-4-4 虚基类成员的存取 272
温故知新 273
自我突破习题 274
第9章 虚函数与友元函数 279
9-1 多态 280
9-2 虚函数 281
9-2-1 定义与声明 281
9-2-2 存取关系 284
9-2-3 动态链接 292
9-2-4 纯虚函数 296
9-3 友元函数与友元类 298
9-3-1 友元函数 298
9-3-2 友元类 300
9-4 this指针 303
温故知新 305
自我突破习题 306
第10章 重载 309
10-1 函数重载 310
10-1-1 一般函数重载 310
10-1-2 构造函数重载 311
10-1-3 复制构造函数 315
10-2 运算符重载 319
10-2-1 运算符函数 319
10-2-2 二元运算符的重载(一) 321
10-2-3 二元运算符的重载(二) 326
10-2-4 一元运算符的重载 331
10-2-5 等号运算符的重载 334
10-3 类的类型转换 337
10-3-1 利用构造函数转换类型 337
10-3-2 类类型转换成其他类型 339
温故知新 340
自我突破习题 341
第11章 模板 347
11-1 什么是模板 348
11-2 函数模板 350
11-2-1 套用一般数据类型的函数模板 350
11-2-2 套用自定义类型的函数模板 353
11-3 类模板 357
11-3-1 定义及使用方法 357
11-3-2 具有固定类型的类模板 359
11-3-3 一个类模板范例--串行队列 362
温故知新 376
自我突破习题 376
第12章 输入与输出流 379
12-1 流 380
12-2 输出流cout 382
12-2-1 串联输出 382
12-2-2 字符与字符串输出 382
12-2-3 清除缓冲区flush() 383
12-2-4 设定输出格式 383
12-3 输入流cin 389
12-3-1 串联输入 389
12-3-2 单一字符输入get 389
12-3-3 字符串输入getline()和ignore() 391
12-4 文件的输入与输出 393
12-4-1 简单的文件i/o处理 394
12-4-2 高级文件处理 397
12-4-3 随机访问文件 409
温故知新 414
自我突破习题 415
附录a c++关键字 417
附录b ascii码字符对照表 419
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!