Operadores C ++ com exemplos

Índice:

Anonim

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á:

  • O que são operadores?
  • Operadores aritméticos
  • Operadores relacionais
  • Operadores lógicos
  • Operadores bit a bit
  • Operadores de atribuição
  • Operador misto
    • operador sizeof
    • Operador de vírgula
    • Operador Condicional
  • Precedência de operadores

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ção Adiciona aos operandos.
- operador de subtração Subtrai o operando do operando.
* operador de multiplicação Multiplica 2 operandos.
/ operador de divisão. Divide o numerador pelo denominador.
operador% modulus 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 using namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}

Resultado:

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. Declarar uma variável inteira be inicializá-la como 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 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 operador Verifica a igualdade de dois valores de operando.
> ótimo do que o operador Verifica 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 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 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;}

Resultado:

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. Declarar uma variável inteira be inicializá-la como 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 final do corpo da instrução else.
  11. Executando a operação aritmética, a
  12. Texto a ser impresso no console se a operação a
  13. A outra parte da instrução if acima. Ele afirma o que fazer se a operação a
  14. Texto a ser impresso no console se a operação a
  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 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 ().

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-o falso.

Por exemplo:

#include 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";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}

Resultado:

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.
<< (deslocamento para a esquerda) 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() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}

Resultado:

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 variáveis ​​de inteiro sem sinal q e atribuir a ele um valor de 13, que é 0000 1101 em binário.
  6. Declarar uma variável inteira z e inicializá-la como 0.
  7. Executar a operação bit a bit & (AND) nas variáveis ​​peq e armazenar 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. Executar a operação bit a bit ~ (NOT) nas variáveis ​​peq e armazenar 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) Primeiro, ele 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 Multiplicação) 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 << "\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;}

Resultado:

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) << "\n";cout<<"Size of char : " << sizeof(char) << "\n";cout<<"Size of float : " << sizeof(float) << "\n";cout<<"Size of double : " << sizeof(double) << "\n";return 0;}

Resultado:

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, ele 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;}

Resultado:

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 ya o 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;}

Resultado:

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. 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 ().

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.