小白总结C语言分支与循环语句的实现以及相关注意事项(仅仅代表个人意见与看法)

本文详细介绍了C语言中的if、switch分支结构,包括嵌套使用方法,以及while、for、dowhile循环语句的用法、嵌套和注意事项。同时提到了break和continue的关键字用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 分支语句

C语言中可以利用if和switch语句,来实现分支结构,也就是我们C语言的选择结构。

1.1 if语句

当我们需要经过某些条件来判断语句是否执行时,可以用if(具体条件的表达式),后加上语句来进行处理,表达式为真则执行。如下图1使用if语句判断输入的数是否能被五整除,能则打印出“YES”:

图1

1.2 else的用法

如果if中的条件表达式不满足,则可以使用else来表示if表达式不满足条件时,所执行的其他语句,也如图1中,若不能被5整除,则会打印“NO”。

1.3 if多条语句以及嵌套情况

1.3.1 if包含了多条语句

在实际使用if来进行语句执行时,我们往往会遇到需要执行多条语句的情况,然而值得注意的是,我们的if与else语句在执行中,默认是只能控制执行一条语句,所以,我们在实际操作中如果想要执行多条语句,就需要利用“{  }”来将我们所要执行的多条语句放在一起,例如图2:

                   图2                 

我们可以从图2中看到在if(a>b)的条件下加入"{ }"就放入了多条语句。

1.3.2 if的嵌套

从图2,我们不仅可以if能包含多条语句,还能看出if语句里面可以对if与else语句进行嵌套的操作,当我们满足了第一个if的条件时,如果在第一个条件的基础下,也有不同的条件,例如在(a>b)z中,还分为了其他三种情况,所以我们在其中又利用了if与else来进行处理,这就是嵌套。

我们还可以发现的是图2中使用了许多else if的操作,实际上else if中的if是被嵌套在else语句中的,只是为了表达地更为简洁,所以才采用了else if来替代了用多个"{ }"来进行嵌套处理的操作。

1.4 switch语句

为了代替使用多个else if来进行分支,我们还可以利用switch语句来进行分支得到更易读的选择结构。switch语句的实现为switch(表达式),根据表达式后的结果n,执行case value n :后的表达式,并在每个case中加入break来跳出循环,若n的值不属于任何一个case,则执行default语句。具体的案例如下代码,判断输入的数为奇数或者偶数,余数为1为奇数,0为偶数,或输入错误。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int m = 0;
	scanf("%d", &m);
	switch(m % 2)
	{
		case 1:
			printf("奇数");
			break;
		case 0:
			printf("偶数");
			break;
		default:
			printf("输入错误,请输入数字");
			break;
	}
	return 0;
}

1.5 if语句与switch语句的注意事项

第一,无论是if,else,还是switch以及后面的循环语句,首先这些关键字加上表达式后,不用加分号,只有大括号里面的语句才加入“;”。

第二,一般情况下else与离他最近的if相匹配(else if中的else是与前面的if相匹配而不是else if中的if),如果不想和最近的匹配,则需要加入大括号,分成不同的代码块,使得不是最近的也能匹配到,比如上面图2中的else if(a>c)中的else,它就会与上面的else if(a>b)相互匹配,表达的就是当a>c不成立时且a>b的情况。

第三,switch中的条件表达式必须为整形表达式,而case中的value必须为整形常量表达式,且case与后面的value之间一定要有空格。

第四,当case value中没有break,则不会跳出,而会继续执行下面的case代码,直至break。

2.循环语句

循环语句能实现C语言中的循环结构,使用到的语句包括while语句,for语句,do while语句。

2.1 while语句

while语句的表达就是while(条件表达式),再加语句,与if类似,但如果条件为假,则会跳出while循环,例如在上文代码的基础上,我们加入while语句,就可以实现循环输入的判断奇偶数,如下代码,因为加入了while,所以可以再次进行输入进行判断。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int m = 0;
	while (scanf("%d", &m)!=EOF)
	{
		switch (m % 2)
		{
		case 1:
			printf("奇数");
			break;
		case 0:
			printf("偶数");
			break;
		default:
			printf("输入错误,请输入数字");
			break;
		}
	}
	return 0;
}

2.2 for语句

for语句的使用是三大循环中最常用的,是因为for不仅可以直接在表达式中就进行了初始化,而且其表达式中也包括了对变量的一个调整。其结构是for(表达式1;表达式2;表达式3)再跟语句,表达式1代表1初始化,表达式2是条件的判断,表达式3是调整,见下图3例子,通过for循环打印出0到100之间是3倍数的整数。

 图3

2.3 do while语句

do while语句类似于while语句,其区别在于其结构是do加语句,再跟while加(条件表达式),也就是说都do while语句是先执行语句再进行条件的判断。例子如下代码,打印出1-10的数字。

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

	return 0;
}

2.4 循环语句的嵌套

类似于前文中的分支语句,循环语句通过加“{ }”的方式也能进行嵌套,如下图4案例,打印出100-200的质数。

图4

从图4看出,我们利用了两个for语句进行了嵌套,其中还穿插了if语句的使用。

2.5 循环语句注意事项

第一,在for循环中,初始化部分只会执行一次。

第二,for循环中的调整表达式,会在for中语句执行完后,再进行调整,具体顺序为表达式1,表达式2,执行语句,最后才是表达式3,也就是我们的调整表达式。

第三,while与 do while最大的区别在于,do while中的循环体至少会执行一次,但do while在实际情况中使用的机会确实要相对少一些。

第四,其实还包括goto语句可以跳转到指定标记进行循环,具体用法为“goto 标记名:“”,“标记名:语句”,不过用得很少。

3.break与continue

第一,break的用法是完全跳出当前代码块的循环,也就是只会跳出当前“{ }”中的循环,所以实际操作中要注意在不同的位置加上break来跳出循环。

第二,continue的用法是停止这一次的循环体的进行,也就是不再执行之后的循环体代码,然后再进入循环之中,不会跳出当前循环。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值