Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Операторы в C++: типы, примеры и практические программы

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

В C++ оператор — это символ, выполняющий операцию над одним или несколькими операндами. Операторы бывают арифметическими, логическими, 관계льными, битовыми, присваивания и др.

Пример:

a = x + y;

Здесь x и y — операнды, + — оператор сложения. Компилятор складывает x и y и сохраняет результат в a.

В этом уроке вы узнаете:

Типы операторов в C++

C++ определяет шесть основных категорий:

  1. Арифметические
  2. Отношения (реляционные)
  3. Логические
  4. Битовые
  5. Присваивания
  6. Прочие

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

Выполняют математические вычисления.

ОператорОписание
+Сложение двух операндов.
-Вычитание второго операнда из первого.
*Умножение двух операндов.
/Деление числителя на знаменатель.
%Остаток от деления.
++Инкремент (увеличение на 1).
--Декремент (уменьшение на 1).

Пример программы:

#include <iostream>
using namespace std;
int main() {
    int a = 11, b = 5, c;
    cout << "a + b = " << a+b << endl;
    cout << "a - b = " << a-b << endl;
    cout << "a * b = " << a*b << endl;
    cout << "a / b = " << a/b << endl;
    cout << "a % b = " << a%b << endl;
    cout << "a++ = " << a++ << endl;
    cout << "a-- = " << a-- << endl;
    return 0;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

Операторы отношения (реляционные)

Сравнивают операнды и возвращают булево значение.

ОператорОписание
==Равенство.
!=Неравенство.
>Больше.
<Меньше.
>=Больше или равно.
<=Меньше или равно.

Пример программы:

#include <iostream>
using namespace std;
int main() {
    int a = 11, b = 5;
    cout << "a=11, b=5" << endl;
    if (a == b) cout << "a == b true" << endl;
    else cout << "a == b false" << endl;
    if (a < b) cout << "a < b true" << endl;
    else cout << "a < b false" << endl;
    if (a > b) cout << "a > b true" << endl;
    else cout << "a > b false" << endl;
    return 0;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

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

Объединяют булевы выражения.

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

Пример программы:

#include <iostream>
using namespace std;
int main() {
    int a = 5, b = 2, c = 6, d = 4;
    if (a == b && c > d) cout << "a==b AND c>d\n";
    else cout << "AND false\n";
    if (a == b || c > d) cout << "a==b OR c>d\n";
    else cout << "Neither\n";
    if (!b) cout << "b is zero\n";
    else cout << "b is not zero";
    return 0;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

Битовые операторы

Выполняют операции над отдельными битами целых чисел.

ОператорОписание
&Побитовое И — 1 только если оба бита 1.
|Побитовое ИЛИ — 1 если хотя бы один бит 1.
^Побитовое XOR — 1 если биты различны.
<<Сдвиг влево — биты сдвигаются влево, заполнение нулями.
>>Сдвиг вправо — биты сдвигаются вправо, младшие отбрасываются.
~Побитовое НЕ — инвертирует все биты.

Пример программы:

#include <iostream>
using namespace std;
int main() {
    unsigned int p = 60; // 0011 1100
    unsigned int q = 13; // 0000 1101
    int z = 0;
    z = p & q;  cout << "p&q = " << z << endl; // 12
    z = p | q;  cout << "p|q = " << z << endl; // 61
    z = p ^ q;  cout << "p^q = " << z << endl; // 49
    z = ~p;     cout << "~p = " << z << endl; // -61
    z = p << 2; cout << "p<<2 = " << z << endl; // 240
    z = p >> 2; cout << "p>>2 = " << z << endl; // 15
    return 0;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

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

Присваивают значения переменным, часто комбинируя арифметическую операцию.

ОператорОписание
=Простое присваивание.
+=Сложение с присваиванием.
-=Вычитание с присваиванием.
*=Умножение с присваиванием.
/=Деление с присваиванием.

Пример программы:

#include <iostream>
using namespace std;
int main() {
    int x = 5;
    cout << "Initial x = " << x << "\n";
    x += 5; cout << "x += 5 -> " << x << "\n";
    x -= 5; cout << "x -= 5 -> " << x << "\n";
    x *= 5; cout << "x *= 5 -> " << x << "\n";
    x /= 5; cout << "x /= 5 -> " << x << "\n";
    return 0;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

Прочие операторы

Оператор 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;
}

Вывод:

Операторы в C++: типы, примеры и практические программы

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

Выполняет последовательность выражений, возвращая значение последнего.

Пример:

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

Вывод:

Операторы в C++: типы, примеры и практические программы

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

Оценивает условие и возвращает одно из двух выражений.

Синтаксис: условие ? выражение1 : выражение2

Пример:

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

Вывод:

Операторы в C++: типы, примеры и практические программы

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

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

(), [], *, /, %, +, -, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=

Резюме

Язык C

  1. Биочипы: определение, типы и применение в современной биотехнологии
  2. Операторы C# — исчерпывающее руководство по операторам в C#
  3. Освоение операторов C++: полное руководство с практическими примерами
  4. Оператор switch-case в C++: синтаксис, применение и практические примеры
  5. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  6. Перегрузка операторов в C++: практическое руководство с примерами кода
  7. Структуры (struct) в C++: объяснение с практическим примером
  8. Освоение std::list в C++: синтаксис, функции и практические примеры
  9. C++ Struct vs Class: ключевые отличия, синтаксис и лучшие сценарии использования
  10. Абстрактные классы в C#: практическое руководство с примерами кода