Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / 2_Посібник_С_002.doc
Скачиваний:
39
Добавлен:
17.05.2015
Размер:
2.7 Mб
Скачать

(Тип) ідентифікатор,

де тип– визначає тип даних до якого здійснюється перетворення.

Приклад 6. Операція приведення типів

double f;

int a=2, b=3;

f=a/b; /* f=0 */

f=(double)a/b; /* f=0,66666 */

В останньому виразі перед операцією ділення виконується операція перетворення типу змінноїа. Спочатку а=2, а при явному перетворенні а=2.0. Тепер перший операнд (a) став типу double, а другий (b), типу int. Раніше говорилося про те, що перед виконанням операції обидва операнда приводяться до одного типу. При цьому тип, який має більш низький пріоритет, перетворюється до типу з пріоритетом більш високим. Тобто int перетворюється у double. Потім виконується ділення, в результаті якого f=0,66666.

4.4 Операції присвоєння

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

Приклад 7. Операція простого присвоєння

int t;

char f ='a';

long z = 10;

t = f + z; /*t = 107*/

Значення змінної f перетворюється до типу long, обчислюється вираз f+z, результат перетворюється до типу int і потім присвоюється змінній t.

Крім простого присвоєння, є ціла група операцій присвоєння, що поєднують просте присвоєння з однією з бінарних операцій. Такі операції називаються складеними операціями присвоєнняі мають вигляд:

(операнд-1)(бінарна операція) =(операнд-2) .

Складене присвоєння по результату еквівалентно наступному простому присвоєнню:

(операнд-1)=(операнд-1)(бінарна операція)(операнд-2) .

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

Відомості про складені операції присвоювання представлені у табл.

Таблиця 4.3 – Складені операції присвоювання

Лексема

Пояснення складеної операції присвоєння

*=

помножити та присвоїти

/=

поділити та присвоїти

%=

залишок від ділення та присвоїти

+=

додати та присвоїти

-=

відняти та присвоїти

&=

порозрядне логічне «І» та присвоїти

|=

порозрядне логічне «АБО» та присвоїти

>>=

зсув вправо та присвоїти

<<=

зсув вліво та присвоїти

^=

порозрядне логічне «виключне АБО» та присвоїти

Приклад 8. Види арифметичних операцій

int a = 1, b = 3, c = 6, d = 16, e = 9;

a+=2; /*еквівалентно виразу a = a + 2; */

b-=c; /* еквівалентно виразу b = b - c;*/

c/=3; /*еквівалентно виразу c = c / 3; */

d>>=4; /*еквівалентно виразу d = d >> 4; */

e%=a; /* еквівалентно виразу e = e % a;*/

4.5 Операції інкремента і декремента

Операції інкремента (++) і декремента (--) є унарними операціями присвоєння. Ці операції відповідно збільшують чи зменшують значення операнда на одиницю. Операнд може бути цілого чи дійсного типу чи бути покажчиком.

Операції інкремента і декремента мають дві форми запису: префіксна, коли операнд розташовується після знака операції (наприклад, ++а, --а); постфіксна, коли операнд розташовується ліворуч від знака операції (наприклад, а++, а--).

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

У випадку постфіксної форми запису операнд спочатку використовується для обчислення виразу, а потім відбувається зміна операнда.

Приклад 9. Операції інкремента (постфіксна)

int f=1, d;

d = (f++)*5;

Спочатку відбувається множення f*5, а потім збільшення f на одиницю. У результаті вийде d=5, f=2.

Приклад 10. Операції інкремента (префіксна)

int f=1, d;

d=(++f)*5;

Спочатку значення f збільшується на одиницю, а потім використовується в операції множення. У результаті одержимо d=10, f=2.

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

f++; /* еквівалентно */ ++f;

Соседние файлы в папке Архив WinRAR