一维数组
数组是一组相同类型元素的集合,数组的创建方式为:
type_t arr_name [const_n];
type_t 是指数组的元素类型;
const_n 是一个常量表达式,用来指定数组大小。
1,一维数组在内存中是连续存放的!
2,随着数组下标的增长,地址是由低到高变化的!
-----------------------
二维数组
数组不完全 初始化后面补0或\0
数组初始化:如
int arr[2][3]={1,2,3,4}
int arr[2][3]={{1,2},{3,4}}
int arr[][3]={{1,2},{3,4}}
1、%u 十进制无符号整数。
2、%f 表示输出浮点数。
3、%s表示输出 字符串。
4、%c表示输出单个字符。
5、%p表示输出指针的值。
6、%e表示输出指数形式的浮点数。
7、%x,表示输出无符号以十六进制表示的整数。
8、%0 表示输出无符号以八进制表示的整数。
9、%g表示输出自动选择合适的表示法。
----------------
操作符
算数操作符
位移操作符:<< ,>>(将二进制位向左或向右移动一位,左移操作符:左边丢弃,右边补零;右移操作符:1,算术右移:右边丢弃,左边补原符号位。2,逻辑右移:右移丢弃,左边补零)
*对于位移操作符,不要移动负数位,这个是标准未定义的。
位操作符:&:按位与(同一二进制位上的数字都是1的话,& 的结果为1,否则为0)
|:按位或(相同位的两个数字任一个为1,则结果为1;若都不为1,则结果为0。 “or”运算通常用于二进制特定位上的无条件赋值,例如一个数or 1的结果就是把二进制最末位强行变成1)
^:按位异或(首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1 ,相同则为0.)两个相同的数字异或为0,任何数字和0异或为他自己。
赋值操作符:= += -= *= ······
单目操作符:
sizeof括号中的表达式是不参与运算的!
关系操作符:>,>=, <,<=,!=,==
逻辑操作符:| |逻辑或(或者,一个为真则为真,两个为假才为假),&&逻辑与(并且,同为真才为真,一个为假则为假)
条件操作符: (a>b?a:b)
逗号表达式--从左至右依次计算,但整个表达式结果是最后一个表达式的结果
下标引用,函数调用和结构成员访问调用:
下标引用操作符:[]
函数调用操作符:()
结构成员访问操作符: . :结构体变量名.成员名
->:结构体指针->成员名
整型提升???