Основы языка С++. Арифметические операции в С++

Содержание

Слайд 2

Алфавит языка С++

Алфавит — это фиксированный для данного языка набор основных символов,

Алфавит языка С++ Алфавит — это фиксированный для данного языка набор основных
т.е. "букв алфавита", из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.
Прописные и строчные латинские буквы (различаются в именах), знак подчеркивания
Цифры (0…9)
Специальные знаки “ { } , | [ ] ( ) + - * / % \ ; ‘ : ? < = > ! & ~ ^ . #
Разделители (пробел, табуляция, перевод строки)

Слайд 3

Лексемы С++

Имена ( не рекомендуется начинать с _)
Ключевые слова
Знаки операций (одно и

Лексемы С++ Имена ( не рекомендуется начинать с _) Ключевые слова Знаки
двухсимвольные)
Константы
Разделители
Комментарии (ставятся в программе)
однострочные // комментарий
многострочные /* длинные */

Слайд 4

Типы данных С++

Типы

Простые (скалярные)

Логический (С++)

Целые

Указатели

Вещественные

Составные

массивы

структуры

классы

объединения

Типы данных С++ Типы Простые (скалярные) Логический (С++) Целые Указатели Вещественные Составные массивы структуры классы объединения

Слайд 5

Базовые типы

Специальные
типы

bool – логический (true/false) – в С++
void – пустой. Используется

Базовые типы Специальные типы bool – логический (true/false) – в С++ void
для обозначения функций без значений и нетипизированных указателей

Слайд 6

Вспомним структуру программы на языке C++

#include //подключение модуля
using namespace std; //

Вспомним структуру программы на языке C++ #include //подключение модуля using namespace std;
подключение множества имен std
int main() // начало программы
{
setlocale(LC_ALL,"");//подключение русского языка
int a, b; //описание переменных
cin >> a >> b; //ввод данных
cout << “сумма” << a+b; //вывод ответа
return 0; //возврат
}

Слайд 7

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

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

Большинство арифметических операций входят в состав стандартного модуля . Арифметические операции в
С++

1. Деление по модулю - %
Применяется только к целочисленным переменным, нельзя делить по модулю на 0.
Возвращает остаток после целочисленного деления.
Например, 7 / 4 = 1 с остатком 3, таким образом, 7 % 4 = 3. Еще пример: 25 / 7 = 3 с остатком 4, таким образом, 25 % 7 = 4. Остаток составляет не дробь, а целое число. 36 % 5 = 1, в числе 36 только 35 делится на 5 без остатка, тогда 36 – 35 = 1, 1 – остаток и результат.
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int number1 = 18;
int number2 = 4;
cout << "number1 = " << number1 << endl;
cout << "number2 = " << number2 << endl;
cout << "number1 % number2 = " << number1 % number2 << endl;
cout << endl;
return 0;
}

Если один из операндов оператора деления с остатком является отрицательным, то результаты могут быть как положительными, так и отрицательными! Например, ответом -5 % 2 может быть как 1, так и -1. В спецификации C++ 11 решили сделать так, чтобы результат a % b был того же знака, что и значение а.

Слайд 8

2. Арифметические операторы присваивания (такие же как в Python)

До этого момента, когда

2. Арифметические операторы присваивания (такие же как в Python) До этого момента,
вам нужно было добавить число 5 к переменной, вы делали так: х = х + 5
Это работает, но это не совсем красиво и требуется два оператора для выполнения.
Так как стейтменты, типа х = х + 5 являются очень распространенными, то C++ предоставил 5 арифметических операторов присваивания, для удобства. Вместо х = х + 5, вы можете написать х += 5. Вместо х = х * у, вы можете написать х *= у.

Слайд 9

3. Деление целых чисел и чисел типа с плавающей точкой
Оператор деления имеет

3. Деление целых чисел и чисел типа с плавающей точкой Оператор деления
два режима. Если оба операнда – целые числа, то оператор выполняет целочисленное деление. Т.е. любая дробь (больше, меньше) отбрасывается и возвращается целое значение, округления нет. Например, 7 / 4 = 1.
Если один или оба операндов типа с плавающей точкой, то тогда будет выполняться деление типа с плавающей точкой. Здесь уже дробь присутствует. Например: 7.0 / 3 = 2.333, 7 / 3.0 = 2.333 и 7.0 / 3.0 = 2.333.
Попытки деления на 0 (или на 0.0) станут причиной сбоя в вашей программе, это правило не следует забывать!

4. Операция "запятая"
Дополнительная операция (,) не работает непосредственно с данными, а приводит к вычислению выражения слева направо. Эта операция позволяет Вам использовать в одной строке несколько выражений, разделенных запятой.
Пример
i = 10;
j=(i=12,i+8);
Результат выполнения: j=20. Сначала i получает значение 10, затем использование операции "запятая" приведет к тому, что i получит значение 12, а затем значение i+8, т.е. 12+8=20. Результат будет присвоен j.

Слайд 10

5. Префиксный и постфиксные операции
В языке C++ предусмотрены две уникальные операции, которые

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

Префиксный и постфиксные операции различаются приоритетом. Префиксные операции имеют самый большой приоритет и выполняются до любой другой операции. Постфиксные операции имею самый маленький приоритет и выполняются после всех остальных операции.
Пример.
float a, b=2, c=1, d=1;
a = b + c++;
cout << " a=" << a <<"c= "<< c;
/* Даст результат a=3 c=2.
Используется постфиксный инкремент. Сначала произойдет сложение b и c, результат запишется в а, затем с будет увеличена на 1 */
a = ++d + b;
cout << " a=" << a <<"d= "<< d;
/* Даст результат a=4 d=2.
Используется префиксный инкремент. Сначала d будет увеличена на 1 (и станет равной 2), затем произойдет сложение d и b, результат запишется в а */

Слайд 11

Остальные операции находятся в модуле
#include

6. Возведения в степень — функция pow().

Остальные операции находятся в модуле #include 6. Возведения в степень — функция

pow(а, х) – это эквивалент ах
Стоит отметить, что параметры pow() —  типа double, поэтому можно использовать не только целые числа, но и дробные.

7. Модуль числа – fabs(число).
8. Квадратный корень - sqrt(x).  

Слайд 12

9. Преобразование вещественного числа в целое:
float x=3.5;
int y;
y=(int)x;
cout<10. Использование static_cast <>

9. Преобразование вещественного числа в целое: float x=3.5; int y; y=(int)x; cout
в делении
Мы можем использовать static_cast <> для конвертации целого числа в число типа floating point. Таким образом, вместо целочисленного деления, будет деление типа с плавающей точкой. Например:

Результат:
int / int = 1 double / int = 1.75 int / double = 1.75 double / double = 1.75

Слайд 13

Задание 1: Составить программу, демонстрирующую работу арифметических операторов присваивания.
Результат работы:

Почему в

Задание 1: Составить программу, демонстрирующую работу арифметических операторов присваивания. Результат работы: Почему
результате /= получилось 10?

Задание

Задание 2: Дано четырехзначное число (х= 5678), вывести на экран в обратном порядке цифры из которых это число состоит. То есть мы должны увидеть на экране 8765. Подсказка: чтобы взять из числа отдельные цифры, надо применять деление по модулю на 10.
Результат: