C语言——分支语句_学习笔记

分支语句概述

分支语句的作用:

用于根据特定条件执行不同的代码块。它们控制程序的流程,允许开发者在不同的选项之间进行选择。
分支语句的使用使得程序更加灵活,可以适应不同的情况和需求。

分支语句的分类

if语句

if语句是最常用的分支语句之一。其基本语法如下:

只存在两种结果时

if (判断条件)
 {
    
    
 条件为真时需要进行的操作
}
else
{
    
    
不满足判断条件时要进行的操作
}

if的嵌套

if(表达式1)
	{
    
    语句1;}
	if(表达式2)
		{
    
    语句2;}
		if ......

if的多分支情况

if (表达式1)
	{
    
    语句1;}
else if (表达式2)
	{
    
    语句2;}
else 
	{
    
    语句3;}

else语句一般是和if语句连用的,也可以视情况而省略不写else语句。总结一下,有if语句,不一定有else语句;但是,有else语句,就一定要有与之搭配的if语句。

易错知识点

else和if的匹配问题
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
例如:

#include <stdio.h>
int main()
{
    
    
 int a = 0;
 int b = 2;
 if(a == 1)
	 if(b == 2)
 		printf("hehe\n");
 else
 	printf("haha\n");
 return 0;
}

输出结果:什么都不输出
在这里插入图片描述
很多初学者,上来以判断 a 是 0,不等于 1 ,那就执⾏ else ⼦句,打印 haha,其实这样是错误的。把代码写的更规范些,加一下括号,这样就会清晰很多。如下:

#include <stdio.h>
int main()
{
    
    
	int a = 0;
	int b = 2;
	if (a == 1)
	{
    
    
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	}
	return 0;
}

或者如果我们希望else确实和第⼀个if匹配,可以这样修改代码:

#include <stdio.h>
int main()
{
    
    
	int a = 0;
	int b = 2;
	if (a == 1)
	{
    
    
		if (b == 2)
			printf("hehe\n");
	}
	else
	{
    
    
		printf("haha\n");
	}
	return 0;
}

输出结果:
在这里插入图片描述
这里提醒我们,一定要规范写代码,该缩进的缩进,该写括号的加上括号,这样可以使我们的代码的逻辑更加清晰,可读性更高。

switch语句

switch语句用于根据不同的条件执行不同的代码块。它通常用于替代多个if语句,使代码更简洁。switch语句的基本语法如下:

switch (expression_整形表达式)
 {
    
    
  case 整形常量表达式1:
    语句1;
    break;
  case 整形常量表达式1:
    语句2;
    break;
  default:
    语句3;
    break;
}

在switch语句中,switch后面必须要接上一个整形表达式,它用于匹配不同的case标签。如果expression的值与某个case标签的值相匹配,则执行相应的代码块。如果没有匹配的case标签,则执行default标签中的代码块。

易错知识点

switch语句中,遗漏break

switch语句中,只有搭配了break才能真正实现分支,程序在遇到break时才会跳出switch语句,如果没有break语句,则程序会继续往下执行。
例如:
在这里插入图片描述

7除以3本来余数是1,但是程序运⾏的结果多了⼀⾏“余数是2”的打印。这就是没有加break的原因。所以写switch语句时不要忘了break。

switch语句中,错误输入提醒, default

将输入的值不符合我们要求的情况放进default语句中,来保证能得到反馈。例如:

#include <stdio.h>
int main()
{
    
    
    int day ;
    scanf("%d", &day);
    switch (day)
    {
    
    
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期天\n");
        break;
    default:
        printf("输入非法,请输入1-7的整数");
    }
    return 0;
}

输入0时,输出结果为:
在这里插入图片描述

条件运算符(三目运算符,含三个操作数)

条件运算符(也称为三目运算符)是C语言中另一种常用的分支语句。它用于在条件为真时返回一个值,否则返回另一个值。条件运算符的基本语法如下:

result = (condition) ? value1 : value2;

如果条件为真,则返回value1的值,否则返回value2的值。条件运算符通常用于简化if语句的代码。

例如:

int main()
{
    
    
	int a;
	int result;
	scanf("%d",&a);
	result = (1 == a) ? 2 : 3;
	printf("%d", result);
	return 0;
}

输入1,输出2:
在这里插入图片描述

输入除1以外的数,都输出3:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yjagks/article/details/131969548
今日推荐