Baixe o app para aproveitar ainda mais
Prévia do material em texto
1) Expressões Qualquer coisa que retorne um valor é uma expressão em C++. 2) Precedência x = 5 + 3 * 8; o que é executado primeiro, a adição ou a multiplicação? Se a adição for executada primeiro, a resposta será 8 * 8, ou seja, 64. Se a multiplicação for executada primeiro, a resposta será 5 + 24, ou seja, 29. A multiplicação tem uma precedência maior do que a adição e, portanto, o valor da expressão acima é 29. Quando dois operadores matemáticos têm a mesma precedência, eles são executados da esquerda para a direita. Dessa forma, em: x = 5 + 3 + 8 * 9 + 6 * 4; x = 5 + 3 + 72 + 24; 3) Precedência dos operadores Ordem de precedência Operador 1º - Menos unário ++ Incremento pré-fixado e pós-fixado -- Decremento pré-fixado e pós-fixado ! Lógico NÃO 2º * Multplicação aritmética / Divisão aritmética % Módulo artimérico 3º + Soma aritmética - Subtração aritmética 4º < Menor relacional <= Menor ou igual relacional >= Maior ou igual relacional > Maior relacional 5º == Igual relacional != Diferente relacional 6º && E lógico 7º || OU lógico Mais exemplos: 1) x = 3 * a++ - b Þ (3 * (a++)) - b 2) y = 3 * --a - b Þ (3 * (--a)) - b 3) z = a * b++ Þ a * (b ++) 4) w = a + b * c ¹ w = (a+b) * c 4) Operadores relacionais Fazem comparações Operador Teste Exemplo == Se dois valores são iguais (nota == 100) != Se dois valores não são iguais (velho != novo) > Se o primeiro valor é maior que o segundo valor (custo > 50) < Se o primeiro valor é menor que o segundo valor (salorio < 100) >= Se o primeiro valor é maior ou igual ao segundo valor (preco >= 120) <= Se o primeiro valor é menor ou igual ao segundo valor (idade <= 21) Exemplos a) verdadeiro = 15 < 20; b) falso = 15 == 20; c) verdadeiro = 15 != 20; 5) Operadores lógicos Realizam operações lógicas Operador Significado ! Não && E || Ou Exemplos: int a=3; int b=4; bool c=a==b; // inicializa a variavel c com false bool d=a!=b; // inicializa a variavel d com true c=a<b; //atribui true a variavel c bool a=true; bool b=false; bool c=a&&b; //inicializa c com valor false bool d=a||b; //inicializa d com valor true 6. Operadores aritméticos especiais A += X; é o mesmo que A = A + X; A -= X; é o mesmo que A = A - X; A *= X; é o mesmo que A = A * X; A /= X; é o mesmo que A = A / X ; A %= X; é o mesmo que A = A % X; 7. Operadores aritméticos de incremento/decremento de uma unidade Pré-Fixados: ++A; adiciona uma unidade à variável A --A; subtrai uma unidade da variável A Pós-Fixados: A++; adiciona uma unidade à variável A A--; subtrai uma unidade da variável A A pré-fixação e a pós-fixação só diferem quando estiverem dentro de outra instrução. Nesse caso o incremento ou decremento ocorre antes (pré-fixação) ou depois (pós-fixação) da execução da instrução. EXERCÍCIOS SOBRE OPERADORES 1) Qual o valor das variáveis x, y, i, j, a, c em cada uma das expressões abaixo. a) x = (2 +1) * 6 b) x = 2 + 1 * 6 c) y = (5 + 1) / 2 * 3 d) i = j = (2 + 3) / 4 e) a = 3 + 2 * (b = 7 / 2) f) c = 5 + 10 % 4 / 2 2) Qual o valor das expressões? a) 1 > 2 b) !( 1> 2) c) 3 == 2 d) ! (-5) e) ‘j’ != ‘j’ f) ‘j’ != ‘j’ + 2 g) ‘j’ != ‘j’ == ‘j’ 3) Qual o valor de k após cada atribuição? int k, j = 3; k = j == 3; k = 1 + ( j = j+2); k = (1 && j) || 0; k = (1 || j) && 0; 4) Dado que: int i = 1, j = 2, k = 3, n = 2; float x = 3.3, y = 4.4; indique o valor de cada uma das expressões abaixo a) i < j + 3 b) 2 * i - 7 <= j - 8 c)-x + y >= 2.0 * y d) x == y e) x != y f) i + j + k == -2 * -k g) !( n-j) h) !n -j i) !x * !x j) i && j && k
Compartilhar