C++ 循环

2023-11-18

        有时候,程序需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。循环语句允许多次执行一个语句或语句组,大多数编程语言中循环语句的一般形式:

循环类型

        C++ 编程语言提供了以下几种循环类型。

循环类型 描述
while 循环 给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for 循环 多次执行一个语句序列,简化管理循环变量的代码。
do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。

循环控制语句

        循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。 C++ 提供了下列的控制语句。

控制语句 描述
break 语句 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。
continue 语句 引起循环跳过主体的剩余部分,立即回到重新开始测试条件的地方。
goto 语句 将控制转移到被标记的语句。不建议在程序中使用 goto 语句。

无限循环

        如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,所以可以将某些条件表达式留空来构成一个无限循环,比如:for ( ; ; ; )或while(1)。

#include <iostream>
using namespace std;

int main()
{
	for (; ; )
    {
        cout << "This loop will run forever." << endl;
    }
		
	return 0;
}

        当条件表达式不存在时,它被假设为真。也可以设置一个初始值和增量表达式,但是一般情况下,更偏向于使用 for(;;) 结构来表示一个无限循环。
        注意:按 Ctrl + C 键即可终止一个无限循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 循环 的相关文章

  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • 使用 lambda 表达式注册类型

    我想知道如何在 UnityContainer 中实现这样的功能 container RegisterType
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • 使用可变参数包类型扩展的 C++ 函数调用者包装器

    我绑定了一些 API 并且绑定了一些函数签名 如下所示 static bool WrapperFunction JSContext cx unsigned argc JS Value vp 我尝试将对象和函数包装在 SpiderMonkey
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • Ubuntu——统计目录下文件数量的方法

    统计当前目录下文件的个数 不包括目录 ls l grep wc l 参考文章 Linux 统计目录下文件数量的方法
  • scrapy保存、中断、继续执行爬虫程序

    在scrapy文件中的custom settings写入JOBDIR即可 比如 JOBDIR jobs baidu news baidu news这个位置就是当程序停止爬虫的时候当前的运行状态就会记录在这个文件中 当再次爬取时会接着保存的状
  • 已知a.txt文件中的内容为"AAbcdea22dferwplkCC321ou1", 请编写程序读取该文件内容,要求去掉重复字母(区分大小写), 并按照自然排序顺序后输出到b.txt文件中。

    package copy1 import java io BufferedReader import java io BufferedWriter import java io FileInputStream import java io
  • 2020美赛F奖论文(四):模拟退火算法驱动的结构策略设计

    上接 2020美赛F奖论文 三 足球团队指标和基于机器学习的球队表现预测 全文 2020美赛F奖论文 一 摘要 绪论和模型准备 2020美赛F奖论文 二 传球网络模型 PNM 的建立和影响因子分析 2020美赛F奖论文 三 足球团队指标和基
  • 计算机网络(1)——概念、组成、功能和分类

    文章目录 0 总揽全局 1 计算机网络的概念 2 计算机网络的功能 3 计算机网络的组成 4 计算机网络的分类 视频来源 https www bilibili com video BV19E411D78Q p 1 0 总揽全局 1 计算机网
  • 强烈推荐Linux深入学习必读的几本书

    2012 10 01 21 00 40 成为一名精通 Linux程序设计的高级程序员一直是不少朋友孜孜以求的目标 根据中华英才网统计数据 北京地区 Linux 程序员月薪平均为 Windows程序员的 1 8 倍 Java 程序员的 2 6
  • sql语句中关于1 and 1=2详解

    在通关sqli labs的时候 我经常会遇到这么一个问题 那就是 id 1 和 id 1 and 1 2 的查询结果是一致的 我一直以来都很疑惑 然后寻求了很多文章 终于解决了我的问题 我们将其放在sqlyog里面去讲解 我先给你们展示一下
  • Shell监控jvm发短信

    Shell脚本 jstat crontab curl 监控JVM发送短信 bin bash 定时监控本机器下所有java应用的 JVM信息 定时任务配置 crontab e 写入如下 5分钟执行一次检测 5 home admin monit
  • 【H5】 svg动画 旋转属性与虚线属性

    svg 动画 旋转 transform rotate angle x y 不要写在style里面 angle 旋转角度 x y旋转中心 绘制虚线 stroke dasharray a b a b c d 旋转属性 transform rot
  • 立陶宛央行抢跑数字货币背后:前瞻的区块链战略 中国已有企业布局

    7月2日 据路透社报道 立陶宛将在下周开始预售2 4万枚由央行发行的数字货币 该名为LBCoin的数字货币基于区块链技术生产 立陶宛成为是欧盟国家中第一家正式发行央行数字货币的地区 不是2015年就开始研究央行数字货币的英国 不是今年2月试
  • 人工智能芯片未来发展前景如何?

    随着深度学习技术的快速发展 以及互联网和云计算时代海量数据和高效计算能力的支撑 计算机视觉技术 语音技术 自然语言理解技术等人工智能技术取得了突破性进展 并解锁多个行业的人工智能场景 产生了巨大的商业价值 驱动了人工智能行业的发展 同时 伴
  • TEA系列加解密算法详解

    文章目录 TEA系列概述 TEA算法介绍 TEA加密过程 C语言实现 XTEA算法介绍 XTEA加密过程 C语言实现 XTEA算法介绍 XXTEA加密过程 C语言实现 参考 TEA系列概述 TEA算法是由剑桥大学计算机实验室的David W
  • python 序列化_python怎么序列化

    pickle模块 json模块 1 把变量从内存中变成可存储或传输的过程 称之为序列化 Python中叫pickling 其他语言中也被称为serialization marshalling flattening等 都是相同的意思 2 序列
  • XSS安全漏洞的防范

    XSS安全漏洞 通过URL带入的 这种带入主要是前端解析url中的参数 并对数参数执行了innerHTML 或者 html 或者 append 操作 在将参数html 或者append 到html文件中时 会执行其中的js代码 被错误用户获
  • HBase Split 过程

    看了下hbase split的代码 记录一下学习心得 Java代码 private void split final HRegion parent final byte midKey throws IOException final lon
  • chat gpt 常见角色及对应的提示词汇总

    提示词的存在让ChatGPT能够扮演特定的角色 对用户的回答更加专业对口 以下是一些常见的ChatGPT角色及对应的提示词 目录 ChatGPT 市场推广提示 ChatGPT 业务提示 ChatGPT 内容提示 Web 开发的 ChatGP
  • Ubuntu系统中防火墙的使用和开放端口

    Ubuntu系统中防火墙的使用和开放端口 目录 1 Ubuntu查看防火墙的状态 2 2 Ubuntu开启防火墙 2 3 Ubuntu添加开放SSH端口 3 4 Ubuntu防火墙常用命令 5 4 1 查看ufw防火墙的状态 5 4 2 启
  • ARM汇编之APCS规则

    APCS规则简述 寄存器使用规则 寄存器r0 r3用于函数调用过程中传递函数形参 各有一个别名 a1 a4 使用前后可以不用恢复原来的值 R4 r11用于保存函数内部局部变量的值 每个函数使用前 必须要保存被调用函数的值 使用完毕 必须恢复
  • 在Linux远程服务器上搭建JavaWeb开发环境

    配置 远程linux服务器版本为CentOS7 6 使用的是阿里云服务器 目录 1 安装JDK 1 1 查看yum源中JDK版本 1 2 使用yum安装JDK1 8 1 3 查看是否安装成功 2 安装MySQL 2 1 查看是否已安装mys
  • C++ 循环

    有时候 程序需要多次执行同一块代码 一般情况下 语句是顺序执行的 函数中的第一个语句先执行 接着是第二个语句 依此类推 循环语句允许多次执行一个语句或语句组 大多数编程语言中循环语句的一般形式 循环类型 C 编程语言提供了以下几种循环类型