C语言:五种分支语句与三种循环语句 基础知识详解

五种分支语句(Branching statements)


1.单分支语句

单分支语句:当满足特定条件时,执行一段代码。通常使用if语句来实现单分支逻辑。如果条件为真,则执行if语句块中的代码;否则,跳过if语句块,继续执行后续的代码。

格式:if(布尔表达式){

                    语句  // 布尔表达式为真时执行语句

                  }            

代码:

#include<stdio.h>
int main()
{
   int a;
   scanf("%d", &a);
   if(a>10)
      printf("您输入的数字大于10“);
   return 0;
}

上述代码,当输入的a值大于100时会输出”您输入的数字大于10“。

2.双分支语句

双分支语句:根据条件的真假,执行两个不同的代码块。通常使用if-else语句来实现双分支逻辑。如果条件为真,则执行if语句块中的代码;如果条件为假,则执行else语句块中的代码。

格式:if(布尔表达式){

                    语句1  // 布尔表达式为真时执行语句1

                  } 

           else{

                    语句2  // 语句1为假时执行语句2

                  } 

代码: 

#include<stdio.h>
int main()
{
    int num;
    printf("请输入一个数字:\n");
    scanf("%d",&num);
    if(num%2 == 1)
    {
        printf("%d是一个奇数\n",num);
    }
    else
    {
        printf("%d是一个偶数\n",num);
    }
    return 0;
}

上述代码,用于判断输入的数字是否为奇数。

3.多分支语句

多分支语句:一种根据不同的条件,执行多个代码块的语句结构。通常使用if-else if-else语句来实现多分支逻辑。if语句先进行条件判断,如果满足条件则执行相应的代码块,否则继续执行else if语句,直到找到满足条件的代码块,或者执行完所有的else if语句后,执行else语句块。

格式: if(布尔表达式1){

                    语句1  // 布尔表达式1为真时执行语句1

                  } 

            else if(布尔表达式2){

                    语句2  // 布尔表达式2为真时执行语句1

                  } 

            else{

                    语句3 // 布尔表达式1、2为假时执行语句3

                  } 

代码: 

#include<stdio.h>
int main()
{
	int a, b;
	scanf("%d %d", &a, &b);
	if (a > b)
	{
		printf("%d>%d", a, b);
	}
	else if (a == b)
	{
		printf("%d=%d", a, b);
	}
	else
	{
		printf("%d<%d", a, b);
	}
	return 0;
}

上述代码,用于判断输入两个数字的大小关系。

4.嵌套语句

嵌套语句:指一个控制语句包含在另一个控制语句内部的情况。例如,在一个if语句块中嵌套了另一个if语句块。嵌套语句可以帮助我们更清晰的构建更复杂的逻辑。

格式: if(布尔表达式1){

                    语句1  // 布尔表达式1为真时执行语句1

              if(布尔表达式2){

                             语句2   // 布尔表达式2为真时执行语句2

              }else{

                                  语句3   // 布尔表达式2为假时执行语句3

              }

          }

代码: 

#include <stdio.h>
int main() 
{
    int num = 10;
    if (num >= 0) 
    {
        if (num == 0) 
        {
            printf("Number is zero\n");
        } 
        else 
        {
            printf("Number is positive\n");
        }
    } 
    else 
    {
        printf("Number is negative\n");
    }
    return 0;
}

上述代码中,首先判断是否大于等于0,如果大于等于0,则继续判断是否等于0,如果等于0,则输出“Number is zero”;如果不等于0,则输出“Number is positive”,如果小于0,则输出“Number is negative”。

输出结果 : Number is positive

5.Switch语句

Switch语句:一种在某些编程语言中存在的条件语句,根据给定的表达式的值,执行对应的代码块。遇到break时整个语句会终止。

格式:switch(表达式){

                case 1: 语句;break;      //根据不同情况,有些break可以省略,是代码更简洁

                case 2: 语句;break;

                case 3: 语句;break;

                ...     //可以有很多条case语句

                default:语句    //default不是switch语句所必需的

}

代码: 

#include <stdio.h>
int main() 
{
    char day = 'M';
    switch (day) 
    {
        case 'M':
            printf("It's Monday\n");
            break;
        case 'T':
            printf("It's Tuesday\n");
            break;
        case 'W':
            printf("It's Wednesday\n");
            break;
        default:
            printf("It's some other day\n");
            break;
    }
    return 0;
}

上述代码,不同的变量代表不同的输出结果。

输出结果 : It's Monday


三种循环语句 (Loop statement)


1. for循环

for循环:一种常用的控制流程语句,用于重复执行指定次数的一段代码。它由三个部分组成:初始化表达式、循环条件和循环迭代。

格式: for (初始化表达式; 循环条件; 循环迭代){

                   // 循环体

         }

代码:

#include<stdio.h>
int main()
{
	int i;
	for(i = 1; i <= 10; i++)
	{
		if(i == 5)
		continue;
		printf("%d ",i);
	}
	return 0;
}

输出结果:1 2 3 4 6 7 8 9 10

注意区分:

①continue的位置:

#include<stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		if(i == 5)
		   continue;
		printf("%d",i);	
		i++;
	}
	return 0;
}

输出结果:1234  (4后有闪烁的光标,一直进出循环的运行但不再打印4后的数字)

②continue和break:在循环中遇到break就停止后期的所有循环,是用于永久终止循环的;continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分,进行下一次循环的入口判断。 

#include<stdio.h>
int main()
{
	int i;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			break;
		printf("%d ", i);
	}
	return 0;
}

输出结果:1 2 3 4

2.while循环

while循环:一种在满足特定条件时重复执行一段代码的控制流程语句,具体循环次数在开始时不确定,循环条件在循环开始之前进行判断。

格式:while (循环条件){

                 // 循环体

          }

代码 :

#include<stdio.h> 
int main()
{
	int a,b;
	while(scanf("%d %d",&a,&b) != EOF)
	{
		printf("%d\n",a+b);
	}
	return 0;
}

上述代码,用于求两数之和。

3.do-while循环

do-while循环:一种先执行循环体,然后在满足特定条件时重复执行一段代码的控制流程语句,该循环体至少被执行一次。

格式:do {

              // 循环体

           } while (循环条件); 

代码 :

#include <stdio.h>
int main()
 {
    int i = 1;
    do 
    {
        printf("%d ", i);
        i++;
    } 
    while (i <= 5);
        printf("\n");
    return 0;
}

上述代码,用于打印数字。

输出结果:1 2 3 4 5

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值