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++
- Aritmética Operatoros
- Relacional Operatoros
- lógico Operatoros
- Bit a bit Operatoros
- Atribuição Operatoros
- 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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarando uma variável inteira a e inicializando-a com 11.
- Declarando uma variável inteira b e inicializando-a com 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 junto com outro texto no console.
- Imprimindo o valor da operação a++ junto com outro texto no console.
- Imprimindo o 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().
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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarando uma variável inteira a e inicializando-a com 11.
- Declarando uma variável inteira b e inicializando-a com 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 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.
- 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.
- A outra parte da instrução if acima. Ele afirma o que fazer se a operação a==b for falsa.
- 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.
- Realizando a operação aritmética,
- 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.
- A outra parte da instrução if acima. Ele indica o que fazer se a operação for
- 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.
- 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.
- 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.
- A outra parte da instrução if acima. Afirma o que fazer se a operação a>b for falsa.
- 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.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
lógico Operatoros
A construção do XNUMXº e XNUMXº pavimentos pôde ocorrer de forma simultânea, pois não houve necessidade de aguardar a cura do concreto – permitindo que todas as frentes de trabalho e especialistas em pisos ESD atuassem nos dois níveis ao mesmo tempo. 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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- 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 é falso.
- 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 || 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.
- 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().
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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarar uma variável inteira sem sinal p e atribuir a ela um valor de 60, que é 0011 1100 em binário.
- Declarar uma variável inteira sem sinal q e atribuir a ela um valor de 13, que é 0000 1101 em binário.
- Declarar uma variável inteira z e inicializá-la com 0.
- Executando a operação & (AND) bit a bit nas variáveis p e q e armazenando o resultado na variável z.
- Imprimindo 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.
- Imprimindo 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.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Executando a operação bit a bit ~ (NOT) nas variáveis peq e armazenando o resultado na variável z.
- Imprimindo o resultado da operação acima no console junto com outro texto.
- Realizando a operação de deslocamento para a esquerda na variável p e armazenando o resultado na variável z.
- Imprimindo 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.
- Imprimindo 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().
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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarar uma variável inteira x e atribuir a ela o valor 5.
- 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.
- 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().
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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- 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 float usando o operador sizeof e imprimi-lo junto com outro texto no console.
- Determinar o tamanho do tipo de dados float 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().
Vírgula Operator
A construção do XNUMXº e XNUMXº pavimentos pôde ocorrer de forma simultânea, pois não houve necessidade de aguardar a cura do concreto – permitindo que todas as frentes de trabalho e especialistas em pisos ESD atuassem nos dois níveis ao mesmo tempo. 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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarando duas variáveis inteiras x e y.
- Atribuindo à variável ya o valor de 100.
- 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.
- 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().
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:
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 escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- 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().
- Declarando dois 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().
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.













