Мы рассмотрим все основные концепции C++.

Добро пожаловать в С++

C++ — популярный кроссплатформенный язык, который можно использовать для создания высокопроизводительных приложений — операционных систем, браузеров, видеоигр, художественных приложений и так далее.

Программа C++ представляет собой набор команд или операторов.

Ниже приведен простой шаблон программы:

#include <iostream>
using namespace std;
int main()
{
	return 0;
}

фигурные скобки{} обозначают начало и конец функции, которые также можно назвать телом функции. Информация внутри скобок указывает, какая функция дозируется при выполнении.

Ваша первая программа на C++

Давайте выведем «Hello World!» на экран!

Для этого мы добавим строку cout‹‹"Hello World!"; в тело функции main():

#include <iostream>
using namespace std;
int main()
{
	cout << "Hello World!";
	return 0;
}

cout — это объект потока, используемый для выполнения вывода на стандартное устройство вывода, которым обычно является экран дисплея.

Cout используется в сочетании с оператором вставки ‹‹.

Вы можете добавить несколько операторов вставки после cour.

Например:

#include <iostream>
using namespace std;
int main()
{
	cout << "This " << "is " << "awsome ";
	return 0;
{

В C++ точка с запятой используется для завершения оператора. Каждое выражение должно заканчиваться точкой с запятой. Указывает на конец одного логического выражения.

Заголовки и пространства имен

Заголовки

C++ предлагает различные заголовки, каждый из которых содержит информацию, необходимую для правильной работы программ.

Мы уже видели стандартный заголовок ‹iostream› в нашей первой программе на C++:

**#include <iostream>**
using namespace std;
int main()
{
	cout << "Hello World!";
	return 0;
}

#include используется для добавления в программу стандартных или определяемых пользователем заголовочных файлов.

Заголовок ‹iostream› определяет стандартные объекты потока, которые вводят и выводят данные.

Пространства имен

Пространство имен – это декларативная область, предоставляющая область действия идентификаторам (именам элементов) внутри нее.

В нашем коде строка using namespace std; указывает компилятору использовать стандартное пространство имен:

#include <iostream>
**using namespace std;
int main()
{
	cout << "Hello World";
	return 0;
}**

Пространство имен std включает функции Стандартной библиотеки C++.

Новые строки

Объект cout не вставляет разрыв строки в конце вывода.

Один из способов напечатать две строки — использовать манипулятор endl, который вставит разрыв строки.

#include <iostream>
using namespace std;
int main()
{
	cout << "Hello World!" << **endl**;
	cout << "I love programming";
	return 0;
}

Символ новой строки \n можно использовать вместо endl.

Использование одного оператора cout с таким количеством экземпляров \n, которое требуется вашей программе, распечатает несколько строк текста.

#include <iostream>
using namespace std;
int main()
{
    cout << "Hellow World! \\n";
    cout << "I Love Prgramming...";
    return 0;
}

Черная косая черта(\) называется экранирующим символом и указывает на «специальный» символ.

Комментарии

Однострочные комментарии

Комментарии – это поясняющие утверждения, которые вы можете включить в код C++, чтобы пояснить, что делает код.

Компилятор игнорирует все, что появляется в комментарии, поэтому ничего из этой информации не отображается в результате.

Комментарий, начинающийся с двух косых черт (//), называется однострочным. Косая черта указывает компилятору игнорировать все, что следует до конца строки.

Например:

#include <iostream>
using namespace std;
int main() {
    // Prints hello world to the screen :)
    cout << "Hello world!";
    return 0;
}

Когда код компилируется, он игнорирует оператор // выводит hello world на экран..

Многострочные комментарии

Комментарии, требующие нескольких строк, начинаются с /* и заканчиваются */.

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

#include <iostream>
using namespace std;
int main() {
    /* We are going to 
    print hello world to the screen.*/
    cout << "Hello World!!";
    return 0;
}

Комментарии могут быть написаны где угодно и могут повторяться любое количество раз в коде.

Переменные

Создание переменной резервирует место в памяти или место в памяти для хранения значений. Компилятор требует, чтобы вы указали тип данных для каждой объявленной вами переменной.

Integer, встроенный тип, представляет целочисленное значение. Определите целое число с помощью ключевого слова int.

C++ требует, чтобы вы указали тип и идентификатор для каждой определяемой переменной.

Идентификатор — это имя переменной, функции, класса, модуля или любого другого определяемого пользователем элемента. Идентификатор начинается с буквы (A-Z или a-z) или символа подчеркивания (_), за которыми следуют дополнительные буквы, символы подчеркивания и цифры (от 0 до 9).

Например, определите переменную с именем myVariable, которая может содержать целые значения, следующим образом:

**int** myVariable = 10;

Теперь давайте присвоим значение переменной и напечатаем его.

#include <iostream>
using namespace std;
**int** main(){
    int myVariable = 100;
    cout << myVariable;
    return 0;
}

Язык программирования C++ чувствителен к регистру, поэтому myVariable и myvariable — это два разных идентификатора.

Определите все переменные с именем и типом данных, прежде чем использовать их в программе. Если у вас есть две переменные, их можно определить в одном объявлении, разделив их запятыми.

**int** a, b;

Переменной можно присвоить значение и использовать для выполнения операций. Например, мы можем создать дополнительную переменную с именем sum и добавить две переменные вместе.

int a = 30;
int b = 15; 
**int sum = a + b;**

Используйте оператор +, чтобы добавить два числа.

Давайте создадим программу для вычисления и вывода суммы двух целых чисел.

#include <iostream>
using namespace std;
int main(){
    int a = 2345;
    int b = 1289;
    int sum = a + b;
    **cout << sum**;
    return 0;
}

Всегда помните, что все переменные должны быть определены с именем и типом данных, прежде чем их можно будет использовать.

Работа с переменными

Объявление переменных

У вас есть возможность присвоить значение переменной во время объявления переменной или объявить ее и присвоить значение позже.

Вы также можете изменить значение переменной.

Некоторые примеры:

int a; 
int b = 42;
a = 10;
b = 3;

Вы можете присвоить значение переменной только в объявленных типах данных.

Пользовательский ввод

Чтобы пользователь мог ввести значение, используйте cin в сочетании с оператором извлечения (››). За оператором следует переменная, содержащая извлеченные данные.

В следующем примере показано, как принять пользовательский ввод и сохранить его в переменной num:

int num;
**cin >> num;**

Как и в случае cout, извлечение cin может быть объединено в цепочку для запроса более одного ввода в одном операторе: cin ›› a ›› b;

Принятие пользовательского ввода

Следующая программа предлагает пользователю ввести данные, а затем сохраняет их в переменной a.

#include <iostream>
using namespace std;
int main()
{
    int a;
    cout << "Please enter a number \\n";
    cin >> a;
    cout << a;
    return 0;
}

Когда программа запускается, она отображает сообщение «Пожалуйста, введите число», а затем ждет, пока пользователь введет число и нажмет «Ввод» или «Ввод».

Введенное число сохраняется в переменной a.

Вы можете принимать пользовательский ввод несколько раз по всей программе:

#include <iostream>
using namespace std;
int main(){
    int a, b;
    cout << "Enter a number: \\n";
    cin >> a;
    cout << "Enter another number: \\n";
    cin >> b;
     cout << a << " "<< b;
    return 0;
}

Давайте создадим программу, которая будет принимать два числа в качестве входных данных, а затем выводить их сумму.

#include <iostream>
using namespace std;
int main(){
    int a, b;
    int sum;
    cout << "Enter the first number: \\n";
    cin >> a;
    cout << "Enter the second number: \\n";
    cin >> b;
    sum = a + b;
    cout << "Sum is: " << sum << endl;
    return 0;
}

Подробнее о переменных

Переменные

Указание типа данных требуется только один раз, во время объявления переменной.

После этого переменную можно использовать без ссылки на тип данных.

**int a;
a = 10;**

Значение переменной может быть изменено столько раз, сколько необходимо в программе.

например:

#include <iostream>
using namespace std;
int main(){
    int a;
    a = 50;
    cout << a;
    
    return 0;
}

Автоматическое ключевое слово

ключевое слово auto позволяет автоматически вычитать тип данных объявляемой переменной. Он выводит тип данных переменной из ее значения.

Например:

auto x = 4; //integer
    auto y = 3.37; //float
    auto z = "hello"; //string

Любая переменная, объявленная с помощью ключевого слова auto, должна быть инициализирована во время ее объявления, иначе произойдет ошибка.

Базовая арифметика

вычитание

Оператор вычитания вычитает один операнд из другого.

#include <iostream>
using namespace std;
int main(){
    int x = 100;
    int y = 200;
    int sum = x + y;
    cout << "Sum is: "<< sum << endl;
    return 0;
}

Умножение

Оператор умножения умножает свои операнды.

#include <iostream>
using namespace std;
int main() {
    int x = 5 * 6;
    cout << "The product is: " << x << endl;
    return 0;
}

Разделение

Оператор деления делит первый операнд на второй. Любой остаток отбрасывается, чтобы вернуть целочисленное значение.

Пример:

#include <iostream>
using namespace std;
int main() {
    int x = 10 / 3;
    cout << "The remainder is: " << x << endl;
    return 0;
}

Если один или оба операнда являются значениями с плавающей запятой, оператор деления выполняет деление с плавающей запятой.

Деление на 0 приведет к сбою вашей программы.

Модуль

Оператор модуля (%) неофициально известен как оператор остатка, поскольку он возвращает остаток после целочисленного деления.

Например:

#include <iostream>
using namespace std;
int main() {
    int x = 25 % 7;
    cout << "The remainder is: " << x << endl;
    return 0;
}

Приоритет оператора

Оператор приоритет определяет группировку терминов в оцениваемом нами выражении. Некоторые операторы имеют более высокий приоритет по сравнению с другими.

например:

#include <iostream>
using namespace std;
int main(){
    int x = 5 + 2 * 2;
    cout << "The product is: " << x << endl;
    return 0;
}

Приведенная выше программа сначала вычисляет 2*2, а затем прибавляет результат к 5.

Как и в математике, использование круглых скобок изменяет приоритет операций.

#include <iostream>
using namespace std;
int main(){
    int x = (5 + 2)*2;
    cout << "The product is: "<< x << endl;
    return 0;
}

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

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

Оператор присваивания и увеличения

Назначение

Простой оператор присваивания (=) присваивает правую сторону левой стороне.

C++ предоставляет сокращенные операторы, которые позволяют одновременно выполнять операцию и присваивание.

Например:

int x = 10;
**x += 4;** // equivalent to x = x + 4
**x -= 5;** // equivalent to x = x - 5

Оператор присваивания (=) присваивает правую сторону левой.

Такой же сокращенный синтаксис применяется к операторам умножения, деления и модуля.

x *= 3; // equivalent to x = x * 3
x /= 2; // equivalent to x = x / 2
x %= 4; // equivalent to x = x % 4

Такой же сокращенный синтаксис применяется к операторам умножения, деления и модуля.

Инкрементный оператор

Оператор increment используется для увеличения значения целого числа на единицу и является широко используемым оператором C++.

x++; //equivalent to x = x + 1

Оператор инкремента используется для увеличения значения целого числа на единицу.

например:

#include <iostream>
using namespace std;
int main(){
    int a = 11;
    a++;
    cout << a;
    return 0;
}

Оператор приращения имеет две формы: префикс и постфикс.

++x; // prefix
x++; // postfix

Prefix увеличивает значение, а затем переходит к выражению.

Postfix оценивает выражение, а затем выполняет приращение.

Пример префикса:

x = 5;
y = ++x;
// x is 6, y is 6

Пример постфикса:

x = 5;
y = x++;
// x is 6, y is 5

Prefix увеличивает значение, а затем переходит к выражению. Postfix оценивает выражение, а затем выполняет приращение.

Оператор декремента

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

--x; // prefix
x--; // postfix

Оператор декремента (--) работает почти так же, как оператор инкремента.

Вот несколько основных концепций… Надеюсь, вам понравится… 😊