Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Операции отношения






Эти операции позволяют сравнивать друг с другом данные, например:

x> 0 y< =x z! =27 g==’\n’

Значения переменных после выполнения операции сравнения не изменяется, каждое выражения проверяется – истинно оно или ложно. В языке Си истинному значению выражения с операцией отношения соответствует единичный результат, ложному – нулевой. Например, выражение

y=x> 5;

определяет значение переменной ‘у’ равным единице для ‘x’ равным 25 и равным нулю для ‘х’ равным –5.

Согласно табл. 4.1. наибольшим приоритетом обладает операции ‘< ’ и ‘> ’, наименьшими равенство и неравенство. Поэтому, например, выражение

(x> 5 == y< 10)

будет выполняться в следующем порядке:

– сравнение y< 10;

– сравнение x> 5;

– сравнение на равенство.

Логические операции

В языке Си отсутствуют данные типа булева переменная, но существуют логические операции, в которых можно использовать данные типа символ или целое в любой модификации. При этом подразумевается, что нулевое значение выражения соответствует значению «FALSE» (ложь), а любое другое – значению «TRUE» (истина). Эти операции: логическое умножение & & (операция И), сложение || (операция ИЛИ) и отрицание! (операция НЕ). Результат выполнения этих операций для различных значений целых переменных a и b приведен в табл. 4.2.

Таблица 4.2.

Значение переменной a Значение переменной b Результат
a& & b a||b ! a ! b
ноль ноль        
ноль отлично от ноля        
отлично от ноля ноль        
отлично от ноля отлично от ноля        

 

Следует отметить, что «истинным» значением переменной считается не только ее положительное значение, но и отрицательное. Если выражение при выполнении логической операции является «истиной», то результату присваивается значение единица, в противном случае – нулевое значение.

Пример 4.2

Листинг 4.2

#include < stdio.h>

void main()

{

int x=5, y=-3;

printf(“x& & y x||y! x! y x> 3 y> 0\n”);

printf(“%3d %3d %3d %3d %3d %3d”, x& & y, x||y,! x,! y, x> 3, y> -10);

}

 

Результатом исполнения программы будут строки на экране

x& & y x||y! x! y x> 3 y> 0

1 1 0 0 1 0

Согласно табл. 4.1. наибольшим приоритетом среди логических операций обладает операция НЕ. Поэтому, например, оператор

z=a& & b||! c& & d;

будет выполняться в следующем порядке:

– операция НЕ переменной c;

– операция И операндов a и b;

– операция И операндов (! c) и d;

– операция ИЛИ операндов (a& & b) и (! c& & d).

Логические операции можно использовать и для реализации сложных неравенств. Например, для составления условия 10< x< 20 в языке Си необходимо записать логическое выражение (x> 10 & & x< 20), а математическое выражение x< 10È x> 20 можно представить в виде (x< 10 || x> 20).


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал