Условные операторы языка С if и switch .
Для того чтобы иметь возможность реализовать логику в программе используются условные операторы, в которых программа делает выбор по какому из возможных направлений двигаться дальше.
Синтаксис оператора if :
if (выражение)
<оператор>
Если значение параметра «выражение» равно «истинно», выполняется оператор, иначе он пропускается программой. Следует отметить, что «выражение» является условным выражением, в котором выполняется проверка некоторого условия. В таблице 2 представлены варианты простых логических выражений оператора if:
Таблица 2. Простые логические выражения .
if(a < b) | Истинно, если переменная a меньше переменной b и ложно в противном случае. |
if(a > b) | Истинно, если переменная a больше переменной b и ложно в противном случае. |
if(a == b) | Истинно, если переменная a равна переменной b и ложно в противном случае. |
if(a <= b) | Истинно, если переменная a меньше либо равна переменной b и ложно в противном случае. |
if(a >= b) | Истинно, если переменная a больше либо равна переменной b и ложно в противном случае. |
if(a != b) | Истинно, если переменная а не равна переменной b и ложно в противном случае. |
if(a) | Истинно, если переменная а не равна нулю, и ложно в противном случае. |
П ример :
Программа определения знака введенного числа.
#include <stdio.h>
int main()
{ float x;
printf("Введите число: ");
scanf("%f",&x);
if(x < 0)
printf("Введенное число %f является отрицательн ы м.\ n ", x);
if(x >= 0)
printf("Введенное число %f является неотрицательным.\ n ", x);
return 0;
}
Анализ приведенного текста программы показывает, что два условных оператора можно заменить одним, используя конструкцию
if (выражение)
<оператор1>
else
<оператор2>
которая интерпретируется таким образом. Если «выражение» истинно, то выполняется «оператор1», иначе выполняется «оператор2».
В случаях, когда при выполнении какого-либо условия необходимо записать более одного оператора, необходимо использовать фигурные скобки, т.е. использовать конструкцию вида
if (выражение)
{ <список операторов>}
else
{ <список операторов>}
Следует отметить, что после ключевого слова else формально можно поставить еще один оператор условия if, в результате получим еще более гибкую конструкцию условных переходов:
if(выражение1) <оператор1>
else if(выражение2) <оп е ратор2>
else <оператор3>
До сих пор рассматривались простые условия типа x<0. Вместе с тем оператор if позволяет реализовывать более сложные условные переходы.
В языке С имеются три логические операции: