您好,欢迎来到聚文网。 登录 免费注册
精通C++语言

精通C++语言

  • 字数: 430000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2022-09-01
  • 商品条码: 9787302611318
  • 版次: 1
  • 开本: 16开
  • 页数: 276
  • 出版年份: 2022
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
"本书配套资源丰富,课件齐全,源代码赠送,讲解易懂且实例丰富。 "
内容简介
本书全面介绍了C++语言数据结构及其程序设计方法,深入介绍了函数、类、对象和模板类等面向对象高级主题。全书共12章,第1章介绍了数制和程序开发环境;第2章讨论C++数据类型;第3章介绍了C++语言控制结构;第4章全面讲述了函数及其用法;第5章剖析了类与对象的概念与设计;第6章深入讨论了继承和多态特性;第7章介绍了运算符重载方法;第8章讲述了函数模板与类模板;第9章讨论了文件操作方法;第10章阐述了动态数组程序设计方法;第11章分析了链表及其用法;第12章探讨了字符串模板类及其用法。全书程序基于Visual Studio 2022调试通过,本书特色在于讲解易懂且实例丰富。 本书可作为高等院校计算机工程、软件工程和网络工程等相关专业的本科生教材,也可作为C++语言程序设计爱好者的参考用书。
作者简介
张勇,博士,教授/硕导,IEEE高级会员,研究方向:信息安全与量子计算。发表第一作者学术论文38篇,出版第一作者教材18部,出版专著4部。主持国家自然科学基金2项,主持省级项目6项。
目录
第1章 绪论
1.1 C++简史
1.2 集成开发环境
1.2.1 Visual Studio
1.2.2 RAD Studio
1.3 数制
1.3.1 数制转换
1.3.2 整数存储与运算
1.3.3 浮点数表示
1.4 输入与输出
1.5 本章小结
习题
第2章 数据类型与C++语言表示
2.1 整数
2.2 布尔类型
2.3 浮点数
2.4 字符
2.5 数组
2.6 字符串
2.7 结构体
2.8 枚举
2.9 共用体
2.10 本章小结
习题
第3章 运算符、控制结构与指针
3.1 运算符
3.1.1 算术运算符
3.1.2 关系运算符
3.1.3 逻辑运算符
3.1.4 位运算符
3.1.5 自增自减运算符
3.1.6 赋值运算符与sizeof运算符
3.1.7 条件运算符
3.1.8 逗号运算符
3.2 分支控制
3.2.1 if-else结构
3.2.2 switch-case结构
3.3 循环控制
3.3.1 for结构
3.3.2 while结构
3.3.3 do-while结构
3.3.4 foreach结构
3.4 指针
3.4.1 常量、变量与指针
3.4.2 动态数组
3.4.3 数组与指针
3.5 引用
3.6 排序实例
3.7 本章小结
习题
第4章 函数
4.1 函数定义与调用
4.1.1 函数用法
4.1.2 函数重载
4.2 函数与指针
4.2.1 指针作为函数的参数
4.2.2 指向函数的指针
4.3 递归函数
4.4 vector动态数组
4.5 本章小结
习题
第5章 类与对象
5.1 结构体与类
5.1.1 类
5.1.2 构造方法
5.1.3 set()方法与get()方法
5.1.4 析构方法
5.2 对象与指针
5.3 静态函数与友元函数
5.4 对象复制
5.5 本章小结
习题
第6章 继承与多态
6.1 公有继承
6.1.1 子类构造方法
6.1.2 方法覆盖
6.2 保护继承
6.3 私有继承
6.4 继承与指针
6.5 多态技术
6.6 本章小结
习题
第7章 运算符重载
7.1 运算符重载函数
7.2 运算符重载方法
7.2.1 双目运算符重载方法
7.2.2 单目运算符重载方法
7.3 实例:复数类
7.4 本章小结
习题
第8章 宏与模板
8.1 宏定义
8.2 模板
8.2.1 模板函数
8.2.2 参数个数可变的函数
8.2.3 模板类
8.2.4 模板类的具体化
8.3 本章小结
习题
第9章 异常与文件
9.1 异常
9.2 文本文件操作
9.3 二进制文件操作
9.4 本章小结
习题
第10章 动态数组
10.1 动态数组初始化
10.2 动态数组基本操作
10.3 迭代器访问动态数组元素
10.4 lambda函数
10.5 deque数组类
10.6 伪随机数
10.7 本章小结
习题
第11章 链表
11.1 单向链表
11.2 双向链表
11.3 单向链表模板类
11.4 双向链表模板类
11.5 本章小结
习题
第12章 字符串
12.1 字符串基本操作
12.2 宽字符串模板类
12.3 字符串合并与分解操作
12.3.1 append()方法
12.3.2 substr()方法
12.3.3 insert()和erase()方法
12.4 字符串查找与替换操作
12.4.1 find()方法与replace()方法
12.4.2 大小写字母转换
12.5 本章小结
习题
参考文献
摘要
     第3章 运算符、控制结构与指针 C++语言中集成了大量的运算符,运算符直接作用在数据上,与数据一起构成表达式。C++语言的语句由表达式构成,语句必须以分号结尾。C++语言的最小功能单元为函数,函数由语句组成。程序中语句或函数的组织方式由控制结构决定,程序有3种常见的控制结构,即顺序执行、分支执行和循环执行结构。指针是一种重要的数据类型,与第2章所介绍的各种数据类型不同的是,指针保存的是变量或函数的地址。本章将详细介绍C++的运算符、控制结构和指针。 本章的学习目标:  了解程序语句的3种控制方式  熟练掌握两种分支控制和4种循环控制方式  掌握指针的定义与调用方法  学习应用分支控制和循环控制进行程序设计 3.1运算符 在C++语言中,运算符与数据结合在一起,构成表达式。在计算表达式的值时,按照运算符的优先级顺序计算,即先计算优先级高的运算符,再计算优先级低的运算符; 当运算符的优先级相同时,按照规定的次序(又称结合次序)进行计算,一般按从左向右的顺序,但对于赋值运算符,则按照从右向左的顺序。 当表达式中运算符的优先级和结合性不确定时,可以将需要优先计算的部分用圆括号“()”括起来,此时将优先计算圆括号中的表达式。 C++语言的全部运算符及其优先级如表31所示。 表31C++语言的运算符及其优先级 优先级 运算符 备注 1 ( ),[ ],>,. ,::,!,~,++,-- 后置++和后置--运算符的优先级高于前置++和前置-- 2 -,*,&,sizeof -负号、*取内容、&取地址 3 (强制类型转换) 4 >*,.* 5 *,/,% *乘、/除、%取模 6 +,- +加、-减续表 优先级 运算符 备注 7 <<,>> 8 <,<=,>,>= 9 ==,!= 10 & &按位与 11 ^ 12 | 13 && 14 || 15 ? : 条件运算符,是专享的三目运算符 16 =,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|= 赋值或复合赋值运算符 17 , 逗号运算符 下面讨论表31中常用的运算符的使用方法。 3.1.1算术运算符 算术运算符包括加、减、乘、除和求余,依次用符号+、-、*、/和%表示。下面在程序段31中用整数演示了算术运算符的用法。 视频讲解 程序段31算术运算符的用法 1#include 2#include 3using namespace std; 4 5int main() 6{ 7int a1 = 12, a2 = 83, a3 = 4; 8cout << "a1 + a2 = " << a1 + a2 << endl; 9cout << "a1 - a2 = " << a1 - a2 << endl; 10cout << "a1 * a2 = " << a1 * a2 << endl; 11cout << "a1 / a2 = " << a1 / a2 << endl; 12cout << "a2 % a1 = " << a2 % a1 << endl; 13cout << "a1 + a2 / a3 = " << a1 + a2 / 8cout << "a = " << a << endl; 9unsigned short u = 0xFFFF, v = 0x6033, w = 0x3AA, x = 0x3C, y = 5; 10u &= (v |= (w ^= (x <<= (y >>= 1)))); 11cout << hex << "u = 0x" << u << dec << endl; 12double score[10] = {0.1,0.2}; 13int n = sizeof(score); 14cout << "Size of double:" << sizeof(double) << ", n = " << n << endl; 15struct Student 16{ 17char name[20]; 18char gender; 19double score[10]; 20}st[10]; 21cout << "Size of st[0]:" << sizeof(st[0]) << 22", Size of st:" << sizeof(st) << endl; 23} 在程序段36的main()函数中,第6行的语句“int a=0,b=10,c=11,d=12,e=13;”定义了5个整型变量a、b、c、d、e,并分别赋初值0、10、11、12、13。 第7行的语句“a +=(b -=(c *=(d /=(e %=5))));”先算最里面括号的表达式,再依次向外层计算,最后得到a的值为-34。 第8行的语句“cout << "a=" << a << endl;”输出字符串“a=”和a的值。 第9行的语句“unsigned short u=0xFFFF,v=0x6033,w=0x3AA,x=0x3C,y=5;”定义无符号短整型u、v、w、x和y,并分别赋值为0xFFFF、0x6033、0x3AA、0x3C、5。 第10行的语句“u &=(v |=(w ^=(x <<=(y >>=1))));”先计算最里层括号的表达式,再依次向外层计算,最后得到u的值为0x637B。 第11行的语句“cout << hex << "u=0x" << u << dec << endl;”以十六进制形式输出u的值,然后恢复十进制输出格式。 第12行的语句“double score[10]={0.1,0.2};”定义双精度浮点型数组score,包含10个元素,前两个元素分别初始化为0.1和0.2,其余元素初始化为0。 第13行的语句“int n=sizeof(sco

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网