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

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

Математические операторы.

Читайте также:
  1. Законы Рауля, их формулировки, математические выражения, взаимосвязь. Давление насыщенного пара над растворами, температуры кипения и кристаллизации растворов.
  2. Мастер функции в эксель:математические,логические,текстовые..и тд.Вставка функций.2) вопрос создание сложного документа в ворд,виды списков,и создание списка в ворд.
  3. Математические модели генерации выходной информации
  4. Математические модели и численные методы решения задач. Модели, приводящие к необходимости численного дифференцирования и интегрирования функций.
  5. Математические модели перестройки
  6. Математические модели проектирования ТП на основе групповых операций
  7. Математические операторы
  8. Математические элементы общегеографических карт
  9. Операторы. Оператор присваивания

В С++ используется пять математических операторов: сложения (+), вычитания (-), умножения (*), целочисленного деления (/) и деления по модулю (%).

В операциях сложения и вычитания разобраться несложно: они возвращают сумму и разность двух операндов. Хотя следует отметить, что вычитание беззнаковых целых может привести к удивительным результатам, если полученная разность окажется отрицательным числом. Так при запуске программы

 

║ #include <iostream.h>

║ int main()

║ {

║ unsigned int difference;

║ unsigned int bigNumber = 100;

║ unsigned int smallNumber = 50;

║ difference = bigNumber - smallNumber;

║ cout << "Differenc is" << difference<<endl;

║ difference = smallNumber-bigNumber;

║ cout << "NowDifferenc is" << difference<<endl;

║ return 0;

║ }

 

 

получим

 

Differenc is50

NowDifferenc is65486

 

Целочисленное деление несколько отличается от обычного. При делении числа 21 на число 4 (21/4) в результате получится 5 и остаток 1. Чтобы получить остаток, нужно число 21 разделить по модулю 4 (21%4), в результате получим остаток 1.

 

Для получения дробного результат нужно использовать вещественные числа.

 

 

║ #include <iostream.h>

║ int main()

║ {

║ cout << " 21 / 4 =" << 21/4<<endl;

║ cout << " 21. / 4 =" << 21./4<<endl;

║ cout << " 21 / 4. =" << 21/4.<<endl;

║ cout << " 21. / 4. =" << 21./4.<<endl;

║ return 0;

║ }

 

 

Результат:

21 / 4 =5

21. / 4 =5.25

21 / 4. =5.25

21. / 4. =5.25

 

Нет ничего необычного в том, чтобы к переменной прибавить некоторое значение, а затем присвоить результат той же переменной. Если у вас есть переменная myAge и вы хотите увеличить ее значение на два, можно записать следующее:

 

int myAge = 5;

int temp;

temp = myAge + 2; // складываем 5 + 2 и результат помещаем в temp

myAge = temp; // значение возраста снова помещаем в myAge

 

Однако в С++ можно поместить одну и ту же переменную по обе стороны оператора присваивания, и тогда предыдущий блок сведется лишь к одному выражению

 

myAge = myAge + 2;

 

В алгебре это выражение рассматривалось бы как бессмысленное, но в языке С++ оно читается следующим образом: добавить два к значению переменной myAge и присвоить результат переменной myAge.

Существует еще более простой вариант предыдущей записи, хотя его труднее читать:

 

myAge += 2;

 

Помимо оператора присваивания с суммой существуют также оператор присваивания с вычитанием (-=), делением (/=), умножением (*=) и делением по модулю (%=).

 

Очень часто в программах к переменным добавляется (или вычитается) единица. В языке С++ увеличение значения на единицу называется инкрементом, а уменьшение на 1 - декрементом. Для этих действий предусмотрены специальные операторы.

 

Оператор инкремента (++) увеличивает значение на 1. а оператор декремента (--) уменьшает его на 1. Так, если вы хотите увеличить значение переменной c на единицу, можно использовать следующие выражения:

 

с = с + 1;

с += 1ж

с++;

 

Как оператор инкремента, так и оператор декремента работает в двух вариантах: префиксном и постфиксном. Префиксный вариант записывается перед именем переменной (++myAge), а постфиксный – после него ((myAge++).

 

В простом выражении вариант использования не имеет большого значения, но в сложном при выполнении приращения одной переменной с последующим присваиванием результата другой переменной это весьма существенно. Префиксный оператор вычисляется до присваивания, а постфиксный – после.

 

Пример о\использования префиксных и постфиксных операторов

║ #include <iostream.h>

║ int main()

║ {

║ int myAge = 39;

║ int yourAge = 39;

║ cout <<" I am "<<myAge << endl;

║ cout <<" You are "<< yourAge << endl;

║ myAge++;

║ ++yourAge;

║ cout << " One year passes "<<endl;

║ cout << " I am" << myAge <<endl;

║ cout << " You are" << yourAge<<endl;

║ cout << " Another year passes "<<endl;

║ cout << " I am" << myAge++ <<endl;

║ cout << " You are" << ++yourAge<<endl;

║ cout << " Let's print it again "<<endl;

║ cout << " I am" << myAge <<endl;

║ cout << " You are" << yourAge<<endl;

║ return 0;

║ }

 

Результат

I am 39

You are 39

One year passes

I am40

You are40

Another year passes

I am40

You are41

Let's print it again

I am41

You are41

 




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




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