Linguagem C 25.ª Edição Atualizada e Aumentada FCA Editora (c) 2025
3
EXERCÍCIOS PROPOSTOS – SOLUÇÃO 3.1
As variáveis do tipo float ou double podem conter erros de arredondamento, devido ao conjunto de operações a que poderão ter sido sujeitas e devido ao formato usado para a sua representação em memória. Pode acontecer que uma variável contenha um valor próximo de 0.0 (por exemplo, 0.00000001), o que representa, então, verdade, e não falso, como seria esperado pelo programador.
3.2 a) Verdade. b) Verdade. É a própria estrutura da linguagem que o determina. c) Falso. d) Verdade. Mesmo um bloco é considerado uma única instrução, apesar de poder conter várias instruções no seu interior. e) Falso. O programador organiza o código como bem entender. f) Verdade. Qualquer delas tem associado um valor que pode ser analisado e avaliado como valor lógico.
3.3
A instrução if-else contém apenas uma instrução a seguir ao if. O compilador verifica se, a seguir a essa instrução, aparece a palavra else. Caso não apareça, é porque o if terminou (isto é, não tem else) e a próxima instrução não pertence ao if. O mesmo se passa em relação ao else.
3.4
Sim, nada o impede.
3.5
Não.
3.6
Sim. O extrato da esquerda verifica se x é igual a zero. Caso seja, escreve a string XXX, senão, escreve YYY. O extrato da direita não faz um teste, mas uma atribuição do valor zero a x, alterando o valor da variável. Como em C qualquer atribuição devolve o valor atribuído, o valor da atribuição é zero, sendo este o valor que vai ser avaliado pela instrução if. Como em C zero representa falso, o programa vai sempre escrever YYY no ecrã, independentemente do valor presente inicialmente na variável x. Acresce o facto de a variável x ser alterada e ficar com o valor zero.
3.7
d) Leitura do código.
3.8
c) Mais legível do que outro que não esteja indentado.
3.9
d) Um compilador não faz qualquer tipo de verificação da indentação.
3.10 Vantagens: ■
A instrução if-else permite o teste de condições que não estão limitadas a valores constantes;
© FCA
1