C语言 if分支结构

目录

一、if 语句

语法

流程图

二、if...else语句 

语法

流程图

三、多个if...else语句

四、嵌套 if 语句 

语法

一、if 语句

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成

语法

C 语言中 if 语句的语法:

if(boolean_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}

如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行

C 语言把任何非零非空的值假定为 true,把或 null 假定为 false

流程图

示例 test15.c

#include <stdio.h>

int main ()
{
   // 定义局部变量
   int a = 10;

   // 使用 if 语句检查布尔条件
   if( a < 20 )
   {
       // 如果条件为true,则输出下面的语句
       printf("a 小于 20\n" );
   }
   printf("a 的值是 %d\n", a);

   return 0;
}

 运行效果:

二、if...else语句 

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行

语法

C 语言中 if...else 语句的语法:

if(boolean_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}
else
{
   /* 如果布尔表达式为假将执行的语句 */
}

如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码

流程图

示例 test16.c

#include <stdio.h>

int main ()
{
   // 局部变量定义
   int a = 50;

   // 检查布尔条件 
   if( a < 20 )
   {
       // 如果条件为true,则输出下面的语句
       printf("a 小于 20\n" );
   }
   else
   {
       // 如果条件为false,则输出下面的语句
       printf("a 大于 20\n" );
   }
   printf("a 的值是 %d\n", a);

   return 0;
}

 运行效果:

三、多个if...else语句

if else 语句也可以多个同时使用,构成多个分支,形式如下:

  if (条件表达式一)
  {
    语句块一
  }
  else if (条件表达式二)
  {
    语句块二
  }
  else if (条件表达式三)
  {
    语句块三
  }
  else if (条件表达式n)
  {
    语句块n
  }
  else
  {
    全部的条件都不符时执行此语句块x
  }
  1. 意思是,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳出整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块x
  2. 也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行
  3. 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后
  4. 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前
  5. 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试

 示例 test17.c

#include <stdio.h>
 
int main ()
{
   // 局部变量定义
   int a = 50;
 
   // 检查布尔条件
   if( a == 10 )
   {
       // 如果 if 条件为true,则输出下面的语句 
       printf("a 的值是 10\n" );
   }
   else if( a == 20 )
   {
       // 如果 else if 条件为true,则输出下面的语句
       printf("a 的值是 20\n" );
   }
   else if( a == 30 )
   {
       // 如果 else if 条件为true,则输出下面的语句
       printf("a 的值是 30\n" );
   }
   else
   {
       // 如果上面条件都不为true,则输出下面的语句
       printf("没有匹配的值\n" );
   }
   printf("a 的准确值是 %d\n", a );
 
   return 0;
}

运行效果:

四、嵌套 if 语句 

嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句

语法

C 语言中 嵌套 if 语句的语法:

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

您可以嵌套 else if...else,方式与嵌套 if 语句相似

示例 test18.c

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

运行效果:

 if 语句嵌套时,要注意 if 和 else 的配对问题,C语言规定,else 总是与它前面最近的 if 配对。一定要保持良好的编程习惯,空格、缩进、对齐,{}成对的书写等,不良的代码习惯会把自己搞晕

猜你喜欢

转载自blog.csdn.net/XiaoQiu__/article/details/126319186
今日推荐