Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Теоретические сведения. Условный операторимеет сокращенную форму:




Условный операторимеет сокращенную форму:

if (выражение_условие) оператор;

где в качестве выражения_условия могут использоваться: арифметическое выражение, отношение и логическое выражение. Оператор, включенный в условный, выполняется только в случае истинности (т.е. при ненулевом значении) выраж-ния_условия. Пример:

if (х < 0 && х > -10) х=-х:

Кроме сокращенной формы, имеется еще и полная форма условного оператора:

if (выражение_условие)

оператор _1;

else

оператор _2;

Здесь в случае истинности выражения-условия выполняется только оператор_1, при нулевом значении выражения-условия выполняется только оператор_2. Например:

if (x > 0)

b=х ;

Else

b=-х;

Оператор в сокращенном варианте оператора if, и оператор_1 и оператор 2 в полном операторе if могут быть как отдельными, так и составными операторами.

Например, при решении алгебраического уравнения 2-й степени ax2+bx+c=0 действительные корни имеются только в случае, если дискриминант (b2~4ас) неотрицателен. Следующий фрагмент программы иллюстрирует использование условного оператора при определении действительных корней х1, х2 квадратного уравнения:

...............

d=b*b- 4*а*с; /* d - дискриминант*/

if (d>=0.0)

{

xl=(-b+sqrt(d))/2/a;

х2=(-b-sqrt(d))/2/а;

printf("\n Корни: xl=%e, x2=%e", xl, х2);

}

Else

printf("\n Действительные корни отсутствуют.");

Во фрагменте предполагается, что переменные d, b, a, xl, х2 - вещественные (типа floatлибо double).До приведенных операторов переменные а, b, с получили конкретные значения, для которых выполняются вычисления. В условном операторе после ifнаходится составной оператор, после else- только один оператор - вызов функции printf(). При вычислении корней используется библиотечная функция sqrt() из стандартной библиотеки компилятора. Ее прототип находится в заголовочном файле math.h.

Операции отношений (сравнения):

< меньше, чем (ранг 6); ,

> больше, чем (ранг 6);

<= меньше или равно (ранг 6);

>= больше или равно (ранг б);

== равно (ранг 7);

!= не равно (ранг 7).

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

(х < В ==А < х) есть 1,

когда значение х находится в интервале от А до В и А<В либо х, А, В равны. (Вначале вычисляются х<В и А<х, к результатам применяется операция сравнения на равенство ==.)

Логические бинарные операции:

&& - конъюнкция (И) арифметических операндов или отношений (ранг 11. Целочисленный результат 0 (ложь) или 1 (истина);

|| - дизъюнкция (ИЛИ) арифметических операндов или отношений (ранг 12). Целочисленный результат 0 (ложь) или 1 (истина). (Вспомните о существовании унарной операции отрицания '!'.)

Результаты отношений и логических операций:

3<5 равняется 1;

3>5 равняется 0;

3=5 равняется 0;

3!=5 равняется 1;

3!=5 || 3=5 равняется 1;

3+4>5 && 3+5>4 && 4+5>3 равняется 1.

Условная трехместная операция (ранг 13). В отличие от унарных и бинарных операций условная тернарная операция используется с тремя операндами. В изображении условной операции применяются два символа '?' и ':' и три выражения-операнда:

выражение_1 ? выражение_2 : выражение_3

Первым вычисляется значение выражения_1. Если оно истинно, т.е. не равно нулю, то вычисляется значение выражения_2, которое становится результатом. Если при вычислении выражения_1 получится 0, то в качестве результата берется значение выражения_3. Классический пример:

х < 0 ? -х : х;

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


Поделиться:

Дата добавления: 2015-09-15; просмотров: 151; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты