Явна приведення типу в мові c

Для явного приведення типів деякої змінної перед нею слід вказати в круглих дужках ім'я нового типу, наприклад:

int X; int Y = 200; char C = 30; X = (int) C * 10 + Y; // змінна З приведена до типу int.

Якби в цьому прикладі не було виконано явне приведення типів, то компілятор припустив би, що вираз С * 10 + У змінної Х було б присвоєно значення 640, а не коректне 3200. В результаті приведення типу змінна С розпізнається компілятором як 16-ти розрядна , і описаної вище помилки не виникає.

1.1. арифметичні операції

Основними арифметичними операціями є: додавання ( '+'), віднімання ( '-'), множення ( '*') і розподіл ( '/'). Порядок виконання операцій у виразі відповідає їх пріоритету. Операції з однаковим пріоритетом в вираженні виконуються зліва направо.

Операція ділення ( '/') виконується відповідно до типу її операндів. Якщо обидва операнда є цілими числами, то розподіл буде цілочисельним. Якщо один з операндів є речовим, то і результат буде речовим. Наприклад, нехай змінна x має цілочисельний тип, АY дійсний тип. Наступна таблиця демонструє результати розподілу для різних операндів:

Розглянемо другий приклад. При виконанні операції привласнення значення виразу змінної, спочатку обчислюється значення виразу, а потім воно присвоюється змінної. Оскільки операнди в другому прикладі є цілими, то результатом ділення 7/3 буде 2. Потім цілочисельне значення 2 перетворюється в дійсне значення 2.000000 і присвоюється дійсної змінної y.

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

Приклад 1.1.1. Знайти середнє арифметичне двох цілих чіселa иb.

Результатом обчислення виразу (a + b) / 2 може бути дійсне число. Тому розподіл має виконуватися зі збереженням точності. А для цього один з операндів необхідно перетворити в дійсний тип. Наприклад, результат можна обчислити так: res = (a + b) / 2.0. Програма має вигляд:

Операція обчислення залишку в Сі позначається символом '%'. При цьому залишок при діленні негативного числа на позитивне є негативним (хоча математично залишок при діленні на число n повинен лежати в проміжку від 0 доn - 1 включно).

Схожі статті