Какие операторы?
Оператор — это символ, используемый для выполнения операций над операндами. Оператор операндов оперирует. Операции могут быть математическими или логическими. В 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 возвращает размер переменной или типа данных.
- Оператор запятой выполняет последовательность операций.
- Условный оператор оценивает условие и действует в зависимости от результата.