Similar presentations:
Язык С++
1.
ОБЩИЕ СВЕДЕНИЯ ОЯЗЫКЕ С++
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,
static;
register,
5.
Ключевые словаоператоры языка и идентификаторы специального назначения:
break, continue, do, for, goto, if, return, switch,
while, default, case, else, sizeof;
модификаторы и псевдопеременные: конкретный набор зависит
от компилятора.
6.
ЛитералыЛитерал – это запись в исходном коде компьютерной программы,
представляющая собой фиксированное значение.
7.
Литералы8.
Escape-последовательности\a
\b
\f
\n
\r
\t
\v
Звуковой сигнал
Возврат на шаг
Переход на новую
страницу
Переход на новую
строку
Возврат в начало
строки
Горизонтальная
табуляция
Вертикальная
табуляция
\\
\'
\"
\?
\000
\xdd
\udddd
Обратная косая черта
Одиночная кавычка
Двойная кавычка
Вопросительный знак
Символ, заданный восьмеричным
кодом ASCII 000
Символ, заданный
шестнадцатеричным кодом ASCII
dd
Символ, заданный
шестнадцатеричным кодом dddd
9.
ИдентификаторыИдентификатор – это имя программного объекта (переменной,
функции, класса или другого объекта).
При выборе идентификатора следует иметь в виду следующее:
Идентификатор может состоять только из букв латинского
алфавита, цифр или символов подчёркивания.
Идентификатор должен начинаться с буквы (нижнего или
верхнего регистра). Он не может начинаться с цифры.
10.
Ключевые словаНе рекомендуется начинать идентификаторы с символа
подчеркивания.
C++ различает нижний и верхних регистры.
Min, MIN, min – три разных идентификатора.
Идентификатор не может быть ключевым словом.
Длина идентификатора по стандарту не ограничена, но
некоторые компиляторы и компоновщики налагают на нее
ограничения.
11.
Примеры идентификаторовПравильно
Неправильно
В2
8А
i
while
Max
ид
k_2
f(x)
kilograms_of_pipe the name of a variable
Не
рекомендуется
_f
_2m
12.
Типы данныхТипы данных определяют способ хранения чисел или символов в
памяти компьютера. Они задают размер ячейки, в которую будет
записано то или иное значение, определяя тем самым его
максимальную величину или точность задания.
К основным типам данных языка относят:
bool – логический;
− char – символьный;
− int – целый;
void – пустой.
float – с плавающей точкой;
double – вещественный двойной точности;
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;
18.
Операции, выражения, операторыОператор – законченное предложение на языке C++. Он указывает
компьютеру выполнить некоторые действия. Чаще всего используется
оператор-выражение. Оператор всегда завершается «;».
Выражение
–
конструкция,
определяющая состав данных, операции и
порядок выполнения операций над
данными.
Операнды – данные, над которыми выполняются действия.
Операции выполняют определенные действия над операндами.
19.
Выражения0;
-12.4;
(x+5)/2;
cout<<++num;
c==2&&(c<5||d>sqrt(3*a));
return 0;
20.
ОперацииВ соответствии с количеством операндов операции делятся на
унарные (один операнд), бинарные (два операнда) и, единственную,
тернарную (в которой три операнда).
Приоритет определяет старшинство операции.
Ассоциативность – порядок вычисления.
21.
Унарные операции22.
Бинарные операции23.
Бинарные операции24.
Операции25.
Приоритет основных операций1. Инкремент, декремент;
2. Унарные плюс и минус, логическое и поразрядное НЕ, приведение к
типу, взятие адреса;
3. Умножение, деление, остаток от деления;
4. Сложение, вычитание;
5. Больше, меньше, больше или равно, меньше или равно;
6. Равно, не равно;
7. Логическое И;
8. Логическое ИЛИ;
9. Операции присваивания.
26.
Операции присваиванияимя_переменной = значение;
имя_переменной1 = имя_переменной2 = ... =
имя_переменнойN = значение;
имя_переменной операция= значение;
имя_переменной = имя_переменной операция значение;
+, —, *, /, %, &, |, ^, <<, >>.
a += 2;
a = a + 2;
27.
Арифметические операции11 / 4; //В результате будет 2
11 / 4.0; //В результате будет 2.75
11 % 4; //В результате будет 3
28.
Операции инкремента ++ и декремента -x = 12;y = ++x; //В переменной y будет храниться значение 13
x = 12;
y = x++; //В переменной y будет храниться значение 12
29.
Поразрядное И (&)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 = 0000 0000 0000 1101
B = 0000 0000 0001 0111
0000 0000 0001 1111 = 31
A | B; //В результате будет 31
31.
Поразрядное исключающее ИЛИ (^)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 1101
~A = 1111 1111 1111 0010
1111 1111 1111 0010 = -14
~A; //В результате будет -14
33.
Сдвиг влево (<<)A = 17
A = 0000 0000 0001 0001
0000 0000 1000 1000 = 136
A << 3; //В результате будет 136
A << B
A · 2B
34.
Сдвиг вправо (>>)A = 25
A = 0000 0000 0001 1001
0000 0000 0000 0011 = 3
A >> 3; //В результате будет 3
A >> B
A / 2B
35.
Логические операции36.
Операции сравненияОперации сравнения возвращают в качестве результат
логическое значение true или false.
>, >=, <, <=, ==, !=.
37.
Условная операцияусловие ? выражение1 : выражение2;
Если
истинно (не равно 0), то результатом будет
выражение1 иначе – выражение2.
условие
x = 12;
y = 4;
z = (x > y) ? 2 : 5; //В переменной z будет храниться значение 2
38.
Операция преобразования типа(тип) выражение;
x = 5;
y = x / 2; //В переменной y будет храниться значение 2
z = (double) x / 2; //В переменной z будет храниться значение 2.5
a = 5;
b = (bool) a; //В переменной b будет храниться значение true
c = 0;
d = (bool) c; //В переменной b будет храниться значение false
39.
Операция определения размера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
#define MULT(a, b) ((a) * (b))
#define MAX(x, y) ((x) > (y)) ? (x) : (y)
MULT(x + y, z)
((x + y) * (z))
43.
Препроцессор#define SQR(A) (A * A)
s = SQR (a + b);
s = a + b * a + b;
#define SQR(A) ((A) * (A))
s = (a + b) * (a + b);
#undef <идентификатор>
44.
Препроцессор45.
Библиотека math.h#include <math.h>
46.
Библиотека math.h47.
Библиотека math.h48.
Библиотека math.h49.
КомментарииКомментарий – это строка (или несколько строк) текста, которая служит
для описания и документирования исходного кода.
Однострочные комментарии –пишутся после символов
//.
Многострочные комментарии –пишутся между символами
/*
и
*/.