Основы языка программирования C++

Содержание

Слайд 2

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

В состав программы входят:
директивы препроцессора
операторы (инструкции)
комментарии

Структура программы на языке C++ В состав программы входят: директивы препроцессора операторы (инструкции) комментарии

Слайд 3

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

Слайд 4

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

комментарий

Слайд 5

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

директива препроцессора

Слайд 6

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

оператор подключения пространства имён

Слайд 7

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

определение функции main

Слайд 8

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

начало блока

Слайд 9

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

определение переменной a

Слайд 10

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

Вывод текста в поток cout

Слайд 11

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

Ввод данных в переменную a

Слайд 12

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

вывод в поток cout

Слайд 13

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

завершение функции и возврат результата

Слайд 14

Пример программы на C++

// программа вводит с консоли число
// и выводит

Пример программы на C++ // программа вводит с консоли число // и
его на консоль
#include
using namespace std;
int main()
{
int a;
cout << "input number\n";
cin >> a;
cout << "number = " << a << "\n";
return 0;
}

конец блока

Слайд 15

Целочисленные типы данных С++

int (целый, его размер определяется компилятором, обычно – 2

Целочисленные типы данных С++ int (целый, его размер определяется компилятором, обычно –
или 4 байта);
char (символьный, как правило, 1 байт);
wchar_t (предназначен для хранения набора символов, для которых недостаточно 1 байта, например, для кодировки Unicode. Как правило, занимает 2 байта);
bool (предназначен для хранения логических величин, 0 интерпретируется как false, а любое ненулевое значение – как true. при преобразовании из типа bool к другому значение true переводится в 1);
Кроме того, можно указывать спецификаторы типа, которые уточняют внутреннее представление и диапазон значений типа:
short;
long;
long long;
signed;
unsigned.

Слайд 16

Другие стандартные типы данных С++

float (числа с плавающей точкой длиной 4 байта);
double

Другие стандартные типы данных С++ float (числа с плавающей точкой длиной 4
(числа с плавающей точкой длиной 8 байт);
long double (числа с плавающей точкой длиной 10 байт);
void (т.н. ”пустой” тип, используется для определения функций, которые не возвращают значений или не имеют аргументов, обозначения абстрактных указателей и для некоторых других целей).

Слайд 17

Самоопределённые константы (литералы)

Самоопределённые константы (литералы)

Слайд 18

Запись длинных строковых констант

"Эта строковая константа размещена \_
на нескольких строках \_
программы"
Красным цветом

Запись длинных строковых констант "Эта строковая константа размещена \_ на нескольких строках
обозначен невидимый пробел!

Слайд 19

Переменные

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

Переменные Переменная – это именованная область памяти, в которой хранятся данные определенного
Оператор описания переменной в общем случае выглядит так:
[класспамяти] [const] тип {имя [инициализатор]}…;
Класс памяти может быть задан с помощью слов auto, extern, static либо register.
Модификатор const позволяет задать именованные константы времени выполнения.
Инициализатор позволяет присвоить начальное значение переменной (и обязателен при описании константы). Его можно записать в двух формах:
= значение
или
(значение)
Значение выражения в инициализаторе должно быть вычислимо в процессе компиляции!

Слайд 20

Примеры определения переменных

short int a = 1;
const char CR = '\n';
char s,

Примеры определения переменных short int a = 1; const char CR =
sf('a'), st = '1';
static unsigned int P;

Слайд 21

Область действия идентификатора

Область действия переменной (а в общем случае – любого идентификатора)

Область действия идентификатора Область действия переменной (а в общем случае – любого
– это часть программы, в которой его можно использовать.
Переменная, описанная внутри блока, считается локальной. Область ее действия – от точки описания до конца блока, включая вложенные блоки.
Переменные, описанные вне блоков, являются глобальными, их область действия – до конца файла.
Переменные, описанные в операторе for, действуют до конца этого оператора.

Слайд 22

Область видимости переменной

Область видимости чаще всего совпадает с областью действия, однако если

Область видимости переменной Область видимости чаще всего совпадает с областью действия, однако
во вложенном блоке описана переменная с уже существующим именем, то это делает невидимой внешнюю переменную. Тем не менее, к глобальной невидимой переменной можно обратиться с использованием операции :: (расширение области видимости).

Слайд 23

Время жизни переменной

Время жизни переменной определяет, как долго сохраняется ее значение. Значение

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

Слайд 24

Объявление и определение переменных (примеры)

int a;
int main() {
int b;
extern int

Объявление и определение переменных (примеры) int a; int main() { int b;
x; //объявление, но не определение!
a = 1; // обращение к глобальной переменной
float a; // а теперь она становится невидимой
a = 2.5; // обращение к локальной переменной
::a = 4; // обращение к глобальной переменной
// за счет расширения области видимости
return 0;
}
int x = 4; // а вот теперь x определена!

Слайд 25

Операции

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

Операции Операции содержат знак операции (иногда слово) и операнды. Результат вычисления операции
использован далее при вычислении выражений.
Некоторые операции изменяют значение одного из операндов (в дальнейшем такие операнды обозначены красным)

Слайд 26

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

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

Слайд 27

Присваивание и связанные с ним операции

Присваивание и связанные с ним операции

Слайд 28

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

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

Слайд 29

Таблицы истинности для логических операций

Отрицание
«И» (and)
«Или» (or)
Исключающее «или» (xor)

Таблицы истинности для логических операций Отрицание «И» (and) «Или» (or) Исключающее «или» (xor)

Слайд 30

Логические и побитовые операции

Логические и побитовые операции

Слайд 31

Другие операции

Другие операции

Слайд 32

L-value выражения

Если операция изменяет значение одного из своих операндов, то не всякое

L-value выражения Если операция изменяет значение одного из своих операндов, то не
выражение может служить изменяемым операндом таких операций. На этом месте должна стоять конструкция, однозначно адресующая некоторый участок памяти, значение которой можно изменить (например, имя переменной). Подобного рода выражения получили название L-выражений (L-values).
Результаты операций присваивания и префиксного инкремента (декремента) являются L-values, других рассмотренных операций – не являются.

Слайд 33

Неполное вычисление логических выражений

Логические операции выполняются слева направо. Если значения первого операнда

Неполное вычисление логических выражений Логические операции выполняются слева направо. Если значения первого
достаточно, чтобы определить результат операции, второй операнд не вычисляется.
Пример:
a=0, b=4;
В выражении (a>0) && (b==4) будет вычислена только левая часть.
Выражение (b==4) && (a>0) будет вычислено полностью.

Слайд 34

Преобразование типов

В выражение могут входить операнды различных типов. Если операнды имеют одинаковый

Преобразование типов В выражение могут входить операнды различных типов. Если операнды имеют
тип, то результат операции будет иметь тот же тип. Если операнды разного типа, перед вычислениями автоматически выполняются неявные преобразования типов. Обычно короткие типы приводятся к более длинным (upcast), что обеспечивает сохранение значимости и точности:
( char, short ) -> int -> long -> long long -> float -> double -> long double

Слайд 35

Сужающие преобразования типов

Однако в выражениях с операцией присваивания встречается и обратный вариант,

Сужающие преобразования типов Однако в выражениях с операцией присваивания встречается и обратный
когда более "объемный" тип присваивается менее "объемному", например, float в int (downcast). Подобные преобразования связаны с потерей информации (дробная часть отбрасывается), поэтому называются сужающими приведениями (преобразованиями). Компилятор предупреждает о таких операциях.
Пример:
int a; float b;

a=b; // компилятор выдаст предупреждение!
a=floor(b) // теперь предупреждения нет!

Слайд 36

Операторы C++

Оператор-выражение
выражение;
Оператор проверки условия
if (выражение) оператор1;
[else оператор2;]
Оператор switch
switch (целое_выражение){
case

Операторы C++ Оператор-выражение выражение; Оператор проверки условия if (выражение) оператор1; [else оператор2;]
константное_выражение_1: операторы_1;
[case константное_выражение_2: операторы 2;] ...
[default: операторы ;]
}

Слайд 37

Пример работы оператора switch

#include
using namespace std;
int main() {
int a, b,

Пример работы оператора switch #include using namespace std; int main() { int
res; char op;
cout << "\nВведите 1й операнд : "; cin >> a;
cout << "\nВведите знак: "; cin >> op;
cout << "\nВведите 2й операнд : "; cin >> b;
bool f = true;
switch (op) {
case '+': res = a + b; break;
case '-': res = a - b; break;
case '*': res = a * b; break;
case '/': res = a / b; break;
default : cout << "\nНеизвестная операция";
f = false;
}
if (f)
cout << "\nРезультат : " << res;
}

Слайд 38

Операторы цикла C++

Цикл с предусловием
while (выражение) оператор;
Цикл с постусловием
do оператор while

Операторы цикла C++ Цикл с предусловием while (выражение) оператор; Цикл с постусловием
(выражение);
Оператор for
for (выражение1; выражение2; выражение3) оператор;
выражение1 вычисляется один раз перед входом в цикл;
выражение2 вычисляется перед каждой итерацией; если оно ложно, выходим из цикла;
выражение3 вычисляется после выполнения каждой итерации

Слайд 39

Пример использования цикла for

int M[100], t, i, j;
// ввод массива
for (i =

Пример использования цикла for int M[100], t, i, j; // ввод массива
0, j = 99; i t = M[i];
M[i] = M[j];
M[j] = t;
}
Имя файла: Основы-языка-программирования-C++.pptx
Количество просмотров: 21
Количество скачиваний: 0