Циклы Flashcards

1
Q
Перепишите for с помощью цикла while:
for (var i = 0; i < 10; i += 2) {}
A
{
    var i = 0;
    while(i < 10)
    {
        i += 2;
    }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что может находиться в 1-ой секции for?

A

Декларация либо присваивание значений нескольким переменным одного типа

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что может находиться в 2-ой секции for?

A

Условие: любое выражение, возвращающее bool

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что может находиться в 3-ей секции for?

A

Выражения, разделенные запятой. Например, использование операторов или вызов методов

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Когда целесообразно использовать for, а когда foreach для перебора всех элементов коллекции?

A

for если нужен индекс. Иначе foreach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что делает break в цикле?

A

Выходит из текущего цикла. Только из одного.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что делает continue в цикле?

A

Переходит к следующей итерации текущего цикла.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

В чем ошибка? Как исправить?
for (var i = 0; i < 10; i++);
Console.WriteLine(i);

A

Точка с запятой в конце первой строчки приводит к тому, что цикл пустой.
for (var i = 0; i < 10; i++)
Console.WriteLine(i);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
Как выйти из двойного цикла?
for (var i = 0; i < 10; i++)
{
    for (var j = 0; j < 5; j++)
    {
        var c = i + j;
        //отсюда, если c == 7
    }
}
A

Последовательно использовать break за счет дополнительного флага:

for (var i = 0; i < 10; i++)
{
    var goOut = false;
    for (var j = 0; j < 5; j++)
    {
        var c = i + j;
        if (c == 7)
        {
            goOut = true;
            break;
        }
    }
    if (goOut)
        break;
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как сделать бесконечный цикл на for?

A

for ( ; ; );

for ( ; ; ) { }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly