一、C++基础知识

一、C++基础知识

1.注释

单行注释 //
多行注释 //

2.变量

1、创建变量:数据类型 变量名称 = 变量初始值
2、创建常量: #define const
3、标识符命名规则:字母、数字、下划线(第一个字符只能是字母或者下划线) 不能是关键字 区分大小写

3.数据类型

给变量分配合适的内存空间

sizeof()数据类型/变量占用内存大小
整型short < int <= long < long long
浮点型float(4字节) double(8字节)
字符型char ch = ‘a’ (1个字节、创建字符型变量要用单引号、且单引号内只能有一个字符) ASCII码 a 97
转义字符换行符\n 反斜杠\ 水平制表符\t
字符串类型char 变量名[] = " 字符串值" (中括号 双引号)要包含头文件 #include
布尔类型bool true 1 真 false 0 假

数据的输入 cin>>

4.运算符

运算符:
两数相除: /取整 %取(模)余运算
两个小数可以相除,不可以取余
自增、自减、比较、逻辑运算符(与 && 、或 || 、非 !)

5.程序流程结构

5.1顺序结构:

5.2 选择结构:

A:IF语句
1. if(条件)语句
2. if(条件){ } else{ }
3. if(条件1){ } elseif(条件2){ } else{ }
4. 嵌套if语句
B:三目运算符
表达式1 ?表达式2 :表达式3 返回的是变量,可以继续赋值
C:switch语句 (多条件分支语句)
switch(表达式){ case 结果1:执行语句;break;
case 结果2:执行语句;break;
…}
switch语句中表达式只能是整型或者字符型
case中如果没有break,那么程序会一直向下执行
与if语句相比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

5.3循环结构:

A:while(循环条件){循环语句}
B:do{循环语句}while(循环条件)
C:for(起始表达式;条件表达式;末尾循环体){循环语句;}
D:嵌套循环

5.4跳转语句:

A:break语句 1.出现在switch语句中 2.循环语句中 3.循环嵌套语句中
B:continue语句 跳出本次循环
C:goto语句 如果标记名称存在,执行到goto语句时会跳转到标记的位置

6.数组

6.1一维数组:

定义方式:1、数据类型 数组名[数组长度];
2、数据类型 数组名[数组长度] = {值1,值2 …};
3、数据类型 数组名[ ] = {值1,值2 …};
数组下标从0开始索引、数组名不要和变量重名
用途: 1、统计整个数组在内存中的长度
2、可以获取数组在内存中的首地址
冒泡排序: 1、比较相邻元素,若左边比右边大,则交换位置
2、对每一对相邻元素进行比较,找到第一个最大值
3、重复上述步骤,每次比较次数减一,知道不需要比较

6.2 二维数组:

定义方式:1、数据类型 数组名[行数][列数];
2、数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3、数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4 };
4、数据类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4 };
用途: 1、统计整个数组在内存中的长度
2、可以获取二维数组在内存中的首地址

7.函数

函数:
语法: 返回值类型 函数名(参数列表){函数体语句 return 表达式}
值传递: 函数调用时,实参将值传递给形参。如果形参发生变化,并不会影响实参
常见样式: 无参无返 有参无返 无参有返 有参有返
函数声明: 函数声明可以多次,但函数定义只能有一次
若函数定义在main函数后面,则应提前声明
分文件编写:
1、创建后缀名为.h的头文件
2、创建后缀名为.cpp的源文件
3、在头文件中写函数的声明
4、在源文件中写函数

8.指针

指针:
作用:通过指针间接访问内存

8.1、空指针

指针变量指向内存中编号为0的空间
用途:初始化指针变量 空指针指向的内存是不可以访问的
0~255之间的内存编号是系统占用的,因此不可以访问

8.2、野指针:程序中,尽量避免出现野指针

空指针和野指针都不是我们申请的空间,因此不要访问

8.3、const修饰指针有三种情况:

1、const修饰指针–常量指针
常量指针:指针的指向可以修改,但是指针指向的值不可以改 const int p = &a;
2、const修饰常量–指针常量
指针常量:指针的指向不可以改,但指针指向得值可以改 int
const p = &a;
3、const既修饰指针,又修饰常量
const既修饰指针,又修饰常量,则都不能修改 const int * const p = &a;

8.4、指针和数组:

利用指针访问数组中的元素

8.5、指针和函数:

利用指针做函数参数,可以修改实参的值

9.结构体

9.1、结构体:

用户自定义的数据类型,允许用户存储不同的数据类型
语法:struct 结构体名{结构体成员列表};

9.2、结构体数组:

struct 结构体名 数组名[元素个数] = {{},{},{}…};

9.3、结构体指针:

利用操作符 -> 可以通过结构体指针访问结构体属性

9.4、结构体嵌套结构体:

在结构体中可以定义另一个结构体作为成员,用来解决实际问题。

9.5、结构体做函数参数:

将结构体作为参数向函数中传递
传递方式:1、值传递 2、地址传递

9.6、结构体中const的使用场景:

用const来防止误操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值