优先级:括号 算术 关系 逻辑 赋值
运算符
C语言提供了13种类型的运算符,如下所示。
(1) 算术运算符(± * / %)。-
先乘除 取模 后加减。依据c语言优先级
While()
{
a%10 —4 //1234%10 输出4
a=a/10; 123
}
1234%10 输出4
代码:
while (a!=0)//当a不等于零的时候就可以进入循环
{
printf("%d\n", a % 10);
a = a / 10;
}
要想让并列一排显示 删去/n
printf("\n");//自己加的回车 注意是右下划线 不是左
变成字符型 只需要+48
(2)关系运算符(><== >=<=!=)。关系表达式的值只有真假
C语言认为一切非零值都是1真 0是假(c语言没有布尔类型)
5>3 真
5<3 假
关系运算符不能连写
因为他们优先级是相同的 满足前面一项就是对的
解决方案
如果要判断3<a同时a<10,要用逻辑运算符
逻辑运算符(! &&l|)。<
逻辑运算符!、&&、||依次为逻辑非、逻辑与、逻辑或,这和数学上的与、或、非是一致的。
! 逻辑非 如果原来是真,取非就是假。如果是假 取非就是真 !1=0
&& 逻辑与 真&&假 两边有一个假就是假 两边都为真才是真
|| 逻辑或 a||b ab任何一个为真都是真 如果两个都是假才为假
逻辑运算符 组成的式子叫 逻辑表达式,逻辑表达式的结果只有真和假对应的值位 0和1
判断浮点数是否相等(一定会考)
解决办法
赋值运算符(=及其扩展赋值运算符)
表达式的值存在于运算过程中
a=a/3; 也可以写成a/=3(除后赋值)
自增 自减运算符及求字节运算符
i++;//代表的是i=i+1
j = i++ > -1;当她是后++/–时候直接把这些去掉 拆成两部j=i>-1;i++
j = ++i > -1; //前++/-- 按照优先级正常运算即可