算术运算:
c一共有34个运算符,包括了常见的加减乘徐运算
+ (还可以表示正号)
-(还可以表示负号)
*
/(整数除以整数,还是整数,1/2的值是0)
%(取余运算或模运算,两边必须都是整数,-10%3=-1,,10%-3=1,%结果的正负性只和%左边被除数正负有关)
int a = 10.8;//自动类型转换(double->int),会产生警告
int b = (int)10.5; //强制类型转换,(double->int)
double c = 10.6+6; //自动类型提升,自动将6变成double类型(int->double)
double e = 3/2;//若要精确输出数值,可以写3/2.0或3.0/2或(double)3/2或3/(double)2
//但(double)(3/2)不行
赋值运算:
简单赋值
复合赋值
a = a + 5;//相当于a += 5
a += 5 + 6 + 4; // a = a + 5 + 6 + 4(后面是一个整体(5 + 6 + 4))
自增自减:
a++ ++a
两者区别:
b = a ++; //先把a 之前的值赋给b,然后a在自加加
b = ++ a; //加完之后再赋值给b,
a = 10;
b = (a++) + (++a); //10 + 12
a = 10;
b = (++a) + (a++);// 11 + 11
int d = 10 ++;//错误 10 = 10 + 1; 常量没有自增自减
sizeof :
用来计算一个变量或者一个常量,一种数据所占的内存字节量
基本形式:
sizeof(变量/常量);
sizeof 变量\常量
sizeof(数据类型)
不能是sizeof 数据 类型// sizeof char 错误
关系运算(比较运算):
条件判断:
条件成立为真,条件不成立为假,判断条件是否成立,就是判断条件的真假
非 0 为真,0 为假
关系比较:
a = 10;
int result = b > a; //条件成立返回1,条件不成立返回0
int result = 11 == 10;// 0
使用注意:
== != 优先级相等
> >= < <=
前者的优先级低于后者
int result = 2==3>1;// 值为0
关系运算符的结合方向从左到右 : 4>3>2// 值为0
算术运算符优先级高于关系运算符// 3+4 > 8-2
逻辑运算:
逻辑运算结果只有2个,真为 1, 假为 0
逻辑与 &&
使用格式:
条件A && B
运算过程:
如果条件A成立,接着再判断B是否成立,如果A成立,判断B
如果A不成立,则为假,不会判断B
逻辑或:A || B
运算过程:
如果A成立,就不会在判断B是否成立,
如果A不成立,再去判断B是否成立
逻辑非:!条件
如果条件成立,返回0,如果条件不成立,返回1
可以连续使用逻辑非运算符
三目运算符:
格式:
条件 ? 数值1 :数值2
int a = 10>5 ? 9 : 89;// a=9
int d = (((a > b) ? a : b) > c) ? : ((a > b) ? a : b) : c ;
c一共有34个运算符,包括了常见的加减乘徐运算
+ (还可以表示正号)
-(还可以表示负号)
*
/(整数除以整数,还是整数,1/2的值是0)
%(取余运算或模运算,两边必须都是整数,-10%3=-1,,10%-3=1,%结果的正负性只和%左边被除数正负有关)
int a = 10.8;//自动类型转换(double->int),会产生警告
int b = (int)10.5; //强制类型转换,(double->int)
double c = 10.6+6; //自动类型提升,自动将6变成double类型(int->double)
double e = 3/2;//若要精确输出数值,可以写3/2.0或3.0/2或(double)3/2或3/(double)2
//但(double)(3/2)不行
赋值运算:
简单赋值
复合赋值
a = a + 5;//相当于a += 5
a += 5 + 6 + 4; // a = a + 5 + 6 + 4(后面是一个整体(5 + 6 + 4))
自增自减:
a++ ++a
两者区别:
b = a ++; //先把a 之前的值赋给b,然后a在自加加
b = ++ a; //加完之后再赋值给b,
a = 10;
b = (a++) + (++a); //10 + 12
a = 10;
b = (++a) + (a++);// 11 + 11
int d = 10 ++;//错误 10 = 10 + 1; 常量没有自增自减
sizeof :
用来计算一个变量或者一个常量,一种数据所占的内存字节量
基本形式:
sizeof(变量/常量);
sizeof 变量\常量
sizeof(数据类型)
不能是sizeof 数据 类型// sizeof char 错误
关系运算(比较运算):
条件判断:
条件成立为真,条件不成立为假,判断条件是否成立,就是判断条件的真假
非 0 为真,0 为假
关系比较:
a = 10;
int result = b > a; //条件成立返回1,条件不成立返回0
int result = 11 == 10;// 0
使用注意:
== != 优先级相等
> >= < <=
前者的优先级低于后者
int result = 2==3>1;// 值为0
关系运算符的结合方向从左到右 : 4>3>2// 值为0
算术运算符优先级高于关系运算符// 3+4 > 8-2
逻辑运算:
逻辑运算结果只有2个,真为 1, 假为 0
逻辑与 &&
使用格式:
条件A && B
运算过程:
如果条件A成立,接着再判断B是否成立,如果A成立,判断B
如果A不成立,则为假,不会判断B
逻辑或:A || B
运算过程:
如果A成立,就不会在判断B是否成立,
如果A不成立,再去判断B是否成立
逻辑非:!条件
如果条件成立,返回0,如果条件不成立,返回1
可以连续使用逻辑非运算符
三目运算符:
格式:
条件 ? 数值1 :数值2
int a = 10>5 ? 9 : 89;// a=9
int d = (((a > b) ? a : b) > c) ? : ((a > b) ? a : b) : c ;