可以快速略过,主要是变量和常量、关键字等定义,和java等语言都相似 阅读耗时不到 1 分钟

变量

变量存在的意义就是方便我们管理内存
定义: 数据类型 变量名 = 初始值

常量

  • 宏定义常量
    • 定义: #define 常量名 常量值
    • 例如 #define PI 3.14
  • const 修饰的变量
    • 定义:const 数据类型 常量名 = 常量值

关键字

下面列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
一般也不会啊,就例如java关键字,你也说不全,但基本不会用关键字,可以快速pass
捕获66.PNG

标识符命名规则

  • 不能是关键字
  • 第一个字符必须是字母或者下划线
  • 字母、数字、下划线组成

    数据类型

    | 数据类型 | 长度 | | —- | —- | | short | 2个字节 | | int | 4 个字节 | | long | 4(windows)、4(linux 32位)、8 (linux 64位) | | long long | 长整型 8 个字节 | | char | 1个字节 | | float | 4个字节 | | double | 8个字节 | | long double | 16个字节 | | wchar_t | 宽字符 2 或者 4 个字节 |

需要看大小的话 可以利用sizeof
例如 下面语句打印出 int 大小,结果是 4

  1. int main(){
  2. int a = 10;
  3. cout << sizeof(a) << endl;
  4. reutnr 0;
  5. }

宽字符空间其实和 shrot int 一样
typedef short int wchar_t; (typedef 定义别名)

字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII放入到存储单元
默认情况下,int 、short 、long 都是带符号的 signed ,那你会问 unsigned 和signed 什么区别啊,看下面例子你就懂了

类型 范围
char 1 个字节 范围 -128~127或者 0~255
unsigned char 1 个字节 ,范围 0~ 255
signed char 1 个字节 , -128 ~127
int -2147483648 ~ 2147483647
unsigned int 0 ~ 4294967295
signed int -2147483648 ~ 2147483647
short int -32768 ~ 32767
unsigned short int 0 ~ 65535
signed short int -32678 ~ 32767

剩下的long 和 double 就不说了,signed 和 unsigned 就是一个有符号,一个无符号,区别从表里面品

运算符

和Java、python等语言一样,可pass,防止有顶级新手入门,还是贴出来瞅瞅

运算符 描述 实例 (A = 20 , B = 10)
+ 相加 A + B = 30
- 相减 A - B = 10
* 相乘 A * B = 200
/ 相除 A / B = 2
% 取模运算 B % A = 10 ,A % B = 2
++ 自增 A ++ 等于21 C = A ++ ,C结果是 21, C = ++A ,C结果是 20
自减 A — 等于19

程序流程

if else
while
for
break
continue 这些没有什么好说的,所有语言通用,真不清楚的可以看这里 C++循环

唯一需要提一下的是 goto
语法: goto 标记;
如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
作用: 可以无条件的跳转语句
示例

int main(){
    cout << " 1 "<< endl;
    goto FLAG;
    cout << " 2 " << endl;

    FLAG:
        cout << " 5 " << endl;
    return 0;
}

上面的结果,输出是

1 
5

数组

数组中每个数据元素都是相同的数据类型 并且 是由连续的内存位置组成的

一维数组定义方式

  1. 数据类型 数组名[数组长度];
  2. 数据类型 数组名[数组长度] = {值1, 值 2 …. };
  3. 数据类型 数组名[] = {值1, 值2 …. };

示例

int main(){

    int score[10];
    score[0] = 100;

    int score2[5] = {1, 2, 3 , 4 ,5 };
    int score3[5] = {1, 3, 4 }; //这种默认 score3[3] = 0; score3[4] = 0;

    int score4[] = {1, 2, 3, 4};//score4 长度 是 4
    return 0;
}

二维数组定义方式

  1. 数组类型 数组名[行数][列数];
  2. 数组类型 数组名[行数][列数] = { {数据1,数据2},{数据3, 数据4}};
  3. 数组类型 数组名[行数][列数] = {数据1, 数据 2 ,数据3 ,数据4};
  4. 数组类型 数组名[][列数] = {数据1,数据2,数据3,数据4};

建议用第1、2中方式,比较有语义化

示例

int main(){
    int arr[2][3];

    int arr2[2][3] = {{1,2,3},{4,5,6}};

    int arr3[2][3] = {1, 2, 3, 4, 5 ,6};

    int arr4[][3] = {1, 2, 3, 4, 5, 6};

    for(int i = 0;i< 2;i++){
        for(int j = 0;j< 3;j++){
            cout << arr4[i][j] << "\t";
        }
        cout << endl;
    }

    return 0;
}