Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_Shpory_moi.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.15 Mб
Скачать

28 Условная операция «? :»

Условная операция - тернарная, в ней участвуют три операнда. Фор-

мат написания условной операции: выражение 1 ? выражение 2 : выражение 3; если выражение 1 отлично от нуля (истинно), то результатом операции является выражение 2, в противном случае - выражение 3; каждый раз вычисляется только одно из выражений 2 или 3. Для нахождения максимального значения из а и b (значение z) можно использовать оператор if : if (a > b) z=a; else z=b; Используя условную операцию, этот пример можно записать как z = (a>b) ? a : b; Условную операцию можно использовать так же, как и любое другое выражение. Если выражения 2 и 3 имеют разные типы, то тип результата определяется по общим правилам.

29 Оператор выбора альтернатив (переключатель)

Общий вид оператора:

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

case константа 1: оператор 1; break;

case константа 2: оператор 2; break;

...

case константа N: оператор N; break;

default: оператор N+1; break; - может отсутствовать

}

Значение вычисленного выражения должно быть целого типа (символьного). Это значение (констант выбора) сравнивается со значениями констант, стоящих после case, и при совпадении с одной из них выполняется

передача управления соответствующему оператору. В случае несовпадения значения выражения с одной из констант происходит переход на default либо при отсутствии default - к оператору, следующему за операто-

ром switch. Оператор break (разрыв) выполняет выход из оператора switch; break может отсутствовать.

30 Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.

Циклическим является алгоритм, если определенная последовательность шагов выполняется некоторое целое число раз. Рис. 1 иллюстрирует циклические алгоритмы.

Р исунок 1. Циклические алгоритмы: а – цикл с предусловием, б – с постусловием, в – с параметром

У каждого из операторов цикла имеются особенности в их использовании (табл. 1): условные циклы выполняются пока условие истинно, а цикл с параметром работает, пока управляющая переменная цикла (так называемый параметр) не достигнет своего конечного значения. Таблица 1 – Операторы циклов.

Оператор цикла с предусловием while (<выражение>) <оператор>;

Оператор цикла с постусловием do <оператор> while <выражение>;

31 Оператор цикла с предусловием и коррекцией for

Общий вид оператора:

for (выражение 1; выражение 2; выражение 3) код цикла;

Цикл for эквивалентен последовательности инструкций:

выражение 1;

while (выражение 2)

{

код цикла . . .

выражение 3;

}

здесь выражение 1 - инициализация счетчика (начальное значение), выражение 2 - условие продолжения счета, выражение 3 - увеличение счетчика. Выражения 1,2 и 3 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.

Операция «запятая» чаще всего используется в операторе for. Она позволяет включать в его спецификацию несколько инициализирующих выражений. Первое выражение необязательно должно инициализировать переменную. Необходимо только помнить, что первое выражение вычисляется только один раз перед тем, как остальные части начнут выполняться.

for (printf(" Вводите числа по порядку! \n"); num != 6;)

scanf("%d", &num);

printf(" Последнее число - это то, что нужно. \n"); В этом фрагменте первое сообщение выводится на печать один раз, а затем осуществляется прием вводимых чисел, пока не поступит число 6.

Параметры, входящие в выражения, находящиеся в спецификации цикла, можно изменять при выполнении операций в коде цикла, например:

for (n = 1; n < Nk; n += delta) ... ; параметры Nk, delta можно менять в процессе выполнения цикла.

Использование условных выражений позволяет во многих случаях значительно упростить программу.

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