Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Operadores em C++ Explicados: Tipos, Exemplos e Programas Práticos

O que São Operadores?

Em C++, um operador é um símbolo que realiza uma operação em um ou mais operandos. Operadores podem ser aritméticos, lógicos, relacionais, bitwise, de atribuição, entre outros.

Exemplo:

a = x + y;

Aqui, x e y são operandos, e + é o operador de adição. O compilador soma x e y e armazena o resultado em a.

Neste tutorial você aprenderá:

Tipos de Operadores em C++

O C++ define seis categorias principais de operadores:

  1. Operadores Aritméticos
  2. Operadores Relacionais
  3. Operadores Lógicos
  4. Operadores Bitwise
  5. Operadores de Atribuição
  6. Outros Operadores

Operadores Aritméticos

Estes operadores realizam cálculos matemáticos.

OperadorDescrição
+Soma dois operandos.
-Subtrai o segundo operando do primeiro.
*Multiplica dois operandos.
/Divide o numerador pelo denominador.
%Retorna o resto de uma divisão.
++Incrementa um inteiro em um.
--Decrementa um inteiro em um.

Programa de exemplo:

#include <iostream>
using namespace std;
int main() {
    int a = 11;
    int b = 5;
    int 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;
}

Operadores Relacionais

Estes operadores comparam operandos e retornam um resultado booleano.

OperadorDescrição
==Verifica igualdade.
!=Verifica desigualdade.
>Maior que.
<Menor que.
>=Maior ou igual a.
<=Menor ou igual a.

Programa de exemplo:

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

Operadores Lógicos

Operadores lógicos combinam expressões booleanas.

OperadorDescrição
&&AND lógico – true se ambos operandos são não-zero.
||OR lógico – true se pelo menos um operando é não-zero.
!NOT lógico – inverte o valor booleano.

Programa de exemplo:

#include <iostream>
using namespace std;
int main() {
    int a = 5, b = 2, c = 6, d = 4;
    if (a == b && c > d)
        cout << "a igual a b E c maior que d\n";
    else
        cout << "Operação AND retornou false\n";
    if (a == b || c > d)
        cout << "a igual a b OU c maior que d\n";
    else
        cout << "Nem a é igual a b nem c é maior que d\n";
    if (!b)
        cout << "b é zero\n";
    else
        cout << "b não é zero";
    return 0;
}

Operadores Bitwise

Operadores bitwise realizam operações em bits individuais de valores inteiros.

OperadorDescrição
&AND bitwise – 1 apenas se ambos bits são 1.
|OR bitwise – 1 se pelo menos um bit é 1.
^XOR bitwise – 1 se bits diferem.
<<Shift left – desloca bits à esquerda, preenchendo com 0.
>>Shift right – desloca bits à direita, descartando bits inferiores.
~NOT bitwise – inverte todos os bits.

Programa de exemplo:

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

Operadores de Atribuição

Estes operadores atribuem valores a variáveis, frequentemente combinando uma operação aritmética.

OperadorDescrição
=Atribuição simples.
+=Soma e atribui.
-=Subtrai e atribui.
*=Multiplica e atribui.
/=Divide e atribui.

Programa de exemplo:

#include <iostream>
using namespace std;
int main() {
    int x = 5;
    cout << "Valor inicial de x é " << x << "\n";
    x += 5;
    cout << "x += 5 resulta em: " << x << "\n";
    x -= 5;
    cout << "x -= 5 resulta em: " << x << "\n";
    x *= 5;
    cout << "x *= 5 resulta em: " << x << "\n";
    x /= 5;
    cout << "x /= 5 resulta em: " << x << "\n";
    return 0;
}

Outros Operadores

Operador sizeof

Retorna o tamanho, em bytes, de um tipo ou objeto.

Exemplo:

#include <iostream>
using namespace std;
int main() {
    cout << "Tamanho de int: " << sizeof(int) << "\n";
    cout << "Tamanho de char: " << sizeof(char) << "\n";
    cout << "Tamanho de float: " << sizeof(float) << "\n";
    cout << "Tamanho de double: " << sizeof(double) << "\n";
    return 0;
}

Operador Vírgula

Executa uma sequência de expressões, retornando o valor da última.

Exemplo:

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

Operador Condicional

Também conhecido como operador ternário, avalia uma condição e retorna uma de duas expressões.

Sintaxe: condição ? expr1 : expr2

Exemplo:

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

Precedência de Operadores

Quando múltiplos operadores aparecem em uma única expressão, regras de precedência determinam a ordem de avaliação. Da maior para a menor precedência:

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

Resumo

Linguagem C

  1. Biochips: Definição, Tipos e Aplicações na Biotecnologia Moderna
  2. Operadores em C# – Guia Completo dos Operadores em C#
  3. Dominando Operadores em C++: Guia Completo com Exemplos Práticos
  4. Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos
  5. Dominando Alocação Dinâmica de Arrays em C++: Guia Prático com Exemplos de Código
  6. Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
  7. Structs em C++ Explicadas com Exemplo Prático
  8. Dominando std::list em C++: Sintaxe, Funções e Exemplos Práticos
  9. C++ Struct vs Class: Diferenças Principais, Sintaxe e Melhores Casos de Uso
  10. Classes Abstratas em C#: Tutorial Prático com Exemplos de Código