Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiya_5_Operatori_movi_S.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
498.69 Кб
Скачать

Програмування – Лекція 5

Лекція 5

Оператори мови С

1. Загальні відомості про оператори

програми на мові С склд з операторів, а аоператори склд з виразів і оперцій. опреатор це інструкція яка наказує комп виконати дію. в програмах на мові С, оператори пишуться по 11 в рядку, хоча деякі мооужт займати декілька рядків. оператори мові завжд закінчуються ;, за винятків дериктив препроцесора. порожній оператор - це оператор який склд тільки з ;, він не виконує жодних дій) він може буи в будь-якумо місці програми, де згідно правил синстаксису потрібен оператор. в мові С є оператори які потребуюить згідно синстаксису , навністю їх тіні хочаб 1 оператора.склаедний або блок представляє собою групу з 2-хабо більше операторі в мови , взятих в фігурні дужки.

{

<оператор1>

<операторn>

}

Складений опратор може застосуваватисьв програмі там де може бути будь який програмний операто. фігурні дужки можна розміщати по різному, але рекомендують в окремих рядках для наочності. Комплітор мови С ігнонрує вілний простір. Кооли компілятор зчитує оператор з початкового коду то він рзпузнає символи щ яких він складається та шукає завершаючу ; ігноруючт прицьому всі проміжні символи. це дозвроляє дуже гнучко і по різному оформляти початковий текст програми. виняток літеральні константи

2. Вирази

будь яку сукупність елементів яка втрезультаті утв числове значенння. наймпростіший вираз склд з 1елемента, з мінної числового типи, літеральної або символічної константи.

PI

символічна константа, визначена в програмі

20

літеральна константа

rate

змінна

-1.25

літеральна константа

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

1.75/12+7*rate+rate/cost

x=2+3 - числа 2 і 3 додаються, а потім резульат присвоюється змінній х. якщо x=a+10- тоді спочатку обчислюється значення виразу і результат присвоюється змінній х. крім того увсе апарат присвоювання х=а+10 , теж є виразом

x= y= a+10 - який = значенню змінної зліва від знаку рівності. тому можна записати оператор який присвобжє значення виразу а+10 відразу 2 змінним х і у;

x=6+(y=4+5) - допускається і такий запис; в результаті у=9, х=15; таку форму не рекомендують використовувати. операція присвоювання позначається «=«, але запис х=у означає що значеннб х присвоюється значення у.

Знак операції це символ який наказує компілятору мови С виконати певні дії(оперпції), над 2 або більше операндами. ОПЕРАНД - це об»єкт в програмі, над яким виконується операція. В мові С всі операндиє виразами. Операції поділяються на: присвоювання, арефметичні, операції відношення, логічні операції.

Арефметичні операції мають 2 одномісних і 5 двох місних операцій. одномісними - операції в яких аргументом є 1 операнд.

Операції можна здійснювати тільки над змінними, але не над константами. префексну і постіфіксну форму. в префіксній формі, ці операції викон над операдом перед тим як його значення буде викор в іншому включаючому виразі. Постфіксі форми - викон наж операндом піля того як його значення буо викор у вкл його виразі.

Таблиця 5.1

Операція

Знак

Дія

Формат

Інкремент

++

збільшує операнд

++ x, x++

на одиницю

Декремент

--

зменшує операнд

-- x, x--

на одиницю

++ x; x=x+1;

-- y; y=y-1;

Приклади: x=10; y=x++;

#include <stdio.h>

int main(void)

{

int y, x; x = 10; y = x++;

printf("x=%d y=%d ", x, y); return 0

x=10;

y=++x;

#include <stdio.h>

int main(void)

{

int y, x; x = 10; y = ++x;

printf("x=%d y=%d ", x, y); return 0;

}

Результати

х=11, y=10; х=11, y=11

Двох місні фрифметичні операції викон над 2 аргуметами.

Таблиця 5.2

Операція

Знак

Дія

Приклад

Додавання

+

додавання двох операндів

x+y

Віднімання

-

віднімання другого операнду від

x-y

першого

Множення

*

множення двох операндів

x*y

Ділення

/

ділення першого операнду на другий

x/y

Ділення за

%

утворює остачу від ділення першого

x%y

модулем

операнда на другий

Таблиця 5.3

порядок викон операцій суворо регламентово назв приорітетом оперпацій

Операції

Відносний пріоритет

++ --

1

* / %

2

+ -

3

Наприклад: w*x/++y+z/y

якщо вираз містить декілька дій, то вони викон в порядку їх появи у виразі. для наочності виконання операцій потріно викор ( ), навіть якщо вони не потрібні для зміни приорітету. (Приклад зверху)

В миві С не вказано що раніше обчислюється ліва частина чи права. тоді резуьтат даного виразу відрізнятиметься. операції відношення викор для порівняння виразів:

Таблиця 5.4

Операція

Знак

Означення

Приклад

Дорівнює

==

Чи рівні два операнди?

x==y

Більше

>

Чи більше перший операнд за другий?

x>y

Менше

<

Чи менше перший операнд за другий?

x<y

Більше або

>=

Чи перший операнд більший або

x>=y

дорівнює

дорівнює другому?

Менше або

<=

Чи перший операнд менше або дорівнює

x<=y

дорівнює

другому?

Не

!=

Чи перший операнд не дорівнює

x!=y

дорівнює

другому?

Таблиця 5.5

Вираз

Результат

5==1

0 (false)

5>1

1 (true)

5!=1

1 (true)

(5+10)==(3*5)

1 (true)

Приорітет операцій відношення

всі операції відношення маютьь більш нижчий, ніж арифметичні операції

Таблиця 5.6

Операції

Відносний пріоритет

< <=

> >=

4

!=

==

5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]