IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C语言语言(2)--循环语句 -> 正文阅读

[数据结构与算法]C语言语言(2)--循环语句

? C语言语句的第二个版块——循环语句来了,友友们让我们一起来学习。

三?循环语句?

循环语句包括while循环、for循环、 do-while循环。其中do-while循环用的最少。

3.1?while循环

while循环的语法:

?代码展示:打印1-10

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

while循环步骤:

? 判断i=1是否<=10,成立后进入while循环,打印i,i再加1赋值为2,此时i=2,判断i=2是否<=10,成立后进入while循环……直到i=11时,判断i是否<=10,不成立,出while循环,return 0,结束

3.1.1?while循环中的break和continue

break?介绍

代码展示:

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

?这个代码只能打印出1-4,当i=5的时候,进入break,break的作用是,终止循环。

总结:

break在while循环中的作用是:

? 只要循环中遇到break,就停止后期的所有循环,直接终止循环。所以while中的循环用于永久终止循环。

continue介绍

代码展示:

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

?这个代码可以打印1-4 6-10,i=5的时候,进入continue,continue的作用是中止本次循环,进入下一个while循环。

总结:

while循环中continue的作用是:

? continue用于终止本次循环,也就是本次循环中continue后的代码不会执行,而是直接跳到while语句判断部分,进行下一次循环的入口判断。

小贴士

(1)getchar和putchar是针对字符的scanf和printf。int ch = getchar();putchar(ch)? ? 相当于scanf("%s",&ch);printf("%s", ch)? ? 结束^z

(2)数组名本来就是地址,用scanf时,不用取地址符号&

3.2 for循环

for循环是我们用的最频繁的一种循环。

3.2.1 语法

for循环语法:

?for循环执行过程:表达式1——表达式2——循环语句——表达式3

代码展示:

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

打印结果:12345678910

代码执行过程:i赋值为0,进入for循环,执行表达式1,i赋值为1,执行表达式2,判断i=1是否小于等于10,成立,进入循环语句,输出1,执行表达式3,i加一赋值为2,进入表达式2,进行判断……直到i赋值为11,判断不成立,出for循环,return 0,结束。

3.2.2 for?循环中的break和continue

break

代码展示:

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

打印结果:1 2 3 4?

当代码执行到break时,跳出for循环。

continue

代码展示:

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

打印结果:1 2 3 4 6 7 8 9 10?

当i=5时,continue,跳过循环部分剩下的代码,也就是printf("%d ", i),去执行表达式3,i++,让i赋值为6,然后去执行剩下的操作。

?3.2.3 for语句的循环控制变量

建议for语句的循环控制变量的取值采用“前闭后开区间”写法

代码展示:

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("hehe\n");
	}
	return 0;
}

运行结果:

?这个代码中的10,具有一定的意义。10个hehe。

3.2.4?一些for循环的变种

代码1展示:

#include <stdio.h>
int main()
{
	for (;;)
	{
		printf("hehe\n");
	}
	return 0;
}

运行结果:hehe死循环

注意:(1)语句的初始化、判断、调整三个部分都可以省略。当然,?如果条件允许的话,不要省略这三个部分。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)中间的判断部分如果省略,意味着判断恒为真,就构成死循环了。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?代码2展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

打印结果:九个hehe

代码分析:(1)首先我们先分析第二个for循环,j=0时进入循环打印一个hehe,j=1时又进入一次,j=2时又进入一次,j=3时不小于3,出第二个for循环。则第二个for循环可以打印出3个hehe? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)把第二个for循环看做一个整体W,可以知道第一个for循环,可以打印3次W,那么就是9个hehe.

代码3展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (; i < 3; i++)
	{
		for (; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

运行结果:三个hehe

代码分析:i=0时进入循环,j=0,会打印3个hehe,循环结束后j=3,i=1和i=2进入时,j=3,无法进入第二个循环,所以就打印出三个hehe。

? 代码4展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 0, j = 0; j = 0; i++, j++)
	{
		printf("hehe\n");
	}
	return 0;
}

代码结果:(什么都没有)

代码分析:j=0,为判断语句,0为假,所以for循环不会执行。

3.3 do…while()循环

3.3.1 do while()循环

do ..while()语句语法:

?代码展示:

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

打印结果:1 2 3 4 5 6 7 8 9 10?

代码分析:i=1进入do while循环,先打印1,再i再加一,赋值为2,然后i=2与10比较,成立,继续打印。

do while循环至少执行一次,使用场景有限,不经常使用。

3.3.2 do while中的break和continue

break

代码展示:

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

打印结果:1 2 3 4?

continue?

代码展示:

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

打印结果:1 2 3 4?死循环

循环语句就到此结束了,希望友友们可以提出宝贵的的意见。

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:05:28  更:2021-11-16 19:06:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:56:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码