------ android培训、java培训、期待与您交流! ----------
算术运算:
c语言拥有34种运算符,c语言拥有强大的运算能力。
算术运算:加+,减-,乘*,除/,取余%(模)。
复合赋值:
a += 5; // a = a + 5;
a *= 5; // a = a * 5;
自增自减:a++/a--,++a/--a
a++-------->a = a + 1;
++a-------->a = a + 1;
其实a++和++a是有区别的:
int main()
{
int b;
int a = 10;
// b = ++a; 这里 a=b=11
b = a++; // 这里 a=11,b=10
printf("b = %d, a = %d", b, a);
return 0;
}
b = a++; 这里的意思是,a在自增之前将值赋值给b,之后a在自增。
b = ++a; 这里的意思是,a先自增之后将值赋值给b。
sizeof运算符:
用来计算一个变量、常量或数据类型所占用的内存占用的字节数。
int main()
{
int size = sizeof(10);
printf("%d", size);
return 0;
}
结果是4,也就是int类型占用的内存字节数。
也可以这样写:
int size = sizeof 10;
关系运算符:
关系运算符也叫做比较运算符。
比较运算符一共有6中:<, > <=, >=, ==, !=
现在了解一下真假:任何非0值为真,只有0才是假。
#include <stdio.h>
int main()
{
int a = 10;
int b = 11;
int result = a > b; // 再来这里因为a < b,所以在这里返回的是 0
// int result = a < b; // 这里返回的是1
printf("%d",result);
return 0;
}
关于关系运算符的式子,返回值只有0和1,条件成立就返回1,条件不成里就返回0.
1. 关系运算符的优先级,关系运算符中==,!=的优先级相等,<, <=, >, >=的优先级相等,且前者的优先级等于后者的优先级。
2. 关系运算符的结合方式“从左往右”。
3.关系运算符的优先级小于算数运算符。
逻辑运算符:
逻辑运算符有三种:与(&&),或(||),非(!)。
逻辑运算符的结果也是只有两个:真(1),假(0)。
逻辑与:
格式:条件1 && 条件2
当条件1与条件2都成立才返回1,其他返回0
运算过程:
1.
如果条件1成立,之后去判断条件2,如果条件2也成立那么就返回1,反之返回0。
2. 如果条件1不成立,那么直接返回0,不去判断条件2。
逻辑或:
格式: 条件1 || 条件2
当条件1与条件2只要至少一个为真,那么就返回1,都为假,才返回0
运算过程:
1.
如果条件1不成立,之后去判断条件2,如果条件2成立那么就返回1,反之返回0。
2. 如果条件1成立,那么直接返回1,不去判断条件2
逻辑非:
格式: !条件
当条件为真,那么返回0,如果条件为假,那么返回1
三目运算符:
牵扯到三个条件,格式: 条件 ? 数值1 :数值2;
若条件为真,则返回数值1;若条件为假,则返回数值2.
int a = 10 > 5 ? 9 : 10;-------->返回9