Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга C++.doc
Скачиваний:
24
Добавлен:
10.11.2019
Размер:
2.48 Mб
Скачать

Арифметические операции с числами

Тип, как мы уже говорили, задает размер переменной, от размера зависит диапазон значений. От типа переменной зависит как мы ею будем пользоваться. С числовыми переменными можно совершать различные арифметические операции:

операция

Так она выглядит в С++

Алгебраическое выражение

Как это же выражение выглядит в С++

Сложение

+

A+34+t

A + 34 + t

Вычитание

-

A-34-t

A - 34 - t

Умножение

*

3·t

3 * t

Деление

/

25:y

25 / y

остаток от деления

%

d mod 2

d % 2

Операцией нахождения остатка от целочисленного деления % используется только для целых чисел.

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

Numb=Numb+1;

которая выполняет увеличение переменной Numb на единицу, можно использовать оператор инкремент (++):

Numb++;

Аналогично работает оператор декремент (--), который уменьшает значение переменной на единицу:

Numb--;

Однако «тонкости» математических операций на этом не исчерпываются. С++ позволяет использовать по две модификации каждой из приведенных выше операций: префиксную (++Number) и постфиксную (Number++). Префиксные операторы сперва изменяют значение переменной, а потом уже используют ее. Постфиксные — наоборот.

Рассмотрим примеры. Предположим, имеются следующие переменные:

int I=3, k=10;

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

k=++I; // I=I+1; k=I

// I=4; k=4

k=I++; // k=I; I=I+1

// I=5; k=4

Для еще большего упрощения кода используются комбинированные операторы: присваивание с умножением (*=), присваивание с делением (/=), присваивание с делением по модулю (%=), присваивание со сложением (+=) и присваивание с вычитанием (-=).

k+=I;// k=k+I;

k-=I;// k=k-I;

k*=I;// k=k*I;

k/=I;// k=k/I;

k%=I;// k=k%I;

Рассмотрим применение операций на примере. Напишем программу, которая производит простейшие арифметические операции над двумя целыми числами.

Создадим новый проект и назовем его Counter. Добавим в этот проект файл, в котором будем записывать программу.

Вот текст программы:

/* программа,

выполняющая простейшие арифметические

операции*/ #include <iostream.h> void main()

{

/*Приглашение

ввести 2 целых числа*/

cout<<"Enter 2 integer numbers\n";

/* Объявление

переменных, в которых будут хранится целые

числа*/ int first,second;

/*Приглашение ввести

первое число*/

cout<<"First: ";

/*ввод первого числа*/

cin>>first;

/*приглашение ввести

второе число*/

cout<<"Second: ";

/*ввод второго числа*/

cin>>second; /*вывод значения суммы двух чисел*/

cout<<first<<"+"<<second<<"="<<first+second<<"\n"; /*вывод значения разности двух чисел*/

cout<<first<<"-"<<second<<"="<<first-second<<"\n"; /*вывод значения произведения двух

чисел*/

cout<<first<<"*"<<second<<"="<<first*second<<"\n"; /*вывод значения частного двух чисел*/

cout<<first<<"/"<<second<<"="<<first/second; /*вывод остатка от деления двух

чисел*/

cout<<"and ostatok"<<first%second<<"\n"; /*Применение постфиксного

инкремента-сначала программа выведет значение

переменной first, а затем увеличит его на единицу*/ cout<<"first="<<first++; /*вывод нового значения переменной

first*/

cout<<"\tand now first="<<first<<"\n";

/*использование

префиксного декремента-сначала значение

переменной first уменьшится на единицу, а затем

программа выведет его на экран*/

cout<<"again first="<<--first<<"\n";

int third=first;

/*Использование

оператора +=*/

third+=second;

cout<<first<<"+"<<second<<"="<<third;

}

Откомпилируем программу и запустим ее на выполнение. Проверьте, правильно ли выполняет компьютер арифметические действия?