Мы рассмотрим все основные концепции 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
Оператор декремента (--) работает почти так же, как оператор инкремента.
Вот несколько основных концепций… Надеюсь, вам понравится… 😊