1.17M
Категория: ПрограммированиеПрограммирование

C++

1.

C++

2.

ИСТОРИЯ ЯЗЫКА СИ++
• Разработчиком языка
Си++ является Бьерн
Страуструп.
• Непосредственный
предшественник Си++ –
язык Си с классами –
появился в 1979 году, а в
1997 году был принят
международный
стандарт Си++.

3.

НАЗНАЧЕНИЕ ЯЗЫКА
СИ++
• Язык Си++ является универсальным языком
программирования, в дополнение к которому
разработан набор разнообразных библиотек.
• Си++ как преемник языка Си широко используется в
системном программировании. На нем можно
писать высокоэффективные программы, в том
числе операционные системы, драйверы и т.п.

4.

СТРУКТУРА
ПРОГРАММЫ
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
return 0;
}

5.

СТРУКТУРА
ПРОГРАММЫ
Каждая подпрограмма имеет структуру, подобную
функции main();
Каждая программа содержит одну или несколько
функций;
Каждая функция содержит 4 основных элемента:
• 1. тип возвращаемого значения; Int
• 2. имя функции; main()
• 3. список параметров, заключённый в круглые скобки
{return 0;} -эта строка значит "вернуть операционной
системе в качестве сигнала об успешном завершении
программы значение 0".
• 4. тело функции

6.

СТРУКТУРА
ПРОГРАММЫ
#include <iostream> //Директива подключения библиотеки iostream
Файл, включаемый с помощью директивы #include, обычно
называют заголовочным файлом
int main() //Функция main
{
std::cout << "Hello World!\n"; // оператор cout используется для
вывода текста в консоль.
Оператор cout находится в пространстве имен std. Пространством
имен называется область программы, в которой распознается
определенная совокупность имен
Символ '\n' в конце строковой константы является примером
манипулятора для форматирования ввода-вывода. В cout также
возможен переход на следующую строку через оператор endl
return 0; // при выполнение функции main, она передаст
компьютеру значение 0
}
После каждого оператора обязательно ставится ;

7.

ДИРЕКТИВА USING
• using namespace std;
• означает, что все определенные ниже имена в
программе будут относиться к пространству имен с
именем std. Различные элементы программы
описаны с использованием пространства имен std,
например переменная cout. Если не использовать
директиву using, то к этим элементам программы
придется каждый раз добавлять имя std::

8.

КОММЕНТАРИИ В C++
// -- Однострочный комментарий
/* “Оператор” */ -- Многострочный комментарий
Пример:
cout<<“Hi” //Однострочный коментарий
/*
Это много строчный комментарий
cout<<“Hi”
*/

9.

АЛЬТЕРНАТИВНЫЙ
СПОСОБ ВЫВОДА ТЕКСТА
#include <stdio.h> // Заголовочный файл stdio.h:
описание стандартных функций ввода и вывода
main()
{
printf("Hello World"); // Оператор printf используется
для вывода текста
}

10.

КИРИЛЛИЦА В
КОНСОЛИ
#include <Windows.h> // Директива подключения
Windows API
int main()
{
***
SetConsoleCP(1251); //Переключает кодировку
вводимого текста на Windows-1251
SetConsoleOutputCP(1251); //Переключает кодировку
выведенного текста на Windows-1251
***
}

11.

МАНИПУЛЯТОРЫ
ФОРМАТИРОВАНИЯ
ВВОДА И ВЫВОДА ТЕКСТА
• \n - Перевод в начало следующей строки
• \t - Табуляция горизонтальная
• \v - Табуляция вертикальная
• \' - Одинарная кавычка
• \" - Двойные кавычки

12.

САМОСТОЯТЕЛЬНАЯ
РАБОТА
С помощью оператора “cout” или “printf”, используя
манипуляторы форматирования ввода-вывода, выполните
следующее:
Вывести на экран текст "лесенкой"
Вася
пошел
гулять
Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ

13.

ИМЕНА,
ПЕРЕМЕННЫЕ И
КОНСТАНТЫ

14.

ИМЕНА
(ИДЕНТИФИКАТОРЫ)
• Могут включать
• латинские буквы (A-Z, a-z)
• знак подчеркивания _
• цифры 0-9 Имя не может начинаться с цифры
• НЕ могут включать
• русские буквы
• пробелы
• скобки, знаки +, =, !, ? и др.
Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos”
TU154 [QuQu] _ABBA A+B

15.

ИМЕНА
(ИДЕНТИФИКАТОРЫ)
• Ряд слов в языке Си++ имеет особое значение и не может
использоваться в качестве идентификаторов. Такие
зарезервированные слова называются ключевыми.

16.

17.

ПЕРЕМЕННЫЕ
• Переменная – это ячейка в памяти компьютера,
которая имеет имя и хранит некоторое значение.
• Значение переменной может меняться во время
выполнения программы.
• При записи в ячейку нового значения старое
стирается.

18.

ТИПЫ ПЕРЕМЕННЫХ
Int, short, long – целое число
float, double – вещественное число
char – символ
Bool – логическая переменная. Принимает только
значение “False” и “True”

19.

БЕЗЗНАКОВЫЕ ЦЕЛЫЕ
ТИПЫ ПЕРЕМЕННЫХ
• Этот тип переменных может принимать только
положительные числа

20.

ОБЪЯВЛЕНИЕ
ПЕРЕМЕННЫХ
• Объявить переменную - определить ее имя, тип, начальное
значение, и выделить ей место в памяти.
main()
{
int a; //Объявление переменной a целого типа
float b, c; //Объявление переменных b и c вещественного типа
int Tu104, Il86=23, Yak42; //Объявление переменной Tu104, Il86, Yak42 и
присвоение переменной Il86 значение 23
float x=4.56, y, z; //Объявление переменных x,y,z и присвоение
переменой x значение 4.56 (целая и дробная части отделяются
точкой)
char c, c2='A', m; //Объявление символьных переменных c,c2,m и
присвоение переменной c2 значение A (Символы в переменную
записываются через ‘ ’)
}

21.

КОНСТАНТЫ
Константы – это данные которые
устанавливаются равными определенным
значениям еще до выполнения программы и
сохраняют их на протяжении выполнения всей
программы.

22.

СПОСОБЫ
ОБЪЯВЛЕНИЯ КОНСТАНТ
1.
С помощью директивы препроцессора
#define [имя] [строка]
имя – идентификатор;
строка – любая последовательность символов,
отделяемая от имени хотя бы одним пробелом и
заканчиваемая в текущей строке.
При обработке каждое вхождение имени заменяется
на строку.
Пример: #define c 5
2.
Объявление формальных констант
const [тип] [имя]=[значение];
Пример: const int c=5;

23.

МАТЕМАТИЧЕСКИЕ
КОНСТАНТЫ
В C++ математические константы находятся в
библиотека Math.h
Для того, чтобы использовать константы в коде нужно
определить их через предпроцессор:
#define _USE_MATH_DEFINES

24.

СПИСОК
МАТЕМАТИЧЕСКИХ
КОНСТАНТ
Имя константы в C++
Значение
M_E
Математическая
константа
e
M_LOG2E
log2(e)
1.44269504088896340736
M_LOG10E
log10(e)
0.434294481903251827651
M_LN2
ln(2)
0.693147180559945309417
M_LN10
ln(10)
2.30258509299404568402
M_PI
pi
3.14159265358979323846
M_PI_2
pi/2
1.57079632679489661923
M_PI_4
pi/4
0.785398163397448309616
M_1_PI
1/pi
0.318309886183790671538
M_2_PI
2/pi
0.636619772367581343076
M_2_SQRTPI
2/sqrt(pi)
1.12837916709551257390
M_SQRT2
sqrt(2)
1.41421356237309504880
M_SQRT1_2
1/sqrt(2)
0.707106781186547524401
2.71828182845904523536

25.

ФУНКЦИИ В
БИБЛИОТЕКЕ MATH.H
Функция
Округление
Описание
Округляет число по правилам арифметики, то
есть round(1.5) == 2, round(-1.5) == -2
Округляет число вниз (“пол”), при
floor
этом floor(1.5) == 1, floor(-1.5) == -2
Округляет число вверх (“потолок”), при
ceil
этом ceil(1.5) == 2, ceil(-1.5) == -1
Округление в сторону нуля (отбрасывание дробной
trunc
части), при этом trunc(1.5) == 1, trunc(-1.5) == -1
Модуль (абсолютная величина)
fabs
Корни, степени, логарифмы
Квадратный корень. Использование: sqrt(x)
sqrt
Кубический корень. Использование: cbrt(x)
cbrt
Возведение в степень, возвращает ab.
pow
Использование: pow(a,b)
Экспонента, возвращает ex. Использование: exp(x)
exp
Натуральный логарифм
log
Десятичный логарифм
log10
round

26.

ФУНКЦИИ В
БИБЛИОТЕКЕ MATH.H
Функция
Тригонометрия
sin
cos
tan
asin
acos
atan
Описание
Синус угла, задаваемого в радианах
Косинус угла, задаваемого в радианах
Тангенс угла, задаваемого в радианах
Арксинус, возвращает значение в радианах
Арккосинус, возвращает значение в
радианах
Арктангенс, возвращает значение в
радианах

27.

ОПЕРАТОР
ПРИСВАИВАНИЯ
Оператор присваивания служит для изменения
значения переменной.
Пример:
a = 5;
x = a + 20;
y = (a + x) * (x – a);

28.

ОПЕРАТОР
ПРИСВАИВАНИЯ
Структура:
[имя переменной] = [выражение];
Арифметическое выражение может включать:
• константы (постоянные)
• имена переменных
• знаки арифметических операций:
1. + (сложение)
2. – (вычитание)
3. * (умножение)
4. / (деление)
5. % (остаток от деления)
• вызовы функций
• круглые скобки ( )

29.

ОСОБЕННОСТИ
ДЕЛЕНИЯ В C++
При делении целых чисел остаток отбрасывается!
Int main()
{
int a = 7;
float x;
x = a / 4; //x=1
x = 4 / a; //x=0
x = float(a) / 4; //x=1.75
x = 1.*a / 4; //x=1.75
}
float([переменная]) - преобразование переменной из цельной в
вещественную

30.

СОКРАЩЕННАЯ ЗАПИСЬ
ОПЕРАЦИЙ В С++
Полная запись
Сокращенная запись
a=a+1;
a++;
a=a+b;
a+=b;
a=a-1;
a--;
a=a-b;
a-=b;
a=a*b;
a*=b;
a=a/b;
a/=b;
a=a%b;
a%=b;

31.

ОПЕРАЦИИ ИНКРЕМЕНТА
(++) И ДЕКРЕМЕНТА (--)
Префиксная (перед операндом):
сначала исполняется увеличение операнда на 1 и
увеличенное значение используется в выражении
Постфиксная (после операнда):
сначала берется значение операнда в выражение и затем
увеличивается на 1
Пример:
int a=0, b=1, c=0;
c=a++; //c=0, a=1
c=++a; //c=2, a=2
c=++b; //c=2, b=2
b=c--; // //c=1, b=2

32.

ПОРЯДОК ВЫПОЛНЕНИЯ
ОПЕРАЦИЯ
•вычисление выражений в скобках
•умножение, деление, % слева
направо
•сложение и вычитание слева направо
2 3 5 4 1
7 8 6 9
z = (5*a*c+3*(c-d))/a*(b-c)/ b;

33.

main()
{
int a, b;
a = 5;
b = a + 2;
a = (a + 2)*(b – 3);
b = a / 5;
a = a % b;
a++;
b = (a + 14) % 7;
}
A
B
?
?
5
7
28
5
3
4
4

34.

ФОРМАТИРУЕМЫЙ
ВВОД/ВЫВОД

35.

СПОСОБЫ ВЫВОДА
ДАННЫХ
1. Через библиотеку iostream
int a=5;
cout << a; //Вывод только переменной
cout <<“Число: ”<<a; //Вывод переменной с
текстом
2. Через библиотеку stdio.h
int a=5;
printf(“%d”,a);
printf(“Число: %d”,a);
%d – один из форматов выводимого числа

36.

СПОСОБЫ ВВОДА
ДАННЫХ
1.
Через библиотеку iostream
Оператор cin>>[Переменая]
int a,b;
cin>>a; //Ввод числа в переменную a
cin>>a>>b; //Ввод чисел в переменные a и b
2.
Через библиотеку stdio.h
Оператор scanf_s(“[Тип переменной]”,[Переменная])
int a,b;
scanf_s(“%d”,&a); //Ввод числа в переменную a
scanf_s(“%d%d”,&a,&b); //Ввод чисел в переменные a и b
& – адрес переменной
Ввод нескольких чисел осуществляется как через пробел, так и
через Enter

37.

ФОРМАТЫ ЧИСЕЛ В
БИБЛИОТЕКЕ STDIO.H
• %d – целое число
• %f
– вещественное число
• %c
– 1 символ
• %s
– символьная строка

38.

ФОРМАТИРОВАННЫЙ
ВЫВОД ЧИСЕЛ В STDIO.H
При выводе чисел через printf можно указать сколько позиций будет
занимать число
int x = 1234;
printf ("%9d", x); // выведет “
1234”
При выводе вещественных чисел можно также указать количество
цифр в дробной части
float x = 123.4567;
printf ("%3.3f", x); //Выведет 123.457
printf ("%3.1f", x); //Выведет 123.5
printf(“[кол-во позиций][кол-во позиций в дробной части]%[формат
числа]”,[переменная]);

39.

АРИФМЕТИЧЕСКИЕ
ОПЕРАЦИИ В ОПЕРАТОРАХ
ВЫВОДА
В библиотеке iostream
cout<<2+2;
//выведет “4”
cout <<100/24<<“\t”<<100.0/24;
cout <<21%3
//Выведет “4 4.16667
//Выведет “0”
В библиотеке stdio.h
printf(“%d”,2+2);
printf(“%d%f”,100/24,100.0/24);
printf(“%d”,21%3);
[число].0 – перевод числа из целого в вещественное

40.

САМОСТОЯТЕЛЬНАЯ
РАБОТА
• В каждой задаче пользователь сам вводит
данные
• Написать программу для вычисления среднего
арифметического переменных x1 и х2.
• Написать программу для перевода из километров в
мили. Значение 1 мили в км должно быть записано
константой
• Написать программу для сложение 2 переменных.
С выводом решение на экран
• Написать программу с вводом трех чисел. Нужно
вывести их сумму, произведение и среднее
арифметическое. С выводом решение на экран

41.

САМОСТОЯТЕЛЬНАЯ
РАБОТА
• Написать программу для вычисления площади
треугольника
• Написать программу для вычисления площади круга
• Написать программу для решения следующих
выраженний:
English     Русский Правила