Все темы
Условия, циклы и методы
if и switch, выражение switch, циклы, break и continue, методы с параметрами и возвращаемым значением.
Сортировка:
7 вопросов
JuniorТеорияОчень частоЧто произойдёт при компиляции и запуске программы?
JuniorТеорияОчень часто
Что произойдёт при компиляции и запуске программы?
Не скомпилируется
Открыть задачу →Типичные ошибки
- ✗Ждать
AB: в C# веткаcaseне может продолжиться кодом следующей, и ветка безbreakостанавливает компиляцию с ошибкойCS0163. - ✗Ждать, что компилятор сам допишет
breakи программа выведетA: он ничего не дописывает, а сообщает об ошибке.
Уточняющие вопросы
- →Как исправить программу, чтобы она вывела
A? - →Когда две метки
caseмогут стоять одна под другой безbreakмежду ними?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
1245
Открыть задачу →Типичные ошибки
- ✗Ждать
12: в отличие отbreak,continueне выходит из цикла, а завершает только текущую итерацию, и цикл продолжается сi = 4. - ✗Ждать, что программа зависнет: в
forшагi++выполняется и послеcontinue; зависает циклwhile, который меняет переменную послеcontinue.
Уточняющие вопросы
- →Что выведет программа, если заменить
continueнаbreak? - →Как переписать цикл без
continue, чтобы вывод не изменился?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
AC
Открыть задачу →Типичные ошибки
- ✗Ждать
BC: ветку выбирает первое истинное условие сверху, а не самое строгое, поэтому приx = 7срабатываетx > 3. - ✗Ждать
ABC:else ifпроверяется, только когда все условия выше ложны, поэтому два истинных условия не дают двух веток.
Уточняющие вопросы
- →Как переставить ветки, чтобы при
x = 7программа вывелаBC? - →Что выведет программа, если
xравен2?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
12
Открыть задачу →Типичные ошибки
- ✗Ждать
10: шагi += 2выполняется после тела, поэтому первая итерация идёт сi = 2, а сумма —2 + 4 + 6. - ✗Ждать
20: перед итерацией сi = 8условие8 <= 6ложно, поэтому цикл заканчивается, не прибавив8.
Уточняющие вопросы
- →Что выведет программа, если условие заменить на
i < 6? - →Сколько раз проверяется условие
i <= 6, пока работает цикл?
JuniorТеорияЧастоЧто произойдёт при компиляции и запуске программы?
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
Не скомпилируется
Открыть задачу →Типичные ошибки
- ✗Ждать
7 0: метод не возвращает0сам по себе — компилятор требуетreturnна каждом пути и останавливает компиляцию с ошибкойCS0161. - ✗Ждать сбой только при вызове
Abs(7): компилятор проверяет все пути метода до запуска, поэтому программа не компилируется и ничего не печатает.
Уточняющие вопросы
- →Как исправить
Abs, чтобы программа собралась и напечатала7 7? - →Почему метод всё равно не компилируется, если в конце стоит
if (n >= 0) return n;?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
123
Открыть задачу →Типичные ошибки
- ✗Ждать
1:breakзавершает только ближайший цикл, внутренний, а внешний продолжает работу и печатает2и3. - ✗Ждать
112233: в отличие отcontinue,breakне пропускает одну итерацию, а завершает внутренний цикл, поэтому доj = 3дело не доходит.
Уточняющие вопросы
- →Как изменить программу, чтобы
breakостанавливал оба цикла? - →Сколько раз выполнится
Console.Write(i), если убратьifвместе сbreak?
JuniorТеорияЧастоЧто выведет программа (строки через пробел)?
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
20 10
Открыть задачу →Типичные ошибки
- ✗Ждать
20 20:points— копияscore, поэтому удвоение меняет только копию;Bonusвозвращает20, аscoreостаётся10. - ✗Ждать
10 10или ошибку компиляции: параметр — обычная переменная метода, ему можно присвоить значение, иBonusвозвращает новое значение.
Уточняющие вопросы
- →Как изменить программу, чтобы сама
scoreстала равна20? - →Что напечатает программа, если параметр тоже назвать
score?