Jiraspiom

Blog Pessoal

Lição 03

Lição 3 – Operadores, Identificadores e Símbolos

Tentativa: 2

Os Operadores

atribuição:

Usados para atribuir um valor para a variável.

Operadores aritméticos

Operadores que correspondem às suas respectivas operações matemáticas. São elas:

+ adição
subtração
* multiplicação
/ divisão

, ressaltando que o módulo é o resto da divisão de um valor pelo outro.

Combinados

Usados quando queremos modificar o valor da variável executando uma operação no valor atualmente armazenado nela. São eles: +=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=.

Exemplos:

x += 3; //x=x+3
x -= 3; //x=x-3
x = 3; //x=x*3
x /= 3; //x=x/3
x %= 3; //x=x%3

Incremento e decremento

Usados para incrementar ou decrementar em uma unidade o valor armazenado na variável. São, portanto, equivalentes:

x += 1;
x++;
x = x + 1;

ou

x -= 1;
x–;
x = x – 1;

OBS: Note a diferença existente entre os dois exemplos seguintes, onde no primeiro é usado como prefixo e no segundo é usado como sufixo:

1 2
A=++B;
//A armazena 4, B armazena 4
A=B++;
//A armazena 3, B armazena 4

Relacionais

Usados para avaliar uma comparação entre dois valores. Retornam um booleano true ou false.

São eles: ==, !=, >, <, >=, <=.

== É igual a…
!= Não é igual a…
> É maior que…
< É menor que…
>= É maior ou igual a…
<= É menor ou igual a…

Exemplos:

(7 == 5) // retorna false

(5 > 4) // retorna true

(3 != 2) // retorna true

(6 >= 6) // retorna true

(5 < 5) // retorna false.

Lógicos

Usados para expressar negação, conjunção ou disjunção. (!, &&, e || respectivamente). Exemplos:

!(3 == 3) // retorna falso pois 3 == 3 é verdade.
!(10 <= 2) // retorna true pois 6 <= 4 retornaria falso.

a=true;b=false
a && b //retorna falso

a=true;b=false;
a || b //retorna true

Condicional (?) e vírgula (,)

O condicional ‘?’ é usado para avaliar uma expressão, retornando um valor (resultado1) se a expressão for verdadeira e um outro valor (resultado2) se ela for falsa. neste formato:

condição ? resultado1 : resultado2

Exemplo:


7==5 ? 4 : 3 // retorna 3, já que 7 não é igual a 5.
7==5+2 ? 4 : 3 // returns 4, since 7 is equal to 5+2.

Já a vírgula é usada para separar duas ou mais expressões que são incluídas onde apenas uma expressão é esperada.

a = (b=4, b+6);

Primeiramente b recebe o valor 4, em seguida atribuído o valor b+6 para a variável ª No final, a tem o valor 10 e b tem o valor 4.

binários

Modificam variáveis considerando os padrões binários que representam os valores que eles armazenam. São eles: &, |, ^, ~, <<, >>.

operador equivalente em assembly descrição
& AND Binário AND.
| OR Binário Inclusivo OR.
^ XOR Binário exclusivo OR.
~ NOT complemento unário (inversão de bit).
<< SHL Desloca para a esquerda (shift left).
>> SHR Desloca para a direita (shift right).

Precedência de Operadores

Ao escrevermos expressões complexas, às vezes fica difícil distinguir qual operador vem primeiro na hierarquia. Há uma ordem de prioridade para cada operador que, da maior para a menor, é esta:


Nível Operador Agrupamento
1 :: esquerda para a direita.
2 () [] . -> ++ — dynamic_cast static_cast reinterpret_cast const_cast typeid esquerda para a direita.
3 ++ — ~ ! sizeof new delete

* &

+ –

direita para a esquerda.
4 (type) direita para a esquerda.
5 * ->* esquerda para a direita.
6 * / % esquerda para a direita.
7 + – esquerda para a direita.
8 << >> esquerda para a direita.
9 < > <= >= esquerda para a direita.
10 == != esquerda para a direita.
11 & esquerda para a direita.
12 ^ esquerda para a direita.
13 | esquerda para a direita.
14 && esquerda para a direita.
15 || esquerda para a direita.
16 ?: direita para a esquerda.
17 = *= /= %= += -= >>= <<= &= ^= |=
direita para a esquerda.
18 , esquerda para a direita.

Outros Operadores

Existem certos operadores que são usados para converter dados de um dado tipo para outro. A maneira mais simples de fazer isso em C++, herdada do C, é a seguinte:

int i;
float f = 3.14;
i = (int) f;


Este código converte um float (3.14) para um inteiro (3). Outra maneira é:

i = int (f);

O último operador a vermos é o sizeof(). Ele aceita 1 parâmetro, que pode ser tanto um tipo ou uma variável e retorna o tamanho em bytes daquele tipo ou objeto.

a = sizeof (char);

Com esse comando, atribuímos o valos 1 a a pois char é um tipo constituído de um byte.

Anúncios
%d blogueiros gostam disto: