当前位置: 首页 > news >正文

C++中使用while循环

C++中使用while循环

C++关键字 while 可帮助您完成程序中 goto 语句完成的工作,但更优雅。 while 循环的语法如下:

while(expression)
{// Expression evaluates to trueStatementBlock;
}

只要 expression 为 true, 就将反复执行该语句块。因此, 必须确保 expression 在特定条件下将为 false,否则 while 循环将永不停止。

以下程序使用 while 而不是 goto 让用户能够重复计算:

#include <iostream>
using namespace std;int main()
{char userSelection = 'm';   // initial valuewhile (userSelection != 'x'){cout << "Enter the two integers: " << endl;int num1 = 0, num2 = 0;cin >> num1;cin >> num2;cout << num1 << " x " << num2 << " = " << num1 * num2 << endl;cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;cout << "Press x to exit(x) or any other key to recalculate" << endl;cin >> userSelection;}cout << "Goodbye!" << endl;return 0;
}

输出:

Enter the two integers:
56
25
56 x 25 = 1400
56 + 25 = 81
Press x to exit(x) or any other key to recalculate
r
Enter the two integers:
365
-5
365 x -5 = -1825
365 + -5 = 360
Press x to exit(x) or any other key to recalculate
x
Goodbye!

分析:

第 7~19 行的 while 循环包含了该程序的大部分逻辑。 while 循环检查表达式 (userSelection != ‘x’),仅当该表达式为 true 时才继续执行后面的代码。为了确保第一次循环能够进行,第 5 行将 char 变量 userSelection 初始化为‘m’。需要确保该变量不为‘x’,否则将导致第一次循环不会进行,应用程序退出,而不做任何有意义的工作。第一次循环非常简单,但第 17 行询问用户是否想再次执行计算。第 18 行读取用户输入,这将影响 while 计算的表达式的结果,确定程序继续执行还是就此终止。第一次循环结束后,将跳转到第 7 行,计算 while 语句中表达式的值,如果用户按的不是 x 键,将再次执行循环。如果用户在循环末尾按了 x 键,下次计算第 7 行的表达式时,结果将为 false,这将退出 while 循环,并在显示再见消息后结束应用程序。

注意:

循环也叫迭代, while、 do…while 和 for 语句也被称为迭代语句。

该文章会更新,欢迎大家批评指正。

推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程

http://www.lryc.cn/news/149080.html

相关文章:

  • 视频融合平台EasyCVR视频汇聚平台关于小区高空坠物安全实施应用方案设计
  • IBM安全发布《2023年数据泄露成本报告》,数据泄露成本创新高
  • python爬虫—requests
  • 应用案例 | 3D视觉引导解决方案汽车零部件上下料
  • const {}解构赋值
  • 一篇文章带你了解-selenium工作原理详解
  • H5 + C3基础(八)(3d转换 位移 旋转)
  • PyQt6 GUI界面设计和Nuitka包生成exe程序(全笔记)
  • 学习网络编程No.5【TCP套接字通信】
  • 常用的时间段的时间戳
  • 博客系统后台控制层接口编写
  • 生成 MySQL 删除索引、创建索引、分析表的 SQL 语句
  • mongodb建用户
  • 无门槛访问ChatGPT升级版-数据指北AI
  • 前端需要学习哪些技术?
  • 详解排序算法(附带Java/Python/Js源码)
  • 手写Mybatis:第8章-把反射用到出神入化
  • 基于AI智能分析网关EasyCVR视频汇聚平台关于能源行业一体化监控平台可实施应用方案
  • 《Flink学习笔记》——第四章 Flink运行时架构
  • vue3使用Elementplus 动态显示菜单icon不生效
  • 升级iOS17后iPhone无法连接App Store怎么办?
  • antd日期选择禁止
  • 数据结构--树4.1
  • webpack(二)webpack介绍与基础配置
  • RabbitMQ | 在ubuntu中使用apt-get安装高版本RabbitMQ
  • springboot集成es 插入和查询的简单使用
  • liunx下ubuntu基础知识学习记录
  • 基于Googlenet深度学习网络的螺丝瑕疵检测matlab仿真
  • keepalived + lvs (DR)
  • 微服务框架 go-zero 快速实战