Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операции отношения и логические операции




Арифметические операции

– вычитание и унарный минус;

+ сложение;

* умножение;

/ деление (при делении целых переменных остаток отбрасывается);

% деление по модулю (дает остаток от целочисленного деления);

++ увеличение на единицу (increment);

– – уменьшение на единицу (decrement).

 

Старшинство арифметических операций следующее:

++, – –

– (унарный минус)

*, /, %

+, –

Для изменения порядка операций могут использоваться круглые скобки.

 

 

Операциями отношения являются

=>, >, =<, <

Все они имеют одинаковое старшинство. Непосредственно за ними по уровню старшинства следуют операции равенства и неравенства:

==,!=,

которые тоже имеют одинаковое старшинство. Операции отношения по старшинству ниже арифметических операций, так что выражения типа i < lim-1 понимаются как i < (lim-1), как и предполагается.

Логические операции && (логическое умножение), || (логическое сложение) и! (логическое отрицание) более интересны. Выражения, связанные такими операциями, вычисляются слева направо, причем их рассмотрение прекращается сразу же, как только становится ясно, будет ли результат истиной или ложью. Учет этих свойств очень существенен для написания правильно работающих программ. Рассмотрим, например, оператор цикла в считывающей строку функции getline.

for (i = 0; i < lim - 1 && (с = getchar())!= '\n' && c! = EOF; ++i) s[i] = c;

Перед считыванием очередного символа в массив s необходимо осуществить проверку трех условий: имеется ли еще место в массиве s, не является ли символ концом строки, не является ли символ концом файла. Наличие свободного места i < lim-1 должно проверяться первым, в случае невыполнения данного условия считывание следующего символа и проверка остальных условий производиться не будут.

Каждое условное выражение проверяется, истинно оно или ложно. В языке Си нет логического (boolean) типа. Поэтому результатом логического выражения является целочисленное арифметическое значение. В языке Си «истинно» – это не ненулевая величина, «ложно» – это нуль. Так, в приведенном примере при отсутствии места в массиве первое условное выражение будет равно нулю, следовательно логическое произведение трех условий также обратится в нуль независимо от выполнения остальных двух условий.

 

Операция условие?:

Эта операция имеет вид:

выр1? выр2: выр3

Вычисляется выражение выр1. Если оно имеет ненулевое значение, то вычисляется выр2. Результатом операции будет значение выр2.

Если значение выр1 равно нулю, то вычисляется выр3 и его значение будет результатом операции. В любом случае вычисляется только одно из выражений: выр2 или выр3. Например, эту операцию удобно применять для нахождения наибольшего из двух чисел x и y:

max = (x > y)? x: y;

 




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


Дата добавления: 2015-06-04; Просмотров: 329; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.