.

Назад Вперед Зміст

Відповідність типу змінної та типу математичного виразу

Для того, щоб вірно обирати тип змінної потрібно знати:

Визначення типу математичного виразу

Змінна = Вираз
x=a*b+c/d-e*sqrt(f)

Математичний вираз має дійсний тип якщо у ньому є:

В інших випадках математичний вираз має цілий тип .

Нехай змінні у програмі описані так:

int x,y; float a,b;

Тоді значення виразу має такий тип:

Математичний вираз,
значеня якого присвоюється змінній
Тип виразу
Z1=x+y;Цілий
Z2=x-a;Дійсний
Z3=2*b;Дійсний
Z4=0.5*x;Дійсний
Z5=y/x;Цілий
Z6=a+b;Дійсний
Z7=50/2;Цілий
Z8=x / 10;Цілий
Z9=y % 7;Цілий
Z10=pow(b,2.0);Дійсний
Z11=pow(a,3.0);Дійсний
Z12=abs(a);Дійсний
Z13=abs(y);Цілий
Z14=sqrt(b);Дійсний
Z15=sqrt(y);Дійсний

Визначення типу змінної

Змінна = Вираз
Ціла=Цілого типу
Дійсна=Цілого типу або дійсного типу
  1. Значення виразу цілого типу можна присвоювати і змінній цілого типу і змінній дійсного типу.
  2. Значення виразу дійсного типу можна присвоювати тільки змінній дійсного типу.
  3. Якщо змінній цілого типу присвоїти значення виразу дійсного типу, то дробова частина буде відкинута. Наприклад, після виконання такого коду:
      int b, a; float c;
      a = 2; c = 4.9; b = a*c; 
    

    змінна b набуде величини 9 після неявного перетворення дійсного числа 9.8 у ціле.

  4. Неможна присвоювати змінній значення, що перевищує її тип, буде помилка.

Явне перетворення типів

Явне перетворення типів задають у круглих дужках перед змінною чи виразом.

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

Явне перетворення типів для поданого вище прикладу опису змінних:

ВказівкаРезультат виконання
b = (int)  c * a; b = (int) 4.9 * 2 = 4 * 2 = 8
b = (int) (c * a); b = (int) (4.9 * 2 ) = (int) 9.8 = 9

Вираз може містити дані різних числових типів (змішані вирази).

Узгодження типів у виразах відбувається з урахуванням пріорітету типів:

Назад Вперед Зміст