关系运算符:
在C语言中0代表false,非0代表真
1.< 小于
2.<=小于等于
3.>大于
4.>大于等于
5.==等于
6.!=不等于
关系运算符优先级
前四种相同,后两种相同,前四种高于后两种优先级
逻辑运算符
1.&& 与 :&&号两边都为真最后的结果才为true,否则为false。
2.|| 或 :||号两边有一个位true,则最后的结果就为true,否则为false。
逻辑运算符优先级
&&的优先级大于||的优先级,如果都为同一个的话,那么就从左到右的看
int main()//一个函数在C语言里面,如果只是空(),代表这个函数可以参数,也可以没有参数
int main(void);如果是(void),就是明确的表达,没有任何参数
if单条件语句
if(条件)
{
复合语句
}
//只有条件为true,才会执行里面的复合语句,否则不会执行
if-else:
if(条件)
{
复合语句一
}else{
复合语句二
}
如果条件为true,则执行复合语句一,否则执行复合语句二
if-else if
if(条件一)
{
复合语句块一;
}
else if (条件二)
{
复合语句块二;
}
else if(条件三)
{
复合语句三;
}
else
{
复合语句块四;
}
注:当有多个else的时候,else总是和上方最近的那个if语句配对,然后执行相应的语句块
用if-else的计算器代码
#include <stdio.h>
int main(void)
{
int a = 0;
int b = 0;
char c = 0;
printf("please input : a\n");
scanf("%d",&a);
getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到
printf("please input : operator\n");
scanf("%c",&c);//通过键盘输入一个字符
getchar();
printf("place input : b\n");
scanf("%d",&b);
getchar();
if(c=='+')
{
printf("a+b=%d",a+b);
}
else if(c=='-')
{
printf("a-b=%d",a-b);
}
else if(c=='*')
{
printf("a*b=%d",a*b);
}
else if(c=='%' && b!=0)
{
printf("a%%b=%d",a%b);
}
else if(c=='/'&& b!=0)
{
printf("a/b=%d",a/b);
}
else
{
printf("please enter a legal operator AND divisor cannot equal zero");
}
return 0;
}
但是多重选择一般不是用 if - else if 而是用switch
swith(条件参数)
case (情况一)
复合语句
break();//跳出复合语句块
case(情况二)
~
default://如果都不符合就执行这个里面的复合语句
什么时候用if,什么时候用switch
当条件很复杂,一个&&,||,! 存在,那么if语句
如果条件很简单,但分支很多,那么适合用switch