C语言分支与循环学习总结

本文详细介绍了C语言中的分支结构(if,ifelse,elseif,switchcase)以及循环结构(for,while,do-while),通过实例演示了如何运用这些结构实现逻辑控制和重复执行任务。

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

一、分支结构

1.if、if else、else if

1.1 if 单分支

if 的语法形式:
if (表达式)
{
执行内容;
}

表达式为真时,执行if里面的语句,为假则不执行。
例子:

int main()
{
	int a = 1;
	int b = 100;
	if(a > b)
	{
		printf("我是猪");
	}
}

由于这里的a > b是, 1 > 100,为假,则不执行if里的语句
运行结果如下:

在这里插入图片描述

int main()
{
	int a = 1;
	int b = 100;
	if(a < b)
	{
		printf("我是猪");
	}
}

由于a < b.为1 < 100.为真,则执行if里的语句,打印“我是猪”。
运行结果:
在这里插入图片描述

1.2 if else

上面的只有 if 单个是没办法进行更多的分支的,可以配上else
语法形式是:
在这里插入图片描述

当 if中的表达式为假时,则执行else中的语句
输入两个值,若a > b.则打印“我是猪”。反之打印“你是猪”。

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	if (a > b)
	{
		printf("我是猪");
	}
	else
	{
		printf("你是猪");
	}
	return 0;
}

运行结果如下,分别是a > b的结果(图一)和a < b的结果(图二)
图一
(图一)

在这里插入图片描述
(图二)

1.3 else if多分枝

if else仅仅只有两个支,若想要更多的分只就可以在 if 与else之间插入else if 来用更多的分支
语法形式:
if(表达式1)
{
语句;
}
else if(表达式2)
{
语句;
}
else if (表达式3)
{
语句;
}
else
{
语句;
}

这里中间只用了两个else if ,如果需要可以用更多。
使用原理,如果表达式为真,则执行if里的语句。为假则去下一条判断。
例子:输入两个数,若a > b. 打印“你是猪”。若a < b,打印“我是猪”。若a = b.打印“我们都是猪”

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	if (a > b)
	{
		printf("你是猪");
	}
	else if (a < b)
	{
		printf("我是猪");
	}
	else
	{
		printf("我们都是猪");
	}
	return 0;
}

运行结果如下,分别是a > b(图一)、a < b(图二)、a =b(图三)
在这里插入图片描述
(图一)
在这里插入图片描述
(图二)
在这里插入图片描述
(图三)

2.switch case

语法形式:
在这里插入图片描述
先从表达式中得到一个结果,用这个结果和case中的常量表达式进行对比,若相同则执行语句,不相同则继续对比。default是如果没有一个常量的常量表达式与switch(表达式)中的表达式的结果相同的话,执行default语句
例子:输入1-7,分别打印对应的星期几,若输入1-7以外的数字则打印“输入错误”

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期一");
		break;
	case 2:
		printf("星期二");
		break;
	case 3:
		printf("星期三");
		break;
	case 4:
		printf("星期四");
		break;
	case 5:
		printf("星期五");
		break;
	case 6:
		printf("星期六");
		break;
	case 7:
		printf("星期天");
		break;
	default:
		printf("输入错误");
	}
	return 0;
}

运行结果如下,分别是3(图一) 4(图二) 100(图三)的结果
在这里插入图片描述
(图一)
在这里插入图片描述
(图二)
在这里插入图片描述
(图三)

二、循环结构

1、for循环

for循环的语法形式:

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

{

循环体;

}

表达式1是给循环变量设置初始值。

表达式2是判断循环条件

表达式3起着调整循环变量的作用。

例子:

int main()
{
	int i = 0;
	for (i = 1; i < 5; i++)
	{
		printf("我是猪\n");
	}
	return 0;
}

首先我们给循环变量设置初始值i = 1;
注:这里的设置初始值在for循环里只会执行一次
然后此时初始值i = 1;会与循环条件 i < 5;开始判断。
此时的 i 的值为1,而条件为 i < 5;满足条件。开始第一次循环
此时开时执行循环体的内容printf(“我是猪”);开始打印我是猪。
打印完我是猪这条语句后,回到表达式3,执行 i++;(i = i +1的意思)进行对循环变量的调整。执行完 i++;后。开始第二次循环,执行i++;此时的i为2,重新与循环条件i < 5;进行判断满足条件,开始第二次循环。再次执行循环体里的语句,打印“我是猪”
第三次同理。当第四次循环开始时i =4.与条件判断,满足条件进行第四次循环。第五次循环开始后,执行i++;此时 i = 5,与循环条件i < 5 进行判断,不满足循环条件,此时退出循环。
所以总共打印4次“我是猪”。
运行结果如下:
在这里插入图片描述

2.while循环

while 循环的语法形式:
while (表达式)
{
循环体;
}
while循环能不能执行是看()里的内容是真还是假。为假(0为假),则不进行循环。若为真(非0为真),则执行循环。
这里以打印4次“我是猪”为例子

int main()
{
	while (0)
	{
		printf("我是猪");
	}
	return 0;
}

首先判断条件是否为真,此时括号里的值为0,为假,即不会进行循环 。
运行结果如下:
在这里插入图片描述

int main()
{
	while (1)
	{
		printf("我是猪");
	}
	return 0;
}

而这里括号的内容为非0;为真,则开始循环
运行结果如下:
在这里插入图片描述
用while循环打印3次“我是猪”

	int main()
	{
		int i = 0;
		while (i < 3)
		{
			printf("我是猪\n");
			i++;
		}
	}

首先判断括号里是否为真,此时i=0,判断条件为i < 3。满足条件,开始第一次循环,打印“我是猪”,然后执行i++;第一次循环后,i= 1。继续判断,满足条件。第二次循环结束后i= 2。满足条件,开始第三次循环。执行完后,此时i = 3.再次与循环条件i < 3进行判断。不满足条件,循环结束。
运行结果如下:
在这里插入图片描述

3、do while循环

do while循环的语法形式:
do
{
循环体;
}
while (表达式);
do while循环无论怎么样会先进行一次循环体,随后在根据表达式判断是否为真,再决定是否循环
以打印“我是猪”为例

int main()
{
	do 
	{
		printf("我是猪\n");	
	}
	while(0);
	return 0;
}

do while循环首先执行循环体里的内容,打印“我是猪”。然后在判断循环条件是否为真。这里的表达式时0,为假,则不进行循环。
运行结果如下:
在这里插入图片描述

int main()
{
	do 
	{
		printf("我是猪");	
	}
	while(1);
	return 0;
}

现打印一次“我是猪”。然后在判断循环条件是否为真。这里的表达式时1,为真,则进行循环。一直循环打印“我是猪”
运行结果如下:
在这里插入图片描述
用do while循环打印3次“我是猪”。

int main()
{	
	int i = 0;
	do
	{
		printf("我是猪\n");
		i++;
	}
	while (i < 3)
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值