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 2º operando do 1º 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:
#includeusing 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:
- 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.
- 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 ().
- Declarar uma variável inteira a e inicializá-la como 11.
- Declarar uma variável inteira be inicializá-la como 5.
- Declarando uma variável inteira c.
- Imprimindo o valor da operação a + b junto com outro texto no console.
- Imprimindo o valor da operação ab junto com outro texto no console.
- Imprimindo o 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.
- Imprimindo o valor da operação a% b ao lado de outro texto no console.
- Imprimindo o valor da operação a ++ ao lado de outro texto no console.
- Imprimindo o valor da operação a - ao lado de 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 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:
#includeusing 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:
- 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.
- 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 ().
- Declarar uma variável inteira a e inicializá-la como 11.
- Declarar uma variável inteira be inicializá-la como 5.
- Imprimir algum texto no console informando os valores das variáveis a e b.
- 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.
- 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.
- A outra parte da instrução if acima. Ele afirma 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 iniciar a impressão na próxima linha. O} marca o final do corpo da instrução else.
- Executando 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. Ele afirma o que fazer se a operação a
- Texto a ser impresso no console se a operação a
- 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.
- 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.
- A outra parte da instrução if acima. Ele afirma 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 iniciar a impressão 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 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:
#includeusing 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:
- 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.
- 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 ().
- Declarar 4 variáveis inteiras a, b, c e d e atribuir-lhes valores diferentes.
- 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.
- 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) 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.
- 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.
- Verificar 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 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. |
#includeusing 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:
- 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.
- 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 ().
- Declarar uma variável inteira sem sinal p e atribuir a ela um valor de 60, que é 0011 1100 em binário.
- Declarar variáveis de inteiro sem sinal q e atribuir a ele um valor de 13, que é 0000 1101 em binário.
- Declarar uma variável inteira z e inicializá-la como 0.
- Executar a operação bit a bit & (AND) nas variáveis peq e armazenar 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 peq e armazenando o resultado na variável z.
- Imprimir o resultado da operação acima no console junto com outro texto.
- Executar a operação bit a bit ~ (NOT) nas variáveis peq e armazenar 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 pe 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 à direita na variável pe 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
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:
#includeusing 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:
- 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.
- 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 ().
- Declarar uma variável inteira x e atribuir a ela um valor 5.
- 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.
- 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.
- Subtraindo 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.
- 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.
- Dividindo 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.
- A função main () deve retornar um valor se o programa funcionar bem.
- 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:
#includeusing 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:
- 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.
- 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 ().
- Determinar o tamanho do tipo de dados inteiro usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados de caractere usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados flutuante usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados flutuante 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 ().
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.
#includeusing 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:
- 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.
- 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 ().
- Declarando duas variáveis inteiras x e y.
- Atribuindo à variável ya o 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 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 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:
#includeusing 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:
- 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.
- 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 ().
- 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 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.