README.md

C++ - это один из самых развитых языков програмирования Компиляция в c++

g++ -Wall main.cpp -o main.bin

или

clang++ -Wall main.cpp -o main.bin

Базовый код, пишущий классическое “Hello world!”

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//Описание программы
//temp.cpp
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#include <iostream> // include - подключение библиотеки
// iostream - библиотека C++
using namespace std; // Пространство имен
// int main() - главная функция Caller
int main () // int - integer - целое численное
{
    cout << "\tHello World!\n" ; // Печать на экране ин-фы
    puts("Hello, World!"); // Тоже печать на экране ин-фы
    return 0; // Указывает, что программа завершена и сработала успешно
}
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// OUTPUT
/*
Hello World!
Hello, World!
*/
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// END
cin >> // команда для ввода информации ползоваталем
=-=-=-=-=-=-=-=-=-
cout << // команда для вывода информации
=-=-=-=-=--==-=-=-
puts <<// тоже команда для вывода информации
=-=-=-=-=-=-=-=-=-
showpos << // принудительно поставить +

Управляющие символы: Горизонтальный tab

\t

Новая строка

\n

Вертикальный tab

\v

Переменные

int name = 1; // создаёт целочисленную переменную с названием name и значением 1
char name = 'w'; // создаёт символьную переменную с названием name и носящая w
float name = 3.14; // Создаёт переменную float с названием name и значением 3.14zz
double name = 3.14156; // Создаёт переменную double с названием name и значением 3.14156
short name = 22.333333 // Создаёт переменную short c названием name и значением 22.333
long name = 22.3333333 // Создаёт переменную long c названием nave и значением 22.3333333

Арифметика

    int a = 5, b = 7, result = 0; // задаём значение переменным
    result = a + b; // Сумма
    result = a - b; // Разность
    result = a * b; // Произведение
    result = a / b; // Частное
    result += a; // result = result + a - Сумма с присваиванием
    result -= a; // result = result - a - Разность с присваиванием
    result *= a; // result = result * a - Произведение с присваиванием
    !!!ЧАСТНОГО С ПРИСВАИВАНИЕМ НЕТ!!!

**Арифметика отрицатльных чисел: **

    int a = -5, b = -7, result = 0; // задаём значение переменным
    result = a + b; // Сумма с отрицательными числами
    result = a - b; // Разность с отрицательными числами
    result = a * b; // Произведение с отрицательными числами
    result = a / b; // Частное с отрицательными числами
    result += a; // result = result + a - Сумма с присваиванием с отрицательными числами
    result -= a; // result = result - a - Разность с присваиванием с отрицательными числами
    result *= a; // result = result * a - Произведение с присваиванием с отрицательными числами
       !!!ЧАСТНОГО С ПРИСВАИВАНИЕМ НЕТ!!!

Нахождение остатка от деления.

С++ пердоставляет оператор модуля % который
возвращает остаток после целочисленного деления.
Оператор можно использовать только с
целыми числами.
Пример: x % y возвращает остаток после деления
x на y. Таким образом, 7 % 4 возвращает 3
17 % 5 = 2
m = x * y + z (формула деления по модулю)
где m - делимое, x - делитель, y - неполное частное,
а z - остаток
Пример:
15 : 2 = 7 (остаток 1)
*/
````
int main(){
    int a = 15 % 2; //7 * 2 + 1 = 15
     Объявление с присваиванием = инициализация
    a = 19 % 4; // 4 * 4 + 3 = 19
    

boolalpha - это чтобы вместо логических 0 и 1 печатались слова true и false логическое 1 - это истина (true), логический 0 - это ложь (false) == - это оператор сравнения x % 2 - деление по модулю (остаток от деления) ? : - части тернарного оператора

Ccылки

srand(time(0)); // Запуск таймера
int secret = 1 + (rand() % 10); // Генератор случайного числа
**char strChar1[] {"Hello!"};** - Си-строка
**Массив** - это коллекция однотипных переменных
**[]** - признак массива

Тернарный оператор

cout << ((age < 14) ? "можно\n" : "нельзя!\n");
Тернарный оператор состоит из 3-х частей
1. Условие, например a < b
2. Результат 1
3. Результат 2
cout << boolalpha; // Ключевое слово для отображения слов true/false
    
    1 - логическая единица ИСТИНА, true
    0 - логический ноль, ЛОЖЬ, false
    
    
    bool result = a < b;
    / Инициялизация перерменной с именем result
    result = a <= b;
    // Оператор сравнения меньше или равно <=
    result = a > b;
    // оператор сравнения больше или равно >=
    result = a >= b;
    
    * оператор равенства == *
    result = a == b;
    cout << "a == b = " << result << '\n';
    * оператор НЕ равно != *
    result = a != b;
    cout << "a != b = " << result << '\n';
    * оператор НЕ - отрицание *
    cout << !true << '\n';
    cout << !(true == true) << '\n';
    char x = 'w', y = 'c';
    result = (x != y) ? true : false; // Тернарный оператор
    cout << result << '\n';
    string str1 = "Ivan", str2 = "Ivan";
    cout << "str1 == str2:\t" << ((str1 == str2) ? true : false) << '\n';
    return 0;
}
// OUTPUT
/*
true false
a < b = true
a <= b =true
a > b =false
a >= b = false
a == b = false
a != b = true
false
false
true
str1 == str2: true
*/

Встроенные функции

min() - найти наименьшее число max() - найти наибольшее число

 (a == b) // Сравнение (эквиваленция)
 (a and b // Логическое И - AND (дизъюнкция)
 (a && b) // то же самое И
 (a or b) // Логическое ИЛИ - OR (коньюция)
 (a || b) // то же самое ИЛИ
 (not a) // Логическое НЕ (отрицание)
 (!a) // тоже самое НЕ
 (!a && ! // Выражение из 2-х частей с оператором И
 (a xor b // ИСКЛЮЧАЮЩЕЕ ИЛИ
 (a ^ b)// Тоже самое ИСКЛЮЧАЮЩЕЕ ИЛИ

** (“Accoциативность”) **

   ((a || b) || c)
   ((a || (b || c))
   ((a && b) && c)
   (a && (b && c))
   (a ^ (b ^ c))
   ((a ^ b) ^ c)

** (“Коммуникативность”) **

   (a && b)
   (b && a)
   (a || b)
   (b || a)

** (“Дистрибутивность”) **

   (a && (b || c))
   ((a && b) || c)
   (a || (b && c))
   (a || b) && c)
   ((a || b) && (b || c))
   ((a && b) || (b && c))

** (“Двойное отрицание”) ** ** (!!a)** ** (“Закон Де Моргана”)**

   !(a && b)
   (!(a) || !(b))

** Рекурсия - функция, которая вызывает саму себя ** Псевдоцикл организуется с помощью рекурсии ** Функция - это НЕ зависимая программа ** ** main() - Главная функция в С++** exit(0); - функция, синоним return 0;

    static int abc = 97;
    /*
    Переменная "с памятью". static гарантирует, что переменная
    не уничтожится до завершения программы
`
**    ++abc Инкремент. Каждый шаг +1**
``
    ** Префиксный Декремент **
--i; // i = i - 1
    ** Префиксный Инкремент **
**    ++i; Инкремент, i = i + 1 **

Рекомендуется префиксный Инкремент!

    getline(cin, guess);Пользовательский ввод для строк
 cin >> ws >> yesNo; // ws - манипулятор обработки входного потока
    **РАЗВИЛКИ**
if(i = 10) // Если i равно 10
{
    puts(i);
}

else { puts(“i”); static “переменная с памятью” - слово static гарантирует, что переменная не уничтожится, когда выйдет из локальной области видимости }

Конвейеры
0 успешных
0 с ошибкой