哪个对性能更好?这可能与其他编程语言不一致,因此,如果它们不同,或者如果您可以使用特定语言来回答我的问题,请解释。
我将以c ++为例,但是我想知道它如何在java,c或任何其他主流语言中工作。
int x = 0;
while (x < 10) {
cout << x << "\n ";
x++;
}
VS
for ( int x = 1; x < 10; x++)
cout << x << "\n ";
哪个表现更好?如果它是for循环,那么可以说已经声明了一个可以在while循环增量中使用的整数,我们是否不需要为while循环创建?
例:
int age = 17; //this was made for something else in the code, not a while loop. But fortunately for us, our while loop just so happened to need the number 17.
while (age < 25) {
cout << age << "\n ";
age++;
}
与创建for循环相比,此实例是否会使while循环成为更好的选择?我看到的问题与此相似,但我不认为这是重复的,或者其他问题的答案都回答了我的问题。
我想对此问题做一个解释,说明它是特定于编译器的,如何工作的,或者什么是该问题的好答案。
我发现很难想象您提供的代码样本具有不同的性能特征的情况。
我确实对你有好奇心。在类似Pascal的语言(例如Delphi)中,循环限制仅评估一次。这与类似C的语言不同,后者在每次迭代时都会评估循环极限。这可能会对性能产生影响,但是通过在循环外引入局部变量,以类似C的语言编写高性能代码当然很简单。
例如:
德尔菲
for i := 0 to List.Count-1 do
DoStuff(List[i]);
List.Count
仅被评估一次。
C ++
for (int i=0; i<List.getCount(); i++)
DoStuff(List.getItem(i));
在这里,List.getCount()
每次循环都被调用。
如果发现评估回路极限是昂贵的,则该差异可能是相关的。自然,List.getCount()
在循环外求值并将结果存储在局部变量中是很简单的。
比较了for
Pascal和C / C ++
的循环后,我会说Pascal版本在比较中非常简单。这不一定是一件坏事,因为对于更复杂的应用程序总有while
可用的方法。
主要内容:C语言for循环中的三个表达式除了 while循环,C语言中还有 for 循环,它的使用更加灵活,完全可以取代 while 循环。 上节我们使用 while 循环来计算1加到100的值,代码如下: 可以看到,语句①②③被放到了不同的地方,代码结构较为松散。为了让程序更加紧凑,可以使用 for 循环来代替,如下所示: 在 for 循环中,语句①②③被集中到了一起,代码结构一目了然。 for 循环的一般形式为: for(表达式1;
for 循环广泛存在于 C 语言中的各个角落中。担负着完成根据给定条件,完成有限次循环的重任。 1. for 循环的语法 for(控制循环的变量; 循环判断条件; 循环变量增减变化) { // 循环执行的语句 } 2. for 循环执行过程 3. for 循环的使用场景 当我们可以确定循环的控制条件的时候采用这个语句。这里的循环一般都是有限次的循环。我们都知道高斯小时候计算 1 到 10
Go 语言循环语句 for循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go语言的For循环有3中形式,只有其中的一种使用分号。 和 C 语言的 for 一样: for init; condition; post { } 和 C 的 while 一样: for condition { } 和 C 的 for(;;) 一样: for { } init: 一般为赋值表达式,给控制变量赋
我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两
主要内容:while循环,do-while循环在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何“拐弯抹角”; 选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符; 循环结构:重复执行同一段代码。 前面讲解了顺序结构和选择结构,本节开始讲解循环结构。所谓 循环(Loop),就是重复地执行同一段代码,例如要计算 1+2+3+……+99+100 的值,就要重复进行99次加法运算。 while循
主要内容:for循环,嵌套循环,无限循环在某些情况下,我们可能需要重复执行某些代码,这时就需要用到 C# 中的循环语句,C# 中支持 for 循环、foreach 循环、while 循环和 do while 循环等循环语句,本节我们主要来介绍一下 C# 中的 for 循环。 for循环 使用 for 循环可以重复执行一部分代码,而且重复的次数是可以设定的,其语法格式如下所示: for(初始化语句; 判断条件; 迭代器){ //