C语言学习笔记:分支结构

✨博文作者:烟雨孤舟
💖 喜欢的可以 点赞 收藏 关注哦~~

✍️ 作者简介: 一个热爱大数据的学习者

✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!

目录

简介

if循环

if...else 语句

if...else if...else 语句

if语句嵌套

switch 语句

嵌套 switch 语句

总结


简介

if循环

if(表达式){ /* 如果表达式为真将执行语句 */
   语句组;
}

案例:
#include <stdio.h>
int main ()
{
   int a = 10; /* 局部变量定义 */
   /* 使用 if 语句检查布尔条件 */
   if( a < 20 ) 
   {/* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }
   printf("a 的值是 %d\n", a);
   return 0;
}

if...else 语句

if(表达式){/* 如果表达式为真将执行语句组1*/
    语句组1;
}else{/* 如果表达式为假将执行的语句组2*/
    语句组2;
}

案例:
#include <stdio.h>
int main (){
   int a = 100;/* 局部变量定义 */
   if( a < 20 ){/* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }else{/* 如果条件为假,则输出下面的语句 */
       printf("a 大于 20\n" );
   }
   printf("a 的值是 %d\n", a);
   return 0;
}

if...else if...else 语句

if(表达式1){

/* 表达式 1为真时执行 */

}
else if(表达式2){

/*表达式 2 为真时执行 */

}
else if(表达式3){

/*表达式 3 为真时执行 */

}
else {

/* 当上面条件都不为真时执行 */

}

案例
#include <stdio.h>
 int main (){
   int a = 100;/* 局部变量定义 */
   if( a == 10 ){ /* 如果表达式为真,则输出下面的语句 */
       printf("a 的值是 10\n" );
   }
   else if( a == 20 ){/* 如果条件为真,则输出下面的语句 */
       printf("a 的值是 20\n" );
   }
   else{ /* 如果上面条件都不为真,则输出下面的语句 */
       printf("没有匹配的值\n" );
   }
   printf("a 的准确值是 %d\n", a );
   return 0;
}
else和if的匹配准则:else与最靠近它的没有与别的else匹配过的if相匹配。

if语句嵌套

C可以嵌套 if 语句,也可以嵌套 else if...else

 if( 表达式 1){ /* 当表达式 1 为真时执行 */
   if(表达式 2){/* 当表达式 2 为真时执行 */
   }
}

#include <stdio.h>
 int main ()
{
   int a = 100,b = 200:
   if( a == 100 )
   { /* 如果条件为真,则检查下面的条件 */
       if( b == 200 )
       { /* 如果条件为真,则输出下面的语句 */
          printf("a 的值是 100,且 b 的值是 200\n" );
       }
   }
   printf("a 的准确值是 %d\n", a );
   printf("b 的准确值是 %d\n", b );
   return 0;
}

switch 语句

switch语句测试一个变量是否等于多个值中的一个值的情况。每个值称为一个case,被测试的变量会对每个 switch case 进行检查。
switch(表达式){
    case 常量1:语句组;  break; /* 可选的 */
    case 常量2:语句组;  break; /* 可选的 */
    default : 语句组;} /* 可选的 */
switch 语句必须遵循下面的规则:
switch中可以有任意数量的case语句。
case的值必须与变量具有相同的数据类型,且必须是一个整型常量或字符。
当变量等于case中的常量时,case后的语句将执行,直到遇到break语句为止。
如果case语句不包含break,将会继续执行后面的case,直到遇到break 为止。
一个switch语句可以有一个default出现在结尾,在所有case都不为真时执行,default中的 break 语句不是必需的。
switch语句相当于多个if-else语句;
case 后面至少要有一个空格,常量后面是冒号,在需要跳出的时候,在语句后面加上break;

#include<stdio.h>//switch 语句编程,根据输入的年份判断是否为闰年,根据输入的月份判断这月有多少天。
int main() {
    int year, month, ex;
    printf("请输入年份及月份(空格分隔):");
    scanf("%d %d", &year, &month);
    if(month < 1 || month > 12) {
        printf("输入有误!!");
    } else {
        if((year%4 == 0 && year%100 != 0) || year%400 == 0) {
            ex = 1;
            printf("%d年为闰年。\n", year);

        } else {
            ex = 0;
            printf("%d年不为闰年。\n", year);
        }
        switch(month) {
            case 4: case 6: case 9: case 11: printf("%d月有%d天。", month, 30); break;
            case 2: printf("%d月有%d天。", month, 27+ex); break;
            default: printf("%d月有%d天。", month, 31);
        }
    }
}

嵌套 switch 语句

嵌套 switch 语句:
switch(ch1) {
   case 'A': 
      printf("这个 A 是外部 switch 的一部分" );
      switch(ch2) {
         case 'A':
            printf("这个 A 是内部 switch 的一部分" );
            break;
         case 'B': /* 内部 B case 代码 */
      }
      break;
   case 'B': /* 外部 B case 代码 */
}

总结

1.if—else语句,如果语句为多语句用则用{},单语句则不用,可直接简写
例:
    if(x>5){
    语句组;}
    if(x>5)语句1;
2.不使用break时,switch语句中表达式的值与常量表达式的值相等后不仅会执行此语句而且还会执行此语句其后的语句知道遇到break语句。
3.else和if的匹配准则:else与最靠近它的、没有与别的else匹配过的if相匹配。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨孤舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值