logo
HCS12 с применением языка С - royallib

3.9.1. Оператор if

Оператор if — это оператор выбора. Синтаксис оператора if:

if (<выражение>) {

 <оператор 1>

} else {

 <оператор 2>

}

Работа оператора if заключается в следующем. Сначала вычисляется заключенное в скобки выражение. Если его значение оказалось отличным от нуля («истина»), то выполняется оператор 1. Если используется служебное слово else и значение выражения равно нулю («ложь»), то выполняется оператор 2, указанный после else. Если значение выражения равно нулю («ложь»), а служебное слово else не указано, управление передаётся следующему за if оператору программы.

1 if (input == 0x00)

2 {

3  output = 0x0F;

4 }

5 …………………

В этом примере переменная input проверяется на равенство 0. Если текущее значение этой переменной действительно равно 0, то выполняется оператор, записанный в строке 3. Служебное слово else в данном примере отсутствует, поэтому, если текущее значение переменной input не равно 0, то программа осуществляет переход к строке 5. В качестве первого и второго операторов в условном операторе if можно применять блоки операторов. Приведенный выше пример может быть записан в сокращенной форме, без выделения фигурными скобками блока операторов условно выполняемых операторов:

1 if (input == 0x00)

2  output = 0x0F;

Применяя конструкции с оператором if, полезно знать, что программа принимает решение о выполнении того или иного блока операторов по значению внутренней логической переменной, которая устанавливается в 0 или в 1 по результату анализа заключенного в скобки условного выражения. Поэтому в качестве выражения условия программист может записать некоторую логическую формулу. В ходе исполнения конструкции if ее значение будет вычислено, по результату вычисления (0 или 1) будет принято решение о выполнении той или иной группы операторов. Частным случаем логического выражения условия является запись:

1 if (1)

2  output = 0x0F;

Понятно, что действие output = 0x0F будет выполняться всегда, что иногда полезно на этапе отладки программы.