---------------------- <a href="http://www.itheima.com"target="blank">iOS开发</a>、<a href="http://www.itheima.com"target="blank">iOS培训</a>、期待与您交流! ----------------------
一、算数运算符
int num1 = 14;
int num2 = 3;
int jia = 14 + 3; // + 加法 jia = 17
int jian = 14 - 3; // - 减法 jian = 11
int cheng = 14 * 3; // * 乘法 cheng = 42
int chu = 14 / 3; // / 除法 chu = 4 (趋0取整)
int yu = 14 % 3; // % 取余 yu = 2
二、自增自减
int a = 14;
int b = a++;
// b = a; a = a + 1; -> b = 14; a = 15;
int c = ++a;
// a = a + 1; c = a; -> a = 16; c = 16;
/*
总结:看自增自减符号相对于要修饰的变量的位置
如果在要修饰的变量之前 则先进行自增自减 再执行当前语句
如果在要修饰的变量之后 则先执行当前语句 再执行自增自减
()只能说明自增自减修饰的变量 不能改变运算顺序
例如:
int m = 100;
int n = (m++) + 1;
执行顺序为:
int n = m + 1;
m = m + 1;
*/
三、sizeof:返回占用的字节数,可以修饰变量或数据类型
int a = 1;
int size1 = sizeof(a); // 正确
int size2 = sizeof a; // 正确
int size3 = sizeof(int); // 正确
int size4 = sizeof int; // 错误
// 返回值为 4
四、关系运算符
int a = 1;
int b = 2;
int result1 = a == b; // == 相等 result1 = 0
int result2 = a != b; // != 不相等 result2 = 1
int result3 = a < b; // < 小于 result3 = 1
int result4 = a > b; // > 大于 result4 = 0
int result5 = a <= b; // <= 小于等于 result5 = 1
int result6 = a >= b; // >= 大于等于 result6 = 0
int a = 1;
int b = 2;
int result1 = a && b; // && 逻辑与 必须同时不为0会返回1 否则返回0
int result2 = a || b; // || 逻辑或 只要有一个不为0就会返回1 否则返回0
int result3 = !a; // ! 逻辑非 如果为0则返回1 否则返回0
// 逻辑与 逻辑非 带有短路性质
// 即 如果第一个条件为否 则不会执行逻辑运算符的第二个条件
int a = 1;
int b = 1;
if(0 && a++)
{
}
printf(%d, a); // 1 没有执行a++
if(1 && b++)
{
}
printf(%d, b); // 2 执行了b++
六、三目运算符
int a = 10;
int b = (a > 0) ? 1 : 0; // b = 1
/*
int b;
以上语句类似于
if(a > 0)
{
b = 1;
}
else
{
b = 0;
}
*/
---------------------- <a href="http://www.itheima.com"target="blank">iOS开发</a>、<a href="http://www.itheima.com"target="blank">iOS培训</a>、期待与您交流! ----------------------