-7
#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;
  }

I really just dont understand it. How would i use it? also does a do and while mean that Do is what is happening and while it is happening does it do the While? This is some code my friend did for me can any of you really specificly explain it?

4

4 回答 4

4

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

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

相当于

"//code stuff here"
while (condition) {
  "//code stuff here"
}
于 2013-07-07T20:40:37.653 回答
1

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

那时,使用 while() 启动循环会产生比 do/while 版本更长的代码:

while(condition) 评估条件一次,然后开始一个循环,最后有一个跳转:

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

而 do{} while 没有这种“预检查”,它节省了一些汇编指令。在高性能代码的情况下,使用 do{} while 可能意味着几个百分点的改进。

于 2013-07-07T20:50:51.703 回答
0

while (cond) { ...body... }并且do { ...body... } while (cond)几乎相同。

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

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

于 2013-07-07T20:41:13.660 回答
0

网站

在此处输入图像描述

例子:

#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。学!这是通往你未来的大门。

于 2013-07-07T20:40:57.283 回答