Enunciado

Supondo que x = 4, y = 6 e z = -1, qual valor logico das seguintes expressões:

  1. if (x == 5)
  2. if (x == 5 || z
  3. if (y – x + z – 1 )
  4. if (x == 4 || y >= z && ! (z))

Passo 1

Beleza pessoal. Estão todos prontos para aprenderem mais um pouco da Linguagem C? Espero que sim, então abram seus compiladores e vamos começar.

A questão é de certa forma simples, porém temos que ter em mente os significados dos operadores lógicos e o grau de prioridade de cada um antes de resolvermos essas questões. O operado == é um operador de comparação, o operador && significa e, já o comparador || significa ou, por último temos o ! que é o operador de negação.

Passo 2

Dito isso, vamos para a resolução.

  1. False. Pois aqui estamos comparando o 4 com o 5, e esse valores não são iguais, sendo assim recebemos um false.
  2. True. Aqui temos um comparado ou, aqui temos duas chances de recebermos True. Ou X é igual a 5 ou z é menor que 0. Como o último ocorre, recebemos um True.
  3. False. Aqui temos uma expressão matemática que nos retorna o valor 0. O valor 0 presenta o False, por isso o resultado logico é esse.
  4. True. Temos aqui a combinação de operadores lógicos. Logo de cara temos que X é igual a 4, então todo o resto da operação não é necessária, pois já temos nossa verdade em um ambiente onde o operador || vem primeiro do &&.

Resposta

  1. False
  2. True
  3. False
  4. True