关系运算符
- 大于(>),小于(<)
- 大于等于(>=)
- 小于等于(<=)
优先级低于上面的
- 不等于(!=)
- 等于(==),一个=是赋值运算符
#include<stdio.h>
void main()
{
int a=9;
if(a>4)
{
printf("a>4");
}
}
#include<stdio.h>
void main()
{
int a=6,c=8;
if(a<c==1)//相当于(a<8)==1
{
printf("a<c==1");
}
}
(a<8)为真所以是1
(a>8)为假返回0
- 优先级
- 算数运算符>关系运算符>赋值运算符
#include<stdio.h>
void main()
{
int a=6,c=8;
if(a>c-3)//相当于a>(c-3)
{
printf("a>c+7");
}
}
逻辑运算符
- && 与(两个都为真才为真)
- || 或(一个真就为真)
- !非(取反)
#include<stdio.h>
void main()
{
int a=6,c=8;
if(a>0 && c>0)
{
printf("两个条件都满足执行语句");
}
}
#include<stdio.h>
void main()
{
int a=6,c=-8;
if(a>0 && c>0)
{
printf("有一个条件不满足不执行语句");
}
}
#include<stdio.h>
void main()
{
int a=6,c=-8;
if(a>0 || c>0)
{
printf("有一个条件满足就执行语句");
}
}
- 非0就是真
#include<stdio.h>
void main()
{
int a=0;
if(!a)
{
printf("执行了");
}
}
if
- if()后自动结合一条语句
#include<stdio.h>
void main()
{
int a;
if(a=5)
printf("a=5为真逻辑运算");
}
- 如果多条语句用{}
#include<stdio.h>
void main()
{
int a=0;
if(a<5)
{
printf("大于一条语句使用{}\n");
printf("%d",a);
}
}
if-else
当不满足if的条件时执行else
#include<stdio.h>
void main()
{
int score;
printf("请输入学生成绩:\n");
scanf("%d",&score);
if(score>60)
{
printf("及格了");
}
else//这里没有条件
{
printf("不及格");
}
}
if-else if-else
#include<stdio.h>
void main()
{
int score;
printf("请输入学生成绩:\n");
scanf("%d",&score);
if(score<60)
{
printf("不及格");
}
else if(score>60 && score<80)
{
printf("良好");
}
else
{
printf("优秀");
}
}
嵌套
#include<stdio.h>
void main()
{
int score;
printf("请输入学生成绩:\n");
scanf("%d",&score);
if(score>60) //满足条件接着判断
{
if(score >80)
printf("优秀");
else if(score>60 && score<80)//不可以写成60<score<80
printf("良好");
}
else
{
printf("不及格");
}
}
条件运算符
格式:
表达式1:表达式2?表达式3
结合性:
自右向左
#include<stdio.h>
void main()
{
int a=1,b=2,max;
if(a>b)
max=a;
else
max=b;
printf("%d",max);
}
上面代码就等于
#include<stdio.h>
void main()
{
int a=1,b=2,max;
max=(a>b)?a:b;
printf("%d",max);
}