我对编程很陌生。我已经了解了一段时间的循环(约1个月哈哈)。我做了很多练习,到目前为止,我主要用于循环。我认为它们是相同的,因为最终,你可以用任何循环实现相同的结果。任何人都可以为此加油吗?什么时候我们应该使用for循环,什么时候应该使用while循环。哪一个更有可能陷入无限循环?谢谢
答案 0 :(得分:1)
for
循环和while
循环生成几乎完全相同的代码。
使用for
背后的想法是当你需要某种索引或迭代器时。 while
通常用于检查简单的布尔条件。
更具体地说,如果您尝试循环集合(数组,列表等),请使用for
。如果您要检查某些内容的状态是否发生变化,请使用while
。
答案 1 :(得分:1)
while循环将始终首先评估条件。
while (condition) {
//gets executed after condition is checked
}
for循环允许您启动计数器变量,检查条件以及在一行中递增计数器的方法。
for (int x = 0; x < 100; x++) {
//executed until x >= 100
}
答案 2 :(得分:0)
最基本的循环类型是while
循环;当你不知道它将要循环多少次迭代时使用它。 for
实际上只是一个内置“便利”功能的while
循环。当迭代次数是可预测的常量或变量时,请使用for
。
通常,由于你认为会终止但实际上没有的循环条件,你更有可能永远陷入while
循环。但我会根据上面指定的标准选择循环类型。
答案 3 :(得分:0)
for(;expression;){/*code*/}
和while(expression){/*code*/}
都只是在这个数字中转到:
if (expression is false) goto END;
BEGIN:
//code here
if (expression is true) goto BEGIN;
END:
do{/*code here*/}while(expression);
更像是这样:
BEGIN:
//code here
if (expression is true) goto BEGIN;
在装配中,这些都包括跳跃和标签。一个主要的区别是for循环如何通过将循环的所有重要控制特性分组在一起来帮助代码的简洁性和可读性,特别是init,条件和增量都在一起,这样就像这样的while循环:
i=0;
j=size;
while(i < j){
//possibly lots of code in between
i++;
j--;
}
会变成
for(i=0,j=size; i<j; i++,j--){
//code
}
答案 4 :(得分:0)
每当你的循环需要一个改变状态变量来表达条件时,使用for
- 循环。语法允许声明一个循环的局部变量,并在每次迭代后显式地操作它。
for (unsigned i = k; i < 100; ++i) {
...
}
比同等的
更清晰{
unsigned i = k;
if (i < 100) do {
...
if (i < 100) ++i;
else break;
} while(1);
}