算术操作符:+ - * / %
int a = 9/2; float a = 9/2; float a = 9/2.0;
移位操作符:>>(右移操作符) <<
位操作符: &(按位与) 两个位都为1时,结果才为1
| (按位或) 两个位都为0时,结果才为0
^(按位异或) 两个位相同为0,相异为1
赋值操作符: =, +=, -=, *=, /=, &=, ^=, |=, >>=, <<= a = a+5 —— a += 5 a = a-3 —— a -= 3
单目操作符:只有1个操作数的操作符 :
! 逻辑反操作 如a为真,!a则为假
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位):
计算数组大小: int sz = sizeof(arr)/sizeof(arr[0])
~ 对一个数的二进制按位取反:
整数(负数)在内存中存储的是补码 一个整数的二进制表示有3种(以-1为例): 原码: 10000000000000000000000000000001 反码: 1111111111111111111111111111111111110(符号位不变,其他按位取反) 补码: 1111111111111111111111111111111111111(反码+1)
常用~0=1 ~正整数=-正整数-1 ~负数=-(负数+1)
-- 前置、后置-- ++ 前置、后置++:
前置为先使用变量值后进行算术 后置为先运算后使用
强制类型转换 : (数据类型)变量名
例:(int)9.7 (double)5
关系操作符 >, >=, <, <=, !=(用于测试不相等), ==(用于测试相等)
逻辑操作符 && 逻辑与 || 逻辑或
条件操作符 exp1 ? exp2 : exp3
例:a>b? a=10(为真时):b=10(为假时)
int main()
{
int a = 3;
int b = 7;
int max = 0;
if (a>b)
{
max = a;
}
else
{
max = b;
}
max = a > b ? a : b;
printf("%d", max);
return 0;
逗号操作符, 最后一个逗号后的结果为运行结果
常见关键字:
auto:自动变量关键字 --> 每个局部变量都是auto修饰的
break:循环里的跳出关键词
while:循环关键词
case:switch语句中的情况关键词,如星期一,case(星期一)
continue:循环语句
If:如果
else:其他
for:循环
switch:循环
default: 默认
do:do—while循环
goto:无条件转移关键词 c
har:字符类型
float:单精度浮点型
double:双精度浮点型
int:整型
long:长整型
short:短整型
signed:有符号(10,-20)
unsigned(%u): 无符号
const:常变量
enum,枚举关键字
extern:外部变量申明符号
register:寄存器变量关键词//寄存器的处理速度非常快,因此大量,频繁使用的 数据,放到寄存器中,提升效率
return:返回值函数
sizeof:求字符串长度
static:静态变量修饰符
static修饰局部变量 使局部变为全局 ;修饰函数,使函数只能在当前源文件使用;修饰全局变量,使变量只能在自己所在源文件使用;
#define 名 代码内容
#define MAX 1000