c++中while和do的区别
The difference between while and do while C++?
我希望有人能解释一下c++中while和do while的区别
我刚开始学习c++,用这段代码,我似乎得到了相同的输出:
int number =0;
while (number<10)
{
cout << number << endl;
number++
}
和下面的代码:
int number=0;
do
{
cout << number << endl;
number++
} while (number<10);
这两种计算的输出都是相同的。所以似乎没有什么区别。我试着找其他的例子,但它们看起来很难理解,因为它包含了数学的东西和其他我还没有学过的东西。我的书也给了我的问题一种迷幻的答案。
是否有一个更简单的例子来说明这两个循环之间的区别?
我很好奇
while
循环首先计算number < 10
,然后执行循环体,直到number < 10
为false
。
执行do-while
循环体,然后计算number < 10
,直到number < 10
为false
。
例如,下面不打印任何内容:
int i = 11;
while( i < 10 )
{
std::cout << i << std::endl;
i++;
}
但是这里打印的是11
:
int j = 11;
do
{
std::cout << j << std::endl;
j++;
}
while( j < 10 );
while循环是输入控制循环,即首先检查while(condition){ ...body... }
中的条件,然后执行循环体,并继续循环和重复该过程,直到条件为假。
do{...body...}while(condition)
中的条件 ( do while循环的体总是至少执行一次),然后再次循环体,直到发现条件为假。
希望这对你有帮助:)
例如:在while循环的情况下,在这种情况下不会打印任何内容,因为1不小于1,条件失败并且循环退出
int n=1;
while(n<1)
cout << "This does not get printed" << endl;
然而,在do while的情况下,语句被打印出来,因为它现在不知道任何关于条件的信息,直到它执行了至少一次,然后因为条件失败而停止。
int n=1;
do
cout << "This one gets printed" << endl;
while(n<1);
如果您考虑使用不同的起始值,您可以更清楚地看到差异:
int number = 10;
while (number<10)
{
cout << number << endl;
number++
}
// no output
在第一个例子中,条件立即失败,因此循环不会执行。然而,因为直到第二个示例中的循环代码之后的才测试条件,所以您将得到一次迭代。int number = 10;
do
{
cout << number << endl;
number++
}
while (number<10);
// output: 10
while循环只在满足条件时执行。而do while循环将在不验证条件的情况下第一次执行,直到初始执行之后才执行。
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- C++ - "!pointer"和"pointer == nullptr"的区别?
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- 返回递归调用和仅递归调用的区别
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- Qt:remove() 和 rmdir() 有什么区别
- 这 4 个 lambda 表达式之间有什么区别?
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- C++ 中循环的 while 和 do while 之间的区别
- c++中while和do的区别