Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория_информатика.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.34 Mб
Скачать

18.4.2 Оператор switch

18.4.2.1 Назначение

Оператор switch предназначен для организации выбора из множества различных вариантов.

18.4.2.2 Форма записи:

switch (expression) {

case value1:

program statement;

...

break;

case value2:

program statement;

...

break;

...

case valuen:

program statement;

...

break;

default:

program statement;

...

break;

}

Выражение заключенного в круглые скобки оператора последовательно сравнивается со значениями value1, value2,..., valuen, которые должны быть простыми константами или константными выражениями. В том случае, когда одно из этих значений равно значению, выполняются утверждения, которые следуют за данным значением.

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

Пример:

int i=2;

switch (i)

{

case 1: i += 2;

case 2: i *= 3;

case 0: i /= 2;

case 4: i -= 5;

default: ;

}

Операторы if и switch той или иной синтаксической конструкции существуют практически во всех языках программирования (в первую очередь языках высокого уровня), и их часто называют операторами ветвления.

18.4.3 Условный оператор ?

18.4.3.1 Назначение

В отличие от других операторов языка С, которые могут быть унарными или бинарными, специфический оператор условия является тернарным оператором. Это означает, что у него может быть три операнда.

18.4.3.2 Формат записи

условие ? выражение_1 : выражение_2

Если в результате вычисления условия будет получено значение TRUE (истина, не нуль), то выполняется выражение_1, и результатом выполнения оператора условия будет значение, полученное при вычислении этого выражения. Если в результате вычисления условия будет получено значение FALSE (ложь, т.е. нуль), то выполняется выражение_2, и результатом выполнения оператора условия будет значение, полученное при вычислении выражение_2.

Оператор условия часто описывают как оператор ?. Тернарный оператор условия ? наиболее часто используется для присвоения переменной одного из двух значений в зависимости от некоторого условия.

18.4.5 Оператор for

18.4.5.1 Назначение

Оператор for - это наиболее общий способ организации цикла.

18.4.5.2 Формат записи:

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

Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 – это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

18.4.5.3 Схема выполнения оператора for

Вычисляется выражение 1.

Вычисляется выражение 2.

Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

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

Пример:

int main()

{ int i,b;

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

b=i*i;

return 0;

}

18.4.6 Оператор while

18.4.6.1 Назначение:

Оператор цикла while называется циклом с предусловием

18.4.6.2 Формат записи

while (выражение) тело ;

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

18.4.5.3 Схема выполнения оператора while

Вычисляется выражение.

Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while.

Процесс повторяется с пункта 1.

Пример:

выражение-1;

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

{ тело

выражение-3;

}

Лекция 19 Подпрограммы и модули, определяемые пользователем

Процедуры и модули в языке Turbo Pascal

Характеристика подпрограмм

Порядок создания и использования процедур

Порядок создания и использования функций

Механизм формальных параметров

Использование модулей

Подпрограммы в языке C

Характеристика подпрограмм

Порядок создания и использования функций

Механизм формальных параметров

19.1 Процедуры и модули в языке Turbo Pascal

19.1.1 Характеристика подпрограмм

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

Чтобы каждый раз не повторять в программе этот блок выражений Паскаль позволяет представить эту последовательность вычислительных действий в форме подпрограммы, а затем по имени подпрограммы вызывать выполнение кода подпрограммы в заданном месте основной программы. Фактически подпрограмма – это мини-программа, которая перед использованием должна быть предварительно объявляться (описываться).

Процедура объявляется в разделе описаний

основной программы (вышестоящей подпрограммы);

модуля.

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

<Заголовок подпрограммы>;

<[раздел описаний подпрограммы]>;

<Тело подпрограммы>);

В отличие от основной программы заголовок в подпрограмме является обязательным. Кроме того, любая подпрограмма может использовать в своем теле (теле подпрограммы) не только переменные, описанные в своем разделе описаний, но и переменные, описанные в основной программе. То есть все переменные, используемые подпрограммой, можно представить:

локальными переменными – переменными, объявленными (описанными) в подпрограмме:

глобальными переменными – переменными, объявленными в разделе описания основной программы.

Глобальные переменные могут использоваться двумя способами. Во-первых, непосредственно включая имена переменных в выражения подпрограммы. А, во-вторых, посредством передачи глобальных переменных в тело подпрограммы через механизм формальных параметров. Механизм формальных параметров будет рассмотрен в конце текущей лекции.

Внутри одной подпрограммы могут объявляться другие подпрограммы. Причем глубина вложенности подпрограмм ограничивается только размерами памяти, выделенной под стек.

В Турбо Паскаль реализованы две разновидности подпрограмм:

процедуры;

функции;