admin管理员组

文章数量:1794759

C语言—分支与循环(下)

1. While循环

C语言提供了3中循环语句,while为其中的一种。 while的语法结构和 if 语句非常相似。

1.1 if 和 while 的对比

代码语言:javascript代码运行次数:0运行复制
if(表达式)
    语句;


while(表达式)
    语句;//如果循环体想包含更多的语句,可以加上大括号 

1.2 while循环的执行流程

在这里插入图片描述

首先上来就是对表达式的判断,表达式的值为0,循环直接结束。表达式的值不为0,则执行循环语句,语句执行完再上来进行表达式判断。

1.3 while 循环的实践

在屏幕上打印1~10的值。

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	//i是循环变量
	int i = 1;//初始化
	while (i <= 10)//判断
	{ 
		printf("%d ",i);
		i++;//调整
	}
	return 0;
}

输入一个正整数逆序打印每一位 比如输入 1234 打印 4321

分析: 1234要想得到4 只需 1234 % 10就可以。 然后我们就不需要4了,1234/10 得到123。 同理123想要得到3 只需123 % 10就可以。 以此类推。

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d",&n);
	while (n)
	{
		printf("%d ",n % 10);
		n = n / 10;

	}
	return 0;
}

2. for循环

while循环中,如果循环体内的语句过多 初始化,调整,判断 就会越离散。而 for 循环将初始化,调整,判断三部分放在了一起。

2.1 for 循环的语法形式

代码语言:javascript代码运行次数:0运行复制
for(表达式1;表达式2;表达式3)
	语句;//如果循环体想包含更多的语句,需加上大括号

表达式1 用于循环变量的初始化 表达式2 用于循环结束条件的判断 表达式3 用于循环变量的调整

执行顺序

在这里插入图片描述

2.2 for 循环的执行流程

在这里插入图片描述

2.3 for 循环的实践

在屏幕上打印1~100所有3的倍数的和

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int sum = 0;
	for (int i = 1; i <= 100; i++)
	{
		if (i % 3 == 0)
		{
			sum = sum + i;
         }
	}
    printf("%d",sum);
	return 0;
}

3. do—while循环

3.1 语法形式

代码语言:javascript代码运行次数:0运行复制
do
	语句;
while(表达式);

3.2 do—while循环的流程图

在这里插入图片描述

3.3 do—while循环的实践

(1)在屏幕上打印1~3

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int i = 1;
	do
	{ 
		printf("%d ", i);
		i++;
		
	} while (i <= 10);

	return 0;
}

特点: 循环体至少执行一次

(2)输入一个正整数,计算这个数字为几位数

要想计算一个正整数为几位,我们可以除以十去掉一位,当最后变成0时,说明所有位已经除掉。引入一个计数变量0,每除一次+1,最终就会计算出这个正整数的位数。

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d",&n);
	int count = 0;//计数变量
	do
	{
	    count++;
	    n = n / 10;

	} while (n);
	printf("%d",count);
	return 0;
}

4. break和continue语句

代码语言:javascript代码运行次数:0运行复制
break的作用是永久终止循环,只要breaak执行,就会直接跳出循环,继续往后执行。
代码语言:javascript代码运行次数:0运行复制
continue的作用是跳过本次循环continue后边的代码,在for循环和while循环中有所差异。

4.1 while 循环中的break和continue

4.1.1 break举例
代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;

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

	return 0;
}

屏幕上只打印1~4

4.1.2continue举例
代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;

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

	return 0;
}

屏幕上也打印1~4 原因是continue跳过了continue后的代码,直接又来到判断部分。由于5一直等于5,所以只打印1~4。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-03-17,如有侵权请联系 cloudcommunity@tencent 删除return变量实践语法int

本文标签: C语言分支与循环(下)