【C语言初阶】循环语句

🌟博主主页:我是一只海绵派大星

📚专栏分类:C语言

❤️感谢大家点赞👍收藏⭐评论✍️

 

目录

一、什么是循环语句 

 二、while语句

while语句中的break和continue

break

continue

 三、for循环

break和continue在for循环中

for语句的循环控制变量

 四、do...while()循环

 五、do...while循环与for循环有何区别?

六、while和do... while有何区别? 


一、什么是循环语句 

循环语句是编程中的一种控制结构,它允许程序重复执行一段代码,直到满足某个条件为止。循环语句在处理大量数据或重复性任务时非常有用,可以提高代码的效率和可维护性。

循环语句的类型

  • for循环:适用于已知循环次数的情况,通过初始化表达式、循环条件、操作表达式来控制循环的执行。
  • while循环:适用于未知循环次数的情况,只要循环条件为真,就会重复执行循环体中的代码。
  • do-while循环:至少执行一次循环体,先执行循环体中的代码,然后检查循环条件。

 二、while语句

while是一种循环控制结构,它允许你重复执行一段代码,直到给定的条件不再满足(即变为假)为止。

//while 语法结构
while ( 表达式 )
循环语句

代码示例: 

count = 0
while count < 5:print("count =", count)count += 1

while语句中的breakcontinue

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;
}
总结:
break在while循环中的作用:
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
while中的break是用于永久终止循环的。

 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;
}
总结 :
continue在while循环中的作用就是:
continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断

 三、for循环

for循环是编程语言中一种常见的循环控制结构,用于遍历序列(如列表、元组、字符串等)中的每个元素。

for ( 表达式 1 ; 表达式 2 ; 表达式 3 )
循环语句

 

代码示例: 

#include <stdio.h>
int main()
{int i = 0;//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)for(i=1; i<=10; i++){printf("%d ", i);}return 0;
}

breakcontinuefor循环中

 我们发现在for循环中也可以出现breakcontinue,他们的意义和在while循环中是一样的。

for语句的循环控制变量

1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{}
//两边都是闭区间
for(i=0; i<=9; i++)
{}

 四、do...while()循环

do...while()循环是一种后测试循环结构,即循环体至少执行一次,然后再检查循环条件

do {// 循环体:要执行的代码块
} while (condition);

在这个结构中,condition是一个布尔表达式,用于判断循环是否应继续执行。首先,循环体会无条件地执行一次。执行完毕后,检查condition的值。如果condition为真(true),则再次执行循环体。这个过程会不断重复,直到condition为假(false)为止。此时,循环终止,程序继续执行do...while()循环之后的代码。 

示例代码: 

#include<stdio.h>int main() {int count = 0;do {printf("count = %d\n", count);count++;} while (count < 5);return 0;
}

 五、do...while循环与for循环有何区别?

do...while循环和for循环都是用于重复执行代码块的循环结构,但它们之间存在一些关键区别:

1. 执行顺序:
  do...while循环至少执行一次循环体,然后再检查循环条件。即使循环条件一开始就不满足,循环体也会执行一次。
   for循环在执行循环体之前先检查循环条件。如果初始条件就为假(false),循环体将不会被执行。

2. 循环条件的检查时机:
  do...while循环在每次循环体执行完毕之后检查循环条件。
   for循环在每次循环体执行之前检查循环条件。

3. 语法结构:
   do...while循环的语法结构是:do { /* 循环体 */ } while (条件);
   for`循环的语法结构是:for (初始化; 条件; 更新) { /* 循环体 */ }

4. 适用场景:
   do...while循环适用于需要先执行一次循环体,然后再判断条件的场景。
   for循环适用于已知循环次数或在循环开始前就能确定循环条件的场景。它也常用于遍历序列(如数组、列表等)。

尽管do...while循环和for循环在某些方面有所不同,但它们都可以实现相似的功能。在实际编程中,选择哪种循环结构取决于具体需求和场景。有时,也可以使用其他循环结构(如while循环)或组合使用多种循环结构来实现相同的功能。

六、while和do... while有何区别? 

while循环和do...while循环都是用于重复执行代码块的循环结构,但它们之间存在一些关键区别:

1. 执行顺序:
   while循环在执行循环体之前先检查循环条件。如果初始条件就为假(false),循环体将不会被执行。
   do...while循环至少执行一次循环体,然后再检查循环条件。即使循环条件一开始就不满足,循环体也会执行一次。

2. 循环条件的检查时机:
   while循环在每次循环体执行之前检查循环条件。
   do...while循环在每次循环体执行完毕之后检查循环条件。

3. 语法结构:
   while循环的语法结构是:while (条件) { /* 循环体 */ }
   do...while循环的语法结构是:do { /* 循环体 */ } while (条件);

4. 适用场景:
   while循环适用于在循环开始前就能确定循环条件的场景。
   do...while循环适用于需要先执行一次循环体,然后再判断条件的场景。

尽管while循环和do...while循环在某些方面有所不同,但它们都可以实现相似的功能。在实际编程中,选择哪种循环结构取决于具体需求和场景。有时,也可以使用其他循环结构(如for循环)或组合使用多种循环结构来实现相同的功能。

🎁结语: 

本次精彩内容已圆满结束!希望各位读者在阅读过程中能够收获满满。在此,特别感谢各位读者的支持与三连赞。如果文章中存在任何问题或不足之处,欢迎在评论区留言,大星必定会认真对待并加以改进,以便为大家呈现更优质的文章。你们的支持与鼓励,将是博主不断前进的最大动力。再次感谢大家的陪伴与支持!

 

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

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

相关文章

MAC安装idea教程

https://blog.csdn.net/qq_41810415/article/details/131649541 JDK安装 https://blog.csdn.net/dddebug/article/details/121713633 2、编辑.bash_profile文件 vim .bash_profile 进入编辑模式后 按 i 开始添加内容 结束编辑模式按 ESC 结束后保存输入 :wq! 不保存输入 :q! 检…

C++ - Clion安装Qt msvc2017版本教程,基础环境配置clion+ Qt5.12.12 msvc2017 + VS2019

背景&#xff1a;平时代码开发使用clion&#xff0c;但使用项目要制定mscv2017版本Qt。先装过mingw版本Qt无法运行&#xff0c;但msvc版本依赖装有Visual Studio&#xff0c;本地装的又是2019版。就出现了这个大坑&#xff0c;需要配置好clion Qt msvc2017 VS2019。 文章目录 …

【Git】Windows下使用可视化工具Sourcetree

参考&#xff1a;[最全面] SourceTree使用教程详解(连接远程仓库&#xff0c;克隆&#xff0c;拉取&#xff0c;提交&#xff0c;推送&#xff0c;新建/切换/合并分支&#xff0c;冲突解决&#xff0c;提交PR) 1.Git工具–sourcetree 之前文章介绍过Linux系统中的Git工具&…

Linux - 信号概念 信号产生

Linux - 信号概念 & 信号产生 信号概念信号产生软件信号killraiseabortalarm 硬件信号键盘产生信号硬件中断 信号概念 信号是进程之间事件异步通知的一种方式 在Linux命令行中&#xff0c;我们可以通过ctrl c来终止一个前台运行的进程&#xff0c;其实这就是一个发送信号的…

爱德华三坐标软件ACdmis.AC-dmis密码注册机

爱德华三坐标软件 AC-DMIS 是一款功能强大的三坐标测量软件&#xff0c;具有以下特点&#xff1a; • 支持多种测量模式&#xff1a;包括接触式测量、非接触式测量、复合式测量等&#xff0c;可以满足不同类型工件的测量需求。 • 高精度测量&#xff1a;采用先进的测量算法和…

助力高考,一组彩色的文字

1、获取文本内容 首先&#xff0c;获取每个<div>元素的文本内容&#xff0c;并清空其内部HTML&#xff08;innerHTML ""&#xff09;。 2、创建<span>元素 然后&#xff0c;它遍历文本的每个字符&#xff0c;为每个字符创建一个新的<span>元素…

通过python操作redis(windows)

注意在连接之前要确保 redis 服务已经安装。 更多的安装信息请查看&#xff1a;https://blog.csdn.net/sinat_20471177/article/details/132042779?spm1001.2014.3001.5501 redis 模块 Python 要使用 redis&#xff0c;需要先安装 redis 模块。如果要做数据导入/导出操作的…

34、matlab输入命令汇总

1、ans:最近计算的答案 代码示例1 12ans 3 代码示例2 Brand(7)B 列 1 至 60.7060 0.3171 0.1869 0.6797 0.5853 0.95930.0318 0.9502 0.4898 0.6551 0.2238 0.54720.2769 0.0344 0.4456 0.1626 0.7513 0.13860.0462 0.4387…

[Vue3:组件通信)子组件props接收和watch监听,emit发送父组件 (添加修改设置成绩,添加、删除选课记录)

文章目录 一&#xff1a;系统功能&#xff1a;设置成绩&#xff08;添加或修改&#xff09;交互逻辑&#xff1a;涉及页面 Page02.vue&#xff0c;ModalEdit.vue主页面Page.vue注入子页面&#xff0c;使用子页面标签属性主页面对子页面做通信&#xff0c;子页面ModalEdit接收参…

【安装笔记-20240610-Linux-免费域名服务之eu.org】

安装笔记-系列文章目录 安装笔记-20240610-Linux-免费域名服务之eu.org 文章目录 安装笔记-系列文章目录安装笔记-20240610-Linux-免费域名服务之eu.org 前言一、软件介绍名称&#xff1a;eu.org主页官方介绍 二、安装步骤测试版本&#xff1a;openwrt-23.05.3-x86-64注册填写…

基于机器学习和深度学习的NASA涡扇发动机剩余使用寿命预测(C-MAPSS数据集,Python代码,ipynb 文件)

以美国航空航天局提供的航空涡扇发动机退化数据集为研究对象&#xff0c;该数据集包含多台发动机从启动到失效期间多个运行周期的多源传感器时序状态监测数据&#xff0c;它们共同表征了发动机的性能退化情况。为减小计算成本&#xff0c;需要对原始多源传感器监测数据进行数据…

Java——方法详细介绍

一、方法调用机制 1、方法调用机制详细介绍 下面对方法调用在内存中的情况进行分析&#xff0c;以下面的代码为例&#xff1a; public class Test {public static void main(String[] args) {Person person new Person();person.name "张三";person.age 18;int…

【Linux文件篇】优化文件读写,加速数据处理策略——缓冲区

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 前言&#xff1a;我们已经复习了C语言中的接口&#xff0c;并且学习了许多文件系统调用&#xff0c;了解了文件描述符以及重定向。今天我们继续学习文件缓冲区的相关内容。 缓冲区 在学习C语言时&#xff0c;我们经常…

LabVIEW电池测试系统

1. 背景 随着电动汽车、可再生能源等领域的迅速发展&#xff0c;电池作为能源储存和释放的核心组件&#xff0c;其性能评估变得尤为重要。电池的充放电性能、容量、循环寿命等参数直接影响着设备的工作性能和使用寿命。因此&#xff0c;设计一套全面、准确的电池测试系统对于提…

技术前沿 |【大模型BLIP-2的多模态训练】

大模型BLIP-2的多模态训练 一、引言二、BLIP-2模型概述三、多模态训练成本问题四、冻结预训练好的视觉语言模型参数的优势五、冻结预训练好的视觉语言模型参数的方法 一、引言 随着人工智能技术的飞速发展&#xff0c;大型多模态模型如BLIP-2在多个领域取得了显著的成果。然而…

学生信息管理(C语言)

学生信息管理 &#xff08;1&#xff09;问题描述 学生信息包括&#xff1a;学号&#xff0c;姓名&#xff0c;年龄&#xff0c;性别&#xff0c;出生年月&#xff0c;地址&#xff0c;电话&#xff0c;E-mail等。试设计一学生信息管理系统&#xff0c;使之能提供以下功能&am…

[图解]建模相关的基础知识-07

1 00:00:04,710 --> 00:00:08,900 这是划分&#xff0c;下一个是有序对的概念 2 00:00:11,720 --> 00:00:13,800 我们知道集合是不分顺序的 3 00:00:15,090 --> 00:00:18,200 我们花括号来代表集合的话 4 00:00:18,210 --> 00:00:21,000 AB花括号等于BA花括号 …

2_1 Linux基础操作

2_1 Linux基础操作 文章目录 2_1 Linux基础操作0. 参考1. 装机后的一些小命令查看系统的信息2. 基础命令2.1 初识基本命令2.2 日期和时间 3. 帮助命令4. 关机、重启5. 设置主机名6. rm删除7. 软件包的管理RPM、 YUM8. IP知识9. 查看一些linux的信息10. 命令行快捷键11. 光盘挂载…

数据可视化——pyecharts库绘图

目录 官方文档 使用说明&#xff1a; 点击基本图表 可以点击你想要的图表 安装&#xff1a; 一些例图&#xff1a; 柱状图&#xff1a; 效果&#xff1a; 折线图&#xff1a; 效果&#xff1a; 环形图&#xff1a; 效果&#xff1a; 南丁格尔图&#xff08;玫瑰图&am…

贪心算法06(leetcode738,968)

参考资料&#xff1a; https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html 738. 单调递增的数字 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。…