书籍详情

C++从零开始学(视频教学版 第2版)

C++从零开始学(视频教学版 第2版)

作者:王英英

出版社:清华大学出版社

出版时间:2019-12-01

ISBN:9787302544562

定价:¥79.00

购买这本书可以去
内容简介
  本书面向C编程初学者和广大C编程爱好者。本书循序渐进地介绍C应用与开发的相关基础知识,提供大量具体操作C编程的实例供读者实践。每节都清晰地阐述代码如何工作及其作用,使读者能在*短的时间内有效地掌握C编程。本书配有源码、课件与教学视频。 全书共20章,分别介绍:为什么要学习C、C程序结构、基本数据类型和数据处理、运算符与表达式、程序流程控制、函数、数组与字符串、指针、struct与其他复合数据类型、类的使用方法、对象的初始化和清除、运算符的重载、类的继承、虚函数和抽象类、C中的文件处理、异常处理和C的高级概念等知识。在每章的后面提供自我评估的习题供读者操作练习,从而加深理解。 本书适合C初学者自学使用,也适合作为高等院校和培训学校计算机相关专业师生的教学参考书。
作者简介
  王英英,从事多年网站开发和应用程序开发,精通多种编程语言。对Python有深入研究,在Python编程开发方面有着丰富的经验,并已出版过多本相关畅销书,受广大读者认可。
目录
目    录   第1章  学习C —认识C 1 1.1  C/C 的起源 1 1.2  C 的特色 2 1.3  关于ANSI/ISO C 标准 3 1.4  语言的翻译过程 4 1.5  编写代码前的准备—安装开发环境Visual Studio 2019 5 1.6  小试身手—新建一个C 项目 8 1.7  疑难解惑 11 1.8  经典习题 13 第2章   C 程序结构 14 2.1  简单程序 14 2.2  C 程序分析 15 2.2.1  #include指令及头文件 15 2.2.2  main函数 16 2.2.3  变量声明和定义 17 2.2.4  函数的声明 19 2.2.5  关于注释 20 2.3  输入输出对象 22 2.3.1  cout输出数据 22 2.3.2  cin读取输入数据 25 2.4  标识符 26 2.4.1  保留字 27 2.4.2  标识符命名 27 2.5  预处理 27 2.6  命名空间 30 2.6.1  命名空间的定义 30 2.6.2  using关键字 32 2.6.3  命名空间std 33 2.7  小试身手—入门经典程序 34 2.8  疑难解惑 35 2.9  经典习题 36 第3章  基本数据类型 37 3.1  变量与常量 37 3.1.1  变量 37 3.1.2  常量 40 3.2  基本变量类型 43 3.2.1  整数类型 43 3.2.2  字符类型 44 3.2.3  浮点数类型 46 3.2.4  布尔类型 48 3.3  typedef 49 3.4  小试身手—测试基本数据类型的字节长度 53 3.5  疑难解惑 54 3.6  经典习题 55 第4章   运算符和表达式 56 4.1  运算符概述 56 4.1.1  赋值运算符 56 4.1.2  算术运算符 57 4.1.3  关系运算符 59 4.1.4  逻辑运算符 60 4.1.5  自增和自减运算符 62 4.1.6  位逻辑运算符 63 4.1.7  移位运算符 65 4.1.8  三元运算符 66 4.1.9  逗号运算符 67 4.1.10  类型转换运算符 68 4.2  运算符优先级和结合性 69 4.2.1  运算符优先级 69 4.2.2  运算符结合性 70 4.3  小试身手—综合运用运算符 72 4.4  疑难解惑 73 4.5  经典习题 74 第5章   程序流程控制 75 5.1  顺序语句 75 5.2  条件判断语句 76 5.2.1  if条件 76 5.2.2  if-else条件 78 5.2.3  条件运算符 79 5.3  循环语句 80 5.3.1  for循环 81 5.3.2  while循环 82 5.3.3  do-while循环 83 5.4  跳出循环 84 5.4.1  continue 84 5.4.2  break 85 5.5  多重选择语句 86 5.6  小试身手—计算商品总价 88 5.7  疑难解惑 90 5.8  经典习题 92 第6章   函数 93 6.1  函数的基本结构 93 6.1.1  函数的声明、定义和调用 93 6.1.2  参数的传递方式 95 6.1.3  函数的默认参数 97 6.1.4  函数的返回值 99 6.2  变量的作用域 99 6.2.1  局部变量 99 6.2.2  静态局部变量 100 6.2.3  外部变量 101 6.2.4  寄存器变量 102 6.3  特殊函数调用方式—递归调用 103 6.4  内联函数 104 6.5  预处理器 106 6.5.1  #define预处理器 106 6.5.2  #define的作用 107 6.5.3  const修饰符 108 6.6  函数的重载 108 6.7  小试身手—汉诺塔问题函数 110 6.8  疑难解惑 111 6.9  经典习题 112 第7章   数组与字符串 113 7.1  一维数组 113 7.1.1  一维数组的声明 113 7.1.2  数组初始化 114 7.1.3  数组的操作 115 7.2  二维数组和多维数组 117 7.2.1  二维数组的声明 117 7.2.2  二维数组的使用和存取 117 7.2.3  多维数组 119 7.3  数组与函数 121 7.3.1  一维数组作为函数的参数 121 7.3.2  传送多维数组到函数 122 7.4  字符串类 123 7.4.1  字符串的声明 123 7.4.2  字符串的输入和输出 124 7.4.3  字符串处理 125 7.5  小试身手—判断字符串回文 129 7.6  疑难解惑 131 7.7  经典习题 132 第8章   指针 133 8.1  指针概述 133 8.1.1  什么是指针 133 8.1.2  为什么要用指针 134 8.1.3  指针的地址 134 8.2  指针变量 135 8.2.1  指针变量的声明 135 8.2.2  指针变量的使用 136 8.3  指针与函数 137 8.3.1  指针传送到函数中 137 8.3.2  返回值为指针的函数 138 8.3.3  函数指针 140 8.4  指针与数组 141 8.4.1  指针的算术运算 141 8.4.2  利用指针存储一维数组的元素 142 8.4.3  利用指针传输一维数组到函数中 143 8.5  指针与字符串 144 8.6  void指针 145 8.7  指向指针的指针 145 8.8  动态内存配置 146 8.8.1  使用基本数据类型做动态配置 147 8.8.2  使用数组做动态配置 148 8.9  小试身手—判断字符串中有多少个整数 149 8.10  疑难解惑 151 8.11  经典习题 152 第9章   struct和其他复合类型 153 9.1  struct 153 9.1.1  struct的声明 153 9.1.2  struct变量的初始化与使用 155 9.1.3  struct数组初始化 156 9.2  将结构体变量作为函数参数 158 9.2.1  将整个结构体传送到函数 158 9.2.2  传送结构体的地址到函数 159 9.3  union 160 9.3.1  union的定义和声明 160 9.3.2  union类型的初始化和使用 161 9.3.3  struct和union的差异 163 9.4  enum 163 9.4.1  enum的定义和声明 163 9.4.2  enum的初始化和使用 164 9.5  小试身手—学生信息登记表 166 9.6  疑难解惑 168 9.7  经典习题 169 第10章   类 170 10.1  认识类 170 10.1.1  类的基本概念 170 10.1.2  类的定义 170 10.1.3  类对象的生成 172 10.1.4  类对象指针 173 10.2  成员函数 175 10.3  嵌套类 177 10.4  const成员函数 177 10.5  类成员的访问控制 179 10.5.1  私有成员 180 10.5.2  公有成员 181 10.6  静态成员 182 10.6.1  静态数据成员 182 10.6.2  静态成员函数 184 10.7  友元 186 10.8  小试身手—栈类的实现 187 10.9  疑难解惑 189 10.10  经典习题 190 第11章   构造函数和析构函数 191 11.1  构造函数初始化类对象 191 11.1.1  什么是构造函数 191 11.1.2  使用构造函数 192 11.2  析构函数清除类对象 193 11.2.1  析构函数的概念 193 11.2.2  析构函数的调用 194 11.3  默认构造函数 195 11.4  重载构造函数 197 11.4.1  重载构造函数的作用 197 11.4.2  重载构造函数的调用 197 11.5  类对象数组的初始化 198 11.5.1  类对象数组调用 198 11.5.2  类对象数组和默认构造函数 200 11.5.3  类对象数组和析构函数 201 11.6  拷贝构造函数 203 11.6.1  拷贝构造函数的概念 203 11.6.2  深拷贝和浅拷贝 204 11.7  小试身手—构造函数和析构函数的应用 206 11.8  疑难解惑 208 11.9  经典习题 208 第12章   运算符的重载 210 12.1  什么是运算符重载 210 12.1.1  运算符重载的形式 211 12.1.2  可重载的运算符 213 12.2  重载前置运算符和后置运算符 213 12.2.1  重载前置运算符 214 12.2.2  重载后置运算符 215 12.3  插入运算符和折取运算符的重载 217 12.3.1  插入运算符的重载 217 12.3.2  折取运算符的重载 218 12.4  常用运算符的重载 220 12.4.1  “ 12.4.2  “ ”运算符的重载 222 12.4.3  “=”运算符的重载 223 12.5  小试身手—运算符重载实例 225 12.6  疑难解惑 227 12.7  经典习题 227 第13章   类的继承 228 13.1  面向对象编程概述 228 13.1.1  面向对象编程的几个概念 228 13.1.2  面向对象编程与面向过程编程的区别 229 13.2  继承的基本概念 229 13.2.1  基类和继承类 229 13.2.2  简单的基础实例 231 13.2.3  调用父类中的构造函数 236 13.3  子类存取父类成员 239 13.3.1  私有成员的存取 239 13.3.2  继承与静态成员 241 13.3.3  多继承 242 13.4  小试身手—继承的应用 245 13.5  疑难解惑 246 13.6  经典习题 247 第14章  虚函数和抽象类 248 14.1  什么是虚函数 248 14.1.1  虚函数的作用 248 14.1.2  动态绑定和静态绑定 250 14.2  抽象类与纯虚函数 252 14.2.1  定义纯虚函数 252 14.2.2  抽象类的作用 253 14.2.3  虚析构函数 254 14.3  抽象类的多重继承 256 14.4  虚函数表 257 14.4.1  什么是虚函数表 257 14.4.2  继承关系的虚函数表 259 14.5  小试身手—抽象类的应用 261 14.6  疑难解惑 263 14.7  经典习题 264 第 15 章   C 中的文件处理 265 15.1  文件的基本概念 265 15.1.1  文件I/O 265 15.1.2  文件顺序读写 269 15.1.3  随机文件读写 269 15.2  文件的打开与关闭 271 15.2.1  文件的打开 271 15.2.2  文件的关闭 273 15.3  文本文件的处理 274 15.3.1  将变量写入文件 274 15.3.2  将变量写入文件尾部 275 15.3.3  从文本文件中读入变量 275 15.3.4  使用get()、getline()和put()函数 276 15.4  二进制文件的处理 279 15.5  小试身手—文件操作 281 15.6  疑难解惑 283 15.7  经典习题 284 第16章   异常处理 285 16.1  异常的基本概念 285 16.2  异常处理机制 285 16.3  抛出异常 287 16.4  重新抛出异常 289 16.5  捕获所有异常 290 16.6  不是错误的异常 291 16.7  未捕捉到的异常 292 16.8  标准异常 292 16.9  异常规范 293 16.10  异常与继承 294 16.11  异常处理的应用 295 16.11.1  自定义异常类 295 16.11.2  捕获多个异常 297 16.12  小试身手—异常处理 298 16.13  疑难解惑 300 16.14  经典习题 301 第17章   模板与类型转换 302 17.1  模板 302 17.1.1  函数模板 302 17.1.2  类模板 304 17.1.3  模板参数 306 17.1.4  模板的特殊化 307 17.1.5  重载和函数模板 308 17.2  类型识别和强制转换运算符 310 17.2.1  运行时类型识别 310 17.2.2  强制类型转换运算符 314 17.3  小试身手—模板应用 316 17.4  疑难解惑 318 17.5  经典习题 319 第18章   容器和迭代器 320 18.1  STL 320 18.2  迭代器 320 18.3  顺序容器 322 18.3.1  向量 322 18.3.2  双端队列 323 18.3.3  列表 324 18.4  关联容器 326 18.4.1  集合和多重集合 326 18.4.2  映射和多重映射 328 18.5  容器适配器 329 18.5.1  栈 329 18.5.2  队列 330 18.5.3  优先级队列 332 18.6  小试身手—容器操作实例 333 18.7  疑难解惑 338 18.8  经典习题 338 第19章  开发商场采购系统 339 19.1  系统需求分析 339 19.2  功能分析 340 19.3  系统代码编写 341 19.3.1  密码文件和购物单文件 341 19.3.2  管理员登录功能 342 19.3.3  采购系统的主功能 345 19.3.4  采购操作功能和验证功能的实现 350 19.3.5  主程序运行入口 356 19.4  系统运行 357 第20章  开发推箱子游戏 359 20.1  系统功能描述 359 20.2  系统功能分析及实现 359 20.2.1  功能分析 359 20.2.2  功能实现 360 20.3  游戏运行 365  
猜您喜欢

读书导航