【精通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,一经查实,立即删除!

相关文章

Python从请求头中获取参数(Burp Suite)

目录 爬虫获取 需求 代码 从Burp Suite请求体中获取参数 爬虫获取 需求 url参数分三种情况 1. json格式 2. form格式 3. xml格式 已知入参情况有两种 1. Burp Suite 拷贝的请求头信息 2. 爬虫抓取的请求头信息 已知参数位置情况有两种 1. url路径中 2. post请求…

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…

【操作系统xv6】学习记录3-Wsl2 Ubuntu18.04图形化界面

不知道为啥&#xff0c;wls2和windows用vscode ssh的方式连接识别&#xff0c; 既然如此&#xff0c;那就装一个桌面版的&#xff0c;其实2年多前装过一次&#xff0c;后来pc机跑深度学习的任务&#xff0c;硬盘坏了~ 开干前再试一次 ref&#xff1a;https://zhuanlan.zhihu.…

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

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

C语言字符类型详解

1. 字符型变量概述 在C语言中&#xff0c;使用 char 关键字来表示字符型变量&#xff0c;它用于存储一个单一字符。 字符型变量的赋值需要使用一对英文半角格式的单引号&#xff08;&#xff09;把字符括起来。 每个字符变量在16位、32位或64位编译器中都是占用1个字节(8位)…

【一】达梦数据库安装和使用-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…

XDOJ167.数字统计排序

标题 数字统计排序 类别 综合 时间限制 1S 内存限制 256Kb 问题描述 给定n个整数&#xff0c;请统计出每个整数出现的次数&#xff0c;按出现次数从多到少的顺序输出&#xff0c;次数相同时先输出值较小的数。 输入说明 输入的第一行包含一个整数…

转载:Windows实用小工具

原文作者我忘了是谁了&#xff0c;如有侵权联系我。 开始的时候要输入用户名和密码&#xff0c;都是“123456”。 源代码&#xff1a; #include <iostream> #include <windows.h> #include <cstring> #include <cstdio> #include <cmath> usi…

西门子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 …

具备闭环思维的测试才更充分

测试工作的终极目标是为了保障产品的质量。如果用同一个维度衡量测试人员的业务水平&#xff0c;简单粗暴一些&#xff1a;那就是针对同一款产品&#xff0c;哪个测试人员发现的bug多&#xff0c;哪个测试人员的测试理论与实践水平相对来说还是高一些。 前两天组长在群里分析了…

13-注意力机制

文章目录 什么是注意力机制注意力机制的实现方式1、SENet的实现---通道注意力 CA(Channel Attention)2、CBAM的实现通道-空间注意力 CA-SA(channel attention, spacial attention)残差-通道-空间注意力(ResBlock + CBAM)残差-通道注意力 RCAB残差-空间注意力 RSAB3、ECANet什…

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

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

滑动窗口最大值【子串】【滑动窗口】【双端队列】

Problem: 239. 滑动窗口最大值 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 实在是太太太太巧妙了&#xff01;定义一个双端队列&#xff0c;然后存储下标&#xff0c;存储进去每一个数的下标时&#xff0c;都需要将现在有的数且小于当前的数字都去掉&#xf…