【C++ Primer Plus学习记录】for循环与while循环

在C++中,for与while本质上是相同的。

通常,使用for循环为循环计数;在无法预知循环将执行的次数时,程序员常使用while循环。

例如,下面的for循环:

for(init-expression;test-expression;update-expression)
{statement(s);
}

可以改写成:

init-expression;
while(test-expression)
{statement(s);update-expression;
}

同样的,下面的while循环:

while(test-expression)
{statement(s);
}

可以改写成:

for(;test-expression;)
{statement(s);
}

for循环需要3个表达式,不过它们可以是空表达式(语句),只有两个分号是必需的。另外,省略for循环中的测试表达式时,测试结果将为true,因此下面的循环将一直运行下去

for( ; ;)body

for循环与while循环的三个区别:

1.for循环中省略了测试条件时,将被认为条件为true。

2.在for循环中,可以使用初始化语句声明一个局部变量,但在while中不能这样做。

3.如果循环体中包含continue语句,情况将稍有不同(第6章)。

设计循环时的3条指导原则:

1.指定循环终止的条件。

2.在首次测试之前初始化条件。

3.在条件被再次测试之前更新条件。

for循环的一个优点是,其结构提供了一个可实现上述3条指导原则的地方,因此有助于程序员记住应该这样做。但这些指导原则也适用于while循环。

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

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

相关文章

Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏

deepin-terminal 安装 源里面自带了这个软件,可以直接装 sudo apt install deepin-terminal 启动 按下Win键,输入deep即可快速检索出图标,点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口&#xff0…

『VUE3后台—大事件管理系统』

项目地址:https://gitee.com/csheng-gitee/vue3-big-event-admin 技术栈:VUE3 Pinia Pnpm(本项目暂不用 typescript) 一、前期准备工作 1、创建项目 npm install -g pnpm pnpm create vue2、ESLint 配置 (1) 禁用 prettier 插…

本机putty无法连接到虚拟机中kali操作系统

sudo apt-get install -y openssh-server安装一下软件,我这里已经安装好了,所以没有安装过程了。 firewall-cmd --zonepublic --remove-port22/tcp --permanent想要打开22端口,发现报错如下: Could not find command-not-found…

JAVA进阶之路JVM-1:jvm基本组成、java程序执行过程、java程序的跨平台、静态编译器、jvm执行方式

JVM基本组成 当线上系统突然宕机,系统无法访问,甚至直接OOM; 线上系统响应速度太慢,优化系统性能过程中发现CPU占用过高,原因也许是因为JVM的GC次数过于频繁 因此,新项目上线,需要设置JVM的各…

力扣70 爬楼梯

文章目录 力扣70 爬楼梯示例代码实现总结收获 力扣70 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 代码实现 class Solution {Map <Integer,Integer> mapnew HashMap();p…

常见的软件测试用例设计方法有哪些?

常见的软件测试用例设计方法&#xff0c;个人认为主要是下面这6种&#xff1a; 1)流程图法&#xff08;也叫场景法&#xff09; 2)等价类划分法 3)边界值分析 4)判定表 5)正交法 6)错误推测法 这6种常见方法中&#xff0c;我分别按照定义、应用场景、使用步骤、案例讲解…

对淘宝购物车进行测试用例设计

当对淘宝的购物车进行测试用例设计时&#xff0c;可以考虑涵盖以下几个方面的测试&#xff1a; 1.添加商品到购物车 测试用例&#xff1a; 1.1 验证用户能否成功将商品添加到购物车1.2 验证用户能否将商品添加到购物车后&#xff0c;购物车内的商品数量是否正确1.3 验证用户能…

907.子数组的最小值之和

单调栈 贡献法 每个子数组的最小值的和&#xff0c;即对于每个元素&#xff0c;包含该元素的所有子数组的个数与该元素值的乘积即为所求值每个元素贡献的次数&#xff1a;以该元素为最小值的所有子数组的个数区间法求符合条件的包含某元素的子数组个数&#xff1a;左右边界均…

vatee万腾的数字探险:Vatee科技创新的未知征程

在科技风潮的巅峰&#xff0c;Vatee万腾如一艘科技探险的航船&#xff0c;勇敢地驶向未知的数字化征程。 Vatee万腾在数字探险的过程中展现出征服未知领域的坚定决心。他们不满足于现状&#xff0c;而是积极地寻找和探索那些尚未被揭示的数字化领域。这种决心使得Vatee能够在科…

量子计算软件平台

目录 1.量子语言 2.量子软件开发工具 3.量子云计算平台 1.量子语言 量子语言是一种基于量子计算机的语言&#xff0c;用于描述和实现量子算法。与经典计算机语言不同&#xff0c;量子语言需要考虑量子力学的特殊规则和算法的量子化。其中&#xff0c;最常用的量子语言是量子程…

Redis部署脚本(完成-第一版)

主要包含redis的一键部署脚本和redis启动脚本文件 当前可以完成一键部署&#xff0c;还需改进语法 install.sh #!/bin/bash systemctl stop firewalld systemctl disable firewalld #!/bin/bash if ! command -v yum &> /dev/null; then echo -e "\e[31m yum…

基于51单片机的超声波测距系统【程序+proteus仿真+参考论文+原理图+PCB等16个文件夹资料】

一、项目功能简介 整个设计系统由STC89C52单片机LCD1602显示模块声光报警模块存储模块超声波模块按键模块组成。 具体功能&#xff1a; 1、超声波测量距离&#xff0c;显示在LCD1602。 2、存储模块可以存储超声波报警值。 3、通过按键可设置报警值大小。 4、超声波报警距…

ViLT 论文精读【论文精读】

ViLT 论文精读【论文精读】_哔哩哔哩_bilibili 目录 ViLT 论文精读【论文精读】_哔哩哔哩_bilibili 1 地位 2 ViLT做了什么能让它成为这种里程碑式的工作&#xff1f; 3 ViLT到底把模型简化到了什么程度&#xff1f;到底能加速到什么程度&#xff1f; 2.1 过去的方法是怎…

浏览器如何读取本地Excel表格

浏览器可以读取Excel表格数据吗&#xff1f; 答案是否定的&#xff0c;目前主流浏览器都无法打开本地Excel文档。 答案也是肯定的&#xff0c;这就来看看具体实现方法&#xff01;&#xff01;&#xff01; 首先准备一个Excel表格文件 保存在D:\\temp\测试表.xls…

python计算概率分布

目录 1、泊松分布 2、卡方分布 3、正态分布 4、t分布 5、F分布 1、泊松分布 泊松分布是一种离散概率分布&#xff0c;描述了在固定时间或空间范围内&#xff0c;某个事件发生的次数的概率分布。该分布以法国数学家西蒙德尼泊松的名字命名&#xff0c;他在19世纪早期对这种…

2023_Spark_实验二十一:Zookeeper单机安装与配置

zookeeper单机安装与配置一、zookeeper的安装 1.上传zookeeper-3.4.5.tar.gz到/tools目录下 2.解压安装zookeeper到/training中 tar -zvcf zookeeper-3.4.5.tar.gz -C /opt/soft_installed/zookeeper-3.4.53.配置环境变量 vim /home/lh/.bashrc# 添加内容如下 export ZK_HOME…

六、Lua 运算符

文章目录 一、Lua 运算符&#xff08;一&#xff09;算术运算符&#xff08;二&#xff09;关系运算符&#xff08;三&#xff09;逻辑运算符&#xff08;四&#xff09;其他运算符 二、运算符优先级 一、Lua 运算符 运算符是一个特殊的符号&#xff0c;用于告诉解释器执行特定…

小航助学题库蓝桥杯题库stem选拔赛(21年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSD…

【系统移植】 移植主线U-Boot(v2024.01-rc3)到RK3399

一、编译环境 PC 机用的是 Ubuntu 18.04,执行以下命令安装必要工具: sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \ expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \ qemu-user-static live-build bison flex fakero…

Ant Design布局:Flex, Grid, Layout

文章目录 FlexGridLayout React初步antd初步 任何UI工具&#xff0c;布局都是设计过程中必不可少的一环&#xff0c;前端更是如此。但网页和桌面应用还有区别&#xff0c;正常的网页&#xff0c;无论在手机还是PC上&#xff0c;基本都是自上而下排布的信息流&#xff0c;这种浏…