概述
C++入门到进阶
- C++基础入门
- 1入门
- 1.1变量
- 1.2常量
- 1.3关键字
- 1.4标识符的命名规则
- 2 数据类型
- 2.1整型
- 2.2浮点型(实型)
- 2.3字符型
- 2.4转义字符
- 2.5字符串型
- 2.6bool类型
- 2.7sizeof关键字
- 2.8数据的输入
- 3运算符
- 3.1算术运算符
- 3.2赋值运算符
- 3.3比较运算符
- 3.4逻辑运算符
- 4程序流程结构
- 4.1顺序结构
- 4.2选择结构
- 4.2.1 if语句
- 4.2.2switch语句
- 4.2.3三目运算符
- 4.3循环结构
- 4.3.1 for循环语句
- 4.3.2 while循环语句
- 4.3.3 do...while循环语句
- 4.3.4嵌套循环
- 4.4跳转语句
- 4.4.1 break语句
- 4.4.2 continue语句
- 4.4.3 goto语句
- 5 数组
- 5.1一维数组
- 5.2二维数组
- 6函数
- 6.1函数定义
- 6.2函数的调用
- 6.3值传递
- 6.4函数的4种常见样式
- 6.5函数的声明
- 6.6函数的分文件编写
- 7指针
- 7.1指针变量得定义和使用
- 7.2指针所占内存空间
- 7.3空指针和野指针
- 7.4 const修饰指针
- 7.5指针和数组
- 7.5指针和函数
- 8 结构体
- 8.1结构体定义和使用
- 8.2结构体数组
- 8.3结构体指针
- 8.4结构体嵌套结构体
- 8.5结构体做函数参数
- C++核心编程
- 1C++内存分区
- 2 引用
- 2.1 引用做函数参数
- 2.2引用做函数返回值
- 2.3常量引用
- 3 函数提高
- 3.1函数默认参数
- 3.2函数占位参数
- 3.3函数重载
- 4 C++三大特性
- 4.1封装
- 4.2继承
- 4.2.1**派生类中的成员,包含两大部分**:
- 4.2.2**继承方式一共有三种:**
- 4.2.3**继承同名成员:**
- 4.2.4**继承同名静态成员:**
- 4.2.5多继承
- 4.2.6菱形继承
- 4.3多态
- 4.3.1纯虚函数和抽象类
- 4.3.1虚析构和纯虚析构
- 5 类和对象
- 5.1对象的初始化和清理
- 5.1.1构造函数和析构函数
- 5.1.2构造函数的分类及调用
- 5.1.3拷贝构造函数调用时机
- 5.1.4深拷贝与浅拷贝
- 5.2 C++对象模型和this指针
- 5.2.1成员变量和成员函数分开存储
- 5.2.2 this指针
- 5.3友元
- 5.4运算符重载
- 5.4.1加号运算符重载
- 5.4.2左移运算符重载
- 5.4.3递增运算符重载
- 5.4.4赋值运算符重载
- 5.4.5关系运算符重载
- 5.4.6函数调用运算符重载
- 6文件操作
- 6.1文本文件
- 6.1.1写文件
- 6.1.2读文件
- 6.2二进制文件
- 6.2.1写文件
- 6.2.2读文件
- C++提高编程
- 1 模板
- 1.1函数模板
- 1.1.1普通函数与函数模板的区别
- 1.1.2 普通函数与函数模板的调用规则
- 1.2类模板
- 2 STL
- 3STL常用容器
- 3.1 string容器
- 3.2 vector容器
C++基础入门
1入门
1.1变量
变量就是给一段指定的内存空间起名,方便操作这段内存。
语法:数据类型 变量名 = 初始值;//C++在创建变量时必须给变量一个初始值,否则会报错
//变量的定义
//语法:数据类型
变量名 = 初始值
int a = 0;
1.2常量
常量是用于记录程序中不可更改的数据。
C++定义常量两种方式
#define 宏常量: #define 常量名 常量值
- 通常在文件上方定义,表示一个常量
const修饰的变量 const 数据类型 常量名 = 常量值
- 通常在变量定义前加关键字const,修饰该变量为常量,不可修改
1.3关键字
关键字是C++中预先保留的单词(标识符)。
在定义变量或者常量时候,不要用关键字,否则会产生歧义。
C++关键字:
asm | do | if | return | typedef |
---|---|---|---|---|
auto | double | inline | short | typeid |
bool | dynamic_cast | int | signed | typename |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | operator | switch | void |
const | false | private | template | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
1.4标识符的命名规则
C++规定给标识符(变量、常量)命名时,有一套自己的规则,要见名知意。
- 标识符不能是关键字
- 标识符只能由字母、数字、下划线组成
- 第一个字符必须为字母或下划线
- 标识符中字母区分大小写
2 数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。
2.1整型
整型变量表示的是整数类型的数据
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 ~ 2^15-1) |
int(整型) | 4字节 | (-2^31 ~ 2^31-1) |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
long long(长长整形) | 8字节 | (-2^63 ~ 2^63-1) |
2.2浮点型(实型)
浮点型用于表示小数
浮点型变量分为单精度float 和 双精度double。
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
2.3字符型
字符型变量用于显示单个字符。
语法:char ch = 'a';
- C和C++中字符型变量只占用1个字节。
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元。
2.4转义字符
用于表示一些不能显示出来的ASCII字符。
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
a | 警报 | 007 |
b | 退格(BS) ,将当前位置移到前一列 | 008 |
f | 换页(FF),将当前位置移到下页开头 | 012 |
n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
r | 回车(CR) ,将当前位置移到本行开头 | 013 |
t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
v | 垂直制表(VT) | 011 |
\ | 代表一个反斜线字符"" | 092 |
’ | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
? | 代表一个问号 | 063 |