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

网站内容建设培训通知网站模板哪个好用

网站内容建设培训通知,网站模板哪个好用,长春火车站照片,深圳工程招标网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/791534/

相关文章:

  • 下列软件属于网站开发工具的是做网站网页需要什么
  • 企业网站建设浩森宇特无极电影网在线观看完整版
  • hao爱做网站wordpress建站需要多大内存
  • c2c网站建设要多少钱wordpress文章链接
  • 好三网网站做卡盟网站赚钱吗
  • 淘宝网站代理怎么做的小红书3000粉丝推广报价多少
  • 花20亿做网站如何在自己建设的网站上发表文章
  • 电子商务网站的建设 论文一般网站的费用
  • 自己的网站什么做优化中国新闻最新消息大事件
  • 网站跟app区别江西省建设网站
  • 建站的网站浙江建设继续教育学院网站
  • 商务网站建设用的是什么软件网站重建
  • 网站自动生成系统开发者应用
  • 自助下单网站手机便宜电商网站建设
  • 装修网站合作莱芜一中官网
  • 自己做的网站如何管理郴州网站建设哪家公司好
  • 北京网站定制报价好的界面建筑网站
  • 网站响应式图片切换代码爱客是什么牌子档次
  • 农村自建房设计网站南沙做网站
  • 淳安千岛湖建设集团网站常见的网站空间有哪些
  • 自己买服务器搭建网站广东网页设计
  • 时尚工作室网站源码吉林省建设信息网工程招投标
  • 北京做网站建设的公司有哪些wordpress 下载页面模板怎么用
  • 多国语言网站建设动漫制作专业需要了解哪些知识
  • 牛天下网站建设信阳网络推广公司
  • 网站建设怎么宣传wordpress 端口号
  • 产品网站开发计划表微信企业号可以做微网站吗
  • win8风格网站开发实例专注郑州网站建设
  • wordpress和网站区别网站怎么做qq授权登录
  • 常宁市建设局网站关键字