- •Часть 1
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Часть 2 184
- •Пояснительная записка
- •Содержание дисциплины
- •Индивидуальные практические работы, их характеристика
- •Контрольные работы, их характеристика
- •Литература
- •Основная
- •Дополнительная
- •Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •Учебно-методические пособия
- •Алфавит языка
- •Лексемы
- •Идентификаторы
- •Ключевые слова
- •Знаки операций
- •Константы
- •Комментарии
- •Тема 2. Типы данных Концепция типа данных.
- •Простые типы данных
- •Целый тип int
- •Символьный тип char
- •Типы с плавающей точкой: float, double, long double
- •Тема 3. Выражения
- •Переменные
- •Именованные константы
- •Операции
- •Операции присваивания
- •Инкремент и декремент
- •Унарный плюс и унарный минус (строка 2)
- •Явное преобразование типа
- •Операция определения размера sizeof
- •Деление и остаток от деления
- •Логические операции не, и, или (!, &&, ||)
- •Условная операция (?:)
- •Операция запятая (,)
- •Операции взятия адреса и разадресации
- •Тема 4. Операторы
- •Структура программы
- •Тема 5. Базовые конструкции структурного программирования
- •Операторы ветвления
- •1. Условный оператор if
- •2. Оператор switch
- •Операторы цикла
- •1. Цикл с предусловием while
- •2. Цикл с постусловием do-while
- •3. Цикл с параметром for
- •Тема 6. Массивы
- •Тема 7. Указатели и массивы
- •Тема 8. Строки символов
- •Тема 9. Структуры
- •Массивы структур
- •Битовые поля
- •Объединения
- •Перечисления
- •Тема 10. Функции
- •Глобальные, локальные и статические переменные
- •Параметры функции
- •Передача массивов в качестве параметров функции
- •Функция main, ее параметры
- •Функции стандартной библиотеки
- •Функции форматного вывода и ввода printf и scanf
- •Тема 11. Файлы
- •Тема 12. Работа с динамической памятью
- •Тема 13. Динамические структуры данных
- •Очереди
- •Линейные списки
- •Бинарные деревья
- •Практический раздел Общие указания Указания по выбору варианта
- •Порядок оформление итогового отчета
- •Индивидуальные практические работы Индивидуальная практическая работа 1 Методические указания
- •Варианты заданий.
- •Индивидуальная практическая работа 2 Методические указания
- •Варианты заданий
- •Контрольные работы Контрольная работа 1 Методические указания
- •Варианты заданий
- •Контрольная работа 2 Методические указания
- •Варианты заданий
2. Оператор switch
Оператор switch, называемый также переключателем, предназначен для разветвления процесса вычислений на несколько направлений. Формат оператора:
switch (выражение)
{
case константа 1: [оператор 1]
case константа 2: [оператор 2]
case константа 3: [оператор 3]
. . .
case константа N: [оператор N]
[default: оператор N+1]
}
где квадратные скобки означают, что их содержимое может отсутствовать. Операторы могут быть как простыми, так и составными, но фигурные скобки не ставятся.
Структурная схема оператора switch:
Выполнение оператора начинается с вычисления выражения, которое должно иметь целочисленный тип. Затем начинается последовательный анализ констант и управление передается тому оператору, для которого константа совпадает с вычисленным значением. После этого анализ продолжается далее. Если в итоге ни одного совпадения не произошло, выполняется оператор, расположенный после слова default, а при его отсутствии – ничего не делается. Все константы должны иметь разные значения, но быть одного и того же целочисленного типа. Для немедленного выхода из переключателя необходимо после соответствующего оператора вставить оператор break. Этот оператор рекомендуется ставить после каждого входящего в переключатель оператора. Пример: выведите на экран название дня недели по его номеру.
#include <stdio.h>
void main()
{
int number;
printf(“Введите номер дня недели:\n”);
scanf(“%d”, &number);
switch(number)
{
case 1: printf(“Понедельник”); break;
case 2: printf(“Вторник”); break;
case 3: printf(“Среда”); break;
case 4: printf(“Четверг”); break;
case 5: printf(“Пятница”); break;
case 6: printf(“Суббота”); break;
case 7: printf(“Воскресение”); break;
default: printf(“Ошибка ввода”); break;
}
}
Иногда может понадобиться выполнить один и тот же оператор в разных ветвях case. В этом случае несколько меток case ставятся подряд:
#include <stdio.h>
void main()
{
int number;
printf(“Введите номер дня недели:\n”);
scanf(“%d”, &number);
switch(number)
{
case 1: case 2: case 3: case 4: case 5:
printf(“Учимся”); break;
case 6: case 7:
printf(“Отдыхаем!”); break;
default: printf(“Ошибка ввода”); break;
}
}
Операторы цикла
Операторы цикла используются для вычислений, повторяющихся многократно. Блок (один или несколько операторов), ради выполнения которого организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией. Начальные установки служат для того, чтобы до входа в цикл задать значения переменных, которые в нем используются.
Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла и тогда говорят о цикле с предусловием (рисунок слева), либо после тела цикла и тогда говорят о цикле с постусловием (рисунок справа). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, в то время как для цикла с предусловием существует возможность того, что тело цикла не будет выполнено ни разу.
Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и которая принудительно изменяется на каждой итерации, причем, чаще всего, на одну и ту же величину. Параметр есть не у всякого цикла.
Цикл завершается, если условие его продолжения не выполняется.