Operatores em C++Tipos com exemplos
⚡ Resumo Inteligente
Operatores em C++ Os operadores são símbolos que realizam operações em operandos, que variam de aritméticas e de comparação a operações lógicas, bit a bit e de atribuição. Este recurso explica cada categoria de operador com programas de exemplo executáveis, resultados e as regras de precedência que determinam a ordem de avaliação.

Quais são Operatores?
Um operador é um símbolo usado para realizar operações em operandos. Um operador opera sobre operandos, e as operações podem ser matemáticas ou lógicas. Existem diferentes tipos de operadores em C++ para executar diferentes operações.
Considere a seguinte operação:
a = x + y;
Na declaração acima, x e y são os operandos enquanto + é um operador de adição. Quando o C++ o compilador encontrar a instrução acima, ele adicionará x e y e armazenará o resultado na variável a.
Tipos de Operatores em C++
Existem principalmente 6 tipos diferentes de operadores em C++:
- Aritmética Operatoros
- Relacional Operatoros
- lógico Operatoros
- Bit a bit Operatoros
- Atribuição Operatoros
- Outros Operatoros
Comecemos pelos operadores aritméticos, a categoria mais comumente usada.
Aritmética Operatoros
Eles são os tipos de operadores usados para realizar operações matemáticas/aritméticas. Eles incluem:
| Operator | Descrição |
|---|---|
| + operador de adição | Adiciona dois operandos. |
| – subtracoperador de ção | Subtracts 2nd operando de 1st operando. |
| * operador de multiplicação | Multiplica 2 operandos. |
| operador de divisão | Divide o numerador pelo denominador. |
| % operador módulo | Retorna o resto após a divisão. |
| ++ operador de incremento | Aumenta um valor inteiro em 1. |
| — operador de decremento | Diminui um valor inteiro em 1. |
Por exemplo:
#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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main(), dentro da qual a lógica do programa deve ser adicionada. O { marca o início do corpo da função main().
- Declarando uma variável inteira a e inicializando-a com 11.
- Declarando uma variável inteira b e inicializando-a com 5.
- Declarando uma variável inteira c.
- Exibe o valor da operação a+b juntamente com outro texto no console.
- Exibindo o valor da operação ab junto com outros textos no console.
- Exibindo o valor da operação a*b juntamente com outro texto no console.
- Exibição do valor da operação a/b juntamente com outro texto no console.
- Exibindo o valor da operação a%b juntamente com outro texto no console.
- Exibindo o valor da operação a++ junto com outro texto no console.
- Exibindo o valor da operação a– juntamente com outros textos no console.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Relacional Operatoros
Esses tipos de operadores realizam comparações em operandos. Por exemplo, pode ser necessário saber qual operando é maior que o outro ou menor que o outro. Eles incluem:
| Operator | Descrição |
|---|---|
| operador de igualdade == | Verifica a igualdade de dois valores de operando. |
| != diferente do operador | Verifica a desigualdade entre dois valores operandos. |
| > operador maior que | Verifica se o valor do operando da esquerda é maior que o valor do operando da direita. |
| < operador menor que | Verifica se o valor do operando da esquerda é menor que o valor do operando da direita. |
| >= maior ou igual ao operador | Verifica se o valor do operando da esquerda é maior ou igual ao valor do operando da direita. |
| operador <= menor ou igual a | Verifica se o valor do operando da esquerda é menor ou igual ao valor do operando da direita. |
Por 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 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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- Declarando uma variável inteira a e inicializando-a com 11.
- Declarando uma variável inteira b e inicializando-a com 5.
- Imprimindo algum texto no console informando os valores das variáveis a e b.
- Verificar se a é igual a b usando uma instrução condicional (if).
- Texto a ser impresso no console se a operação a==b for verdadeira.
- A parte "else" da instrução "if" acima indica o que fazer se a==b for falso.
- Texto a ser impresso no console se a operação a==b for falsa.
- Verificar se a é menor que b usando uma instrução if.
- Texto a ser impresso no console se a operação for bem-sucedida.
- A parte "else" para quando um
- Texto a ser impresso no console se a operação for bem-sucedida.
- Verificando se a é maior que b usando uma instrução if.
- Texto a ser impresso no console se a operação a>b for verdadeira.
- A parte "else" para quando a>b for falso.
- Texto a ser impresso no console se a operação a>b for falsa.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
lógico Operatoros
O Operadores lógicos Combinam duas ou mais restrições/condições. Os operadores lógicos também complementam a avaliação da condição original em consideração. Eles incluem:
| Operator | Descrição |
|---|---|
| && operador lógico AND | A condição é verdadeira se ambos os operandos forem diferentes de zero. |
| Operador lógico OU | A condição é verdadeira se um dos operandos for diferente de zero. |
| ! operador lógico NOT | Ele inverte o estado lógico do operando. Se o operando for verdadeiro, o operador ! o torna falso. |
Por exemplo:
#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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- O { marca o início do corpo da função main().
- Declarando 4 variáveis inteiras a, b, c e d e atribuindo a elas valores diferentes.
- Utilizando o operador && (E) dentro da instrução if. Ele une duas condições. A primeira condição é falsa e a segunda é verdadeira, portanto falso&&verdadeiro é falso; o resultado do if é falso.
- Texto a ser impresso no console se a condição "if" acima for verdadeira. Esta instrução não será executada.
- A parte a ser executada se a instrução "if" acima for falsa.
- Texto a ser impresso no console se a instrução if for falsa. Isso será executado.
- Utilizando o operador || (OU) dentro de uma instrução if. A primeira condição é falsa e a segunda é verdadeira, portanto false||true é verdadeiro; o resultado do if é verdadeiro.
- Texto a ser impresso no console se a condição "if" acima for verdadeira. Este código será executado.
- A parte a ser executada se a instrução "if" acima for falsa.
- Texto a ser impresso no console se a instrução if for falsa. Isso não será executado.
- Verificar se o valor da variável b é 0.
- Texto a ser impresso no console se a condição "if" acima for verdadeira. Esta instrução não será executada.
- A parte a ser executada se a instrução "if" acima for falsa.
- Texto a ser impresso no console se a instrução if for falsa. Isso será executado.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Bit a bit Operatoros
Operadores bit a bit Realizam operações em nível de bit nos operandos. Primeiro, os operandos são convertidos para o nível de bit e, em seguida, as operações são executadas. Isso ocorre quando operações aritméticas como adição e subtração são realizadas.tracAs operações são realizadas em nível de bit, permitindo obter resultados mais rapidamente. Elas incluem:
| Operator | Descrição |
|---|---|
| & (AND bit a bit) | A função recebe dois números (operandos) e realiza uma operação AND em cada bit dos dois números. Se ambos forem 1, a operação AND retorna 1; caso contrário, retorna 0. |
| | (OU bit a bit) | A função recebe dois números (operandos) e realiza a operação OR em cada bit dos dois números. Ela retorna 1 se um dos bits for 1. |
| ^ (XOR bit a bit) | A função recebe dois números (operandos) e realiza uma operação XOR em cada bit dos dois números. Ela retorna 1 se ambos os bits forem diferentes. |
| << (deslocamento para a esquerda) | A função recebe dois números e, em seguida, desloca os bits do primeiro operando para a esquerda. O segundo operando determina o número total de posições a serem deslocadas. |
| >> (deslocamento para a direita) | A função recebe dois números e desloca os bits do primeiro operando para a direita. O segundo operando determina o número de posições a serem deslocadas. |
| ~ (NOT bit a bit) | Recebe um número e inverte todos os seus bits. |
#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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- Declarando uma variável inteira sem sinal chamada p e atribuindo a ela o valor 60, que é 0011 1100 em binário.
- Declarando uma variável inteira sem sinal q e atribuindo a ela o valor 13, que é 0000 1101 em binário.
- Declarar uma variável inteira z e inicializá-la com 0.
- Executando a operação & (AND) bit a bit nas variáveis p e q e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Executando o bit a bit | (OR) operação nas variáveis peq e armazenamento do resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Executando a operação bit a bit ^ (XOR) nas variáveis peq e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Executando a operação bit a bit ~ (NOT) na variável p e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Realizando a operação de deslocamento para a esquerda na variável p e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Executando a operação de deslocamento para a direita na variável p e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Atribuição Operatoros
Operadores de atribuição Atribui valores a variáveis. O operando/variável é adicionado ao lado esquerdo do operador, enquanto o valor é adicionado ao lado direito. A variável e o valor devem pertencer ao mesmo tipo de dados; caso contrário, C++ O compilador irá gerar um erro.
Por exemplo:
x = 5;
No exemplo acima, x é a variável/operando, = é o operador de atribuição e 5 é o valor. Aqui estão os operadores de atribuição mais comuns em C++:
| Operator | Descrição |
|---|---|
| = (operador de atribuição simples) | Atribui o valor à direita à variável à esquerda. |
| += (operador de adição AND de atribuição) | Adiciona o valor do operando direito ao operando esquerdo e, em seguida, atribui o resultado à variável à esquerda. |
| -= (Subtract operador de atribuição AND) | SubtracExtrai o valor do operando da direita a partir do operando da esquerda e, em seguida, atribui o resultado à variável à esquerda. |
| *= (operador de multiplicação AND de atribuição) | Multiplica o valor do operando esquerdo pelo operando direito e, em seguida, atribui o resultado à variável à esquerda. |
| /= (operador de divisão E atribuição) | Divide o valor do operando esquerdo pelo operando direito e atribui o resultado à variável à esquerda. |
Por exemplo:
#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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- O { marca o início do corpo da função main().
- Declarar uma variável inteira x e atribuir a ela o valor 5.
- Exibindo o valor da variável x junto com outro texto no console. O \n representa uma nova linha.
- Adicionando 5 ao valor da variável x e atribuindo o resultado à variável x.
- Imprimindo o valor da variável x no console junto com outro texto.
- SubtracExtraindo 5 do valor de x e atribuindo o resultado à variável x.
- Imprimindo o valor da variável x no console junto com outro texto.
- Multiplicar o valor da variável x por 5 e atribuir o resultado à variável x.
- Imprimindo o valor da variável x no console junto com outro texto.
- Dividir o valor da variável x por 5 e atribuir o resultado à variável x.
- Imprimindo o valor da variável x no console junto com outro texto.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Outros Operatoros
Outros Operatoros Inclui o operador sizeof, vírgula Operator, condicional Operator, e OperaPrecedência dos operadores. Vamos discutir os outros operadores suportados por C++:
operador sizeof
Este operador determina o tamanho de uma variável. Use o operador sizeof para determinar o tamanho de um tipo de dados.
Por exemplo:
#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; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- Determinar o tamanho de um tipo de dados inteiro usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados caractere usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados float usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados double usando o operador sizeof e imprimi-lo junto com outro texto no console.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Vírgula Operator
O operador vírgula (,) aciona a execução de uma sequência de operações. Expressa o primeiro operando e descarta o resultado. Em seguida, avalia o segundo operando e retorna o valor e o tipo.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- Declarando duas variáveis inteiras x e y.
- Atribuindo à variável ya o valor de 100.
- Usando o operador vírgula. Começa com y em 100, depois incrementa para 101 (y++). Em seguida, y é somado a 10. Finalmente, y, ainda em 101, é somado a 99, resultando em 200. x agora é 200.
- Imprimindo o valor da variável x no console.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Condicional Operator
Este operador avalia uma condição e atua com base no resultado da avaliação.
Sintaxe:
Condition ? Expression2 : Expression3;
parâmetros:
- A Condição é a condição que deve ser avaliada.
- Expression2 é a expressão a ser executada se a condição for verdadeira.
- A expressão 3 é a expressão a ser executada se a condição for falsa.
Por exemplo:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- Declarando dois variáveis inteiras a e b. A variável a recebeu o valor 1.
- Atribuindo um valor à variável b. Se a variável a for menor que 10, b receberá o valor 2; caso contrário, b receberá o valor 5.
- Imprimindo o valor da variável b no console junto com outro texto.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
OperaPrecedência
Uma única operação pode ter mais de um operador. Nesse caso, a precedência do operador determina aquele avaliado primeiro.
A lista a seguir mostra a precedência dos operadores em C++, com precedência decrescente da esquerda para a direita:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=













