首页 > 其他分享 >c语言 循环篇(for,while)

c语言 循环篇(for,while)

时间:2024-08-11 16:54:52浏览次数:10  
标签:语句 do 语言 int while 循环 表达式

1. for循环

1.1 语法形式

for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:
1  for(表达式1; 表达式2; 表达式3) 2  { 3          语句; 4  }
表达式1 ⽤于循环变量的初始化。 表达式2 ⽤于循环结束条件的判断。 表达式3 ⽤于循环变量的调整。

 注意:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。

1.2  实例:

for循环语句的执行流程:⾸先执⾏表达式1初始化循环变量,接下来就是执⾏ 表达式2 的判断部分,表达式2 的结果如果 ==0,则循环结束; 表达式2 的结果如果!=0则执⾏循环语句,循环语句执⾏完后,再去执⾏表 达式 3 ,调整循环变量,然后再去 表达式2 的地⽅执⾏判断, 表达式2 的结果是否为0,决定循环是否继 续。 整个循环的过程中,表达式1初始化部分只被执⾏1次,剩下的就是表达式2、循环句、表达式3在循环。

例如:

#include<stdio.h>
//打印乘法口诀表
int main() {
	for (int i = 1; i < 10; i++) {
		for (int j = 1; j <= i; j++) {
			printf("%d*%d=%d\t", j, i, i*j);
		}
		printf("\n");
	}
	return 0;
}

运行结果,如图:

1.3 for循环中的break和continue

for 循环中的 break 是⽤于终⽌循环的,不管循环还需要循环多少次,只要执⾏到了 break ,循环就彻底终⽌,例如:
#include<stdio.h>
int main()
{
	int i = 1;
	for (i = 1; i <= 10; i++) 
	{
		if (i == 5)
			break;
		printf("%d ", i); 
	}
	return 0;
}
运行结果如下:

上⾯的代码,如果把 break 换成 continue 会是什么结果呢?

#include<stdio.h>
int main()
{
	int i = 1;
	for (i = 1; i <= 10; i++) 
	{
		if (i == 5)
			continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
		printf("%d ", i); 
	}
	return 0;
}

运行结果如下

所以在 for 循环中 continue 的作⽤是跳过本次循环continue 后的代码,直接去到循环的调整部分。未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤ continue来实现。 

2. while循环

1.1 语法形式

C语⾔提供了3种循环语句, while 就是其中⼀种,接下来就介绍⼀下 while 语句。

1  while( )

2  {

3  语句

4  }

2.2 实例

while语句的执行流程:⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语 句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。

例如:打印1~10.

#include<stdio.h>
int main()
{                     
	int i = 1;        //初始化
	while (i <= 10)   //判断部分
	{
		printf("%d\n", i);
		i++;          //循环变量的调整部分
	}
	return 0;
}

2.3 while 循环中的break和continue        

在while循环中,break用于永久终止循环,例如:

#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);   //只会输出:1 2 3 4 ,到5的时候就终止循环了
		i++;
	}
	return 0;
}
continue 是继续的意思,在循环中的作⽤就是跳过本次循环中 continue 后边的代码,继续进⾏下⼀次循环的判断。 上⾯的代码,如果把 break 换成 continue 会是什么结果呢?
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		//当i等于5后,就执⾏continue,直接跳过continue的代码,去循环的判断的地⽅
		//因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊和死循环
		printf("%d ", i); 
		i++;
	}
	return 0;
}

3. do while 循环

3.1 语法形式

1  do

2  {

3  语句;

4  } while (表达式);

while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

3.2 实例

do while语句的执行流程:在 do while 循环中先执⾏图上的“语句”,执⾏完语句,在去执⾏“判断表达式”,判断表达式的 结果是!=0,则继续循环,执⾏循环语句;判断表达式的结果==0,则循环结束。 所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。

例如:输出1~10。

#include<stdio.h>
int main()
{
	int i = 1;
	do {
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}
一般 do while 使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些。

3.3 do while 循环中的break和continue

do.while 语句中的 break 和 continue 的作⽤和 while 循环中⼏乎⼀模⼀样,⼤家可以自己体会一下。
//break
#include<stdio.h>
int main()
{
	int i = 1;
	do {
		if (i == 5) {
			break;
		}
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}
#include<stdio.h>
int main()
{
	int i = 1;
	do {
		if (i == 5) {
			continue;
		}
		printf("%d ",i);
		i++; //continue 语句被执行,导致 printf("%d ", i); 
		//和 i++; 这两行代码跳过。进而结束本次循环。
	} while (i <= 10);
	return 0;
}

祝大家生活愉快。

标签:语句,do,语言,int,while,循环,表达式
From: https://blog.csdn.net/2303_80645930/article/details/140912806

相关文章

  • 《C#面向语言版本编程》C# 13 中的新增功能
    将C#语言版本升级为预览版C#13包括一些新增功能。可以使用最新的VisualStudio2022版本或.NET9预览版SDK尝试这些功能。若想在.NET项目中尝试使用C#的最新预览版特性,可以按照以下步骤来升级你的项目语言版本:.打开项目文件:找到并打开您的.csproj项目文件。......
  • C语言之高级数据讲解
    目录1高级数据1.1结构1.2从数组到链表1.3抽象数据类型(ADT)1.3.1讲解1.3.2实践1.4队列ADT1.4.1讲解1.4.2用队列进行模拟1.5链表和数组1.6二叉查找树1.6.1讲解1.6.2实践1高级数据1.1结构在开始编写代码之前,要做很多程序设计方面的决定。数组表示相对不灵活,在运行......
  • 汇编语言第二章寄存器(笔记、习题及拓展知识)(王爽汇编语言第四版)
    一、寄存器基础知识​一个典型的CPU(此处讨论的不是某一具体的CPU)由运算器、控制器、寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。前一章所说的总线,相对于CPU内部来说是外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联......
  • 在线仿真平台+C语言实现:STM32驱动0.96寸OLED屏幕显示DHT11温湿度传感器测量值
    这里推荐一款由深圳航天科技创新研究院推出的在线电路仿真软件,该软件不仅具备原理图绘制与代码编写功能,还支持在线编译代码、上传自定义代码以及进行仿真模拟,此外还能在线生成并允许下载.bin和.hex文件。官网地址如下:Document进入网页后先注册一个账号。  注册完账号后即可......
  • Lua语言基础学习:安装Lua和Lua库管理工具
     Lua语言简介  Lua是一种轻量、高效、可嵌入的脚本语言,由巴西里约热内卢天主教大学的研究小组于1993年开发,Lua的解释器非常小巧,编译后的体积很小(如完整解释器不过200KB),这使得它非常适合嵌入到其他应用程序中。Lua的执行速度快,内存占用低,特别适用于需要高性能的应用场景,支......
  • 通信编码揭秘:(二)信道编码(汉明码、循环冗余校验码、里德所罗门码)与其应用
    通信编码揭秘:2.信道编码(汉明码、循环冗余校验码、里德所罗门码)与其应用摘要信道编码的目的是提高数据传输的可靠性,确保即使在噪声环境下传输的数据也能被正确接收。本文将探讨汉明码、循环冗余校验(CRC)和里德-所罗门码三种常见的信道编码方法,并通过实际例子说明它们的应用......
  • 与君初相识,犹如故人归(相遇c语言)
    标题:走进C语言的世界探索编程的奥秘1.什么是c语言2.main函数3.printf和库函数4.关键字介绍5.字符和ASCII编码6.字符串和\07.转义字符8.语句和语句分类9.注释是什么?为什么写注释?接下来让我们一起走进编程的入门一.中文是我们与人交流的方式(各种语言都......
  • visual studio code安装与C/C++语言运行
    VisualStudioCode(VSCode)安装与C/C++语言运行需要几个步骤,包括安装VSCode、配置C/C++环境以及安装必要的插件。以下是一个详细的步骤指南:1.安装VSCode访问官网:首先,前往VSCode的官方网站 VisualStudioCode-CodeEditing.Redefined 进行下载。下载并安装:选择......
  • C语言学习笔记 Day11(指针--下)
    Day11 内容梳理:目录Chapter7 指针7.6指针&函数(1)形参改变实参的值(2)字符数组作为函数参数1)合并字符串2)删掉字符串中空格(3)指针作为函数返回值Chapter7 指针7.6指针&函数(1)形参改变实参的值前文提到形参无法改变实参,但是通过使用指针就可以改变。因为在......
  • C语言进阶(6)
    1.结构体类型的声明和初始化结构体是一堆数据类型的集合体(与数组不同的是它可以是不同的数据类型)。结构体声明的是一个图纸,并不向内存申请空间,只有在设置变量的时候我们才进行划分空间给变量。结构体的变量数据类型可以理解成struct(结构体名),在初始化时我们就要牢记这个原则。......