C++教程从入门到实战

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'和'\0'两个字符组成的,字符串长度是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、简单协议通讯

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

评论 17 您还未登录,请先 登录 后发表或查看评论
目录 1. 简介 怎样使用本教程 2. C++基础 Basics of C++ 1. C++程序结构 Structure of a program 2. 变量和数据类型 Variables and Data types 3. 常量 Constants 4. 操作符/运算符 Operators 5. 控制台交互 Communication through console 3. 控制结构和函数 Control structures and Functions 1. 控制结构 Control Structures 2. 函数I Functions I 3. 函数II Functions II 4. 高级数据类型 Advanced Data 1. 数组 Arrays 2. 字符序列 Character Sequences 3. 指针 Pointers 4. 动态内存分配 Dynamic memory 5. 数据结构 Data Structures 6. 自定义数据类型 User defined data types 5. 面向对象编程 Object-oriented Programming 1. 类,构造函数和析构函数,类的指针 Classes. Constructors and Destructors. Pointers to classes. 2. 操作符重载,this,静态成员 Overloading Operators. this. Static members 3. 类之间的关系 Relationships between classes: friend. Inheritance 4. 虚拟成员,抽象,多态 Virtual Members. Abstraction. Polymorphism 6. C++高级 Advanced concepts 1. 模板 Templates 2. 名空间 Namespaces 3. 出错处理 Exception handling 4. 类型转换高级 Advacned Class Type-casting 5. 预处理指令 Preprocessor Directives 7. C++ 标准函数库 C++ Standard Library 1. 文件的输入输出 Input/Output with files C++基础教程简介 怎样使用本教程 读者范围 本教程面向所有希望学习C++语言的读者。如果读者有其他编程语言背景或计算机相关基本知识可以帮助更好的理解教程内容,但这并非必须条件。 对于C语言熟悉的读者可将前三章(1.1 3.4)当作复习,因为这部分内容主要介绍C++中的C部分。不过某些C++的语法与C还是有些差别,所以建议还是快速的读一下这部分。 第四章讲述面向对象编程。 第五章主要介绍ANSI-C++标准中的新增的功能。 本教程结构 教程共分6章,每章分若干小节。你可以直接主目录进入任意小节,并循每页底部的链接向后浏览。 很多小节含有一页例题介绍该章节主要知识点的使用。建议在进入下一章学习之前最好先阅读这些例题,理解每行代码。 学习和练习一种编程语言的最好办法是自己修改书中例题程序,设法在程序中增加新的功能。不要不敢修改这些例题程序,这正是学习的方法。 兼容性备注 ANSI-C++标准近几年来被接受为国际标准。尽管C++语言二十世纪80年代即存在,ANSI-C++在1997年才被发表,2003年又被修订过。因此很多编译器不支持ANSI-C++中的部分新功能,特别是那些在此标准发表前即被发布的编译器。 在本教程中,那些ANSI-C++中新增的而老一代C++编译器大多不支持概念将备用如下标志标出: ANSI C++新增的概念 同样对于C和C++在实现上有明显不同的概念,将备用如下标志标出: C 与 C++不同的地方 编译器 本教程中所有例题程序均为console程序(控制台程序)。此类程序以文本形式与用户交换信息,显示结果。 所有C++编译器均支持console程序的编译。要了解更多关于如何编译的说明,请查询你的编译器用户使用手册。 C++编译器和开发环境推荐 很多读者询问编译器和开发环境的问题。除了常用的商用收费的MS Visual Studio, VC++,Borland C++等工具外,还有很多免费的工具也是很好用的。这里推荐两种免费的C++开发软件: 1、Eclipse的CDT开发工具,官方网站在http://www.eclipse.org/cdt/ 2、开源工具Dev-C++和wxDev-C++

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

believer-zzm

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值