Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Присваивание

В одной строке может стоять больше одной операции присваивания =.

Пример.

a=b=c=d=100;

Знак = всегда означает: "переменной слева присвоить значение, стоящее справа ". Операция выполняется справа налево. Поэтому первой значение 100 получает переменная d, затем с, b и а.

Знак присвоить может стоять даже внутри математического выражения:

value=5+(r=9-c)

Присваивание имеет более высокий приоритет, чем сложение и вычитание. Поэтому сначала переменной r будет присвоено значение 9-с. А затем переменная value получит значение 5+9-с.

Составное присваивание

При написании программы часто требуется изменить значение переменной. Например, требуется взять текущее значение переменной, прибавить или умножить это значение на какое-то выражение, а затем присвоить это значение той же переменной. Такие операции выполняют операторы составного присваивания.

Таблица 1.3.2.

Операция Пример Эквивалент
+ = B+ = 500; B= b+ 500;
- = С- = 50; C = с - 50;
* = D* = 1.2; D = d*1.2;
/ = F/ = 50; f = f/.50;
% = m% = 7; M = m% 7;

Преобразование типов

Чаще всего Вам не надо беспокоиться об автоматическом преобразовании типов. Однако, если Вы смешивает беззнаковые переменные с переменными других типов, могут возникнуть проблемы. Точность результата может быть потеряна. Поэтому необходимо произвести временное изменение типов.

Формат:

(тип данных) выражение

Тип данных - это любой допустимый тип.

Выражение - переменная, константа или выражение.

Пример.

v=(double)age*f;

- переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.

Операции отношения

Таблица 1.3.3.

Операции Описание
= = Равно
> Больше
< Меньше
>= Больше или равно
<= Меньше или равно
!= Не равно

Замечание 1.

Знак = никогда не используется как знак сравнения! Это знак присвоить значение.

Замечание 2.

В C++ нет логического типа. Поэтому, если выражение принимает ненулевое значение, то оно считается истинным, а если не нулевое - ложным.

Операции инкремента (++) и декремента (-)

В языке C++ предусмотрены две уникальные операции, которые увеличивают или уменьшают значение переменной на 1.

Таблица 1.3.4.

Оператор Пример Описание Эквивалентное выражение
+ + i + +; Постфиксная i =i+1; или i+=1;
+ + + + i; Префиксная i =i+1; или i+=1;
- - i - -; Постфиксная i =i-1; или i-=1;
- - - - i; Префиксная i =i-1; или i-=1;

Префиксный и постфиксные операции различаются приоритетом. Префиксные операции имеют самый большой приоритет и выполняются до любой другой операции. Постфиксные операции имею самый маленький приоритет и выполняются после всех остальных операции.

Пример.

float a, b=2, c=1, d=1;

a = b + c++;

cout << "\n a=" << a <<"\t c= "<< c;

/* Даст результат a=3 c=2.

Используется постфиксный инкремент. Сначала произойдет сложение b и c, результат запишется в а, затем с будет увеличена на 1 */

a = ++d + b;

cout << "\n a=" << a <<"\t d= "<< d;

/* Даст результат a=4 d=2.

Используется префиксный инкремент. Сначала d будет увеличена на 1 (и станет равной 2), затем произойдет сложение d и b, результат запишется в а */




Дата добавления: 2015-01-30; просмотров: 65 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав