Operadores C ++ com exemplos

O que são operadores?

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 compilador C ++ encontra a instrução acima, ele adicionará xey e armazenará o resultado na variável a.

Neste Tutorial C ++, você aprenderá:

Operadores aritméticos

Eles são os tipos de operadores usados ​​para realizar operações matemáticas / aritméticas. Eles incluem:

Operador Descrição
+ operador de adiçãoAdiciona aos operandos.
- operador de subtraçãoSubtrai 2WLoperando de 1stoperando.
* operador de multiplicaçãoMultiplica 2 operandos.
/ operador de divisão.Divide o numerador pelo denominador.
operador% modulusRetorna o resto após a divisão.
++ operador de incrementoAumenta um valor inteiro em 1.
- operador de decremento.Diminui um valor inteiro em 1.

Por exemplo:

 #include 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:

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  4. Declarar uma variável inteira a e inicializá-la como 11.
  5. Declarando uma variável inteira be inicializando-a para 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 a-b 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 ao lado de outro texto no console.
  12. Imprimindo o valor da operação a ++ ao lado de outro texto no console.
  13. Imprimindo o valor da operação a - ao lado de 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 ().

Operadores relacionais

Esses tipos de operadores realizam comparações em operandos. Por exemplo, você pode precisar saber qual operando é maior ou menor que o outro. Eles incluem:

Descrição

Operador Descrição
== igual ao operador.Verifica a igualdade de dois valores de operando.
! = diferente do operadorVerifica a igualdade de dois valores de operando.
> ótimo do que o operadorVerifica se o valor do operando esquerdo é maior que o valor do operando direito.
Verifica se o valor do operando esquerdo é menor que o valor do operando direito.
> = maior ou igual ao operadorVerifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito.
<= less than or equal to operator. Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito.

Por exemplo:

 #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' < b) { cout < b is true' << endl; } else { cout < b is false' << endl; } return 0; } 

Saída:

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

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  4. Declarar uma variável inteira a e inicializá-la como 11.
  5. Declarando uma variável inteira be inicializando-a para 5.
  6. Imprimir 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 de tomada de decisão if para saber se é verdadeiro ou falso. O {marca o início do corpo da instrução if.
  8. Texto a ser impresso no console se a operação a == b for verdadeira. O endl é uma palavra-chave C ++ para linha final. Ele empurra o cursor para iniciar a impressão 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 a ser impresso no console se a operação a == b for falsa. O endl é uma palavra-chave C ++ para linha final. Ele empurra o cursor para iniciar a impressão na próxima linha. O} marca o fim do corpo da instrução else.
  11. Executando a operação aritmética, um
  12. Texto a ser impresso no console se a operação for
  13. A outra parte da instrução if acima. Afirma o que fazer se a operação for
  14. Texto a ser impresso no console se a operação for
  15. Executar a operação aritmética a> b em uma declaração de tomada de decisão if para saber se ela é verdadeira ou falsa. O {marca o início do corpo da instrução if.
  16. Texto a ser impresso no console se a operação a> b for verdadeira. O endl é uma palavra-chave C ++ para linha final. Ele empurra o cursor para iniciar a impressão na próxima linha. O} marca o final do corpo da instrução if.
  17. A outra parte da instrução if acima. Ele afirma o que fazer se a operação a> b for falsa.
  18. Texto a ser impresso no console se a operação a> b for falsa. O endl é uma palavra-chave C ++ para linha final. Ele empurra o cursor para iniciar a impressão na próxima linha. O} marca o fim 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 ().

Operadores lógicos

Os operadores lógicos combinam 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:

Operador Descrição
&& operador lógico AND.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.Ele reverte o estado lógico do operando. Se o operando for verdadeiro, o! operador torna falso.

Por exemplo:

 #include using namespace std; int main() c> d) cout << 'a equals to b OR c is greater than d
'; else cout << 'Neither a is equal to b nor c is greater than d
'; if (!b) cout << 'b is zero
'; else cout << 'b is not zero'; return 0; 

Saída:

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

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar a função main () dentro da qual a lógica do programa deve ser adicionada.
  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 é false.
  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 || (OR) operador em 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. Verificar 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 ().

Operadores bit a bit

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

Operador Descrição
& (AND bit a bit).Leva 2 números (operandos) e executa E em cada bit de dois números. Se ambos forem 1, AND retorna 1; caso contrário, 0.
| (bit a bit OR)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 os dois bits forem diferentes.
<< (left shift) Pega dois números e 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 trocadas.
~ (NÃO bit a bit).Toma o número e então inverte todos os seus bits.
 #include using namespace std; int main() 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 <> 2; cout <>2 is : ' << z << endl; // 15 = 0000 1111 return 0; 

Saída:

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

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  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 como 0.
  7. Executando a operação bit a bit & (AND) nas variáveis ​​peq e armazenando o resultado na variável z.
  8. Imprimir 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. Imprimir 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. Imprimir 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. Imprimir o resultado da operação acima no console junto com outro texto.
  15. Executando a operação de deslocamento à esquerda na variável pe armazenando o resultado na variável z.
  16. Imprimir o resultado da operação acima no console junto com outro texto.
  17. Executando a operação de deslocamento à direita na variável pe armazenando o resultado na variável z.
  18. Imprimir 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 ().

Operadores de atribuição

Os operadores de atribuição atribuem valores às 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 compilador C ++ 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 ++:

Operador Descrição
= (operador de atribuição simples)Ele atribui valor à direita à variável à esquerda.
+ = (Adicionar operador de atribuição AND)Ele primeiro adiciona o valor do operando esquerdo ao valor do operando direito e, em seguida, atribui o resultado à variável à esquerda.
- = (Subtrair E operador de atribuição)Ele primeiro subtrai o valor do operando à direita do valor do operando à esquerda e, em seguida, atribui o resultado à variável à esquerda.
* = (Operador de atribuição E Multiplicar)Ele primeiro multiplica o valor do operando à esquerda pelo valor do operando à direita e, em seguida, atribui o resultado à variável à esquerda.
/ = (Divisão E operador de atribuição)Ele primeiro divide o valor do operando esquerdo pelo valor do operando direito e, em seguida, atribui o resultado à variável à esquerda.

Por exemplo:

 #include using namespace std; int main() { int x = 5; cout << 'Initial value of x is ' << x << '
'; x += 5; cout << 'x += 5 gives :' << x << '
'; x -= 5; cout << 'x -= 5 gives : ' << x << '
'; x *= 5; cout << 'x *= 5 gives :' << x << '
'; x /= 5; cout << 'x /= 5 gives : ' << x << '
'; return 0; } 

Saída:

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

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar a função main () dentro da qual a lógica do programa deve ser adicionada.
  4. O {marca o início do corpo da função main ().
  5. Declarar uma variável inteira x e atribuir a ela um valor 5.
  6. Imprimindo o valor da variável x ao lado de outro texto no console. O n é um caractere de nova linha. Ele 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 ().

Operador misto

Vamos discutir outros operadores compatíveis com 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 using namespace std; int main() { cout<<'Size of int : '<< sizeof(int) << '
'; cout<<'Size of char : ' << sizeof(char) << '
'; cout<<'Size of float : ' << sizeof(float) << '
'; cout<<'Size of double : ' << sizeof(double) << '
'; return 0; } 

Saída:

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

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  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 flutuante usando o operador sizeof e imprimi-lo junto com outro texto no console.
  7. Determinar o tamanho do tipo de dados flutuante 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 ().

Operador de vírgula

O operador vírgula (,) aciona o desempenho de uma sequência de operações. Ele expressa o primeiro operando e descarta o resultado. Em seguida, avalia o segundo operando e retorna o valor e o tipo.

 #include 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:

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  4. Declarando duas variáveis ​​inteiras x e y.
  5. Atribuindo à variável y um valor de 100.
  6. Incrementando o valor de y e atribuindo o resultado à variável x. Ele começa com y em 100 e, em seguida, 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 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 ().

Operador Condicional

Este operador avalia uma condição e age com base no resultado da avaliação.

Sintaxe:

 Condition ? Expression2 : Expression3; 

Parâmetros:

  • A Condição é a condição que deve ser avaliada.
  • Expression1 é 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 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:

Explicação do código:

  1. Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
  2. Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
  3. Chamar 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 ().
  4. Declarando duas variáveis ​​inteiras a e b. À variável a foi atribuído 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 ().

Precedência de operadores

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 de operadores em C ++, com precedência decrescente da esquerda para a direita:

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

Resumo:

  • Operadores são símbolos 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.
  • 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 em operandos.
  • Operadores bit a bit nos ajudam 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 age com base no resultado.