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

2018什么做网站重庆市建设工程信息网 最权威平台中项网

2018什么做网站,重庆市建设工程信息网 最权威平台中项网,易云巢做营销型网站,大型网站建设套餐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/381489/

相关文章:

  • iis 网站没有上传权限wordpress 畅言代码
  • 石家庄建站模板厂家上海设计公司 快消品
  • 武清做网站公司需要做个网站
  • 响应式网站下载衡水购物网站制作
  • 建立个大型网站需要多少投入住建网查询资质
  • 红河网站建设代理怎么做免费视频网站
  • 创业网站模板免费下载辽宁省建设工程信息网官网新网站入口
  • 公司网站建设选什么服务器岳阳做公司网站
  • 网站费用估算网站首页模块建设
  • 网上最好购物网站wordpress火车头但存图片
  • 怎么自己的电脑做网站服务器杭州企业网站制作公司
  • 微信官方网站是多少钱网站建设风险分析
  • c语言在线编程网站网站建设设计时代创信好
  • 如何做阿里详情页面链接到外部网站网站建设 全包 模板
  • 两栏式设计网站网站建设视频教程最新
  • 在线考试网站模板子网站建设经验汇报
  • 泰州网站制作建设网站电脑基础培训班
  • 阿三做网站iis 网站没有上传权限
  • 建设网站的群wordpress代码格式化
  • 怎么建立挣流量的网站我想自己在网站上发文章 怎样做
  • 网站开发中用什么安全性比性比较高怎么制作网页推广
  • 我是做性视频网站有什么可以做建筑模型的网站
  • 温州网站建设wmwlwordpress建站 app访问
  • 网站出现乱码怎么办wordpress 维护状态
  • 中山手机网站建设报价个人网站可以做社区吗
  • 兰州企业网站建设多少钱百度信息流网站可以做落地页吗
  • 做盗版电影网站淘宝电子网站建设论文
  • 网站制作费用要多少钱唐山网站制作服务公司
  • 行业网站运营方案网站建设中的安全问题
  • 养生网站源码信息网查询