русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Команда присвоєння. Правила узгодження типів.


Дата додавання: 2014-11-28; переглядів: 1323.


Команда присвоєння має такий загальний вигляд:

<назва змінної> = <вираз>

або

<назва змінної 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за замовчуванням результат перетворюється до старшого типу.

Вирази


<== попередня лекція | наступна лекція ==>
Дійсні типи | Арифметичні операції


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн