【精通C语言】:深入解析C语言中的while循环

news2024/9/27 23:25:25
个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : C语言详解
🌄 莫道桑榆晚,为霞尚满天!

文章目录

  • 📑前言
  • 一、while循环
    • 1.1语法
    • 1.2 执行过程解析
    • 1.3 break
    • 1.4 continue
  • 🌤️全篇总结

在这里插入图片描述

📑前言

在C语言编程中,循环结构是非常重要的,它可以让程序反复执行某段代码,实现重复性的任务。而while循环作为一种常见的循环结构,在实际开发中经常被使用。本文将深入探讨while循环的语法结构、执行过程以及breakcontinue关键字的作用,帮助读者更好地理解和运用while循环。

一、while循环

由于我们需要程序帮我循环往复的干一件事情,我们需要怎么来写呢?

1.1语法

C语言中引入了 while 语句,可以实现循环。

//while 语法结构

while(表达式)
	循环语句;

1.2 执行过程解析

while语句执行的流程:

image-20240106124411092

这个图可能不太直观的了解,下面用段代码来演示:

//在屏幕打印1-10的数字
#include <stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		printf("%d ", i);
		i = i+1;
	}
	return 0;
}

定义整型变量i并赋值为1。然后进入while循环,条件是i小于等于10。在循环体内部,使用printf函数打印出i的值,然后将i的值加1。循环会一直执行直到i的值大于10,当i大于10的时候,while循环就会终止。

1.3 break

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

变量i赋值为1。然后进入while循环,条件是i小于等于10。在循环体内部,首先有一个if语句判断i是否等于5,如果是,则执行break语句跳出循环。如果i不等于5,则使用printf函数打印出i的值,然后将i的值加1。循环会一直执行直到i的值等于5,此时跳出while循环。

代码输出结果:1 2 3 4

总结:

break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。

1.4 continue

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

代码输出:1 2 3 4

这段代码其实是有问题的,当i等于5时,continue语句会导致循环直接跳到下一次迭代,而不会执行printf语句和递增i的操作。这样会导致i永远等于5,因此会陷入死循环。

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

代码输出:2 3 4 6 7 8 9 10

当i等于5时,continue语句会导致循环直接跳到下一次迭代,而不会执行printf语句。因此,这段代码会打印出2,3,4,6,7,8,9,10。当i等于5时,由于continue语句,printf语句不会执行,然后i会递增,继续执行循环,直到i等于10,循环结束。

总结:
continue在while循环中的作用就是:

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

🌤️全篇总结

本文深入了解了C语言中while循环的语法结构和执行过程,以及breakcontinue关键字的作用。同时,通过代码实例的演示和分析,可以更清晰地理解while循环的使用方法,以及如何利用breakcontinue来控制循环流程。希望本文能够对小伙伴们对掌握while循环,提高编程效率有所帮助。

C语言结尾图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1364007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java SSM框架实现旅游资源网站系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现旅游资源网站系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个旅游资源网站 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述旅…

Windows server——部署DHCP服务(2)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.配置DHCP服务 1.DHCP安装的要求 安装DHCP服务器需要满足如下要求&#…

springboot第47集:【思维导图】面向对象,关键字,标识符,变量,数组的使用...

关键字&#xff1a;class,public,static,void等&#xff0c;特点是全部关键字都是小写字母。 image.png image.png 凡是自己起的名字可以叫标识符 image.png image.png image.png image.png 整数类型的使用 image.png image.png image.png 浮点类型 image.png image.png 字符类…

iPhone 恢复出厂设置后如何恢复数据

如果您在 iPhone 上执行了恢复出厂设置&#xff0c;您会发现所有旧数据都被清除了。这对于清理混乱和提高设备性能非常有用&#xff0c;但如果您忘记保存重要文件&#xff0c;那就是坏消息了。 恢复出厂设置后可以恢复数据吗&#xff1f;是的&#xff01;幸运的是&#xff0c;…

八大算法排序@冒泡排序(C语言版本)

冒泡排序 概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单直观的排序算法&#xff0c;它重复地遍历待排序序列&#xff0c;一次比较两个相邻的元素&#xff0c;如果它们的顺序错误就将它们交换过来。通过多次的遍历&#xff0c;使得最大的元素逐渐移动到待排序序…

使用monai.visualize.utils.matshow3d函数展示3D医学图像

monai.visualize.utils.matshow3d 函数是 MONAI 包中用于可视化 3D 图像数据的一个实用工具函数。它可以在平面中显示一个或多个3D图像&#xff0c;并提供一些参数来控制显示的方式和外观。 先导入需要的包 import numpy as np import matplotlib.pyplot as plt from monai.v…

C#,入门教程(10)——常量、变量与命名规则的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素&#xff0c;称为“变量”。 其中一般不改变初值的变量&#xff0c;称为常变量&#xff0c;简称“常量”。 无论…

阿里云服务器地域怎么选择?2024地域选择方法

阿里云服务器地域和可用区怎么选择&#xff1f;地域是指云服务器所在物理数据中心的位置&#xff0c;地域选择就近选择&#xff0c;访客距离地域所在城市越近网络延迟越低&#xff0c;速度就越快&#xff1b;可用区是指同一个地域下&#xff0c;网络和电力相互独立的区域&#…

FineBI实战项目一(3):Kettle实现ETL到数据仓库

目前&#xff0c;finebi_shop_bi 中是没有任何数据的&#xff0c;是一个空的数据库。而后续我们的所有数据分析都将在该数据库中进行。我们第一件事情就是要将 「finebi_shop」数据库中的所有表抽取到「finebi_shop_bi」数据库中。要抽取并装载数据到「finebi_shop_bi」中&…

Redisson 源码解析 - 分布式锁实现过程

一、Redisson 分布式锁源码解析 Redisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上&#xff0c;充分的利用了Redis键值数据库提供的一系列优势&#xff0c;在Java实用工具包中常用接口的基础上&#xff0c;为使用者提供了一系列具有分布式特性的常…

查看网络信息的原初 ifconfig

文章目录 查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡更多信息 查看网络信息的原初 ifconfig Linux ifconfig命令用于显示或设置网络设备&#xff0c;在调试或调优的时间经常使用。 官方定义为&#xff1a; ifconfig - configure a…

19道ElasticSearch面试题(很全)

1. elasticsearch的一些调优手段 1、设计阶段调优 &#xff08;1&#xff09;根据业务增量需求&#xff0c;采取基于日期模板创建索引&#xff0c;通过 roll over API 滚动索引&#xff1b; &#xff08;2&#xff09;使用别名进行索引管理&#xff1b; &#xff08;3&…

linux中最常用的网络命令

文章目录 linux中最常用的网络命令查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡 网络中不中&#xff0c;先看ping行不行语法不加任何参数发送指定数目设定发送时间间隔组合使用 Linux ip命令显示网络设备设置IP地址启动关闭网卡统计方…

如何使用 CMake 生成一个静态库

文章目录 tutorial_3/CMakeLists.txttutorial_3/src/CMakeLists.txtcmake_tutorial/tutorial_3/src/hello.cpptutorial_3/src/hello.h根目录的 CMakeLists.txtsrc 目录的 CMakeLists.txthello.cpp 和 hello.h构建过程总结 tutorial_3/CMakeLists.txt cmake_minimum_required(V…

【AI视野·今日Robot 机器人论文速览 第六十七期】Mon, 1 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 1 Jan 2024 Totally 16 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers MURP: Multi-Agent Ultra-Wideband Relative Pose Estimation with Constrained Communications in 3D Environments Authors A…

leetcode算法题之递归--综合练习(一)

此专题对我们之前所学的关于递归的内容进行一个整合&#xff0c;大家可以自行练习&#xff0c;提升自己的编码能力。 本章目录 1.找出所有子集的异或总和在求和2.全排列II3.电话号码的字母组合4.括号生成5.组合6.目标和7.组合总和8.字母大小写全排列9.优美的排列 1.找出所有子…

【信息论与编码】习题-判断题-第二部分

目录 判断题 第二部分24. 信道矩阵 代表的信道的信道容量C125. 信源熵具有严格的下凸性。26. 率失真函数对允许的平均失真度具有上凸性。27. 信道编码定理是一个理想编码的存在性定理&#xff0c;即&#xff1a;信道无失真传递信息的条件是信息率小于信道容量 。28. 信道的输出…

在Ubuntu22.04上安装WordPress

WordPress是当今最简单、最强大的博客和网站建设工具。据统计全球大约有40% 以上网站是使用WordPress&#xff0c;这是个巨大的数字也侧面证明了WordPress的强大和普遍性。因此&#xff0c;如果你正在寻找一款高效、实用、可靠的CMS工具来构建网站&#xff0c;那么WordPress无疑…

【强化学习的数学原理-赵世钰】课程笔记(六)随机近似与随机梯度下降

目录 一.内容概述 二.激励性实例&#xff08;Motivating examples&#xff09; 三.Robbins-Monro 算法&#xff08;RM 算法&#xff09;&#xff1a; 1.算法描述 2.说明性实例&#xff08;llustrative examples&#xff09; 3.收敛性分析&#xff08;Convergence analysi…

MySQL数据库主从复制和读写分离

目录 一、MySQL主从复制和读写分离理论 &#xff08;一&#xff09;读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.读写分离原理 5.常见MySQL 读写分离 &#xff08;1&#xff09;基于程序代码内部实现 &#xff08;2&#xff09;基于中间代理…