Какие операторы?
Оператор — это символ, используемый для выполнения операций над операндами. Оператор операндов оперирует. Операции могут быть математическими или логическими. В C ++ существуют разные типы операторов для выполнения разных операций.
Рассмотрим следующую операцию:
a = x + y;
В вышеприведенном утверждении x и y — операнды, а + — оператор сложения. Когда компилятор C ++ встречает вышеприведенный оператор, он добавляет x и y и сохраняет результат в переменной a.
В этом уроке C ++ вы узнаете:
- Какие операторы?
- Арифметические Операторы
- Операторы отношений
- Логические Операторы
- Битовые операторы
- Операторы присваивания
- Разный оператор
- Приоритет операторов
Арифметические Операторы
Это типы операторов, используемые для выполнения математических / арифметических операций. Они включают:
| оператор | Описание |
| + оператор сложения | Добавляет к операндам. |
| — оператор вычитания | Вычитает 2- й операнд из 1- го операнда. |
| * оператор умножения | Умножает 2 операнда. |
| оператор деления. | Делит числитель на знаменатель. |
| оператор% модуля | Возвращает остаток после деления. |
| ++ оператор приращения | Увеличивает целочисленное значение на 1. |
| оператор декремента. | Уменьшает целочисленное значение на 1. |
Например:
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
int c;
cout << "a + b is :" << a+b << endl; //11+5
cout << "a - b is :" << a-b << endl; //11-5
cout << "a * b is :" << a*b << endl; //11*5
cout << "a / b is :" << a/b << endl; //11/5
cout << "a % b is :" << a%b << endl; //11%5
cout << "a++ is :" << a++ << endl; //11++
cout << "a-- is :" << a-- << endl; //12--
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Объявление целочисленной переменной a и инициализация ее 11.
- Объявление целочисленной переменной b и инициализация ее 5.
- Объявление целочисленной переменной c.
- Выведите значение операции a + b вместе с другим текстом на консоли.
- Печать значения операции ab рядом с другим текстом на консоли.
- Выведите значение операции a * b вместе с другим текстом на консоли.
- Выведите значение операции a / b вместе с другим текстом на консоли.
- Выведите значение операции a% b рядом с другим текстом на консоли.
- Печать значения операции a ++ вместе с другим текстом на консоли.
- Печать значения операции a— вместе с другим текстом на консоли.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Операторы отношений
Эти типы операторов выполняют сравнения операндов. Например, вам может понадобиться узнать, какой операнд больше другого или меньше другого. Они включают:
Описание
| оператор | Описание |
| == равно оператору | Проверяет равенство двух значений операнда. |
| ! = не равно оператору | Проверяет равенство двух значений операнда. |
| > отлично, чем оператор | Проверяет, больше ли значение левого операнда, чем значение правого операнда. |
| <меньше, чем оператор. | Проверяет, меньше ли значение левого операнда, чем значение правого операнда. |
| > = больше или равно оператору | Проверяет, больше ли значение левого операнда или равно значению правого операнда. |
| <= меньше или равно оператору. | Проверяет, меньше ли значение левого операнда или равно значению правого операнда. |
Например:
#include <iostream>
using namespace std;
int main() {
int a = 11;
int b = 5;
cout << "a=11, b=5" << endl;
if (a == b) {
cout << "a == b is true" << endl;
}
else {
cout << " a == b is false" << endl;
}
if (a < b) {
cout << "a < b is true" << endl;
}
else {
cout << "a < b is false" << endl;
}
if (a > b) {
cout << "a > b is true" << endl;
}
else {
cout << "a > b is false" << endl;
}
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Объявление целочисленной переменной a и инициализация ее 11.
- Объявление целочисленной переменной b и инициализация ее 5.
- Распечатка некоторого текста на консоли с указанием значений переменных a и b.
- Выполняя арифметическую операцию, a == b в операторе принятия решения if, чтобы узнать, верно это или нет. {Отмечает начало тела оператора if.
- Текст для печати на консоли, если операция a == b выполнена верно. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора if.
- Остальная часть вышеприведенного оператора if. В нем указано, что делать, если операция a == b имеет значение false.
- Текст для печати на консоли, если операция a == b имеет значение false. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора else.
- Выполняя арифметическую операцию, a <b в операторе принятия решения if, чтобы узнать, является ли это истиной или ложью. {Отмечает начало тела оператора if.
- Текст для печати на консоли, если операция a <b истинна. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора if.
- Остальная часть вышеприведенного оператора if. В нем указано, что делать, если операция a <b ложна.
- Текст для печати на консоли, если операция a <b имеет значение false. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора else.
- Выполнение арифметической операции a> b в операторе принятия решения if, чтобы узнать, является ли оно истинным или ложным. {Отмечает начало тела оператора if.
- Текст для печати на консоли, если операция a> b истинна. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора if.
- Остальная часть вышеприведенного оператора if. В нем указано, что делать, если операция a> b ложна.
- Текст для печати на консоли, если операция a> b имеет значение false. Endl — это ключевое слово C ++ для конечной строки. Он нажимает курсор, чтобы начать печать на следующей строке. } Отмечает конец тела оператора else.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Логические Операторы
Логические операторы объединяют два / более ограничений / условий. Логические операторы также дополняют оценку исходного рассматриваемого условия. Они включают:
| оператор | Описание |
| && логический оператор AND. | Условие истинно, если оба операнда не равны нулю. |
| || логический оператор ИЛИ. | Условие истинно, если один из операндов отличен от нуля. |
| ! логический оператор НЕ. | Это меняет логическое состояние операнда. Если операнд истинен, то! Оператор делает это ложным. |
Например:
#include <iostream>
using namespace std;
int main()
{
int a = 5, b = 2, c = 6, d = 4;
if (a == b && c > d)
cout << "a equals to b AND c is greater than d\n";
else
cout << "AND operation returned false\n";
if (a == b || c > d)
cout << "a equals to b OR c is greater than d\n";
else
cout << "Neither a is equal to b nor c is greater than d\n";
if (!b)
cout << "b is zero\n";
else
cout << "b is not zero";
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы.
- {Отмечает начало тела функции main ().
- Объявление 4 целочисленных переменных a, b, c и d и присвоение им разных значений.
- Использование оператора && (AND) внутри оператора if. Он объединяет два условия: значение a равно значению b, а значение a больше значения b. Первое условие ложно, второе условие верно. False && true равно False, следовательно, результат if равен false.
- Текст для печати на консоли, если приведенный выше оператор if верен. Это не будет выполнено.
- Часть, которая будет выполнена, если приведенное выше условие if ложно.
- Текст для печати на консоли, если утверждение if ложно. Это будет выполнено.
- Используя || (ИЛИ) в операторе if. Он объединяет два условия: значение a равно значению b, а значение a больше значения b. Первое условие ложно, второе условие верно. False || true — это True, следовательно, результат if равен true.
- Текст для печати на консоли, если приведенный выше оператор if верен. Это будет выполнено.
- Часть, которая будет выполнена, если приведенное выше условие if ложно.
- Текст для печати на консоли, если утверждение if ложно. Это не будет выполнено.
- Проверка, является ли значение переменной 0.
- Текст для печати на консоли, если приведенный выше оператор if верен. Это не будет выполнено.
- Часть, которая будет выполнена, если приведенное выше условие if ложно.
- Текст для печати на консоли, если утверждение if ложно. Это будет выполнено.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Битовые операторы
Битовые операторы выполняют операции на уровне битов над операндами. Сначала операторы преобразуются в битовый уровень, затем выполняются операции над операндами. Когда арифметические операции, такие как сложение и вычитание, выполняются на уровне битов, результаты могут быть достигнуты быстрее. Они включают:
| оператор | Описание |
| & (побитовое И). | Требуется 2 числа (операнды), а затем выполняется И для каждого бита двух чисел. Если оба равны 1, И возвращает 1, иначе 0. |
| | (побитовое ИЛИ) | Принимает 2 числа (операнды), затем выполняет ИЛИ для каждого бита двух чисел. Возвращает 1, если один из битов равен 1. |
| ^ (побитовый XOR) | Принимает 2 числа (операнды), затем выполняет XOR для каждого бита 2 чисел. Возвращает 1, если оба бита различны. |
| << (сдвиг влево) | Принимает два числа, затем сдвигает влево биты первого операнда. Второй операнд определяет общее количество мест для сдвига. |
| >> (сдвиг вправо) | Берет два числа, затем сдвигает вправо биты первого операнда. Второй операнд определяет количество мест для сдвига. |
| ~ (поразрядно НЕ). | Принимает число, затем инвертирует все его биты. |
#include <iostream>
using namespace std;
int main() {
unsigned int p = 60; // 60 = 0011 1100
unsigned int q = 13; // 13 = 0000 1101
int z = 0;
z = p & q;
cout << "p&q is : " << z << endl; // 12 = 0000 1100
z = p | q;
cout << "p|q is : " << z << endl; // 61 = 0011 1101
z = p ^ q;
cout << "p^q is : " << z << endl; // 49 = 0011 0001
z = ~p;
cout << "~p is : " << z << endl; // -61 = 1100 0011
z = p << 2;
cout << "p<<2 is: " << z << endl; // 240 = 1111 0000
z = p >> 2;
cout << "p>>2 is : " << z << endl; // 15 = 0000 1111
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Объявляя целочисленные переменные без знака p и присваивая им значение 60, то есть 0011 1100 в двоичном виде.
- Объявление целочисленных переменных без знака q и присвоение ему значения 13, то есть 0000 1101 в двоичном виде.
- Объявление целочисленной переменной z и инициализация ее 0.
- Выполнение побитовой операции & (AND) для переменных p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитового | (ИЛИ) операция над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ^ (XOR) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ~ (NOT) для переменных p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции левого сдвига для переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции правого сдвига для переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Операторы присваивания
Операторы присваивания присваивают значения переменным. Операнд / переменная добавляется в левую часть оператора, а значение добавляется в правую часть оператора. Переменная и значение должны принадлежать одному типу данных, в противном случае компилятор C ++ вызовет ошибку. Например:
x = 5;
В приведенном выше примере x — это переменная / операнд, = — оператор присваивания, а 5 — значение. Вот популярные операторы присваивания в C ++:
| оператор | Описание |
| = (простой оператор присваивания) | Он присваивает значение справа переменной слева. |
| + = (Добавить оператор присваивания И) | Сначала он добавляет значение левого операнда к значению правого операнда, а затем присваивает результат переменной слева. |
| — = (оператор вычитания И присваивания) | Сначала он вычитает значение правого операнда из значения левого операнда, а затем присваивает результат переменной слева. |
| * = (Оператор умножения И присваивания) | Сначала он умножает значение левого операнда на значение правого операнда, а затем присваивает результат переменной слева. |
| / = (Оператор деления И присвоения) | Сначала он делит значение левого операнда на значение правого операнда, а затем присваивает результат переменной слева. |
Например:
#include <iostream>
using namespace std;
int main()
{
int x = 5;
cout << "Initial value of x is " << x << "\n";
x += 5;
cout << "x += 5 gives :" << x << "\n";
x -= 5;
cout << "x -= 5 gives : " << x << "\n";
x *= 5;
cout << "x *= 5 gives :" << x << "\n";
x /= 5;
cout << "x /= 5 gives : " << x << "\n";
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы.
- {Отмечает начало тела функции main ().
- Объявляя целочисленные переменные x и присваивая ему значение 5.
- Печать значения переменной x вместе с другим текстом на консоли. \ N является символом новой строки. Он перемещает курсор на следующую строку при печати.
- Добавление 5 к значению переменной x и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Вычитание 5 из значения x и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Умножение значения переменной x на 5 и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Деление значения переменной x на 5 и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Разный оператор
Давайте обсудим другие операторы, поддерживаемые C ++:
оператор sizeof
Этот оператор определяет размер переменной. Используйте оператор sizeof для определения размера типа данных. Например:
#include <iostream>
using namespace std;
int main() {
cout<<"Size of int : "<< sizeof(int) << "\n";
cout<<"Size of char : " << sizeof(char) << "\n";
cout<<"Size of float : " << sizeof(float) << "\n";
cout<<"Size of double : " << sizeof(double) << "\n";
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Определите размер целочисленного типа данных с помощью оператора sizeof и напечатайте его вместе с другим текстом на консоли.
- Определите размер символьного типа данных с помощью оператора sizeof и напечатайте его вместе с другим текстом на консоли.
- Определите размер типа данных с плавающей запятой с помощью оператора sizeof и напечатайте его вместе с другим текстом на консоли.
- Определите размер типа данных с плавающей запятой с помощью оператора sizeof и напечатайте его вместе с другим текстом на консоли.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Оператор запятой
Оператор запятой (,) запускает выполнение последовательности операций. Он выражает первый операнд и отбрасывает результат. Затем он оценивает второй операнд и возвращает значение и тип.
#include <iostream>
using namespace std;
int main() {
int x, y;
y = 100;
x = (y++, y + 10, 99 + y);
cout << x;
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Объявление двух целочисленных переменных x и y.
- Присвоение переменной ya значения 100.
- Увеличивая значение y и присваивая результат переменной x. Он начинается с y на 100, затем увеличивает его до 101 (y ++). Затем y добавляется к 10. Наконец, y, все еще на 101, добавляется к 99, давая 200. х теперь 200.
- Вывод значения переменной x на консоль.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Условный оператор
Этот оператор оценивает состояние и действует на основе результатов оценки.
Синтаксис:
Condition ? Expression2 : Expression3;
Параметры:
- Условие — это условие, которое должно быть оценено.
- Expression1 — это выражение, которое должно быть выполнено, если условие истинно.
- Expression3 — это выражение, которое должно быть выполнено, если условие ложно.
Например:
#include <iostream>
using namespace std;
int main() {
int a = 1, b;
b = (a < 10) ? 2 : 5;
cout << "value of b: " << b << endl;
return 0;
}
Вывод:
Вот скриншот кода:
Объяснение кода:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main (), внутри которой должна быть добавлена логика программы. {Отмечает начало тела функции main ().
- Объявление двух целочисленных переменных a и b. Переменной a присвоено значение 1.
- Присвоение значения переменной b. Если переменная a меньше 10, b будет присвоено значение 2, в противном случае b будет присвоено значение 5.
- Печать значения переменной b на консоли вместе с другим текстом.
- Функция main () должна возвращать значение, если программа работает нормально.
- Конец тела функции main ().
Приоритет операторов
Одна операция может иметь более одного оператора. В этом случае приоритет оператора определяет тот, который вычисляется первым.
В следующем списке показан приоритет операторов в C ++ с уменьшением приоритета слева направо:
(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, — =, 8 = знак равно
Резюме:
- Операторы являются символами для выполнения логических и арифметических операций.
- Арифметические операторы помогают нам выполнять различные арифметические операции над операндами.
- Реляционные операторы помогают нам выполнять различные операции сравнения над операндами.
- Логические операторы помогают нам выполнять различные логические операции над операндами.
- Побитовые операторы помогают нам выполнять побитовые операции над операндами.
- Операторы присваивания помогают нам выполнять различные арифметические операции над операндами.
- Оператор sizeof возвращает размер переменной или типа данных.
- Оператор запятой выполняет последовательность операций.
- Условный оператор оценивает условие и действует в зависимости от результата.















