Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / Лекції / ООП (2.Початкові відомості мови С).doc
Скачиваний:
26
Добавлен:
30.05.2020
Размер:
351.74 Кб
Скачать

Операції відношення.

У Сі використовується той же набір операцій відношення, що і в Паскале. Слід лише звернути увагу на відмінність в записі операцій «рівно» і «не рівно».

<      менше

<=     менше або рівно

>      більше

>=     більше або рівно

= =     рівно

! =     не рівно.

Як вже говорилося раніше, в стандарті Сі немає логічного типу даних. Тому результатом операції відношення є ціле число: якщо відношення істинне — те 1, якщо помилково — те 0.

Приклади відношень:

а<0, 101>=105, 'а'=='А', 'а"='А'

Результатом другого і третього стосунків буде 0 — брехня; результат четвертого відношення дорівнює 1 — істина; результат першого відношення залежить від значення змінної а.

Логічні операції.

Три основні логічні операції в мові Сі записуються інакше, ніж в Паскале.

!                  операція заперечення (НЕ)

&&              кон'юнкція, логічне множення (И)

| |                 диз'юнкція, логічне складання (ЧИ).

Правила їх виконання визначаються таблицею істинності.

Наприклад, логічний вираз, що відповідає системі нерівностей 0 < х < 1 в програмі на Сі запишеться у вигляді наступного логічного виразу:

х>0 && х<1

Зверніть увагу на ту обставину, що тут не знадобилися круглі дужки для виділення операцій відношення. На відміну від Паскаля, де операції відношення мають найнижчий пріоритет, в Сі операції відношення старше кон'юнкції і диз'юнкції. По убуванню пріоритету логічні операції і операції відношення розташовані в наступному порядку:

!

> <   >=   <=

== !=

&&

||

Окрім розглянутих в Сі є порозрядні логічні операції. Ці операції виконуються над кожною парою відповідних двійкових розрядів внутрішнього представлення операндів. Їх ще називають бітовими логічними операціями. Знаки бітових логічних операцій :

&     порозрядна кон'юнкція (И)

|       порозрядна диз'юнкція (ЧИ)

^     що порозрядне, що виключає АБО

~     порозрядне заперечення (НЕ).

Бітові логічні операції разом з операціями порозрядного зрушення вліво (<<) і управо (>>) дозволяють дістатися до кожного біта внутрішнього коду. Найчастіше такі дії доводиться виконувати в системних програмах. У цьому посібнику ми їх розглядати не будемо.

Операція привласнення.

Те, що привласнення в Сі є операцією, а не оператором, виявляється, напевно, найбільшою несподіванкою для знавців Паскаля. А тим часом це дійсно так! Знак операції привласнення =. Наслідком відміченого факту є те, що привласнення, як будь-який інший знак операції, може кілька разів входити у вираження. Наприклад:

а=b=з=х+у;

Привласнення має найнижчий пріоритет (нижче тільки у операції «кома»). Крім того, операція привласнення — правоассоціативна. Це означає, що дещо підряд розташованих привласнень виконуються справа наліво. Тому в приведеному вище вираженні першої виконається операція складання, потім змінною з привласниться значення суми, потім це значення привласниться змінній b і у кінці — змінній а.

У мові Сі є додаткові операції привласнення, що поєднують привласнення з виконанням інших операцій. Серед них: +=, -=, /=, *=, %=. Пріоритет у них такий же, як і у простого привласнення. Приклади використання цих операцій :

Помітимо, що замість вираження а=а+2 прийнятніше писати в програмі а+=2, оскільки друге вираження обчислюватиметься швидше.

Операція явного перетворення типу (операція «тип»). Застосування цієї операції має наступний формат: