C++基础教程

一、数据类型

1.1、第一个C++程序

在这里插入图片描述

1.2、数据类型

在这里插入图片描述

1.3、常量及符号

  • 1、整型常量:整型常量可以分为有符号整型常量和无符号整型常量

    • 八进制:以0开头,即以0作为八进制数的前缀,每位取值范围是0~7,八进制数通常是无符号数。

      • 例如:016、0101、0128都是合法的八进制数
    • 十六进制:以0x或者0X开头,其数码取值范围0 ~ 9,以及A ~ F或者a ~ f

      • 例如:0X2A1、0XC5、0XFFFF都是合法的16进制数
  • 2、实型常量

    • 小数表示法:由整数部分和小数部分组成,整数部分和小数部分每位取值范围是0~9,例如:0.0、3.25、0.00596、2.0
    • 指数表示法:指数部分以符号"e"或者"E"开始,但必须是整数,并且符号"e"或"E"两边都必须有一个数,例如:1.2e20-3.4e-2
  • 3、字符常量:字符常量是单引号括起来的字符,例如:'a'和'?'都是合法字符常量。字符'a'的ASCII码值是97字符'A'的ASCII码值是41字符'?'的ASCII码值是63

转义字符是特殊的字符常量,使用时以字符串’'代表开始转义,和后面不同的字符表示转义的字符。转义字符表如下所示:
在这里插入图片描述

  • 4、字符串常量:是由一对双引号括起来的零个或多个字符序列,例如:“welcome to our school”、“hello world”。""可以表示一个空字符串。

    • 字符常量’A’和字符串常量"A"是不同的,字符串常量"A"是由'A'和''两个字符组成的,字符串长度是2,字符串常量'A'只是一个字符,没有长度。
  • 5、其他常量

    • 布尔常量:布尔常量只有两个,一个是true,表示真;另一个是false,表示假。
    • 枚举常量:枚举型数据中定义的成员也是常量,这将在后文介绍。
    • 宏定义常量:通过#define宏定义的一些值也是常量。例如:define PI3.1415。其中PI就是常量。

1.4、变量

  • 1、标识符:是用来对C++程序中的常量、变量、语句标号以及用户自定义函数的名称进行标识的符号。
    • 标识符命名规则:
      • 1.有字母、数字及下划线组成,且不能以数字开头。
      • 2.大写和小写字母代表不同意义。
      • 3.不能与关键字同名
      • 4.尽量“见名知义”,应该受一定规则的约束。
    • 不合法的标识符:6A、ABC*、case(保留字)

c++保留关键字,如表所示:
在这里插入图片描述

  • 2、变量与变量说明:变量使用前一定要定义或说明,变量声明的一般形式如下:[修饰符] 类型 变量名标识符

    • 类型是变量类型的说明符,说明变量的数据类型。修改师傅是任选的,可以没有。
      在这里插入图片描述
  • 3、整型变量:整型变量可以分为短整型、整型和长整型,变量类型说明符分别是short、int、long。根据是否有符号还可分为以下6种。

    • 整型 [signed] int
    • 无符号整型 unsigned [int]
    • 有符号短整型 [signed] short [int]
    • 无符号短整型 unsigned short [int]
    • 有符号长整型 [signed] long [int]
    • 无符号长整型 unsigned long [int]
      在这里插入图片描述
  • 4、实型变量:又称为浮点型变量,变量可分为单精度(float)、双精度(double)和长双精度(long double)三种。
    在这里插入图片描述

  • 5、变量赋值:变量值是动态改变的,每次改变都需要进行赋值运算。变量赋值的形式如下:变量名标识符 = 表达式,例如:
    在这里插入图片描述

  • 6、变量赋初值:可以在声明变量的时候就把数据赋给变量,这个过程叫变量赋初值,赋初值的情况有以下几种:

    • int x=5;:表示定义x为有符号的基本整型变量,赋初值为5
    • int x,y,z=6;:表示定义x、y、z为有符号的基本整型变量,z赋初值为6
    • int x=3,y=3,z=3;:表示定义x、y、z为有符号的基本整型变量,且赋予的初值均为3
  • 7、字符变量

    • 1、一个字符类型,即可以字符形式输出,也可以整数类型输出:
      在这里插入图片描述
    • 2、允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算:
      在这里插入图片描述

1.5、数据输入与输出

  • 1、控制台屏幕
    在这里插入图片描述
  • 2、操作控制:在头文件iomanip.h中定义了一些控制流输出格式的函数,默认情况下整型数按十进制形式输出,也可以通过hex将其设置为十六进制输出。流操作的控制具体函数如下
    在这里插入图片描述在这里插入图片描述

二、表达式与语句

2.1、运算符

在这里插入图片描述

  • 1.算术运算符:算术运算主要指常用的加(+)、减(-)、乘(*)、除(/)四则运算,算术运算符中有单目运算符和双目运算符。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 2.关系运算符:关系运算符主要是对两个对象进行比较,运算结果是逻辑常量真或假。
    在这里插入图片描述
    在这里插入图片描述
  • 3、逻辑运算符:逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值
    在这里插入图片描述
  • 4、赋值运算符
    在这里插入图片描述
    在这里插入图片描述
  • 5、位运算符
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 6、移位运算符
    在这里插入图片描述
    在这里插入图片描述
  • 7、sizeof运算符
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 8、条件运算符
    在这里插入图片描述
    在这里插入图片描述
  • 9、逗号运算符
    在这里插入图片描述

2.2、优先级和结合性

在这里插入图片描述

  • 1、优先级
    在这里插入图片描述
  • 2、结合性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.3、表达式

  • 1.算数表达式
    在这里插入图片描述
  • 2.关系表达式
    在这里插入图片描述
  • 3.条件表达式
    在这里插入图片描述
  • 4.赋值表达式
    在这里插入图片描述
  • 5.逻辑表达式
    在这里插入图片描述
  • 6.逗号表达式
    在这里插入图片描述

2.4、类型转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、条件判断语句

3.1、决策分支

在这里插入图片描述

3.2、判断语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3、使用条件运算符进行判断

在这里插入图片描述

3.4、switch语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5、判断语句的嵌套

在这里插入图片描述
在这里插入图片描述

四、循环语句

4.1、while循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2、do…while循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3、while与do…while比较

在这里插入图片描述
在这里插入图片描述

4.4、for循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5、循环控制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.6、循环嵌套

在这里插入图片描述
在这里插入图片描述

4.7、循环应用实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、函数

5.1、函数参数以及返回值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2、函数调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3、变量作用域

在这里插入图片描述

5.4、重载函数

在这里插入图片描述

5.5、内联函数

在这里插入图片描述

5.6、变量的存储类别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、指针和引用

6.1、一维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2、二维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3、字符数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4、指针

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5、指针与数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.6、指向函数的指针

在这里插入图片描述
在这里插入图片描述

6.7、引用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.8、指针数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、构造数据类型

7.1、结构体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2、结构体与函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.3、结构体数组

在这里插入图片描述
在这里插入图片描述

7.4、共用体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5、枚举类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.6、自定义数据类型

在这里插入图片描述

八、面向对象编程

8.1、面向对象概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.2、面向对象与面向过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.3、统一建模语言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、类和对象

9.1、C++类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.2、构造函数

在这里插入图片描述
在这里插入图片描述

9.3、析构函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.4、类成员

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.5、友元

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.6、命名空间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、继承与派生

10.1、继承

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.2、重载运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.3、多重继承

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.4、多态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.5、抽象类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一、模板

11.1、函数模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.2、类模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.3、模板的使用

在这里插入图片描述

11.4、链表类模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十二、STL标准模板库

12.1、序列容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.2、结合容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.3、算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.4、迭代器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十三、RTTI与异常处理

13.1、RTTI(运行时类型识别)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.2、异常处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十四、文件操作

14.1、文件流

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.2、文件打开

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.3、文件的读写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.4、文件指针移动操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.5、文件和流的关联和分离

在这里插入图片描述

14.6、删除文件

在这里插入图片描述

十五、网络通信

15.1、TCP/IP协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15.2、套接字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15.3、简单协议通讯

在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐