Se
Na página anterior, conhecemos o conceito de condições, de fundamental importância para a programação. Agora, veremos a estrutura condicional SE (if
, em inglês). A lógica de funcionamento dessa estrutura condicional, em português, é a seguinte:
SE condicao FOR VERDADEIRA
execute determinadas ações
👨🏽💻 Do conceito ao código
if
Na linguagem de programação C, uma estrutura condicional if
é representada da seguinte forma:
if(condicao){
// ações;
}
No fragmento de código acima, os comandos que estão entre chaves só serão executados se a condição apresentada dentro do if
for verdadeira.
Como exemplo prático de um programa, vamos imaginar a seguinte situação: o usuário deve informar um valor inteiro entre 0 e 10. Se o valor informado pelo usuário estiver dentro do intervalo, escreveremos uma mensagem de parabéns.
#include<stdio.h>
int main(void){
int num;
printf("Digite um numero: \n");
scanf("%d", &num);
if(num>=0 && num <=10){
printf("Numero correto!");
}
return 0;
}
Execute o programa acima diversas vezes, alternando os valores informados. Ora com valores no intervalo de 0 a 10, ora com valores fora do intervalo.
else
Muitas vezes, não estamos interessados em executar ações apenas quando uma determinada condição for verdadeira. Se ela não for verdadeira, é comum precisarmos executar alguma outra ação.
No programa utilizado como exempo no caso anterior, observe que, quando informamos um valor inválido, nada acontece. É preciso, no mínimo, informar ao usuário que o valor digitado está fora do intervalo.
Para isso, podemos utilizar a estrutura else
, que deve ser usada após uma estrutura if
.
if(condicao){
// ações caso seja verdade;
}
else{
// ações caso não seja verdade
}
Agora, adaptando o programa anterior, temos:
#include<stdio.h>
int main(void){
int num;
printf("Digite um numero: \n");
scanf("%d", &num);
if(num>=0 && num <=10){
printf("Numero correto!");
}
else{
printf("Numero fora do intervalo!\n");
}
return 0;
}
Execute o programa novamente, incluindo essas alterações, e verifique as possibilidades.
else if
As aplicações de if
que vimos até aqui podem parecer um pouco extremistas. Com a estrutura else if
, podemos customizar o programa para verificar outras condições antes de executar o else
. A sintaxe do else if
é muito parecida com a sintaxe do if
:
else if(condicao){
//
}
O formato final deve ser o seguinte:
if(condicao){
// ações caso seja verdade;
}
else if(condicao2){
// ações caso seja verdade;
}
else{
// ações caso não seja verdade
}
Adaptando o programa do exemplo anterior com a inclusão do else if
, temos:
#include<stdio.h>
int main(void){
int num;
printf("Digite um numero: \n");
scanf("%d", &num);
if(num>=0 && num <=10){
printf("Numero correto!");
}
else if(num>10){
printf("Numero maior que 10!");
}
else{
printf("Numero negativo!\n");
}
return 0;
}
Novamente, execute o programa diversos valores para acompanhar a mudança em seu comportamento.
🚧 Considerações importantes
Há algumas informações importantes que precisamos ter em mente:
- o uso de
else
, assim como o deelse if
, não é obrigatório (deve-se identificar quando suas aplicações são necessárias); - se as ações de um bloco
if
,else if
ouelse
tiverem apenas uma linha, o uso de chaves não é obrigatório, mas é fortemente recomendado.
📖 Bibliografia
Livros
- Backes, A. (2018). Linguagem C - Completa e Descomplicada.