Переменные, типы данных, управляющие конструкции. Урок 1

Содержание

Слайд 2

Переменная – это область в памяти, содержащая данные, к которой можно

Переменная
– это область в памяти, содержащая данные, к которой можно обращаться

по имени или другим способом.
Свойства переменной:
• Имя*
• Адрес
• Тип
• Значение
Слайд 3

Модель виртуальной памяти

Модель виртуальной памяти

Слайд 4

Тип переменной Определяет: • Размер (в байтах) • Диапазон значений • Допустимые операции

Тип переменной
Определяет:
• Размер (в байтах)
• Диапазон значений
• Допустимые операции

Слайд 5

Основные типы С++

Основные типы С++

Слайд 6

Типичные размеры типов С++

Типичные размеры типов С++

Слайд 7

Размеры типов удовлетворяют соотношениям: sizeof (char) = 1 2. sizeof (char)

Размеры типов удовлетворяют соотношениям:

sizeof (char) = 1
2. sizeof (char) ≤ sizeof

(short int) ≤ sizeof (int) ≤ sizeof (long int)
3. sizeof (float) ≤ sizeof (double) ≤ sizeof (long double)
Слайд 8

Слайд 9

Объявление константных переменных Ключевое слово const при объявлении: const char a;

Объявление константных
переменных

Ключевое слово const при объявлении:

const char a; // Ошибка! Константную

переменную надо
// инициализировать при объявлении
const int b = 10; // Нет ошибки
b = 20; // Ошибка! Константную переменную нельзя изменить
Слайд 10

Литералы

Литералы

Слайд 11

Стандартный вывод • cout – объект для вывода данных в стандартный

Стандартный вывод
• cout – объект для вывода данных в стандартный
выходной поток

cerr – для вывода данных в стандартный поток ошибок
• Необходимо подключить заголовочный файл
• Необходимо либо использовать директиву using namespace std; либо предварять каждое появление объектов cout, endl и др. префиксом std::
• Для вывода данных используется операция вывода в
поток <<
Слайд 12

Манипуляторы потоков вывода

Манипуляторы потоков вывода

Слайд 13

Стандартный ввод • cin – объект для ввода данных из стандартного

Стандартный ввод

• cin – объект для ввода данных из стандартного входного

потока.
• Определён в заголовочном файле
• Для ввода используется операция >> и набор других методов
• Ввод в С++ безопасен по типу данных
• По умолчанию операция >> игнорирует пробельные символы. Поведение изменяется с помощью манипуляторов потока skipws/noskipws
Слайд 14

Операции • Пример: арифметические операции +, -, *, /, % •

Операции

• Пример: арифметические операции +, -, *, /, %
• Это специальный

способ записи некоторых действий
Сравните: sum(a, b) и a + b
• Арность операции – количество операндов:
- унарные: -b
- бинарные: b * c
- тернарные: b ? c : d
• Почти все операции имеют возвращаемое значение
• Некоторые операции имеют побочные эффекты – изменение операндов в процессе выполнения операции
Слайд 15

Выражения • Это сочетание переменных, литералов, операций и функций, удовлетворяющее систаксису

Выражения

• Это сочетание переменных, литералов, операций и функций, удовлетворяющее систаксису языка

Пример: a + 2 * b * sin(c)
• Операции в выражении вычисляются в соответствии с их приоритетом и ассоциативностью, которые можно изменить с помощью круглых скобок
• Выражения, как и операции, возвращают некоторое значение
Слайд 16

Целочисленное деление и взятие остатка от деления 1) Выделение полного количества

Целочисленное деление и
взятие остатка от деления
1) Выделение полного количества и остатка
int

kop = 378; // число копеек
int rub = k / 100; // число полных рублей
int kopLeft = kop % 100; // останется копеек после
// изъятия всех полных рублей
2) Делится ли число нацело на другое число: Если n % k равно 0, то n делится на k без остатка
3) Отображение больших чисел в небольшой диапазон
Пример.
Диапазон чисел [0 … 4294967295]. Желаемый диапазон [0 … 49].
150 % 50 = 0
2147483388 % 50 = 38
Слайд 17

Операции модификации с присваиванием

Операции модификации с
присваиванием

Слайд 18

Операции инкремента и декремента • ++x – преинкремент • x++ –

Операции инкремента и декремента
• ++x – преинкремент
• x++ – постинкремент
• --x

– предекремент
• x-- – постдекремент
Все варианты увеличивают/уменьшают значение переменной на 1.
Отличаются возвращаемым значением:
- «пре»-варианты возвращают новое значение
- «пост»-варианты возвращают старое значение
Слайд 19

Операция sizeof Позволяет определить размер в байтах: • типа данных: sizeof(long

Операция sizeof
Позволяет определить размер в байтах:
• типа данных:
sizeof(long double)
• переменной:
sizeof(a)
• выражения:
sizeof(a

+ b/c)
2. Не является функцией
3. Вычисляется на этапе компиляции
4. Рекомендуется использовать для переносимости
Слайд 20

Неявное приведение типов

Неявное приведение типов

Слайд 21

Неявное приведение типов

Неявное приведение типов

Слайд 22

Неявное приведение типов

Неявное приведение типов

Слайд 23

Неявное приведение типов

Неявное приведение типов

Слайд 24

Неявное приведение типов в арифметических выражениях

Неявное приведение типов
в арифметических выражениях

Слайд 25

Неявное приведение типов в арифметических выражениях

Неявное приведение типов
в арифметических выражениях

Слайд 26

Операция явного приведения типов Синтаксис: • (тип)выражение приведение в стиле языка

Операция явного приведения типов
Синтаксис:
• (тип)выражение
приведение в стиле языка С
• тип(выражение)
приведение в

стиле вызова конструктора типа
• static_cast<тип>(выражение)
- специфичное для С++ приведение типов
Слайд 27

Управляющие конструкции • Условный оператор if • Оператор выбора switch • Операторы циклов for while do-while

Управляющие конструкции

• Условный оператор if
• Оператор выбора switch
• Операторы циклов
for
while
do-while

Слайд 28

Оператор if if (условие_1) операторы_1 else if (условие_2) операторы_2 else if (условие_3) операторы_3 … else операторы_n

Оператор if
if (условие_1)
операторы_1
else if (условие_2)
операторы_2
else if (условие_3)
операторы_3

else
операторы_n

Слайд 29

Условие в операторе if

Условие в операторе if

Слайд 30

Оператор switch

Оператор switch

Слайд 31

Оператор for

Оператор for

Слайд 32

Оператор while

Оператор while

Слайд 33

Оператор do-while

Оператор do-while