---恢复内容开始---
数组---恢复内容开始---
格式控制符:
%x:以16进制的形式输出或者读入;
%u:已无符号形式输出或读入
cin cout 与scanf printf,一个程序不要两者混用;
运算符:赋值运算符,算术运算符,关系运算符,逻辑运算符;
赋值运算符:=,+=,-=,*=,/=,%=
算数运算符:+,-,*,/,%,++,-- 进行算数运算时,如果存在溢出,则把溢出的部分拿掉(浮点型的难以预测),如 int i=0xffffffff,j;j=i+3; j=0x100000002;j为int型,4字节,j=2;计算时注意计算结果可能不溢出,但计算中间存在溢出,如计算printf("%d",(a+b)/2);如果a+b计算的结果c超出了int范围,则计算会出错,除法计算的类型与操作数中精度高的类型保持一致.
关系运算符:== != > < >= <= 返回结果为bool型,
逻辑运算符:&& || ! 短路计算,即计算到结果可以预知则不往后计算;
运算顺序:一般可用()来使得优先运算
条件结构:if else, 存在多个相邻的if else ,else与最近的if 匹配,
if else 过多时,根据情况可选择switch 语句,
switch(表达式){ //表达式返回类型只能为整数类型 int, char(char类型实际就是ASCII码值)
case 常量表达式1:
break;
case 常量表达式2
break;
....
}
循环结构:for循环,for(表达式1;表达式2;表达式3){ 语句组; }
for 循环中的表达式1,2,3都可以不写,但是";"要保留.
do{循环体;} while(条件)循环,先循环在判断条件
break:跳出最近的循环体;
continue:到循环的头部,后面的语句不在执行,若为for循环,for(int i=0;i<n;i++),表达式3 :i++会执行
数组:
定义:类型名 数组名[元素个数],元素个数必须是常量或常量表达式;数组在内存中是连续存放的
T a[N]占用的空间是N*sizeof(T),字节,数组名a指的是数组所存储的首地址,假设为p,则a[N]所存储的地址为p+N*sizeof(int),
筛法求素数:
数组的初始化 int arr[10]={1,2,3,4}未赋予初始值的默认为二进制0,
数组下标越界编译不报错,运行可能会出错,因为操作系统可能不允许越界区域内存的写入.
二维数组:
二维数组在内存中也是连续存放二维数组初始化 int a[2[3]={(1,2,3),(4,5,6)}
如果对每行都进行了初始化,可以不写行数 int a[][3]={(1,2,3),(4,5,6)}
原文:https://www.cnblogs.com/Dar-/p/9147744.html