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

个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : 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.mzph.cn/news/601813.shtml

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

相关文章

jquery图形验证码

效果展示 js图形随机验证码&#xff08;表单验证&#xff09; html代码片段 <form class"formwrap"><div class"item"><input type"text" id"code_input" value"" placeholder"请输入验证码"/>…

macOS跨进程通信: FIFO(有名管道) 创建实例

一&#xff1a; 简介 在类linux系统中管道分为有名管道和匿名管道。两者都能单方向的跨进程通信。 匿名管道&#xff08;pipe&#xff09;: 必须是父子进程之间&#xff0c;而且子进程只能由父进程fork() 出来的&#xff0c;才能继承父进程的管道句柄&#xff0c;一般mac 开发…

(05)沉积——“更小、更多”,微细化的关键

01、沉积:“加法工艺” 在前几篇文章,我们一直在借用饼干烘焙过程来形象地说明半导体制程。在上一篇我们说到,为制作巧克力夹心,需通过“刻蚀工艺”挖出饼干的中间部分,然后倒入巧克力糖浆,再盖上一层饼干层。“倒入巧克力糖浆”和“盖上饼干层”的过程在半导体制程中就…

玩转爱斯维尔 LaTeX 模板:定制技巧一网打尽!

简介 关于 LaTeX 小编写过一些推文&#xff1a; 适合撰写课程论文的 LaTeX 模板; LaTeX 常用数学符号汇总; 免费升级 overleaf 高级账户&#xff01;; 如何下载使用期刊的 LaTeX 模板 本文基于常用的 Elsevier 期刊模板&#xff0c;小编分享个人常用的使用技巧&#xff0…

字符串加密-第11届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第29讲。 字符串加密&#…

【一】达梦数据库安装和使用-Windows

达梦数据库安装和使用-Windows 简介&#xff1a; 新能源行业关系到国计民生&#xff0c;保障能源安全的意识不容懈怠&#xff0c;近些年各行各业都在推进数字化进程&#xff0c;能源行业在国家3060双碳目标提出之后更是进行的如火如荼&#xff0c;能源互联网方面在数字化的同时…

Spark集群搭建

Spark集群结构 图 名词解释 Driver 该进程调用 Spark 程序的 main 方法&#xff0c;并且启动 SparkContextCluster Manager 该进程负责和外部集群工具打交道&#xff0c;申请或释放集群资源Worker 该进程是一个守护进程&#xff0c;负责启动和管理 ExecutorExecutor 该进程是一…

「Verilog学习笔记」任意奇数倍时钟分频

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule clk_divider#(parameter dividor 5) ( input clk_in,input rst_n,output clk_out );parameter CNT_WIDTH $clog2(dividor - 1) ; reg flag1, f…

西门子PLC联网数据采集:借助HiWoo Box实现高效监控与管理

在工业自动化领域&#xff0c;西门子PLC作为一种广泛应用的控制器&#xff0c;对于工厂的生产线具有至关重要的作用。如何实现西门子PLC的联网数据采集&#xff0c;提高生产效率和管理水平&#xff0c;成为了许多企业的关注焦点。而HiWoo Box作为一款功能强大的工业网关&#x…

Docker安装Centos8系统

引言&#xff1a;最小安装版Centos8系统安装docker软件安装记录 官网安装教程&#xff1a;https://dockerdocs.cn/engine/install/centos/index.html 操作系统镜像版本 CentOS-Stream-8-x86_64-latest-boot.iso 第一步&#xff1a;更新yum yum -y update第二步&#xff1a;…

基于PHP的花店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的花店管理系统 一 介绍 此花店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 …

LeetCode做题总结 15. 三数之和、18. 四数之和 (Java)

不会做&#xff0c;参考了代码随想录和力扣官方题解&#xff0c;对此题进行整理。 X数之和 15. 三数之和代码思路20240103重写错误1错误2Java语言点总结 18. 四数之和代码思路20240104&#xff08;伪&#xff09;错误1 第一次剪枝错误2 第二次剪枝错误3 溢出 15. 三数之和 代码…

静态网页设计——贵州美食(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1vC4y1K7de/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

【FPGA/verilog -入门学习15】vivado FPGA 数码管显示

1&#xff0c;需求&#xff1a;使用xc720 开发板的8个数码管显示12345678 2&#xff0c;需求分析&#xff1a; 75hc595 1&#xff0c;74hc595驱动&#xff0c;将串行数据转换成并行输出。对应研究手册 2&#xff0c;发送之前将要发的数据&#xff0c;合并成高8位:SEG,低8位&…

Spring配置提示: File is included in 4 contexts

问题描述&#xff1a; spring配置文件上面提示&#xff1a; mvc application context in module studyDemo file is included in 4 contexts 导致原因&#xff1a;因为所有的配置文件都没有放在同一个上下文中 所谓File is included in 4 contexts是因为spring的配置文件放…

通过IP地址防范钓鱼网站诈骗的有效措施

随着互联网的普及&#xff0c;钓鱼网站诈骗成为一种广泛存在的网络犯罪行为。通过冒充合法网站&#xff0c;攻击者试图窃取用户的敏感信息。本文将探讨如何通过IP地址防范钓鱼网站诈骗&#xff0c;提供一系列有效的措施&#xff0c;以加强网络安全&#xff0c;保护用户免受诈骗…

css 保持元素宽高比 随页面宽度变化高度自适应

目录 1.效果展示 2.代码内容 3.代码解析 &#xff08;1&#xff09;分析inner类写法 &#xff08;2&#xff09;分析container类写法 1.效果展示 2.代码内容 <div class"item"><div class"inner"><di class"container">…

静态网页设计——极乐迪斯科(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV11k4y1X7mH/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

MySQL四大引擎,数据库管理,数据表管理,数据库账号管理

MySQL四大引擎 InnoDB InnoDB引擎是MySQL默认的存储引擎。它支持事务和行级锁定&#xff0c;并具有高并发性和数据完整性保护的特性。InnoDB适用于具有复杂查询和高并发读写操作的应用程序。MyISAM InnoDB引擎特点和优势 事务支持&#xff1a;InnoDB支持ACID&#xff08;原子…

HDMI彩条显示实验与方块移动实验

一、HDMI接口简介 一种数字音视频接口标准&#xff0c;提供高质量的数字音视频传输&#xff0c;同时支持多通道音频、高分辨率视频和其他数据传输功能。提供更高的数据传输带宽&#xff08;带宽&#xff1a;1s内传输多少比特数据&#xff09; 数字传输&#xff1a; HDMI是一种全…