条件语句:if-else语句及其嵌套、关系运算、switch-case语句

1.if语句

if (条件成立) {
...
}else{
...
}

/* 另一种表达形式:
if或else后面的大括号只有一句话时,可以省去大括号
见下面两张图片
*/
if (条件成立) 
  aaaa;   //一句话,缩进加分号
else
  bbbb;   //一句话,缩进加分号

 

 2.关系运算符:关系运算结果成立则为整数1,不成立则为整数0

==      !=    <    <=    >    >=

printf("%d\n", 5==3)     结果为1

  • 所有关系运算符的优先级低于算数运算符;高于赋值运算
  • 判断是否相等的==和!=的优先级比其他的关系运算符低
  • 相同等级的关系运算符顺序从左到右

3. if-else 语句的嵌套

else只跟最近的if匹配,且与缩进与否无关,除非有大括号

因此,建议都用有括号的形式,避免出错。

if (条件成立) {
    if (条件成立) {
    ...
    }else{
    ...
    }            
}else{
    if (条件成立) {
    ...
    }else{
    ...
    }
}

 

4.级联if-else语句

可以有多个else if ,但需要从if开始往下一个一个判断,知道满足条件并执行后才跳出判断语句

if (条件成立) {
...
}else if (条件){
...
}else if (条件){
... }
else{ ... }

 

5. switch-case语句

直接跳到满足条件的case

  •  控制表达式只能是整数型的结果。
  • 常量可以是常数,也可以是常数计算表达式如:1+2、NUM
  • case后面没有遇到break就会跳到下一个case中的执行语句,直到遇到break。
#include <stdio.h>

int main()
{
    int type;
    scanf("%d", &type);

    switch(type){
    case 1:
        printf("it is 1.\n");
        break;
    case 2:
        printf("it is 2.\n");
        break;
    case 3:
        printf("it is 3.\n");
        break;
    default:
        printf("it is nothing.\n");
        break;        
    }

    return 0;
}

 

posted @ 2023-07-20 23:06  园友3218619  阅读(123)  评论(0编辑  收藏  举报