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 гарантирует, что переменная не уничтожится, когда выйдет из локальной области видимости }