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 de else 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 ou else 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.