什么是Do and While声明

时间:2013-07-07 20:37:16

标签: c++

#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;
bool setstart = true;
int main(){
  int x;
  int y;
  cout << "Welcome to the guessing game\n";
  do {
 cout << "Please enter a number from 0 to 100: ";
 cin >> x;
 } while (x < 0 || x > 100);Sleep(2000);
 system("cls");
 cout<<"ok player 2 pick the guess";
 cin>>y;
 if (x == y){
  cout<<"congrats you got it right";
       }
        else{
        if (x < y){
        cout<<"Go lower";}
        else {
        if (x > y){
        cout<<"higher";}}
        }
 system("pause>nul");
  return 0;
  }

我真的不明白。我该怎么用?也做了一件事,而且意味着Do就是正在发生的事情,虽然它正在发生,但是它会做什么呢?这是我的朋友为我做的一些代码,你们中的任何人都可以真正具体地解释一下吗?

4 个答案:

答案 0 :(得分:4)

do {} while;循环在检查条件之前执行一次:

do {
   "//code stuff here"
} while (condition);

相当于

"//code stuff here"
while (condition) {
  "//code stuff here"
}

答案 1 :(得分:1)

这种特殊结构背后的故事源于编译器的开端和在有限CPU中的使用。

在那个时候,用while()开始你的循环产生了比do / while版本更长的代码:

while(条件)一次评估条件,然后在结束时开始一个跳转循环:

if (!cond) jump to 'END' // PRE CHECK
else
'BEGIN'
do work 
if (cond) goto 'BEGIN'
'END'

而do {} while没有这个“预检”,这节省了一些装配说明。在高性能代码的情况下,使用do {} while可能意味着几个百分点的改进。

答案 2 :(得分:0)

来自Site

enter image description here

示例:

#include <iostream>
using namespace std;

int main ()
{
   // Local variable declaration:
   int a = 10;

   // do loop execution
   do
   {
       cout << "value of a: " << a << endl;
       a = a + 1;
   }while( a < 20 );

   return 0;
}

你需要做很多练习,然后你会理解它。不要放弃,只是学习。买一本好书,找到程序员的朋友,加入IRC。学习!这是你未来的大门。

答案 3 :(得分:0)

while (cond) { ...body... }do { ...body... } while (cond)几乎完全相同。

唯一的区别是while (cond)在第一次执行...body...之前测试其条件,而do { ...body... } while (cond)在第一次检查条件之前执行...body...一次。

您可能需要do while的原因是您正在测试的条件是在循环内设置的,而不是之前。在这种情况下,循环检查x是否在范围内,但在循环体执行一次之前,x是不可知的。