一、关系表达式

关系运算是比较两个表达式的数值相互关系的运算。强调的是判断关系。
运算符 含义 示例
> 大于 6>7 0
>= 大于等于 4>=3 1
< 小于 2<5 1
<= 小于等于 1<=2 1
== 等于 2==3 0
!= 不等于 2!=4 1
关系表达式和楼及表达式的运算结果是一个逻辑值。 非0为真 0为假

1、关系运算:是对两个量进行“比较运算”。
2、关系运算符:< <= > >=(高)== !=(低)
3、结合性:自左向右(左结合)
4、和其他运算符进行混合运算时,其运算符之间的优先级为:
算数运算符、关系运算符、赋值运算符、逗号运算符(从高到低)
5、关系表达式:由关系运算符组成的表示,称为关系表达式。
关系运算符两边的运算对象可以试C语言中任意合法的表达式。

5>3 1
3<=4 1
4+5<=8 0
9>5>4 0
2>=7<=8 1
5<x<2 1
5!=4 1
7=7 0

二、逻辑表达式

1、逻辑运算符:&&(逻辑与) ||(逻辑或) !(逻辑非)
2、结合性:自左向右(左结合)
3、它们的优先级由高到低为:!(逻辑非)、&&(逻辑与)、||(逻辑或)。
4、和其他运算符进行混合运算时,其运算符之前的优先级为:
!、算术运算符、关系运算符、&&、||、赋值运算符、逗号运算符(从高到低)
逻辑表达式:由逻辑运算符组成的表达式,称为逻辑表达式。
逻辑运算的运算对象可以试C语言中任意合法的表达式。
在C语言中表示x在0和10之间
x>=0&&x<=10 或 0<=x&&x<=10
5、0&&短路 非0||短路
例如:
设int a=1,b=2,c=3;
执行表达式(a>b)&&(c=1)后c的值为3
设int a=1,b=2,x=2,y=2;
执行表达式(x=a

三、if-else语句

QQ截图20210824203657.png
1、if后面圆括号中的表达式,可以试任意合法的C语言表达式(如:逻辑表达式、关系表达式、算术表达式、赋值表达式等),也可以是任意类型的数据(如:整型、实型、字符型、指针型等)。
2、无论是否有else子句,if子句中如果只有一条语句,则此语句后的分号不能省略

四、if-sele嵌套

QQ截图20210824204539.png
QQ截图20210824204621.png
QQ截图20210824204731.png
QQ截图20210824204749.png
QQ截图20210824204952.png
QQ截图20210824205400.png

  1. #include<stdio.h>
  2. void main(){
  3. int g;
  4. printf("Enter g:");
  5. scanf("%d",&g);
  6. printf("g=%d",g);
  7. if(g>=90)
  8. printf("A\n");
  9. else if(g>=80)
  10. printf("B\n");
  11. else if(g>=70)
  12. printf("C\n");
  13. else if(g>=60)
  14. printf("D\n");
  15. else
  16. printf("E\n");
  17. }

五、switch语句

switch语句的形式如下:
switch(表达式)
{ case 常量表达式1:语句1;
case 常量表达式2:语句2;


case 常量表达式n:语句n;
default :语句n+1;
}
可以使用break终止循环 在关键字case和常量表达式之间一定要有空格
switch语句需要注意的几点
1、switch后的表达式只能是整型或者字符型
2、case后常量表达式的值不能相同
3、case后允许许许多条语句,不需要大括号。
4、如果不添加break语句,需要特质注意执行顺序
5、case和default子句的先后顺序可以自行变动
6、default子句可以省略
switch和多重if的对比:
相同点
都是用来处理多分支条件的结构。
不同点
switch(杀鸡刀)等值条件判断——条件是有限个的时候
多重if(杀牛刀)判断某个连续区间的情况

六、条件语句

1、条件运算符
?: 三目运算符
2、条件表达式
表达式1?表达式2:表达式3
例如:20+30>=100?50:100 的结果为100 前真后假
3、优先级
赋值运算符、条件运算符、关系运算符、算术运算符(从低到高)

输出x的绝对值
printf(“abs(x)=%d\n”,x<0?(-1)*x:x);

输入一个字符,判别它是否为大写字母,
如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include<stdio.h>
int main()
{
    char ch;
    scanf("%c",&ch);
    ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
    printf("%c\n",ch);
    return 0;
}