C语言入门(五)分支结构

简介: C语言入门(五)分支结构

C语言的分支结构有两种:①if-else语句②switch语句


if-else语句

一般形式如下:

if(表达式)

 语句1;

else

 语句2;


如果有多个语句,则写成

if(表达式)

{

 语句1;

 语句2;

}

else

{

 语句3;

 语句4;

}


if-else的意思是,如果if后面表达式的逻辑值为1,则执行if里的语句,如果不为1执行else里的语句。 看下面一段代码

#include<stdio.h>       intmain()
{   
inta, b;
a=5, b=6;
if (a>b)
b++;
elsea++;
printf("a=%d,b=%d", a, b);
return0;
}

🎈说明:

上面的程序我给a,b两个变量赋初始值,进入if里判断a是否大于b,很明显a小于b,表达式的逻辑值为0,所以去执行else里的语句。


if语句的嵌套

看下面一段代码

#include<stdio.h>       intmain()
{   
inta, b;
a=5, b=6;
if(a<b)
if (a>b)
b++;
elsea++;
printf("a=%d,b=%d", a, b);
return0;
}

很明显,上面程序中有两个if,一个else,但记住这个else永远之和离他最近的if配对


那么上面程序的意思就是先执行判断if(a<b)如果满足则执行判断if(a>b),发现对于上面程序不满足那就执行else。


如果你问,如果第一个if我就不满足呢?那就不执行,因为没有写和第一个if配对的else。


多分支if语句

看下面一段代码

#include<stdio.h>       intmain()
{   
inta, b;
a=5, b=6;
if (a<b)
b=b+3;
elseif (a>b)
b++;
elsea++;
printf("a=%d,b=%d", a, b);
return0;
}

执行流程:

先判断a是否小于b(a<b),如果逻辑值为1则执行b=b+3;

如果()内逻辑值不为1则往下执行判断a是否大于b。如果逻辑值为1则执行b++;

如果都不满足就执行else里的a++;


switch语句

格式

switch(表达式)

{

 case 常量表达式1:语句1;break;

 case 常量表达式2:语句2;break;

 ......

 case 常量表达式n:语句n;break;

 default:语句n+1;break;

}

✔执行流程

表达式的值=常量表达式1的值,执行语句1,然后break跳出switch语句

表达式的值=常量表达式2的值,执行语句2,然后break跳出switch语句

表达式的值=常量表达式n的值,执行语句n,然后break跳出switch语句

其他情况,执行语句n+1,然后break跳出switch语句


Q:如果不写break会怎样?

A:比如你1里面没写break,那么如果执行了语句1之后他会继续执行语句2,直到见到break,如果一直没碰到break那么他会执行完下面的所有语句。


Q:不写default可以吗?

A:当然可以,不写的话,当程序执行完switch后面的表达式,找不到对应的case语句时,他自动退出switch,执行下面的程序

目录
相关文章
|
2月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
78 5
|
2月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
71 2
|
22天前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
76 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
1月前
|
存储 搜索推荐 算法
【数据结构】树型结构详解 + 堆的实现(c语言)(附源码)
本文介绍了树和二叉树的基本概念及结构,重点讲解了堆这一重要的数据结构。堆是一种特殊的完全二叉树,常用于实现优先队列和高效的排序算法(如堆排序)。文章详细描述了堆的性质、存储方式及其实现方法,包括插入、删除和取堆顶数据等操作的具体实现。通过这些内容,读者可以全面了解堆的原理和应用。
87 16
|
2月前
|
C语言
【c语言】分支语句
C语言通过三种基本结构——顺序、选择和循环,构建复杂的程序逻辑。本文主要介绍了C语言的选择结构,即if-else语句及其变体,包括简单的if语句、if-else组合、else if多分支判断、嵌套if以及解决悬空else问题的方法。此外,还详细讲解了逻辑运算符和关系运算符的使用,以及如何利用条件操作符简化逻辑判断。最后,文章对比了if-else与switch语句在实现多分支逻辑时的应用,并解释了switch语句中的break和default关键字的作用。
37 8
|
2月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
37 1
|
2月前
|
编译器 C语言 Python
C语言结构
C语言结构
19 0
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
20 0
|
2月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
C语言
C语言及程序设计初步例程-7 分支结构程序体验
贺老师教学链接  C语言及程序设计初步 本课讲解 例:给两个数,求两数中的大者(双分支) #include &lt;stdio.h&gt; int main( ) { int a,b,c; scanf("%d %d", &amp;a, &amp;b); if(a&gt;b) { c=a; //if语句,如果a&gt;b,则将a的值赋给c
948 0