Операторы C ++ с примерами

Содержание:

Anonim

Что такое операторы?

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

Рассмотрим следующую операцию:

a = x + y;

В приведенном выше утверждении x и y являются операндами, а + - оператором сложения. Когда компилятор C ++ встречает вышеуказанный оператор, он складывает x и y и сохраняет результат в переменной a.

В этом руководстве по C ++ вы узнаете:

  • Что такое операторы?
  • Арифметические операторы
  • Операторы отношения
  • Логические операторы
  • Побитовые операторы
  • Операторы присваивания
  • Разный оператор
    • оператор sizeof
    • Оператор запятой
    • Условный оператор
  • Приоритет операторов

Арифметические операторы

Это типы операторов, используемых для выполнения математических / арифметических операций. Они включают:

Оператор Описание
+ оператор сложения Добавляет к операндам.
- оператор вычитания Вычитает 2- й операнд из 1- го операнда.
* оператор умножения Умножает 2 операнда.
/ оператор деления. Делит числитель на знаменатель.
оператор% модуля Возвращает остаток после деления.
++ оператор инкремента Увеличивает целочисленное значение на 1.
- оператор декремента. Уменьшает целочисленное значение на 1.

Например:

#include using 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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Объявление целочисленной переменной a и инициализация ее значением 11.
  5. Объявление целочисленной переменной b и инициализация ее значением 5.
  6. Объявление целочисленной переменной c.
  7. Вывод значения операции a + b рядом с другим текстом на консоли.
  8. Вывод значения операции ab рядом с другим текстом на консоли.
  9. Вывод значения операции a * b рядом с другим текстом на консоли.
  10. Вывод значения операции a / b рядом с другим текстом на консоли.
  11. Вывод значения операции a% b рядом с другим текстом на консоли.
  12. Вывод значения операции a ++ рядом с другим текстом на консоли.
  13. Вывод значения операции a-- рядом с другим текстом на консоли.
  14. Функция main () должна возвращать значение, если программа работает нормально.
  15. Конец тела функции main ().

Операторы отношения

Эти типы операторов выполняют сравнение операндов. Например, вам может потребоваться знать, какой операнд больше другого или меньше другого. Они включают:

Описание

Оператор Описание
== равно оператору. Проверяет равенство значений двух операндов.
! = не равно оператору Проверяет равенство значений двух операндов.
> отлично, чем оператор Проверяет, больше ли значение левого операнда, чем значение правого операнда.
Оператор <меньше чем. Проверяет, меньше ли значение левого операнда, чем значение правого операнда.
> = оператор больше или равно Проверяет, больше или равно ли значение левого операнда значению правого операнда.
<= оператор меньше или равно. Проверяет, меньше ли значение левого операнда или равно значению правого операнда.

Например:

#include 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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Объявление целочисленной переменной a и инициализация ее значением 11.
  5. Объявление целочисленной переменной b и инициализация ее значением 5.
  6. Печать текста на консоли со значениями переменных a и b.
  7. Выполнение арифметической операции a == b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. {Отмечает начало тела оператора if.
  8. Текст для печати на консоли, если операция a == b истинна. Endl - это ключевое слово C ++ для конечной строки. Он подталкивает курсор к началу печати со следующей строки. } Отмечает конец тела оператора if.
  9. Другая часть приведенного выше оператора if. В нем указано, что делать, если операция a == b ложна.
  10. Текст для печати на консоли, если операция a == b ложна. Endl - это ключевое слово C ++ для конечной строки. Он подталкивает курсор к началу печати со следующей строки. } Отмечает конец тела оператора else.
  11. Выполнение арифметической операции a
  12. Текст для печати на консоли, если операция a
  13. Другая часть приведенного выше оператора if. В нем указано, что делать, если операция a
  14. Текст для печати на консоли, если операция a
  15. Выполнение арифметической операции a> b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. {Отмечает начало тела оператора if.
  16. Текст для печати на консоли, если операция a> b верна. Endl - это ключевое слово C ++ для конечной строки. Он подталкивает курсор к началу печати со следующей строки. } Отмечает конец тела оператора if.
  17. Другая часть приведенного выше оператора if. В нем указано, что делать, если операция a> b ложна.
  18. Текст для печати на консоли, если операция a> b ложна. Endl - это ключевое слово C ++ для конечной строки. Он подталкивает курсор к началу печати со следующей строки. } Отмечает конец тела оператора else.
  19. Функция main () должна возвращать значение, если программа работает нормально.
  20. Конец тела функции main ().

Логические операторы

Логические операторы объединяют два / более ограничений / условий. Логические операторы также дополняют вычисление рассматриваемого исходного состояния. Они включают:

Оператор Описание
&& логический оператор И. Условие истинно, если оба операнда не равны нулю.
|| логический оператор ИЛИ. Условие истинно, если один из операндов не равен нулю.
! логический оператор НЕ. Он меняет логическое состояние операнда на противоположное. Если операнд истинен, оператор! оператор делает его ложным.

Например:

#include 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";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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы.
  4. {Отмечает начало тела функции main ().
  5. Объявление 4 целочисленных переменных a, b, c и d и присвоение им разных значений.
  6. Использование оператора && (AND) внутри оператора if. Он объединяет два условия, значение a равно значению b и значение a больше значения b. Первое условие неверно, второе условие истинно. Ложь && истина - Ложь, следовательно, результат if ложный.
  7. Текст для печати на консоли, если приведенный выше оператор if верен. Это не будет выполнено.
  8. Часть, которая будет выполнена, если указанное выше утверждение if неверно.
  9. Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
  10. Используя || Оператор (ИЛИ) внутри оператора if. Он объединяет два условия, значение a равно значению b и значение a больше значения b. Первое условие неверно, второе условие истинно. False || true имеет значение True, следовательно, результат if истинен.
  11. Текст для печати на консоли, если приведенный выше оператор if верен. Это будет выполнено.
  12. Часть, которая будет выполнена, если указанное выше утверждение if неверно.
  13. Текст для печати на консоли, если оператор if ложен. Это не будет выполнено.
  14. Проверка, равно ли значение переменной 0.
  15. Текст для печати на консоли, если приведенный выше оператор if верен. Это не будет выполнено.
  16. Часть, которая будет выполнена, если указанное выше утверждение if неверно.
  17. Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
  18. Функция main () должна возвращать значение, если программа работает нормально.
  19. Конец тела функции main ().

Побитовые операторы

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

Оператор Описание
& (побитовое И). Требуется 2 числа (операнда), а затем выполняется И для каждого бита двух чисел. Если оба равны 1, И возвращает 1, в противном случае - 0.
| (побитовое ИЛИ) Принимает 2 числа (операнда), затем выполняет ИЛИ для каждого бита двух чисел. Он возвращает 1, если один из битов равен 1.
(побитовое исключающее ИЛИ) Принимает 2 числа (операнда), затем выполняет XOR для каждого бита двух чисел. Он возвращает 1, если оба бита различны.
<< (сдвиг влево) Принимает два числа, затем сдвигает влево биты первого операнда. Второй операнд определяет общее количество мест, которые нужно сдвинуть.
>> (сдвиг вправо) Принимает два числа, затем сдвигает вправо биты первого операнда. Второй операнд определяет количество сдвигаемых мест.
~ (побитовое НЕ). Берет число, затем инвертирует все его биты.
#include using 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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Объявление беззнаковой целочисленной переменной p и присвоение ей значения 60, то есть 0011 1100 в двоичном формате.
  5. Объявление беззнаковой целочисленной переменной q и присвоение ей значения 13, то есть 0000 1101 в двоичном формате.
  6. Объявление целочисленной переменной z и инициализация ее значением 0.
  7. Выполнение побитовой операции & (И) над переменными p и q и сохранение результата в переменной z.
  8. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  9. Выполнение побитового | (ИЛИ) операция над переменными p и q и сохранение результата в переменной z.
  10. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  11. Выполнение побитовой операции (XOR) над переменными p и q и сохранение результата в переменной z.
  12. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  13. Выполнение побитовой операции ~ (НЕ) над переменными p и q и сохранение результата в переменной z.
  14. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  15. Выполнение операции сдвига влево для переменной p и сохранение результата в переменной z.
  16. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  17. Выполнение операции сдвига вправо для переменной p и сохранение результата в переменной z.
  18. Распечатайте результат вышеуказанной операции на консоли вместе с другим текстом.
  19. Функция main () должна возвращать значение, если программа работает нормально.
  20. Конец тела функции main ().

Операторы присваивания

Операторы присваивания присваивают значения переменным. Операнд / переменная добавляется в левую часть оператора, а значение добавляется в правую часть оператора. Переменная и значение должны принадлежать к одному типу данных, иначе компилятор C ++ вызовет ошибку. Например:

x = 5;

В приведенном выше примере x - это переменная / операнд, = - это оператор присваивания, а 5 - это значение. Вот популярные операторы присваивания в C ++:

Оператор Описание
= (простой оператор присваивания) Он присваивает значение справа переменной слева.
+ = (Добавить оператор присваивания И) Сначала он добавляет значение левого операнда к значению правого операнда, а затем присваивает результат переменной слева.
- = (оператор вычитания И присваивания) Сначала он вычитает значение правого операнда из значения левого операнда, а затем присваивает результат переменной слева.
* = (Оператор присваивания умножения И) Сначала он умножает значение левого операнда на значение правого операнда, а затем присваивает результат переменной слева.
/ = (Оператор деления И присваивания) Сначала он делит значение левого операнда на значение правого операнда, а затем присваивает результат переменной слева.

Например:

#include 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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы.
  4. {Отмечает начало тела функции main ().
  5. Объявление целочисленной переменной x и присвоение ей значения 5.
  6. Печать значения переменной x рядом с другим текстом на консоли. \ N - это символ новой строки. При печати перемещает курсор на следующую строку.
  7. Добавление 5 к значению переменной x и присвоение результата переменной x.
  8. Вывод значения переменной x на консоль рядом с другим текстом.
  9. Вычитание 5 из значения x и присвоение результата переменной x.
  10. Вывод значения переменной x на консоль рядом с другим текстом.
  11. Умножение значения переменной x на 5 и присвоение результата переменной x.
  12. Вывод значения переменной x на консоль рядом с другим текстом.
  13. Деление значения переменной x на 5 и присвоение результата переменной x.
  14. Вывод значения переменной x на консоль рядом с другим текстом.
  15. Функция main () должна возвращать значение, если программа работает нормально.
  16. Конец тела функции main ().

Разный оператор

Обсудим другие операторы, поддерживаемые C ++:

оператор sizeof

Этот оператор определяет размер переменной. Используйте оператор sizeof, чтобы определить размер типа данных. Например:

#include 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;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Определение размера целочисленного типа данных с помощью оператора sizeof и его печать вместе с другим текстом на консоли.
  5. Определение размера символьного типа данных с помощью оператора sizeof и его печать вместе с другим текстом на консоли.
  6. Определение размера типа данных с плавающей запятой с помощью оператора sizeof и его печать вместе с другим текстом на консоли.
  7. Определение размера типа данных с плавающей запятой с помощью оператора sizeof и его печать вместе с другим текстом на консоли.
  8. Функция main () должна возвращать значение, если программа работает нормально.
  9. Конец тела функции main ().

Оператор запятой

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

#include using namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Объявление двух целочисленных переменных x и y.
  5. Присваиваем переменной ya значение 100.
  6. Увеличение значения y и присвоение результата переменной x. Он начинается с y на 100, затем увеличивается до 101 (y ++). Затем y прибавляется к 10. Наконец, y, все еще равное 101, прибавляется к 99, давая 200. x теперь 200.
  7. Вывод значения переменной x на консоль.
  8. Функция main () должна возвращать значение, если программа работает нормально.
  9. Конец тела функции main ().

Условный оператор

Этот оператор оценивает условие и действует в зависимости от результата оценки.

Синтаксис:

Condition ? Expression2 : Expression3;

Параметры:

  • Условие - это условие, которое необходимо оценить.
  • Expression1 - это выражение, которое должно выполняться, если условие истинно.
  • Expression3 - это выражение, которое должно выполняться, если условие ложно.

Например:

#include using namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}

Выход:

Вот скриншот кода:

Пояснение к коду:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать на консоли.
  2. Включение пространства имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main (), внутри которой нужно добавить логику программы. {Отмечает начало тела функции main ().
  4. Объявление двух целочисленных переменных a и b. Переменной a присвоено значение 1.
  5. Присвоение значения переменной b. Если переменная a меньше 10, b будет присвоено значение 2, в противном случае b будет присвоено значение 5.
  6. Вывод значения переменной b на консоль рядом с другим текстом.
  7. Функция main () должна возвращать значение, если программа работает нормально.
  8. Конец тела функции main ().

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

У одной операции может быть более одного оператора. В этом случае приоритет оператора определяет тот, который оценивается первым.

В следующем списке показан приоритет операторов в C ++ с уменьшением приоритета слева направо:

(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = знак равно

Резюме:

  • Операторы - это символы для выполнения логических и арифметических операций.
  • Арифметические операторы помогают нам выполнять различные арифметические операции с операндами.
  • Операторы отношения помогают нам выполнять различные операции сравнения с операндами.
  • Логические операторы помогают нам выполнять различные логические операции с операндами.
  • Побитовые операторы помогают нам выполнять побитовые операции с операндами.
  • Операторы присваивания помогают нам выполнять различные арифметические операции с операндами.
  • Оператор sizeof возвращает размер переменной или типа данных.
  • Оператор запятой выполняет последовательность операций.
  • Условный оператор оценивает условие и действует в зависимости от результата.