C语言的分支与循环(醍醐灌顶般的理解)

认识C语言的分支与循环

C语言中规定有三大结构,分别为

  • 顺序结构
  • 选择结构
  • 循环结构

所谓顺序结构指的就是我们利用编译器写出的C语言代码按照从上往下的顺序执行,直到程序走完。今天我们着重学习一下C语言中的另外两个结构。

选择结构

选择结构由选择选择语句来执行,常见的选择语句有if语句、if else语句、if else if else语句、switch语句。

if语句
#include<stdio.h>
int main() 
{
	if (条件表达式) 
	{
		//执行语句;
	}
	else if (条件表达式)
	{
		//执行语句;
	}
	{
		//执行语句;
	}
		
	return 0;
}

代码解析:

当if中的条件满足时执行if下面的语句,如果条件不满足则会来判断下面else if中的条件是否满足,如果满足则执行,不满足则继续向下寻找有满足条件的语句,如果全都不满足,则执行最后else语句中的内容。被执行的语句可以是一条也可以是多条,执行多条语句时,必须使用{}来包括所有需要执行的语句,否则只执行第一条语句。

switch语句
#include<stdio.h>
int main()
{
	switch (条件表达式)
	{
		case 值:
			执行语句;

		break;
		case 值:
			执行语句;

		break;
		default:
			执行语句;

	}
	return 0;
}

代码解析:

switch是除去if语句外另一种分支语句,它⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。当case后面的值满足最上方switch中的条件表达式时,直接执行case下方的语句,当所有case都不符合条件时执行dafault中的内容,但有一点需要注意,break关键字不能丢,break是跳出的意思,当某个case里的值符合条件时,执行完语句,遇见break直接跳出switch语句,不在执行下面的case语句。否则代码会继续玩下执⾏,有可能执⾏其他 case语句中的代码,直到遇到 break 语句或者 switch 语句结束。

循环结构

循环结构则是由循环语句执行,一般常见的循环语句有while语句、do while语句、for语句。

while语句
//打印0 - 100的数字
#include<stdio.h>
int main()
{
	int  i = 0; //表达式1
	while (i <= 100) {//表达式2
		printf("%d ", i);//执行语句
		i++;//表达式3
		
	}
	return 0;
}

代码解析:

首先我们来把while循环分为三大板块,第一大板块是上图代码达式1中循环变量的初始化,第二大板块是表达式2中循环结束条件的判断,第三大板块则是表达式3中循环变量的调整。当循环变量的值满足表达式2中的条件时执行循环中写入的条件,接着向下执行表达式3中的变量调整,当调整后的循环变量仍满足表达式2中的条件时继续执行一次,接着比较,接着执行,如此往复,直到当循环变量不满足表达式内容时,跳出循环,程序执行完毕。注:表达式3中循环变量的调整,既可以写在执行语句的前面,也可以写在其后面,写的位置不同,代码执行的循序会改变,程序的结果也会发生改变,当然具体放在前后,根据实际情况来定。下面放上一张流程图方便大家理解,执行过程

流程图

do whlie语句
//打印0 - 100的数字
#include<stdio.h>
int main()
{
	int  i = 0; //表达式1
	do 
	{
		printf("%d ", i);
		i++;//表达式3

	} while (i <= 100);//表达式2
	
	return 0;
}

代码解析:

while 循环是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环。⽽ do while 循环则是经过表达式1的初始化后,直接进⼊循环体,执⾏循环语句,然后再通过表达式3来调整循变量来看是否满足 while 后的表达式2,如果表达式满足,就会进⾏下⼀次循环,如果表达式不满足,则不再继续循环。与while循环唯一的区别就是第一次循环执行语句不管满不满足表达式2中的条件,至少都会执行一遍。

流程图

for循环

#include <stdio.h>
int main()
{		
	for (变量的初始化;条件表达式;变量的调整)
	{
		//执行语句;
	}
	return 0;
}

代码解析:

⾸先执⾏ 表达式1 初始化循环变量,接下来就是执⾏ 表达式2 的条件表达式部分, 表达式2 的结果如果==0,即条件不满足,则循环结束; 表达式2 的结果如果!=0条件满足则执⾏循环语句,循环语句执⾏完后,再去执⾏表 达式3 ,调整循环变量,然后再去 表达式2 的地⽅判断条件是否满足,表达式2 的结果是否为0,来决定循环是否继续。for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,相比while循环,for循环在代码结构上表现的更为紧凑,代码简洁,可读性更高, 便于代码的维护,但在代码较多的时while 循环的三个部分就⽐较分散,所以从形式上 for 循环要更优⼀些。

流程图

continue和break关键字

break 的作⽤是⽤于跳出整个循环,只要 break 被执⾏,直接就会跳出整个循环语句,循环终止,不在继续往后执⾏。
continue 的作⽤是跳过本次循环, 当continue 执行后,当遇到本次特定条件的循环时将不执行,而去执行后面的循环语句,直到循环结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值