Язык С++

Содержание

Слайд 2

Алфавит языка Программа на языке С++ может содержать следующие символы: прописные

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

Программа на языке С++ может содержать следующие символы:

прописные и строчные

буквы латинские буквы A…Z, a…z и знак подчеркивания «_»;

цифры от 0 до 9;

специальные знаки: «,», «.», «;», «:», «?», «!», «'», «"», «|», «/», «\», «~», «^», «(», «)», «{», «}», «[», «]», «<», «>», «#», «%», «&», «-», «=», «+», «*»;

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

Слайд 3

Лексемы Лексема – это минимальная единица языка, имеющая самостоятельный смысл. Лексемы:

Лексемы

Лексема – это минимальная единица языка, имеющая самостоятельный смысл.

Лексемы:

ключевые слова;

литералы;

идентификаторы;

операции;

разделители.

Слайд 4

Ключевые слова Ключевые слова – это зарезервированные слова, которые имеют специальное

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

Ключевые слова – это зарезервированные слова, которые имеют специальное значение

для компилятора и используются только в том смысле, в котором они определены.

спецификаторы типов: char, double, enum, float, int, long, short, struct, signed, union, unsigned, void, typedef;

квалификаторы типов: const, volatile;

квалификаторы классов памяти: auto, extern, register, static;

Слайд 5

операторы языка и идентификаторы специального назначения: break, continue, do, for, goto,

операторы языка и идентификаторы специального назначения: break, continue, do, for, goto,

if, return, switch, while, default, case, else, sizeof;

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

модификаторы и псевдопеременные: конкретный набор зависит от компилятора.

Слайд 6

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

Литералы

Литерал – это запись в исходном коде компьютерной программы, представляющая собой

фиксированное значение.
Слайд 7

Литералы

Литералы

Слайд 8

Escape-последовательности

Escape-последовательности

Слайд 9

Идентификаторы Идентификатор – это имя программного объекта (переменной, функции, класса или

Идентификаторы

Идентификатор – это имя программного объекта (переменной, функции, класса или другого

объекта).

При выборе идентификатора следует иметь в виду следующее:

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

Идентификатор должен начинаться с буквы (нижнего или верхнего регистра). Он не может начинаться с цифры.

Слайд 10

Ключевые слова Не рекомендуется начинать идентификаторы с символа подчеркивания. C++ различает

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

Не рекомендуется начинать идентификаторы с символа подчеркивания.

C++ различает нижний и

верхних регистры.

Min, MIN, min – три разных идентификатора.

Идентификатор не может быть ключевым словом.

Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения.

Слайд 11

Примеры идентификаторов

Примеры идентификаторов

Слайд 12

Типы данных определяют способ хранения чисел или символов в памяти компьютера.

Типы данных определяют способ хранения чисел или символов в памяти компьютера.

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

Типы данных

К основным типам данных языка относят:

char – символьный;

int – целый;

float – с плавающей точкой;

double – вещественный двойной точности;

bool – логический;

void – пустой.

Слайд 13

Типы данных Типы данных, созданные на базе стандартных типов с использованием

Типы данных

Типы данных, созданные на базе стандартных типов с использованием спецификаторов,

называют составными.

Спецификаторы типов данных:

short – короткий;

long – длинный;

signed – знаковый;

unsigned – беззнаковый.

Слайд 14

Типы данных

Типы данных

Слайд 15

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

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

типа. Переменная имеет тип, имя и значение.

Переменные

тип список_переменных;

int a;
float g, u, m2;

int age = 28;

Слайд 16

Константы Константы – это именованные ячейки памяти, значения которых фиксируются на

Константы

Константы – это именованные ячейки памяти, значения которых фиксируются на начальном

этапе выполнения программы и затем в процессе выполнения программы не могут быть изменены.

Способы определения констант:

Использование препроцессора #define:

#define идентификатор значение

#define G 9.81

Слайд 17

Константы Использование ключевого слова const: сonst тип имя = значение; const double g = 9.81;

Константы

Использование ключевого слова const:

сonst тип имя = значение;

const double g = 9.81;

Слайд 18

Операции, выражения, операторы Оператор – законченное предложение на языке C++. Он

Операции, выражения, операторы

Оператор – законченное предложение на языке C++. Он указывает

компьютеру выполнить некоторые действия. Чаще всего используется оператор-выражение. Оператор всегда завершается «;».

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

Операнды – данные, над которыми выполняются действия.

Операции выполняют определенные действия над операндами.

Слайд 19

Выражения 0; -12.4; (x+5)/2; cout c==2&&(c sqrt(3*a)); return 0;

Выражения

0;
-12.4;
(x+5)/2;
cout<<++num;
c==2&&(c<5||d>sqrt(3*a));
return 0;

Слайд 20

В соответствии с количеством операндов операции делятся на унарные (один операнд),

В соответствии с количеством операндов операции делятся на унарные (один операнд),

бинарные (два операнда) и, единственную, тернарную (в которой три операнда).

Операции

Приоритет определяет старшинство операции.

Ассоциативность – порядок вычисления.

Слайд 21

Унарные операции

Унарные операции

Слайд 22

Бинарные операции

Бинарные операции

Слайд 23

Бинарные операции

Бинарные операции

Слайд 24

Операции

Операции

Слайд 25

Приоритет основных операций Инкремент, декремент; Унарные плюс и минус, логическое и

Приоритет основных операций

Инкремент, декремент;
Унарные плюс и минус, логическое и поразрядное НЕ,

приведение к типу, взятие адреса;
Умножение, деление, остаток от деления;
Сложение, вычитание;
Больше, меньше, больше или равно, меньше или равно;
Равно, не равно;
Логическое И;
Логическое ИЛИ;
Операции присваивания.
Слайд 26

Операции присваивания имя_переменной = значение; имя_переменной1 = имя_переменной2 = ... =

Операции присваивания

имя_переменной = значение;

имя_переменной1 = имя_переменной2 = ... = имя_переменнойN =

значение;

имя_переменной операция= значение;

имя_переменной = имя_переменной операция значение;

+, —, *, /, %, &, |, ^, <<, >>.

a += 2;

a = a + 2;

Слайд 27

Арифметические операции 11 / 4; //В результате будет 2 11 /

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

11 / 4; //В результате будет 2
11 / 4.0; //В

результате будет 2.75

11 % 4; //В результате будет 3

Слайд 28

Операции инкремента ++ и декремента -- x = 12; y =

Операции инкремента ++ и декремента --

x = 12;
y = ++x; //В

переменной y будет храниться значение 13

x = 12;
y = x++; //В переменной y будет храниться значение 12

Слайд 29

Поразрядное И (&) A = 13 B = 23 A =

Поразрядное И (&)

A = 13
B = 23

A = 0000 0000

0000 1101

B = 0000 0000 0001 0111

0000 0000 0000 0101 = 5

A & B; //В результате будет 5

Слайд 30

Поразрядное ИЛИ (\) A = 13 B = 23 A =

Поразрядное ИЛИ (\)

A = 13
B = 23

A = 0000 0000

0000 1101

B = 0000 0000 0001 0111

0000 0000 0001 1111 = 31

A | B; //В результате будет 31

Слайд 31

Поразрядное исключающее ИЛИ (^) A = 13 B = 23 A

Поразрядное исключающее ИЛИ (^)

A = 13
B = 23

A = 0000

0000 0000 1101

B = 0000 0000 0001 0111

0000 0000 0001 1010 = 26

A ^ B; //В результате будет 26

Слайд 32

Поразрядное отрицание (~) A = 13 A = 0000 0000 0000

Поразрядное отрицание (~)

A = 13

A = 0000 0000 0000 1101


~A = 1111 1111 1111 0010

1111 1111 1111 0010 = -14

~A; //В результате будет -14

Слайд 33

Сдвиг влево ( A = 17 A = 0000 0000 0001

Сдвиг влево (<<)

A = 17

A = 0000 0000 0001 0001


= 136

A << 3; //В результате будет 136

0000 0000 1000 1000

A << B

A · 2B

Слайд 34

Сдвиг вправо (>>) A = 25 A = 0000 0000 0001

Сдвиг вправо (>>)

A = 25

A = 0000 0000 0001 1001

=

3

A >> 3; //В результате будет 3

0000 0000 0000 0011

A >> B

A / 2B

Слайд 35

Логические операции

Логические операции

Слайд 36

Операции сравнения >, >=, Операции сравнения возвращают в качестве результат логическое значение true или false.

Операции сравнения

>, >=, <, <=, ==, !=.

Операции сравнения возвращают в

качестве результат логическое значение true или false.
Слайд 37

Условная операция условие ? выражение1 : выражение2; Если условие истинно (не

Условная операция

условие ? выражение1 : выражение2;

Если условие истинно (не равно 0),

то результатом будет выражение1 иначе – выражение2.

x = 12;
y = 4;
z = (x > y) ? 2 : 5; //В переменной z будет храниться значение 2

Слайд 38

Операция преобразования типа (тип) выражение; c = 0; d = (bool)

Операция преобразования типа

(тип) выражение;

c = 0;
d = (bool) c; //В переменной

b будет храниться значение false

x = 5;
y = x / 2; //В переменной y будет храниться значение 2
z = (double) x / 2; //В переменной z будет храниться значение 2.5

a = 5;
b = (bool) a; //В переменной b будет храниться значение true

Слайд 39

Операция определения размера sizeof(тип); или sizeof(выражение); int a; double b; sizeof(a);

Операция определения размера

sizeof(тип); или sizeof(выражение);

int a;
double b;
sizeof(a); //В результате будет 4
sizeof(int);

//В результате будет 4
sizeof(b); //В результате будет 8
sizeof(bool); //В результате будет 1
sizeof(28); //В результате будет 4, так как тип int
sizeof("Hello world!" ); // В результате будет 13
sizeof('\n'); //В результате будет 1
Слайд 40

Структура программы директивы препроцессора описание типов пользователя; прототипы функций; описание глобальных

Структура программы

директивы препроцессора
описание типов пользователя;
прототипы функций;
описание глобальных переменных;
тип_результа main(параметры)
{
операторы;
}
тип_результа имя1(параметры)
{
операторы1;
}
тип_результа имя2(параметры)
{
операторы2;
}
...
тип_результа

имяN(параметры)
{
операторыN;
}
Слайд 41

Препроцессор Препроцессор – это программа, которая обрабатывает текст программы до компилятора.

Препроцессор

Препроцессор – это программа, которая обрабатывает текст программы до компилятора.

Работа

препроцессора управляется директивами.

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

Слайд 42

Препроцессор #include #include "путь" #define #define ( ) #define N 100

Препроцессор

#include <путь>
#include "путь"

#define <идентификатор> <текст>
#define <идентификатор>(<список параметров>) <текст>

#define N 100
#define MULT(a,

b) ((a) * (b))
#define MAX(x, y) ((x) > (y)) ? (x) : (y)

MULT(x + y, z)

((x + y) * (z))

Слайд 43

Препроцессор #undef #define SQR(A) (A * A) s = SQR (a

Препроцессор

#undef <идентификатор>

#define SQR(A) (A * A)

s = SQR (a + b);

s

= a + b * a + b;

#define SQR(A) ((A) * (A))

s = (a + b) * (a + b);

Слайд 44

Препроцессор

Препроцессор

Слайд 45

Библиотека math.h #include

Библиотека math.h

#include

Слайд 46

Библиотека math.h

Библиотека math.h

Слайд 47

Библиотека math.h

Библиотека math.h

Слайд 48

Библиотека math.h

Библиотека math.h