当前位置:主页 > 课后答案 > 数据结构习题答案
数据结构:C语言描述

《数据结构:C语言描述》课后习题答案

  • 更新:2021-03-29
  • 大小:603 KB
  • 类别:数据结构
  • 作者:耿国华
  • 出版:西安电子科技大学出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书分三部分,共16章。第一部分对C++语言的基本机制,即对C++语言中用于支持面向过程与面向模块化程序设计的语言机制进行了较为准确与全面的介绍;第二部分重点介绍了C++支持面向对象与类属程序设计的各种语言机制,同时,在该部分对C++ 的异常处理机制进行了较为详尽的介绍;第三部分对C++标准模板库STL进行了简要阐述,由于程序一般都要进行字符串与输入/输出处理,因此,在该部分重点对标准类库中的string类和C++的I/O类进行了较具体的介绍。

本书针对计算机专业的本科生编写。书中注有星号的章节为C++ 中较深入的一些问题,在教学中可视教学时数与教学对象进行适当取舍。本书除作为本科生C++ 程序设计的教材之外,还可供计算机或电子类相关专业的研究生或工程技术人员参考学习。

目录

  • 第一部分 C++语言的基本机制
  • 第1章 绪论 2
  • 1.1 C++语言的发展历史及特点 2
  • 1.1.1 C++语言的发展历史 2
  • 1.1.2 C++语言的特点 3
  • 1.2 学习C++语言的注意事项 3
  • 1.2.1 如何学习C++ 3
  • 1.2.2 如何使用本教材 4
  • 1.3 C++ 语言中一些重要的程序设计理念 5
  • 小结 7
  • 练习题 7
  • 第2章 C++ 语言概述 8
  • 2.1 C++语言及程序设计范型 8
  • 2.1.1 C++语言的概念 8
  • 2.1.2 程序设计范型 9
  • 2.1.3 第一个C++程序及C++程序结构 9
  • 2.2 过程程序设计范型 10
  • 2.2.1 过程程序设计范型介绍 10
  • 2.2.2 变量和算术运算符 11
  • 2.2.3 条件判断与循环 12
  • 2.2.4 指针与数组 12
  • 2.3 模块化程序设计范型 13
  • 2.4 数据抽象 14
  • 2.5 面向对象程序设计范型 17
  • 2.6 类属/通用程序设计范型 19
  • 小结 21
  • 练习题 21
  • 第3章 类型与声明 22
  • 3.1 类 型 22
  • 3.2 C++中的基本数据类型 24
  • 3.2.1 布尔类型 24
  • 3.2.2 字符类型 25
  • 3.2.3 整数类型 26
  • 3.2.4 浮点类型 27
  • 3.2.5 C++数据类型存储量的大小 29
  • 3.3 void类型 30
  • 3.4 枚举类型 30
  • 3.5 类型的声明与定义 32
  • 3.5.1 声明的语法规则 33
  • 3.5.2 C++中的标识符 34
  • 3.5.3 标识符的作用域 35
  • 3.5.4 typedef 35
  • 3.6 类型转换 36
  • 小结 37
  • 练习题 38 [1]
  • 第4章 运算符与语句 39
  • 4.1 C++运算符概述 39
  • 4.1.1 算术运算符和自增、自减运算符 40
  • 4.1.2 关系和逻辑运算符 42
  • 4.1.3 位运算符 43
  • 4.1.4 内存申请与释放运算符new和delete 46
  • 4.1.5 赋值运算符 47
  • 4.1.6 类型转换运算符 47
  • 4.1.7 C++运算符概览及其优先级次序 49
  • 4.2 C++语句 50
  • 4.2.1 表达式语句和空语句 51
  • 4.2.2 注释语句及意义 51
  • 4.2.3 复合语句 52
  • 4.2.4 选择判断语句 52
  • 4.2.5 循环语句 57
  • 4.2.6 跳转语句 62
  • 小结 65
  • 练习题 66
  • 第5章 指针、数组和结构 67
  • 5.1 指针 67
  • 5.1.1 指针与指针变量 67
  • 5.1.2 为什么要使用指针变量 68
  • 5.1.3 指针变量的声明与定义 69
  • 5.1.4 指针变量的操作 69
  • 5.1.5 常量零(0) 71
  • 5.2 数组 71
  • 5.2.1 数组的定义与初始化 71
  • 5.2.2 字符串字面值 73
  • 5.3 指向数组的指针 74
  • 5.3.1 指向一维数组的指针 74
  • 5.3.2 指向多维数组的指针 75
  • 5.3.3 取数组元素及数组的遍历 76
  • 5.4 指向函数的指针 80
  • 5.5 指向void*的指针 81
  • 5.6 常量 82
  • 5.7 引用 85
  • 5.8 结构 88
  • 小结 94
  • 练习题 95
  • 第6章 函数 96
  • 6.1 函数的声明 98
  • 6.1.1 函数接口/原型声明 98
  • 6.1.2 函数的定义 98
  • 6.2 函数的参数传递 99
  • 6.3 函数的返回值 101
  • 6.4 函数名的过载/重载 102
  • 6.4.1 函数名过载/重载的基本概念 102
  • 6.4.2 重载函数的匹配规则 102
  • 6.4.3 重载函数与函数的返回类型 105
  • 6.4.4 重载与作用域 105 [1]
  • 6.5 缺省的函数参数值 106
  • 6.6 递归 107
  • 6.6.1 递归的基本概念 107
  • 6.6.2 递归的定义及递归函数的编写模式 108
  • 6.7 参数数目可变的函数 110
  • 6.8 函数指针 114
  • 6.9 综合示例 115
  • 小结 128
  • 练习题 128
  • 第7章 名字空间与异常处理 129
  • 7.1 模块与接口的基本概念 129
  • 7.2 名字空间 131
  • 7.2.1 名字空间的基本概念 131
  • 7.2.2 名字空间中的名字解析 132
  • 7.2.3 模块的多重接口 137
  • 7.3 异常处理 138
  • 7.4 综合示例 141
  • 小结 146
  • 练习题 147
  • 第8章 源文件和程序 148
  • 8.1 分别编译 149
  • 8.2 链接 149
  • 8.2.1 链接与一致性的基本概念 149
  • 8.2.2 头文件 151
  • 8.2.3 #include指令 152
  • 8.2.4 用户头文件内容的设计 152
  • 8.3 头文件的有效使用 154
  • 8.4 命令行参数 156
  • 8.5 程序 158
  • 8.5.1 程序的执行 158
  • 8.5.2 程序的终止 159
  • 小结 159
  • 练习题 160
  • 第二部分 C++的抽象机制
  • 第9章 类与对象 162
  • 9.1 类的基本概念 162
  • 9.2 类中成员 163
  • 9.2.1 类中的成员 163
  • 9.2.2 类的访问控制 165
  • 9.2.3 类的构造函数 168
  • 9.2.4 类的静态成员 170
  • 9.2.5 对象的拷贝 173
  • 9.2.6 常量(Const或称只读)成员函数 175
  • 9.2.7 对象的自身引用——this 176
  • 9.3 定义有效、高质量的类 178
  • 9.4 对象 180
  • 9.4.1 对象是什么 180
  • 9.4.2 C++中对象的类别 182
  • 9.4.3 对象的析构——析构函数 183
  • 9.4.4 默认构造函数 184
  • 9.4.5 几种主要类别对象的构造与析构 184
  • 9.4.6 对象的构造与析构次序 187
  • 9.5 综合示例 189
  • 小结 195
  • 练习题 196 [1]
  • 第10章 操作符重载 198
  • 10.1 概述 198
  • 10.2 操作符重载 199
  • 10.2.1 二元操作符的重载 200
  • 10.2.2 一元操作符的重载 201
  • 10.3 类型转换操作符 202
  • 10.3.1 类型转换函数 202
  • 10.3.2 歧义性(二义性)问题 204
  • 10.4 友员 204
  • 10.5 大型对象 206
  • 10.6 类中应具有的基本操作 207
  • 10.7 几种特殊操作符的重载 211
  • 10.7.1 下标运算符的重载 211
  • 10.7.2 函数调用操作符的重载 212
  • 10.7.3 指针/指向操作符的重载 214
  • 10.7.4 自增、自减操作符的重载 216
  • 10.7.5 流输入与流输出操作符的重载 217
  • 10.8 综合示例 219
  • 小结 237
  • 练习题 238
  • 第11章 继承与多态 239
  • 11.1 概述 239
  • 11.2 子类/派生类 240
  • 11.2.1 子类/派生类与继承的基本概念 240
  • 11.2.2 子类对象的存储结构 242
  • 11.2.3 子类中的成员 242
  • 11.2.4 子类的构造与析构函数 243
  • 11.2.5 子类对象拷贝 246
  • 11.2.6 public、protected和private继承 247
  • 11.3 虚函数与多态性 253
  • 11.3.1 类型域 253
  • 11.3.2 虚拟函数 255
  • 11.3.3 抽象基类与实例类 257
  • 11.3.4 多态 259
  • 11.3.5 虚拟的析构函数 261
  • *11.4 运行时的类型识别 263
  • 11.4.1 dynamic_cast运算符 263
  • 11.4.2 type_id运算符 266
  • *11.5 指向类成员的指针 266
  • 11.5.1 指向类成员的指针 266
  • 11.5.2 指向类的成员函数指针的应用场合 268
  • 11.6 多重继承 270
  • 11.7 综合示例 273
  • 小结 279
  • 练习题 280 [1]
  • 第12章 模板 283
  • 12.1 概述 283
  • 12.2 类模板 285
  • 12.2.1 类模板的定义 285
  • 12.2.2 类模板参数及其限制 288
  • 12.3 函数模板 289
  • 12.3.1 函数模板的定义 289
  • 12.3.2 函数模板的重载 290
  • 12.3.3 函数调用的匹配原则 292
  • 12.3.4 编写函数模板时的注意事项 292
  • 12.4 模板与继承 297
  • 12.5 综合示例 299
  • 小结 313
  • 练习题 313
  • 第13章 异常处理 314
  • 13.1 概述 314
  • 13.2 C++异常处理结构try、throw 和catch 315
  • 13.2.1 抛出异常 315
  • 13.2.2 重新抛出异常 316
  • 13.2.3 捕获所有的异常 317
  • 13.3 异常类层次 317
  • *13.4 捕获new操作所产生的异常 318
  • *13.5 C++ 标准库异常层次 321
  • 小结 321
  • 练习题 322
  • 第三部分 C++标准模板库STL简介
  • 第14章 string类 324
  • 14.1 string概述 324
  • 14.2 string类的构造函数与析构函数 324
  • 14.3 string类重载的操作符 325
  • 14.4 string类的成员函数 328
  • 14.5 string的基本操作 329
  • 14.5.1 元素访问 329
  • 14.5.2 赋值 330
  • 14.5.3 从string转换到C风格的字符串 331
  • 14.5.4 字符串的比较 331
  • 14.5.5 附加与插入 333
  • 14.5.6 查找子串 334
  • 14.5.7 替换 335
  • 14.5.8 求子串 336
  • 14.5.9 string对象的大小和容量 336
  • 14.5.10 输入输出 336
  • 14.6 C风格的字符串 337
  • 14.6.1 C字符串操作函数 337
  • 14.6.2 将数值字符串转换到数值的函数 338
  • 14.6.3 字符分类 338 [1]
  • 14.7 迭代器 339
  • 14.8 字符串流处理 340
  • 小结 340
  • 练习题 340
  • 第15章 C++ 输入/输出系统基础 342
  • 15.1 C++ 中的流概述 342
  • 15.1.1 C++的输入/输出流类库中的头文件 343
  • 15.1.2 输入/输出流类和对象 343
  • 15.2 输出流 344
  • 15.3 输入流 345
  • 15.3.1 流读取运算符 345
  • 15.3.2 用于输入的一些成员函数 346
  • 15.4 成员函数read和write的无格式 输入/输出 347
  • 15.5 流操纵算子 347
  • 15.5.1 设置整数流的基数 348
  • 15.5.2 设置浮点数精度 348
  • 15.5.3 设置输出域宽 350
  • 小结 351
  • 练习题 352
  • 第16章 标准模板库STL简介 353
  • 16.1 STL概述 353
  • 16.1.1 容器 353
  • 16.1.2 算法 353
  • 16.1.3 迭代器 354
  • 16.1.4 其它STL元素 354
  • 16.2 容器类 355
  • 16.3 STL类的一般操作原理 356
  • 16.4 vector容器 357
  • 16.4.1 通过迭代器访问vector矢量中的元素 360
  • 16.4.2 vector的其它成员函数 361
  • 16.4.3 在vector中存储自定义类型的对象 363
  • 16.5 list容器 364
  • 16.6 deque双向队列 369
  • 16.7 关联容器 369
  • 16.7.1 map关联容器类 369
  • 16.7.2 set和multiset关联容器类 372
  • 16.8 容器适配器 373
  • 16.8.1 stack适配器 373
  • 16.8.2 queue适配器 375
  • 16.8.3 priority_queue适配器 376
  • 16.9 算法 376
  • 16.9.1 fill、fill_n、generate与generate_n算法 378
  • 16.9.2 equal、mismatch和lexicographica_compare算法 380
  • 16.9.3 remove、remove_if、remove_copy和remove_copy_if算法 382
  • 16.9.4 replace、replace_if、replace_copy和replace_copy_if算法 384
  • 16.9.5 一些常用的数学算法 386
  • 16.9.6 基本查找与排序算法 388
  • 16.9.7 swap、iter_swap和swap_ranges算法 390
  • 16.9.8 copy_backward、mergeunique和reverse算法 392
  • 16.9.9 inplace_merge、unique_copy和reverse_copy算法 393
  • 16.9.10 集合操作 394
  • 16.9.11 lower_bound、upper_bound和equal_range算法 396
  • 16.9.12 堆排序 398
  • 16.9.13 min和max算法 400
  • 16.10 函数对象 401
  • 16.10.1 一元函数对象与二元函数对象 401
  • 16.10.2 STL内置的函数对象 401
  • 16.10.3 绑定器 404

资源下载

资源下载地址1:https://pan.baidu.com/s/1fesHO-mkHpxo0STxq5JNGA

相关资源

网友留言