Operadores em C++ com Exemplo:O que é, Tipos e Programas
O que são Operadores?
Um operador é um símbolo usado para realizar 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 realizar diferentes operações.
Considere a seguinte operação:
a = x + y;
Na declaração acima, xey são os operandos enquanto + é um operador de adição. Quando o compilador C++ encontrar a instrução acima, ele adicionará x e y e armazenará o resultado na variável a.
Neste tutorial de C++, você aprenderá:
- O que são Operadores?
- Tipos de operadores em C++
- Operadores aritméticos
- Operadores Relacionais
- Operadores lógicos
- Operadores bit a bit
- Operadores de atribuição
- Outros operadores
- operador sizeof
- Operador de vírgula
- Operador condicional
- Precedência de operadores
Tipos de operadores em C++
Existem principalmente 6 tipos diferentes de operadores em C++
- Operadores aritméticos
- Operadores Relacionais
- Operadores lógicos
- Operadores bit a bit
- Operadores de atribuição
- Outros operadores
Operadores aritméticos
Eles são os tipos de operadores usados para realizar operações matemáticas/aritméticas. Eles incluem:
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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 como 11.
- Declarando uma variável inteira b e inicializando-a como 5.
- Declarando uma variável inteira c.
- Impressão do valor da operação a+b junto com outro texto no console.
- Imprimindo o valor da operação a-b junto com outro texto no console.
- Impressão do valor da operação a*b ao lado de outro texto no console.
- Impressão do valor da operação a/b junto com outro texto no console.
- Impressão do valor da operação a%b ao lado de outro texto no console.
- Impressão do valor da operação a++ ao lado de outro texto no console.
- Impressão do valor da operação a– 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().
Operadores Relacionais
Esses tipos de operadores realizam comparações em operandos. Por exemplo, você pode precisar saber qual operando é maior que o outro ou menor que o outro. Eles incluem:
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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 como 11.
- Declarando uma variável inteira b e inicializando-a como 5.
- Imprimindo algum texto no console informando os valores das variáveis a e b.
- Executando a operação aritmética, a==b em uma instrução if de tomada de decisão para saber se é verdadeira ou falsa. O { marca o início do corpo da instrução if.
- 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 começar a imprimir na próxima linha. O } marca o final do corpo da instrução if.
- A outra parte da instrução if acima. Indica o que fazer se a operação a==b for falsa.
- 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 começar a imprimir na próxima linha. O } marca o final do corpo da instrução else.
- Realizando a operação aritmética, a
- Texto a ser impresso no console se a operação a
- A outra parte da instrução if acima. Indica o que fazer se a operação a
- Texto a ser impresso no console se a operação a
- Executando a operação aritmética a>b em uma instrução de tomada de decisão if para saber se é verdadeira ou falsa. O { marca o início do corpo da instrução if.
- 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 começar a imprimir na próxima linha. O } marca o final do corpo da instrução if.
- A outra parte da instrução if acima. Indica o que fazer se a operação a>b for falsa.
- 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 começar a imprimir na próxima linha. O } marca o final do corpo da instrução else.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
- Texto a ser impresso no console se a operação a
Operadores lógicos
Os 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:
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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 4 variáveis inteiras a, b, c e d e atribuindo-lhes valores diferentes.
- Usando o operador &&(AND) dentro da instrução if. Ele une duas condições, valor de a é igual ao valor de b e, valor de a é maior que valor de b. A primeira condição é falsa, a segunda condição é verdadeira. False&&true é False, portanto, o resultado de if é false.
- Texto a ser impresso no console se a instrução if acima for verdadeira. Isso não será executado.
- 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.
- Usando o || (OR) dentro de uma instrução if. Ele une duas condições, valor de a é igual ao valor de b e, valor de a é maior que valor de b. A primeira condição é falsa, a segunda condição é verdadeira. False||true é True, portanto, o resultado de if é true.
- Texto a ser impresso no console se a instrução if acima for verdadeira. Isso será executado.
- 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.
- Verificando se o valor da variável é 0.
- Texto a ser impresso no console se a instrução if acima for verdadeira. Isso não será executado.
- 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().
Operadores bit a bit
Operadores bit a bit realizar operações em nível de bit em operandos. Primeiro, os operadores são convertidos em nível de bit e, em seguida, 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 bits, os resultados podem ser alcançados mais rapidamente. Eles incluem:
#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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 sem sinal p e atribuindo a ela um valor de 60, ou seja, 0011 1100 em binário.
- Declarando uma variável inteira sem sinal q e atribuindo a ela um valor de 13, ou seja, 0000 1101 em binário.
- Declarando uma variável inteira z e inicializando-a com 0.
- Executando a operação bit a bit &(AND) nas variáveis p e q e armazenando o resultado na variável z.
- Imprimir 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.
- Imprimir o resultado da operação acima no console junto com outro texto.
- Executando a operação bit a bit ^ (XOR) nas variáveis p e q e armazenando o resultado na variável z.
- Imprimir o resultado da operação acima no console junto com outro texto.
- Executando a operação bit a bit ~ (NOT) nas variáveis p e q e armazenando o resultado na variável z.
- Imprimir o resultado da operação acima no console junto com outro texto.
- Executando a operação de deslocamento à esquerda na variável p e armazenando o resultado na variável z.
- Imprimir 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.
- Imprimir 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().
Operadores de Atribuição
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 compilador C++ gerará um 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++:
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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 x e atribuindo a ela um valor de 5.
- Imprimindo o valor da variável x ao lado de outro texto no console. O \n é um caractere de nova linha. Move o cursor para a próxima linha ao imprimir.
- 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.
- Subtrair 5 do valor de x e atribuir o resultado à variável x.
- Imprimindo o valor da variável x no console junto com outro texto.
- Multiplicando o valor da variável x por 5 e atribuindo 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 Operadores
Outros operadores incluem o operador sizeof, Operador de vírgula, Operador condicional e Precedência de operadores.
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:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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().
- Determinando o tamanho do tipo de dados inteiro usando o operador sizeof e imprimindo-o junto com outro texto no console.
- Determinando o tamanho do tipo de dados de caractere usando o operador sizeof e imprimindo-o junto com outro texto no console.
- Determinando o tamanho do tipo de dados float usando o operador sizeof e imprimindo-o junto com outro texto no console.
- Determinando o tamanho do tipo de dados float usando o operador sizeof e imprimindo-o 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().
Operador de vírgula
O operador de vírgula (,) aciona a execução de uma sequência de operações. Expressa o primeiro operando e descarta o resultado. Em seguida, ele 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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 duas variáveis inteiras x e y.
- Atribuindo à variável y um valor de 100.
- 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.
- 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().
Operador condicional
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.
- Expressão3 é 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:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar 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 duas variáveis inteiras a e b. A variável a recebeu o valor 1.
- 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.
- 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().
Precedência de Operadores
Uma única operação pode ter mais de um operador. Nesse caso, a precedência do operador determina o primeiro avaliado.
A lista a seguir mostra a precedência dos operadores em C++, com precedência decrescente da esquerda para a direita:
(), [],*, /, %, +/-, <<,>>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=
Resumo:
- Os 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.
- 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 em operandos.
- Os 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 de vírgula executa uma sequência de operações.
- O operador condicional avalia uma condição e age com base no resultado.
Linguagem C
- O que é um BioChip e tipos de BioChips
- Operadores C#
- Operadores C++
- Instrução C++ Switch Case com EXEMPLO
- Alocação dinâmica de matrizes em C++ com exemplo
- Sobrecarga do operador C++ com exemplos
- Estrutura C++ com exemplo
- std::list em C++ com exemplo
- Diferença entre estrutura e classe:explicada com exemplo de C++
- Tutorial de classe abstrata C# com exemplo:O que é abstração?