Конспекты по С++
Старт программы на с++
Начинаем любую нашу программу с данного кода:
#include <iostream>using namespace std;int main(){}
#include <iostream> ->Подключение библиотек, где<iostream>-> самая важная библиотека, которая отвечает за ввод и вывод данных в консоль
using namespace std; ->Указываем по сути путь до нужных нам команд ввода и вывода, чтобы каждый раз не писатьstd::cout << "hello";int main(){} ->сцена, на которой вы будете писать свою основную программу, весь код помещайте между фигурных скобок, все переменные, условия, циклы и т.д. будут на этой сцене
Ввод и вывод данных в с++
Вывод делается при помощи команды:
cout <<что нужно вывести;если вы хотите вывести несколько вещей подряд, то перечислять их нужно через
<<cout << a << b << c;чтобы перейти на новую строчку у вас есть два способа:
использовать команду endl
:cout << "Hello " << endl << "world";использовать спец символ
"\n": cout << "Hello\n" << "world";
Ввод делается при помощи команды
cin >>переменная;PS Если вы еще не создали переменную, а уже пытаетесь в нее положить данные с клавиатуры, то произойдет ошибка
если вы хотите ввести несколько вещей подряд, то перечислять их нужно через
<<cin >> a >> b >> c;
Создание переменной
Переменная - это своего рода контейнер (область памяти), который может хранить значение. Для того, чтобы компьютер смог найти нужную нам область память мы должны дать этой области название (так сказать адрес, где эту область искать)
Создание переменной: тип данных название;
пример: int number;В С++ у переменной обязательно должен быть тип данных, потому что язык программирования не знает заранее, что будет храниться в нашем контейнере, может там будут числа, а может буквы, нужно самим это указать
int | 1 2 3 499 -6909double | 2.0 4.9 -5.9char | '1' 'd' '%'string | "fsdfsdfsdfsd" "234234&*%^^&$%$"bool | true falseКаждый раз перед тем, как создать переменную, нужно подумать, что в ней будет дальше храниться, например, я хочу сделать персонажа для игры, у него есть полоска здоровья, мне нет смысла делать ее дробным числом, 100.0 HP выглядит некрасиво, поэтому я буду использовать целые числа. А вот например для скорости персонажа, лучше использовать именно дробные числа, с ними удобнее проводить математические вычисления для того, чтобы просчитывать физику движения персонажа
Арифметические действия с числами
в С++ есть стандартные арифметические действия
* + -, которые работают, как и вездеНо деление работает с нюансами:
При делении целого числа / на целое число, вы получите в ответе целую часть от деления: 5 / 2 = 2;
При делении дробного числа, вы получите в ответе дробное число: 5.0 / 2 = 2.5
Делить целое дробное число с остатком нельзя, можно только целое: 5 % 2 = 1
при помощи деления с остатком можно получить последнюю цифру числа, если делить на 10: 157 % 10 = 7
-> 7 последняя цифра числа
Библиотека math.h позволяет добавить многие математические функции в С++
Можно сократить любое действие с переменной, до одного знака, например, вы можете сократить действие
chislo = chislo + 2;доchislo += 2;это будет работать одинаковоТакже в С++ есть специальное действие для сокращенного прибавления 1, но у него есть две версии
++переменная→ сначала прибавить один, потом получить значение переменнойпеременная++→ сначала получить значение переменной, потом прибавить один
Конвертация типов данных:
есть явное и не явное преобразование типов данных (это когда один тип превращается в другой, например целое число в дробное)
Явное → когда мы делаем это вручную (
int) a;при помощи команды(int) (double)можно вручную привести тип данных к желаемомуНе явное → когда один тип данных превращается в другой, но незаметно для программиста.
double a = 5.4;int b = 2;cout << a / b;b превратится из целого числа, в дробное, чтобы выполнить деление.
Условия
Условия в С++ делаются также как в питоне, только вместо
:ставим{}if (условие) {действие;}Ветка иначе делается также:
if (условие) {действие;}else {действие при иначе;}Смешанная версия if и else выглядит как
else if () {}она нужна для того, чтобы оптимизировать ветки ЕСЛИ, то есть, если у вас есть несколько IF подряд, но нужно заходить не во все условия, то нужно использовать объединенный вариант
Условия можно вкладывать друг в друга, в таком случае они будут работать примерно как логическое И:
if (условие 1) {действие, которое выполнится только если выполнилось условие 1;if (условие 2) {действие, которое выполнится только если выполнилось сначала условие 1, а потом условие 2;}}Вместо
and и orиз питона, используй&&и||в C++if(условие 1 && условие 2){}&& → должно выполниться и левое условие и правое
|| → должно выполниться хотя бы одно или сразу оба условия
Циклы
циклы нужны для того, чтобы повторять какое то действие какое то определенное количество раз в автоматическом режиме
есть также как и в питоне два вида циклов: while и for
for → когда вы знаете точное количество раз, сколько сработает цикл, например четко 5 раз, или столько раз, сколько введут с клавиатуры
while → когда вы не знаете точное количество раз, сколько должен сработать цикл и он будет работать до тех пор, пока выполняется условие в нем. Например пока
x > 5
Цикл for:
for (int i = 0; i < 10; ++i) {действие;}i → счетчик, который позволяет отслеживать то, сколько раз сработал цикл
цикл while:
while (условие цикла) {действие;}while (true){}→ бесконечный цикл, но обязательно должна быть точка выхода через break