运算符:
算数运算符
+ - * /(除) %(取余)
关系运算符
> >= <= != ==
逻辑运算符
!(非) &&(且) || (或)
赋值运算符
= += *= /=
优先级别
算术 > 关系> 逻辑> 赋值
注意:除法与取余运算符
除法运算符和运算对象的数据类型有关系,两个数都是int,则商就是int,若商有小数,则截取小数部分;被除数和除数中只要有一个或两个是浮点型数据,则商也是浮点型,不截取小数部分
取余运算对象必须是整数,结果是整除后的余数,其余数的符号与被取余数相同
注意:C语言对真假的处理
非0为真,真用1表示;0是假,假是0表示
# include
int main(void)
{
int i = 10;
int k = 20;
int m;
m = (3 > 2) && (k = 8);
printf("m = %d,k = %d\n",m,k);
return 0'
}
输出结果:m = 1,k = 8
# include
int main(void)
{
int i = 10;
int k = 20;
int m;
m = (3 > 2) && (k = 0);
printf("m = %d,k = %d\n",m,k);
return 0'
}
输出结果:m = 0,k = 0
# include
int main(void)
{
int i = 10;
int k = 20;
int m;
m = (3 > 2) && (k == 8);
printf("m = %d,k = %d\n",m,k);
return 0'
}
输出结果:m = 0,k = 20
# include
int main(void)
{
int i = 10;
int k = 20;
int m;
m = (1 > 2) && (k = 5);
printf("m = %d,k = %d\n",m,k);
return 0'
}
输出结果:m = 0,k = 20
为什么k = 5没有执行,因为&&左边是假,当&&左边表达式为假,右边表达式就不会执行
当 || 左边是真的时候。右边表达式不会执行
建议:运算符不要死记优先级,要学会用括号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)