Поиск по сайту:

Учебник по программированию на C для Linux, часть 16: операторы Switch, Break и Continue


На этой странице

  1. Переключить оператор
  2. Разрыв и продолжение
  3. Заключение

Мы уже обсуждали некоторые основные циклы, используемые в языке программирования C, в том числе for, while и do...while. Эти циклы, как согласится большинство из вас, в основном помогают вам, когда инструкции должны выполняться повторно при одном или нескольких условиях. Таким образом, вы пишете меньше кода, делая его более читабельным в процессе.

Как и в случае с этими циклами, существуют операторы, помогающие писать более качественный код на C. Вот некоторые из этих операторов: Switch, Break, Continue и Goto. Давайте обсудим их один за другим.

Оператор переключения

Switch — это в основном оператор, который принимает значение, на основе которого он выполняет часть кода. Это оператор управления, так как он изменяет управление выполнением на основе входного значения.

Вот структура переключателя:

...
...
...
switch (expression)
{
case const_val_1: //some code
break;
case const_val_2: //some code
break;
case const_val_3: //some code
break;
default: //some code
break;
}
...
...
...

Итак, здесь выражение — это значение, которое передается в качестве входных данных для оператора switch, и на основе случая, который соответствует значению выражения, выполняется соответствующий код. Ниже приведен рабочий пример, в котором переключатель делает код менее сложным и улучшает читабельность.

#include <stdio.h>

int main()
{
int roll;
printf("Enter a roll number in range of 1 - 5: ");

scanf("%d", &roll);

switch(roll)
{
case 1: printf("name of student is RON");
break;
case 2: printf("name of student is ROGER");
break;
case 3: printf("name of student is SAM");
break;
case 4: printf("name of student is LUCIE");
break;
case 5: printf("name of student is DORN");
break;
default: printf("Entered roll number didn't match any candidate");
break;
}
return 0;
}

Итак, здесь номер рулона, введенный пользователем во входных данных, передается оператору switch, и выполняется код, соответствующий случаю, который соответствует.

Обратите внимание, что оператор break в конце каждого case гарантирует выход из оператора switch после выполнения совпадающего case. Если оператор break отсутствует, поток выполнения переходит к следующему варианту.

Случай по умолчанию предназначен для того, чтобы пользователь получал уведомление, если ни один случай не соответствует значению в переключателе. Наличие регистра по умолчанию не обязательно, но всегда полезно.

Кроме того, поскольку случай по умолчанию обычно является последним случаем в операторе switch, наличие разрыва в конце также не является обязательным, но рекомендуется, поскольку это считается защитным программированием (на случай, если в будущем будет добавлено больше случаев после значения по умолчанию). дело).

Прервать и продолжить

Обратите внимание, что в дополнение к оператору switch оператор break также может использоваться для раннего выхода из циклов, таких как for, while и do...while.

...
...
...
for(i=0; i<10; i++)
{
//statements

if(condition)
break;

//statements
}
...
...
...

Теперь, чтобы продолжить, точно так же, как break вызывает ранний выход из цикла, continue вызывает следующую итерацию цикла, которая в случае while и do...while начинается с проверки условия, а в случае цикла for - это приращение шаг.

Вот пример, в котором используется продолжение пропуска нечетных чисел внутри цикла for:

...
...
...
for(i=0; i<100; i++)
{
if(i%2)
continue;

//statements
}
...
...
...

Обратите внимание, что вы не можете использовать continue внутри переключателя, за исключением случаев, когда сам переключатель является частью цикла.

Заключение

В этом руководстве мы обсудили операторы break, continue и switch. Попробуйте примеры или демонстрационный код, которыми мы поделились в этом руководстве, на своей системе, чтобы лучше понять эти концепции. В случае каких-либо сомнений или вопросов, сообщите нам об этом в комментариях ниже.