Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_новое.DOC
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
486.4 Кб
Скачать

Оператор switch

Это оператор множественного выбора (переключения). Основная форма оператора имеет вид:

switch (выражение)

{

case constant 1: последовательность операторов; break;

case constant 2: последовательность операторов; break;

.......................

case constant N: последовательность операторов; break;

default: последовательность операторов;

}

Слово default и соответствующая последовательность операторов может отсутствовать.

Порядок выполнения оператора switch: сначала вычисляется выражение в скобках, затем полученное значение сравнивается со списком меток, следующих за словом case, далее выполняется последовательность операторов, следующая за двоеточием. Если соответствующая метка не найдена, то выполняется последовательность операторов, находящаяся за ключевым словом default. Наличие оператора break приводит к выходу из оператора switch (см. пример 5.1), при отсутствии слова break происходит последовательное выполнение всех вариантов case, следующих за текущим (см. пример 5.2).

// Пример 5.1.

// Операторы switch и break

Void main(void)

{

char ch;

printf("Введите букву от A до D");

scanf("%c",&ch);

switch(ch)

{

case 'A': printf("Буква A\n"); break;

case 'B': printf("Буква B\n"); break;

case 'C': printf("Буква C\n"); break;

case 'D': printf("Буква D\n"); break;

default : printf("Такой буквы нет\n");

}

}

// Пример 5.2.

// Работа с оператором switch без break

#include <stdio.h>

Void main(void)

{

char ch;

printf("Введите заглавную букву алфавита :");

ch=getchar();

if((ch >= 'А') && (ch <= 'Я'))

switch(ch)

{

case 'А': printf("Алексеев, \n");

case 'Б': printf("Булгаков, \n");

case 'В': printf("Волошин, \n");

case 'Г': printf("Гоголь, \n");

default : printf("Достоевский, Зощенко и другие \n");

}

else printf("Надо было ввести заглавную русскую букву\n");

}

Оператор цикла for

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

Формат оператора for:

for (выражение 1; выражение 2; выражение 3) оператор;

выражение 1 — инициализация, то есть присвоение начального значения управляющей переменной цикла i;

выражение 2 — проверка условия для завершения цикла;

выражение 3 — приращение управляющей переменной;

оператор — это тело цикла, которое выполняется многократно.

Примеры организации циклов:

for (i = 0; i < 10; i++) printf(“%d\n”,i); — выводит цифры от 0 до 9;

for (i = 9; i >= 0; i --) printf(:%d\n”,i); — выводит цифры от 9 до 0;

for (i = 0; i <10000; i++); — пустой цикл;

for (i = 0; i++; i <10000) printf(“%d\n”,i); — ошибочная запись, будет распечатано два значения 0 и 1 и цикл завершится;

for ( ; ; ) printf(“Бесконечный цикл \n”);

for (i = 1; 1; i++) printf(“Бесконечный цикл \n”);

for (i = 10; i >6; i++) printf(“Бесконечный цикл \n”);

Выход из бесконечного цикла можно осуществить с помощью оператора break:

for (i = 0; i <10; i++)

{

x = a + b;

if (! =x) break;

y = 1.0/x;

}

Циклы удобно использовать при работе с векторами (см. пример 5.3) и матрицами (см. пример 5.4).

// Пример 5.3.

// Вычислить среднее аpифметическое 10 вещественных чисел

#include <stdio.h>

#define LINE 10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]