C语言分支和循环语句(入门版)

本文详细介绍了C语言中的顺序、分支(if-else,switch)、循环(while,for,do-while)结构,包括它们的语法和应用场景,以及break和continue语句的使用。

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

C语言是结构化的程序设计语言,它主要的结构包括顺序,分支,循坏结构。

1.顺序结构

顺序结构顾名思义就是按顺序执行,一步一步的往下执行,是C语言中最普遍的一种结构,比较简单,相信大家都能够理解。

2.分支结构

分支结构表示做一件任务有不同的选择,我们具备什么样的能力,达到什么样的条件就做出与之对应的选择。那么,在C语言中,分支结构该怎么实现呢?

2.1:if语句

在C语言中可以用i语句来实现分支结构。它的语法形式如下:

if(表达式)

语句;

如果表达式为真,则语句执行,如表达式为假,则语句不执行。注:C语言中0表示假,1表示真,if语句中,非零即为真。

2..2:else语句

if else语句一般是一起使用的,else语句一般表示与if语句相反的情况 。例如输入一个整数,并判断是奇数还是偶数。代码如下:

#include<stdio.h>
int main()
{
int num = 0;
scanf("%d\n",&num);
if(num%2==0)
{
printf("%d是偶数\n",num);
}
else
{
printf("%d是奇数\n",num);
}

return 0;
}

2.3:分支中包含多条语句

if和else语句一般默认控制一条语句,所以当if else中有多条语句要执行时,使用{}将这些语句放在一起,尽管if else只控制一条语句时,使用{}的形式有利于让你的程序更清晰,逻辑性强去,可读性更高,这是一种好的编程习惯。

2.4:嵌套if

在if else语句中,else可以与另一个if语句连用,形成多重判断。举个例子:输入一个整数,并判断

是正数还是负数,或者为零。代码如下:

#include<stdio.h>
int main()
{
int num = 0;
scanf("%d\n",&num);
if(num == 0)
{
printf("输入的整数为0“);
}
else if(num > 0)
{
printf("输入的整数为正数");

}
else
{

printf("输入的数为负数");
}
return 0;
}

此种结构能够实现更多复杂性的逻辑判断.

2.5:if else语句的匹配问题

如果有多个if和else,记住else总是跟它最接近的if匹配,初学者容易犯的小错误就是认为else是与它对齐的if进行匹配。 

3.分支结构中的switch语句

switch语句是C语言提供的另外一种实现分支结构的语句,它是一种特殊的if else语句结构,用来判断用多个选择时的情况,比嵌套if更加易用,可读。

3.1:switch语句的语法形式

switch(表达式)

{

case 0:

           语句;

            break;

case 1:

           语句;

            break;

case 1:

           语句;

            break;

default :

             语句;

              break;

}

在执行switch语句时,会根据switch中表达的值,然后执行相应的表达式语句,即case分支,如果找不到对应的值,就执行default分支。

注意:

1.switch语句中表达式的值必须是整形常量表达式

2.case后的值,也必须是整形常量表case

3.case和后面的数字之间必须有空格并且数字后面的符号是:不要写成;

4.每一个case语句中的代码执行完毕后,需要加上break,才能跳出这个switch语句,但是也要根据设计程序所要的要求,在相应位置加上break语句;

举个例子:输入一个1~7的数字,打印对应的星期几

1.输入1~5,输出的是工作日

2.输入6~7,输出的是休息日

3.若输入的不是1~7,则输入输入错误

代码如下

#include<stdio.h>
int main()
{
	int num = 0;
	scanf_s("%d\n", &num);
	switch (num)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
		break;
	default :
		printf("输入错误\n");
	}

	return 0;

}

最后,switch语句中的case和default语句是不分先后顺序的,不过由于编程习惯,一般把case语句放前面。

4.循环结构

循坏结构就是在满足一定条件下,重复的去做某一件事,直到不满足条件为止。在C语言中,使用for,while,do while语句来实现循坏结构。

4.1 while循坏

while语句的形式和if语句非常相似,它的语句语法形式如下:

while(表达式)

   语句;

}

当whlie语句中的表达式值为零时循坏结束,当表达式值不为零时,则一直重复循坏体中的语句,执行完毕后在进行判断。

举个例子:打印1~10之间的数。代码如下

int main()
{
int i = 1;
while(i<=10){

printf("%d ",i);
i++;
}
return 0;
}

4.2 for循坏

除while循坏外,for循坏也是实现循坏的一种语句,它的语法形式如下;

for(表达式1;表达式2;表达式3)

{

循坏体语句;

}

表达式1用来给循坏变量初始化;

表达式2用来判断,表示循坏是否结束;(判断为真,执行循环体语句,判断为假,跳过循坏)

表达式3用于循坏变量的调整;

举个例子:用while循坏中的例子用for循坏实现

int main()
{
int i = 0;
for(i=1;i<=10;i++)
{
printf("%d ",i);
}

return 0;
}

4.3 do while循坏

我们来看实现循环结构都最后一种语句形式,它在循环语句中一般用的最少,其语句语法形式如下

do{

循环体语句;

}whlie(表达式)

do while语句不像while和for循环一样,要先进行判断才进入循坏体语句;但是do while语句开始直接就进入循坏体语句,不管条件是否满足。再进行判断。

举个例子,还是打印1~10的数;

代码如下:

int main()
{
int i=1;
do{
printf("%d ",i);

}while(i<=10)
return 0;
}
5.break语句和continue语句

在C语言中,我们有时可能会遇到提前终止循环的情况,C语言中提供了break和continue语句来帮助我们提前中止循环。

5.1 break语句

break的作用是永久的终止循环,只要break执行,直接跳出循坏,继续往后执行。

break语句在循坏结构中的作用就是跳出循坏,在上述三个循环语句中基本没有任何区别,这里小编不在进行验证,请读者下来自行完成验证。小编为大家重点讲解continue语句在上述三个循环语句中的作用。

5.2 continue语句

continue语句的作用是跳过本次循环中continue后面的代码,继续下一次循坏的判断。

举个例子

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

此处continue语句跳过了i++语句,导致了i的值一种为5,给程序造成了死循坏。

  接下来我们看看for循坏中的continue语句如何,举个例子

此处for中的continue语句跳过了printf语句,但是由于i++在for循坏内,continue并没有跳过i++;i的值改变了,所以没有陷入死循坏,当i=5时,没有打印5.

do while循坏中的continue语句和while循坏中的基本一致,请读者下来自行验证。

今天的分享结束啦,希望对大家有帮助,不要忘记点赞哦。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值