Команда присвоєння має такий загальний вигляд:
<назва змінної> = <вираз>
|
або
<назва змінної 1> = <назва змінної 2> = … = <назва змінної N> = <вираз>
|
Дія команди. Обчислюється вираз і його значення надається змінній або декільком змінним. Вираз призначений для описання формул, за якими виконуватимуться обчислення. Вираз може містити числа, сталі, змінні, назви функцій, з’єднані символами операцій.
Приклад 2 Скласти 5 виразів, які містять оператор присвоєння.
a = 8 – 2;
c = d = a +4;
e = d / 5 + c;
__________________________________________________________________________________________________________________________________________________________
Змінна і вираз не обов’язково повинні бути одного типу. Крім того, у виразі можуть бути дані різних числових типів (змішані вирази). Якщо тип змінної не збігається з типом виразу, то у С++ відбувається автоматичне перетворення (узгодження) типів.
Розрізняють явне та неявне узгодження типів.
Приклад 3 Розглянемо програму, де значення змінної а типу int треба помножити на значення змінної с типу float (відповідні числа вводитимемо з клавіатури) і результат надати змінній b типу int:
//Множення чисел
#include <iostream.h>______________________________________________________
void main()_______________________________________________________________
{
int b, a; float c;____________________________________________________________
cout << “Введіть ціле число \n”;_____________________________________________
cin >> a;________________________________________________________________
cout<< “Введіть дійсне число \n”;___________________________________________
cin>> c;_________________________________________________________________
b = c * a;_________________________________________________________________
cout<< “a =” << a<< “\n”;__________________________________________________
cout<< “c =” << c<< “\n”; __________________________________________________
cout<< “b =” << b<< “\n”; __________________________________________________
}
Для введення значення змінної з клавіатури використовується конструкція cin >>.
Для явного перетворення типів новий тип задають у круглих дужках перед змінною або виразом. Якщо у програмі вище записати команду
b = (int)c * a;
то під час обчислення виразу спочатку відбудеться перетворення даного с до цілого типу (3), а потім – множення (с · а = 3 · 2 = 6). Отримаємо а = 2, с = 3.8, b = 6.
Якщо ж у програмі цю команду записати так:
b = (int)(c * a);
то спочатку відбудеться множення (с · а = 3.8 · 2 = 7.6), а пізніше результат буде перетворений до цілого числа (b = 7). Отримаємо а = 2, с = 3.8, b = 7.
Узгодження типів у виразах відбувається з урахуванням пріоритетів типів. Зазначимо пріоритети типів за їхнім спаданням: double, float, long, int, shortза замовчуванням результат перетворюється до старшого типу.
Вирази