有人可以请外行解释此C#函数吗?

时间:2018-12-06 02:32:51

标签: c# .net

for (int x = 0; x < 15; x+=2) sum += x + 5;

我了解a + = b实际上意味着a = a + b。但是按照这种逻辑,我不确定这个数学实际上是什么。到目前为止,我有x为0,如果x小于15,则x = a +2。不确定将Sum部分添加到此for语句中意味着什么。

最初的问题是,以下哪个for语句计算的总和值与for (int x = 0; x < 15; x+=2) sum += x + 5;相同?

a。 for (int x = 5; x < 20; sum += x-2) x += 2;

b。 for (int x = 5; x < 20; x+=2) sum += x;

c。 for (int x = 0; x < 15; sum += x+3) x += 2;

d。以上都不是

e。以上所有

我不需要答案,我只希望有人向我解释数学。

1 个答案:

答案 0 :(得分:2)

根据了解代码:

for (int x = 0; x < 15; x+=2) // loop x starting at zero,
                              //   with an increase of two each time,
                              //   continuing if x is less than fifteen.
    sum += x + 5;             // Add x and five to sum.

这里是您需要的所有 extra 代码,以了解示例代码在做什么:

#include <stdio.h>
int main(void) {
    int sum = 0;
    for (int x = 0; x < 15; x+=2) {
        sum += x + 5;
        printf("x = %d, sum = %d\n", x, sum); // <<-- This bit specifically.
    }
}

现在,那是用C而不是C#编写的,但是重要的是要意识到,您需要做的就是在每次迭代后打印出值(使用Console.WriteLine在C#中,如果记忆正确地为我服务),则可以看到它的效果。

然后,对所有其他代码段执行相同的操作,然后查看哪些代码段也产生相同的结果(将一些值添加到sum的初始值中)。


如果由于某种原因而不能运行 actual 代码(例如,如注释中所述,它是不允许使用计算机的笔试),则需要学习在以下语言中运行代码您的头。从表格开始:

  x | sum
----+-----
    |    0

并简单地逐个执行说明,并按照计算机的方式更改值:

for (int x = 0; x < 15; x+=2) sum += x + 5;

最初的几个步骤是:

  x |  sum | notes
----+------+------
    |    0 |
  0 |      | Initial setting of x to 0 in loop, <15 so keep going.
    |    5 | Add x and 5 to sum.
  2 |      | Add 2 to x in loop, <15 so keep going.
    |   12 | Add x + 5 to sum.
  4 |      | Add 2 to x in loop, <15 so keep going.
    |   21 | Add x + 5 to sum.

以此类推。