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

的建站公司网站qq代码

的建站公司,网站qq代码,郑州粒米seo顾问,织梦网站怎么做404页面C中的无限循环 while、 do…while 和 for 循环都包含一个条件表达式,在它为 false 时循环结束。如果您指定的条件总是为 true,循环就不会结束。 无限 while 循环类似于下面这样: while(true) // while expression fixed to true {DoSomethi…

C++中的无限循环

while、 do…while 和 for 循环都包含一个条件表达式,在它为 false 时循环结束。如果您指定的条件总是为 true,循环就不会结束。
无限 while 循环类似于下面这样:

while(true) // while expression fixed to true
{DoSomethingRepeatedly;
}

无限 do…while 循环类似于下面这样:

do
{DoSomethingRepeatedly;
} while(true); // do… while expression never evaluates to false

而无限 for 循环类似于下面这样:

for (;;) // no condition supplied = unending for
{DoSomethingRepeatedly;
}

这种循环看似奇怪,但确实有用武之地。假设操作系统需要不断检查 USB 端口是否连接了设备,只要操作系统在运行,这种活动就不应停止。在这种情况下,就应使用永不结束的循环。这种循环也叫无限循环,因为它们将不断执行下去,直到永远。

小心分号

通过在 while 循环的第一行之后意外地放置一个分号也可以创建无限循环,示例如下:

int count = 1;
while (count <= 5) ; //该分号是一个错误
{cout << "Hello ";count = count + 1;
}

因为编译器在发现开始语句块的大括号之前看见了第一行末尾的分号,所以它会在分号的位置结束循环。尤其是它会将分号前面丢失的语句解释为空语句,也就是什么都不做的语句,然后将 while 语句和它后面的任何内容断开。

对于编译器来说,整个循环看起来就像下面这样:

while(count<= 5);

这个 while 循环将持续执行空语句,当然它永远不会执行任何操作。该程序似乎“陷入迷惘”,因为没有任何屏幕输出,也不会显示任何活动。

不要忘记大括号

在编写循环语句时,如果有条件执行的语句是一个语句块,则不要忘记将所有的语句都包含在一组大括号中。如果大括号意外被忽略,则 while 语句有条件执行的仅仅是下一个语句,请看下面的代码示例:

int count = 1;
//该循环忘记使用大括号
while (count <= 5)cout << "Hello ";count = count + 1;

在这段代码中,只有一个语句,也就是 cout 语句,是在 while 循环的主体中。给变量 count 加 1 的语句不在循环体内,所以 count 的值保持为 1,循环测试条件永远为 true。循环将一遍又一遍地打印“Hello”字符串,直到用户停止程序。

不要混清 == 与 =

循环的另一个常见陷阱是,在打算使用 == 运算符时,却意外地使用了 = 运算符。例如,以下示例就是一个无限循环,因为作为循环条件的测试表达式每次都给 remainder 赋值为 1,而不是测试 remainder 是否等于 1:

while (remainder = 1) //错误:条件表达式为赋值语句
{cout << "Enter a number: ";cin >> num;remainder = num % 2;
}

请记住,任何非零值都将被判断为 true。

除了外观形式,do-while 循环和 while 循环之间的区别是 do-while 是一个后测试循环,这意味着在循环结束时,也就是在每次迭代完成后,才测试其表达式。因此,即使测试表达式在开始时为 false,do-while 也至少要执行一次迭代。

例如,在以下 while 循环中,cout 语句根本不会执行:

int x = 1;
while (x < 0)cout << x << endl;

但是在以下 do-while 循环中的 cout 语句将执行一次,因为 do-while 循环在迭代结束之前不会判断表达式 x<0:

int x = 1;
docout << x << endl;
while (x < 0);

如果要确保循环执行至少一次,则应使用 do-while 循环。

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

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

http://www.yayakq.cn/news/229717/

相关文章:

  • 内涵图网站源码定制网站系统开发
  • 市北区网站建设苏州网页设计师培训
  • 网站建设可行性分析报告范文网站字体颜色大小
  • 东莞网站建设dgjwz全国最大的网站建设公司排名
  • 济南网站建设seo优化建筑网站视频大全
  • 外贸建站什么意思表白网站制作平台
  • 厦门企业网站建设专家网站建设公司生存现状
  • c2c代表网站微商城系统网站模板
  • 做网站卖产品设计装饰公司排名
  • 网站建设一百互联阿里巴巴做网站分录
  • 容城县网站开发购物网站大全分类
  • 门户网站内容建设品牌建设之道有哪些
  • 公司企业网站设计尺寸seo优化推广业务员招聘
  • 做网站一年能赚多少钱网站备案后应该做什么
  • 设计网站100个免费宿迁网站建设哪家最好
  • 网站的建设方法包括哪些内容cname解析对网站影响
  • 深圳响应式设计企业网站wikiesu wordpress
  • 如何制作网站视频教程动画制作学习
  • 门户网站设计网站后台功能开发
  • 郑州网站建设华久提供东莞网站建设价格
  • 个人网站怎么做百度推广搜索引擎营销的四种方式
  • 有什么好的网站可以接单子做四川整站优化关键词排名
  • 做网站接活全流程快速微信网站建设
  • 手机网站加速器互联网营销师挣的是谁的钱
  • 现在购物平台哪个最火网站代码优化目的
  • 网站建设流程效果wordpress 焦点图
  • 深圳教育集团网站建设网站建设怎么用
  • 帝国cms 7.2 门户网站模版北京做网站电话的公司
  • 湖北荆门建设银行网站如何加快网站收录
  • 国内大宗商品交易平台有哪些谷歌seo软件