- 变量存在的意义:方便我们管理内存空间
Rand()%100 //生成0-99的随机数
Srand((unsigned int)time(NULL));
添加随机数种子,使其随时间改变而改变,要添加头文件 #include<stime>。
2.定义常量的两种方式
#define宏常量:#define 常量名 常量值 (通常在文件上方定义)
Const修饰的变量:const 数据类型 常量名=常量值 (通常在变量定义前加关键字const,修饰改变量为常量,不可修改)
3.C++关键字(给变量,常量起名时不能用)
4.标识符命名规则
不能是关键字
必须由字母数字下划线组成
数字不能是第一个字符
区分大小写
5.数据类型
浮点型
字符型 char
cout << (int) ch << endl; //输出字符对应ASCII编码
字符串
char 变量名[]=”字符串值”;
string 变量名=”字符串值”; //用之前要包含头文件 #include <string>
布尔型
ture 真(1)
Flase 假(0)
6.sizeof关键字
作用:求出数据类型占用内存大小
语法:sizeof(数据类型/变量)
7.vs快捷键
8.把鼠标光标由选择单个字符变成竖线,点击键盘”ins“键
9.ASCII码表格:
10.cout默认输出6为有效数字
cin 输入
11.转义字符(用于表示一些不能显示出来的ASCII字符
12.算数运算符
取余,除法 分母不为0
前置递增 先自加再运算
后置递增 先运算再递增
程序流程结构
- if语句
If()
If() {满足条件} else{不满足条件}
If(){} else if{} ....else{}
嵌套if语句
2.三目运算
表达式1?返回值1:返回值2;
C=(a>b?a:b);
(a>b?a:b)=100; (可以赋值)
3.switch语句
switch(表达式)
{
case1:执行语句; break;
case2:执行语句; break;
...
...
default:执行语句;break;
}
4.循环结构
while(循环条件){循环语句} 注意:必须提供跳出循环的语句
5.do {运行事件} while{条件判断};
注意:do...while会比while先执行一次代码
a = num % 10; 取个位
b = num / 10 % 10; 取十位
c = num / 100; 取百位
6.for(起始表达式0;条件表达式1;末尾循环体3){循环语句2;}
程序按照0123的顺序运行,且0只执行一次
7.跳转语句
break:退出整个循环
应用场景:1.switch 2.for 3.嵌套循环
continue:执行到本行就不再执行后面代码,直接进行下次循环
goto: 可以无条件跳转到标记位置,再往下执行代码
Goto FLAG; FLAG:
8.数组
起始下标:int start=0;
结束下标:int end=sizeof(arr)/sizeof(arr[0])-1;
cout << "二维数组大小: " << sizeof(arr) << endl;
cout << "二维数组一行大小: " << sizeof(arr[0]) << endl;
cout << "二维数组元素大小: " << sizeof(arr[0][0]) << endl;
cout << "二维数组第一个元素地址:" << &arr[0][0] << endl;
cout << "二维数组首地址:" << arr << endl;
9.函数调用
值传递时,形参改变,实参还是不改变。
函数申明:告诉编译器函数的存在,这样调用函数就可以放在任何位置。
函数的声明可以多次,但是函数的定义只能有一次
10.函数的分文件编写
指针
1.概念
普通变量存放的是数据,指针变量存放的是地址
指针变量可以通过" * "操作符,操作指针变量指向的内存空间,这个过程称为解引用
int *p; p=&a; 相当于 int *p=&a;
所有指针类型在32位操作系统下是4个字节,64位操作系统下是8个字节
2.空指针和野指针
控制在:内存编号0 ~255为系统占用内存,不允许用户访问
野指针:指针变量指向非法的内存空间
空指针和野指针都不是我们申请的空间,因此不要访问。
3.const
const int * p1 = &a; 常量指针
int * const p2 = &a; 指针常量
const int * const p3 = &a; 即修饰指针,又修饰常量
const修饰的是指针(常量指针),指针指向可以改,指针指向的值不可以更改
const修饰的是常量(指针常量),指针指向不可以改,指针指向的值可以更改
const既修饰指针又修饰常量
看const右侧紧跟着的是指针还是常量, 是指针就是常量指针,是常量就是指针常量
4.指针和函数
如果不想修改实参,就用值传递,如果想修改实参,就用地址传递
结构体
- 作用
结构体属于用户==自定义的数据类型==,允许用户存储不同的数据类型
2.结构体创建变量的方式
struct 结构体名 变量名
struct 结构体名 变量名 = { 成员1值 , 成员2值...}
定义结构体时顺便创建变量
定义结构体时的关键字是struct,不可省略;创建结构体变量时,关键字struct可以省略。结构体变量利用操作符 ''.'' 访问成员
3.结构体数组
语法:struct 结构体名 数组名[元素个数] = { {} , {} , ... {} }
4.结构体指针
利用操作符 ->可以通过结构体指针访问结构体属性
5.结构体做函数参数
值传递
地址传递
6.const在结构体中的应用
用const来防止误操作,一但修改这个数据就会报错。