1.面向对象程序设计
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持面向过程编程、面向对象编程和泛型编程。
C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:封装、抽象、继承、多态
2.标准库
标准的 C++ 由三个重要部分组成:
- 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
- C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
- 标准模板库(STL),提供了大量的方法,用于操作数据结构等。
C++ 通常用于编写设备驱动程序和其他要求实时性的直接操作硬件的软件。
3.c++本地环境设置
如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。
部分集成开发环境(IDE)同时拥有代码编辑器(文本编辑器)和编译环境,还拥有一整套的开发调试工具包和分析工具,也可以使用这些集成开发环境来减少配置的烦恼,比较典型的集成开发环境有:visual C++6.0(不推荐),dev-C++(不推荐),visual studio(推荐,但是只适用于Windows),codeblock等。
4.文本编辑器
这将用于编写源代码(C++源代码本质上就是一个后缀名为.cpp的文本文件)。
文本编辑器包括 Windows Notepad、vscode/vscodium 、sublime和 vim/vi等。
文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim/vi 可用于 Windows 和 Linux/UNIX 操作系统上。
通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。
在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。
C++ 编译器用于把源代码编译成最终的可执行程序。
最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。
5.c++的基本语法
- 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。
- 类 - 类可以定义为描述对象行为/状态的模板/蓝图。
- 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。
即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。
在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
块是一组使用大括号括起来的按逻辑连接的语句。
6.c++标识符和c++注释
C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C++ 标识符内不允许出现标点字符,比如 @、$ 和 %。C++ 是区分大小写的编程语言。因此,在 C++ 中,Manpower 和 manpower 是两个不同的标识符。
C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。单行注释//
C++ 注释以 /* 开始,以 */ 终止。
7.C++数据类型
一些基本类型可以使用一个或多个类型修饰符进行修饰:signed、unsigned、short、Long无符号长短修饰,
有无符号只是影响了范围,long 和short才是影响字节个数关键,
这将在每一行后插入一个换行符,<< 运算符用于向屏幕传多个值。我们也使用 sizeof() 函数来获取各种数据类型的大小。
可以使用 typedef 为一个已有的类型取一个新的名字。
枚举类型声明一个可选的类型名称和一组标识符,用来作为该类型的值。其带有零个或多个标识符可以被用来作为该类型的值。每个枚举数是一个枚举类型的常数。
创建枚举,需要使用关键字 enum。枚举类型的一般形式为:
8.C++变量类型
C++ 也允许定义各种其他类型的变量,比如枚举、指针、数组、引用、数据结构、类等等
不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值未是定义的。
您可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。
9.C++左值和右值
C++ 中有两种类型的表达式:
- 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
- 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。
10.C++变量作用域
作用域是程序的一个区域,一般来说有三个地方可以声明变量:
- 在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。
- 在函数参数的定义中声明的变量,称为形式参数。
- 在所有函数外部声明的变量,称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。全局变量可以被任何函数访问。在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
- 当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:
总结:
C++是面向对象编程的,知道其四大特性,封装、继承、多态、抽象
c++主要组成核心语言,标准库,stl容器
c++本地编译环境文本编辑器和命令编译器,集成的ide是有文本编辑器和编译器功能,一般来说windows使用visual studio,
c++文本编辑器一般使用vim,vscode,notepad,生成源文件.cpp,通过编译器编译,makefile编译或者cmake生成makefile文件编译,有自带的gcc编译
对象,类,方法,分号语句结束符,
标识符是以字母或者下划线开始的标识名称,注释有单行注释//还有多行注释/* ... */
数据类型:bool ,int(4) ,float(4),double(8),char(1),void, 有无符号只是影响了范围,long 和short才是影响字节个数关键,short字节缩小一半,long字节扩大一倍,
知道每个变量类型的数据意义,我们可以自定义一些变量,注意声明变量可以在任何位置extern,但是定义只能定义一次,不初始化就默认为NULL,
左值和右值区别:左值可以赋值,右值不可以
我们要区分作用域:三个地方声明变量,函数代码块里声明变量是局部变量,需要自己定义,放入栈区,函数结束或者代码块结束,变量释放,函数参数里声明的变量形式参数,函数外部声明变量全局变量,程序周期有效,可以被任何函数访问,程序全局变量和局部变量可以同名,函数内局部变量会覆盖全局变量,全局变量不初始化可以系统初始化