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