Data types, язык С++ презентация

Содержание

Слайд 2

Контрольные вопросы

Этапы разработки ПО
Что такое алгоритм?
Что такое #include?
Что такое main?
Какая команда печатает текст

на экране консоли?
Что такое escape-последовательности?

Слайд 3

Алфавит языка состоит из:

Прописных и строчных букв латинского алфавита (A-Z, a-z). Прописные и

строчные буквы в коде различаются, это свойство называется чувствительностью к регистру символов (регистрозависимость). Примеры регистрозависимых языков: Java, C++, C#. Примеры регистронезависимых языков: HTML, SQL.

Слайд 4

Алфавит языка состоит из:

Цифр от 0 до 9
Пробельных символов (пробел, горизонтальная табуляция TAB,

переход на следующую строку ENTER)
Специальных символов: , . ; : _ + - * / % < > = ^ ? ! & | ~ ( ) { } [ ] “ ‘ #

Слайд 5

Понятие лексемы

Лексема – это наименьшая неделимая часть языка, которую распознает компилятор. Из лексем

составляются все языковые конструкции.

Слайд 6

Классы лексем

идентификаторы (identifiers)
ключевые слова (keywords)
литералы (literals)
разделители (separators)
операторы (operators)

Слайд 7

Понятие идентификатора

Идентификаторы - это имена, которыми обозначаются различные объекты программы, определяемые программистом (переменные,

функции, классы и тд.)
Идентификатор обязан быть уникальным. Может состоять из букв латинского алфавита, цифр, символа подчеркивания. Идентификатор не может начинаться с цифры!

Слайд 8

Регистрозависимость

Язык C++ регистрозависим – большие и маленькие буквы в лексемах различаются:
Name
name
nAmE
- это

совершенно разные лексемы!

Слайд 9

Ключевые слова

Ключевые слова (keywords) - это зарезервированные, служебные слова, которые нельзя использовать в

своих целях (например, идентификатор не может быть ключевым словом).

Слайд 10

Ключевые слова языка C++

abstract, auto, bool, break, case, catch, char, class, const, continue,

decltype, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, final, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, nullptr, private, protected, public, return, short, signed, sizeof, static, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, while

https://msdn.microsoft.com/uk-ua/library/2e6a4at9(v=vs.110).aspx

Слайд 11

Понятие литерала

Литерал - это лексема, жёстко прописанная в коде программы, которая представляет собой

фиксированное значение определённого типа.

025

Слайд 12

Литералы

Литералы позволяют задать в программе значения для числовых, символьных и строковых выражений.
В С++

определены следующие виды литералов:
целочисленный (integer)
дробный (floating-point)
булевский (boolean)
символьный (character)
строковый (string)

Слайд 13

Понятие оператора

Оператор – это конструкция языка программирования, которая выполняет определённое действие над аргументами

(операндами).
Операнд - это аргумент оператора, то есть то значение, над которым оператор выполняет действие.

Слайд 14

Классификация по количеству

По количеству операндов операторы делят на:
Унарные – требуют наличия 1 операнда:
-5
level++
Бинарные

– требуют 2 операнда:
3 * 6
2 + 2
Тернарный – состоит из трёх операндов:
int max = a > b ? a : b;

Слайд 15

Операторы

Примеры операторов:
+ - * / = ++ -- >> <= ==
Операторы отличаются:
Количеством операндов
Приоритетом
Ассоциативностью

Слайд 16

Таблица приоритетов

Слайд 17

Группы операторов

условные операторы (if, switch)
операторы цикла (while, do while, for)
операторы безусловного перехода (return,

break, continue, throw)
метки (case, default, user labels)
операторы-выражения (любое выражение, которое заканчивается точкой с запятой, является оператором).
операторы-операции (арифметические, логические, поразрядные и операции сравнения)
блоки

Слайд 18

Постфиксная и префиксная форма

Одни операторы ставятся перед операндами и называются префиксными,  другие —

после, их называют постфиксными операторами.
Большинство же операторов ставят между двумя операндами, такие операторы называют­ся инфиксными бинарными операторами.

Слайд 19

Разделители

Разделители – это специальные символы, используемые в коде:
“()”, “[]”, “{}”, “;”, “,”, “.”

Слайд 20

Выражения

Выражение – это корректная комбинация операндов и операторов, которая всегда имеет определённое результирующее

значение (результат). Это значение характеризуется типом данных. В качестве операндов могут выступать переменные, константы, литералы, результаты работы функций. Пример выражения:
5 + x / 8 – (3 * number);
В результате этого выражения будет значение определённого типа данных, которое можно использовать в дальнейшем - например, присвоить переменной.

Слайд 21

Основы синтаксиса

Почти любая команда (оператор) в языке C++ заканчивается точкой с запятой.
cout <<

"Hello, world!\n";

Слайд 22

Основы синтаксиса

В программе должна существовать функция main().
Эта функция вызывается автоматически!

Слайд 23

Понятие переменной

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

изменять своё значение на протяжении работы программы. Значение характеризуется типом данных. Для того, чтобы использовать переменную в программе, необходимо её объявить (создать). Объявление переменной даст компилятору понять, что для этой переменной необходимо выделить память, что данный идентификатор уже будет использоваться, и как с этой переменной работать в дальнейшем.

Слайд 24

Понятие переменной

Переменные – это своеобразные контейнеры, которые могут нести в себе числовые, строковые

или логические значения.

Слайд 25

Виды типизаций

Статическая типизация – тип данных объекта определяется на этапе компиляции.
Если это

происходит на этапе выполнения программы — то динамическая.
В С++ используется статическая типизация, а это значит, что программисту придётся выбирать тип для переменной самостоятельно.

Слайд 26

Рождение переменной

тип идентификатор = инициализатор;
Инициализатор – это выражение,
которое вычисляется в этом месте
программы. Им

будет
инициализирована переменная.

Слайд 27

Основные типы данных

Слайд 28

Разрядность и диапазон значений

bool (1 байт) – true или false
char (1 байт) –

от -128 до 127
short int (2 байта) – от -32768 до 32767
int (машинное слово*) – -+2 147 483 648
long int (4 байта) – -+2 147 483 648
long long int (8 байт) – от -9*1018
float (4 байта) - 3.4E-38…3.4E38
double (8 байт) - 1.7E-308…1.7E308

* Размер типа данных int в языке С++ – стремится быть равен машинному слову: не меньше чем short, и не больше чем long!

Слайд 30

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

По стандарту IEEE 754 представление действительных чисел должно записываться в экспоненциальном виде.

Это значит, что часть битов кодирует собой мантиссу числа, другая часть — показатель порядка (степени), и ещё один бит используется для указания знака числа (0 — если число положительное, 1 — если число отрицательное).

https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8

Слайд 31

Особенности double

Слайд 33

Тип данных определяет:

Размер блока памяти, выделяемый для хранения данных
Структуру этого блока памяти (как

в машине будет сохранено, и как машина будет воспринимать данное значение - наличие или отсутствие знакового бита для целых чисел; наличие или отсутствие в числе битов для мантиссы, порядка и знака дробного числа
Диапазон значений
Набор операторов для работы с этими значениями (например, для строк нельзя использовать оператор «минус», а для дробных чисел нельзя использовать битовые операции)

Слайд 34

Типы литералов

Слайд 35

Синтаксис объявления

тип идентификатор;
int age;
float price;
short cats, dogs;
char answer, symbol;
bool is_hungry;

https://stackoverflow.com/questions/15320756/what-is-the-range-of-the-long-double-c

Слайд 36

Синтаксис объявления

тип идентификатор = инициализатор;
int age = 32;
float price = 500.15f;
short cats =

3, dogs = 1;
char answer = ‘b’, symbol = ‘x’;
bool is_hungry = false;

Слайд 37

Signed / Unsigned

Эти модификаторы изменяют формат представления данных, но не влияют на размеры

выделяемых областей памяти.
Модификатор signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным.
Модификатор unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.

Слайд 38

Объявления auto

Слайд 39

Понятие константы

Константа – это именованная область в оперативной памяти, которая может хранить, НО

НЕ МОЖЕТ изменять своё значение на протяжении работы программы. Чтобы объявить константу, добавьте к синтаксису переменной модификатор const. Также под понятие константы можно подвести понятие литерала.

Слайд 40

Списковая инициализация

Слайд 41

Оператор присваивания

x = 3;
y = x;
z = x;
многократное использование операции присваивания в одном выражении:
x = y = z = 0;
Не

рекомендуется так делать!

Слайд 42

Инкремент и декремент

инкремент "++"– увеличивает значение переменной на 1
декремент "--" – уменьшает значение

переменной на 1
Для этих операторов существует префиксная и постфиксная форма (практика).

Слайд 45

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

+ сложение  - вычитание  * умножение / деление % остаток от деления ++ инкремент -- декремент

int a =

5 + 5;
a = b * c;
b++;
a = 10 % 2;

Слайд 46

Рекомендации использования

Единственность цели каждой переменной
Используйте переменную только с одной целью. Иногда есть соблазн

вызвать одну переменную в двух разных местах для решения двух разных задач. Использование "временной" переменной - очень плохая затея.
Из-за использования в нескольких разных ситуациях одной переменной создается впечатление, что задачи связаны, хотя на самом деле это не так. Создавайте уникальные переменные для каждой цели, чтобы сделать код более читабельным и понятным.

Слайд 47

Практика

У моей соседки K кошек. Каждая кошка за день съедает M граммов кошачьего

корма. Килограмм корма стоит G гривен.
Сколько денег уходит на кошачий корм в месяц, и за целый год?

Слайд 48

Системные команды Windows

Слайд 49

Как избавиться от system(“pause”);

Имя файла: Data-types,-язык-С++.pptx
Количество просмотров: 52
Количество скачиваний: 0