Operatores em C++ com exemplo: o que é, tipos e programas

Quais são Operatores?

Um operador é um símbolo usado para executar operações em operandos. Um operador opera operandos. 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++

  1. Aritmética Operatoros
  2. Relacional Operatoros
  3. lógico Operatoros
  4. Bit a bit Operatoros
  5. Atribuição Operatoros
  6. Outros Operatoros

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 aos operandos.
– operador de subtração Subtrai 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:

Aritmética Operatoros

Aqui está uma captura de tela do código:

Aritmética Operatoros

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Declarando uma variável inteira a e inicializando-a com 11.
  5. Declarando uma variável inteira b e inicializando-a com 5.
  6. Declarando uma variável inteira c.
  7. Imprimindo o valor da operação a+b junto com outro texto no console.
  8. Imprimindo o valor da operação ab junto com outro texto no console.
  9. Imprimindo o valor da operação a*b junto com outro texto no console.
  10. Imprimindo o valor da operação a/b junto com outro texto no console.
  11. Imprimindo o valor da operação a%b junto com outro texto no console.
  12. Imprimindo o valor da operação a++ junto com outro texto no console.
  13. Imprimindo o valor da operação a– junto com outro texto no console.
  14. A função main() deve retornar um valor se o programa funcionar bem.
  15. 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
== igual ao operador. Verifica a igualdade de dois valores de operando.
!= diferente do operador Verifica a igualdade de dois valores de operando.
> ótimo que operador Verifica se o valor do operando esquerdo é maior que o valor do operando direito.
<menos que operador. Verifica se o valor do operando esquerdo é menor que o valor do operando direito.
>= maior ou igual ao operador Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito.
<= menor ou igual ao operador. Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito.

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:

Relacional Operatoros

Aqui está uma captura de tela do código:

Relacional Operatoros

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Declarando uma variável inteira a e inicializando-a com 11.
  5. Declarando uma variável inteira b e inicializando-a com 5.
  6. Imprimindo algum texto no console informando os valores das variáveis ​​a e b.
  7. Executando a operação aritmética, a==b em uma declaração if de tomada de decisão para saber se é verdadeira ou falsa. O { marca o início do corpo da instrução if.
  8. Texto para imprimir no console se a operação a==b for verdadeira. O endl é um C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução if.
  9. A outra parte da instrução if acima. Ele afirma o que fazer se a operação a==b for falsa.
  10. Texto para imprimir no console se a operação a==b for falsa. O endl é um C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução else.
  11. Realizando a operação aritmética,
  12. Texto para imprimir no console se a operação for C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução if.
  13. A outra parte da instrução if acima. Ele indica o que fazer se a operação for
  14. Texto para imprimir no console se a operação for C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução else.
  15. Executar a operação aritmética a>b em uma declaração de tomada de decisão if para saber se é verdadeira ou falsa. O { marca o início do corpo da instrução if.
  16. Texto para imprimir no console se a operação a>b for verdadeira. O endl é um C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução if.
  17. A outra parte da instrução if acima. Afirma o que fazer se a operação a>b for falsa.
  18. Texto para imprimir no console se a operação a>b for falsa. O endl é um C++ palavra-chave para a linha final. Ele empurra o cursor para começar a imprimir na próxima linha. O } marca o final do corpo da instrução else.
  19. A função main() deve retornar um valor se o programa funcionar bem.
  20. Fim do corpo da função main().

lógico Operatoros

A Operadores lógicos combinar duas/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 AND lógico. A condição é verdadeira se ambos os operandos não forem zero.
|| operador lógico OR. A condição é verdadeira se um dos operandos for diferente de zero.
! operador lógico NOT. Inverte o estado lógico do operando. Se o operando for verdadeiro, o ! operador torna-o 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:

lógico Operatoros

Aqui está uma captura de tela do código:

lógico Operatoros

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
  4. O { marca o início do corpo da função main().
  5. Declarar 4 variáveis ​​inteiras a, b, c e d e atribuir-lhes valores diferentes.
  6. Usando o operador && (AND) dentro da instrução if. Ele une duas condições, o valor de a é igual ao valor de b e o valor de a é maior que o valor de b. A primeira condição é falsa, a segunda condição é verdadeira. False&&true é False, portanto, o resultado de if é falso.
  7. Texto a ser impresso no console se a instrução if acima for verdadeira. Isso não será executado.
  8. Parte a ser executada se a instrução if acima for falsa.
  9. Texto a ser impresso no console se a instrução if for falsa. Isso será executado.
  10. Usando o || Operador (OR) dentro de uma instrução if. Ele une duas condições, o valor de a é igual ao valor de b e o valor de a é maior que o valor de b. A primeira condição é falsa, a segunda condição é verdadeira. False||true é True, portanto, o resultado de if é verdadeiro.
  11. Texto a ser impresso no console se a instrução if acima for verdadeira. Isso será executado.
  12. Parte a ser executada se a instrução if acima for falsa.
  13. Texto a ser impresso no console se a instrução if for falsa. Isso não será executado.
  14. Verificando se o valor da variável é 0.
  15. Texto a ser impresso no console se a instrução if acima for verdadeira. Isso não será executado.
  16. Parte a ser executada se a instrução if acima for falsa.
  17. Texto a ser impresso no console se a instrução if for falsa. Isso será executado.
  18. A função main() deve retornar um valor se o programa funcionar bem.
  19. Fim do corpo da função main().

Bit a bit Operatoros

Operadores bit a bit executar operações em nível de bit em operandos. Primeiro, os operadores são convertidos para nível de bit e depois as operações são executadas nos operandos. Quando operações aritméticas como adição e subtração são feitas em nível de bit, os resultados podem ser alcançados mais rapidamente. Eles incluem:

Operator Descrição
& (E bit a bit). São necessários 2 números (operandos) e então executa AND em cada bit de dois números. Se ambos forem 1, AND retornará 1, caso contrário, 0.
| (OU bit a bit) Pega 2 números (operandos) e executa OR em cada bit de dois números. Ele retorna 1 se um dos bits for 1.
^ (o XOR bit a bit) Pega 2 números (operandos) e executa XOR em cada bit de 2 números. Ele retorna 1 se ambos os bits forem diferentes.
<< (deslocamento para a esquerda) Pega dois números e depois desloca para a esquerda os bits do primeiro operando. O segundo operando determina o total de lugares a serem deslocados.
>> (deslocamento para a direita) Pega dois números e desloca para a direita os bits do primeiro operando. O segundo operando determina o número de casas a serem deslocadas.
~ (NÃO bit a bit). Pega o 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:

Bit a bit Operatoros

Aqui está uma captura de tela do código:

Bit a bit Operatoros

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Declarar uma variável inteira sem sinal p e atribuir a ela um valor de 60, que é 0011 1100 em binário.
  5. Declarar uma variável inteira sem sinal q e atribuir a ela um valor de 13, que é 0000 1101 em binário.
  6. Declarar uma variável inteira z e inicializá-la com 0.
  7. Executando a operação & (AND) bit a bit nas variáveis ​​p e q e armazenando o resultado na variável z.
  8. Imprimindo o resultado da operação acima no console junto com outro texto.
  9. Executando o bit a bit | (OR) operação nas variáveis ​​peq e armazenamento do resultado na variável z.
  10. Imprimindo o resultado da operação acima no console junto com outro texto.
  11. Executando a operação bit a bit ^ (XOR) nas variáveis ​​peq e armazenando o resultado na variável z.
  12. Imprimindo o resultado da operação acima no console junto com outro texto.
  13. Executando a operação bit a bit ~ (NOT) nas variáveis ​​peq e armazenando o resultado na variável z.
  14. Imprimindo o resultado da operação acima no console junto com outro texto.
  15. Realizando a operação de deslocamento para a esquerda na variável p e armazenando o resultado na variável z.
  16. Imprimindo o resultado da operação acima no console junto com outro texto.
  17. Executando a operação de deslocamento para a direita na variável p e armazenando o resultado na variável z.
  18. Imprimindo o resultado da operação acima no console junto com outro texto.
  19. A função main() deve retornar um valor se o programa funcionar bem.
  20. Fim do corpo da função main().

Atribuição Operatoros

Operadores de atribuição atribuir valores a variáveis. O operando/variável é adicionado ao lado esquerdo do operador enquanto o valor é adicionado ao lado direito do operador. A variável e o valor devem pertencer ao mesmo tipo de dados, caso contrário, o C++ compilador gerará erro.
Por exemplo:

x = 5;

No exemplo acima, x é a variável/operando, = é o operador de atribuição enquanto 5 é o valor. Aqui estão os operadores de atribuição populares 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.
-= (operador de subtração AND de atribuição) Subtrai o valor do operando direito do operando esquerdo 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:

Atribuição Operatoros

Aqui está uma captura de tela do código:

Atribuição Operatoros

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
  4. O { marca o início do corpo da função main().
  5. Declarar uma variável inteira x e atribuir a ela o valor 5.
  6. Imprimindo o valor da variável x junto com outro texto no console. O \n é um caractere de nova linha. Move o cursor para a próxima linha durante a impressão.
  7. Adicionando 5 ao valor da variável x e atribuindo o resultado à variável x.
  8. Imprimindo o valor da variável x no console junto com outro texto.
  9. Subtraindo 5 do valor de x e atribuindo o resultado à variável x.
  10. Imprimindo o valor da variável x no console junto com outro texto.
  11. Multiplicando o valor da variável x por 5 e atribuindo o resultado à variável x.
  12. Imprimindo o valor da variável x no console junto com outro texto.
  13. Dividindo o valor da variável x por 5 e atribuindo o resultado à variável x.
  14. Imprimindo o valor da variável x no console junto com outro texto.
  15. A função main() deve retornar um valor se o programa funcionar bem.
  16. Fim do corpo da função main().

Outros Operatoros

Outros Operatoros incluir operador sizeof, vírgula Operator, condicional Operator, e Operaprecedência.
Vamos discutir 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:

operador sizeof

Aqui está uma captura de tela do código:

operador sizeof

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Determinar o tamanho do tipo de dados inteiro usando o operador sizeof e imprimi-lo junto com outro texto no console.
  5. Determinar o tamanho do tipo de dados de caractere usando o operador sizeof e imprimi-lo junto com outro texto no console.
  6. Determinar o tamanho do tipo de dados float usando o operador sizeof e imprimi-lo junto com outro texto no console.
  7. Determinar o tamanho do tipo de dados float usando o operador sizeof e imprimi-lo junto com outro texto no console.
  8. A função main() deve retornar um valor se o programa funcionar bem.
  9. Fim do corpo da função main().

Vírgula Operator

A operador vírgula (,) aciona a execução de uma sequência de operações. Expressa o primeiro operando e descarta o resultado. A seguir, 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:

Vírgula Operator

Aqui está uma captura de tela do código:

Vírgula Operator

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Declarando duas variáveis ​​inteiras x e y.
  5. Atribuindo à variável ya o valor de 100.
  6. Aumentando o valor de y e atribuindo o resultado à variável x. Começa com y em 100 e depois aumenta para 101 (y++). Em seguida, y é adicionado a 10. Finalmente, y, ainda em 101, é adicionado a 99, resultando em 200. x agora é 200.
  7. Imprimindo o valor da variável x no console.
  8. A função main() deve retornar um valor se o programa funcionar bem.
  9. 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.
  • Expressão1 é a expressão a ser executada se a condição for verdadeira.
  • Expression3 é 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:

Condicional Operator

Aqui está uma captura de tela do código:

Condicional Operator

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. 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().
  4. Declarando dois variáveis ​​inteiras a e b. A variável a recebeu o valor 1.
  5. Atribuindo 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.
  6. Imprimindo o valor da variável b no console junto com outro texto.
  7. A função main() deve retornar um valor se o programa funcionar bem.
  8. 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:

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

Resumo

  • OperaOs símbolos são usados ​​para realizar operações lógicas e aritméticas.
  • Os operadores aritméticos nos ajudam a realizar várias operações aritméticas em operandos.
  • Os operadores relacionais nos ajudam a realizar várias operações de comparação em operandos.
  • Os operadores lógicos nos ajudam a realizar várias operações lógicas nos operandos.
  • Operadores bit a bit ajude-nos a realizar operações bit a bit em operandos.
  • Os operadores de atribuição nos ajudam a realizar várias operações aritméticas em operandos.
  • O operador sizeof retorna o tamanho de uma variável ou tipo de dados.
  • O operador vírgula executa uma sequência de operações.
  • O operador condicional avalia uma condição e atua com base no resultado.