Estrutura de decisão


Na linguagem de programação C, as estruturas de decisão são utilizadas para controlar o fluxo do programa com base em condições lógicas. As estruturas de decisão mais comuns são o if, o else if (opcional), o else e o switch-case.

Estrutura if

A estrutura if é usada para executar um bloco de código somente se a condição especificada for verdadeira.

Sintaxe:

if (condicao) {
    // código a ser executado se a condição for verdadeira
}

Exemplo:

int numero = 10;
 
if (numero > 5) {
    printf("O número é maior do que 5.\n");
}

Estrutura else

A estrutura else é usada para executar um bloco de código quando a condição no if não for verdadeira. Ela não testa nenhuma condição adicional, apenas executa o código se as condições anteriores não forem verdadeiras.

Sintaxe:

if (condicao) {
    // código a ser executado se a condição for verdadeira
} else {
    // código a ser executado se a condição não for verdadeira
}

Exemplo:

int numero = 3;
 
if (numero > 5) {
    printf("O número é maior do que 5.\n");
} else {
    printf("O número não é maior do que 5.\n");
}

Estrutura else if

A estrutura else if é usada para testar várias condições consecutivas se a condição anterior não for verdadeira. Ela é opcional e pode ser usada várias vezes.

Sintaxe:

if (condicao1) {
    // código a ser executado se a condição1 for verdadeira
} else if (condicao2) {
    // código a ser executado se a condição2 for verdadeira
} else {
    // código a ser executado se nenhuma das condições anteriores for verdadeira
}

Exemplo:

int numero = 10;
if (numero > 15) {
    printf("O número é maior do que 15.\n");
} else if (numero > 5) {
    printf("O número é maior do que 5, mas não maior que 15.\n");
} else {
    printf("O número é menor ou igual a 5.\n");
}

Estrutura switch

A estrutura switch é usada para criar uma seleção múltipla com base no valor de uma expressão. Ela é especialmente útil quando você deseja avaliar uma variável ou expressão em relação a uma série de valores possíveis e executar diferentes blocos de código correspondentes.

Sintaxe:

switch (expressao) {
    case valor1:
        // código a ser executado se expressao for igual a valor1
        break;
    case valor2:
        // código a ser executado se expressao for igual a valor2
        break;
    // mais cases se necessário
    default:
        // código a ser executado se nenhum dos valores acima corresponder
}

Cada case representa um valor possível para a expressão testada. Quando a expressão coincide com o valor específico no case, então o bloco de código correspondente é executado até que um break seja encontrado ou quando acabar o bloco switch.

A declaração default é opcional e é executado quando nenhum dos valores especificados coincide com a expressão.

Exemplo:

int diaDaSemana = 3;
 
switch (diaDaSemana) {
    case 1:
        printf("Domingo\n");
        break;
    case 2:
        printf("Segunda-feira\n");
        break;
    case 3:
        printf("Terça-feira\n");
        break;
    case 4:
        printf("Quarta-feira\n");
        break;
    case 5:
        printf("Quinta-feira\n");
        break;
    case 6:
        printf("Sexta-feira\n");
        break;
    case 7:
        printf("Sábado\n");
        break;
    default:
        printf("Dia inválido\n");
}

O switch é útil quando você precisa fazer uma seleção entre várias opções diferentes com base em um valor específico.

Operador Ternário

O operador ternário, também conhecido como operador condicional, é uma forma compacta de expressar uma estrutura de decisão simples em uma única linha. Ele é frequentemente usado para atribuir um valor a uma variável com base em uma condição.

Sintaxe:

expressao_condicional ? valor_se_verdadeiro : valor_se_falso;

Se a expressao_condicional for verdadeira, o valor atribuído será valor_se_verdadeiro. Caso contrário, o valor atribuído será valor_se_falso.

Exemplo:

int idade = 18;
char* status = (idade >= 18) ? "Maior de idade" : "Menor de idade";

Nesse exemplo, a variável status receberá a string “Maior de idade” se a idade for maior ou igual a 18, caso contrário, receberá a string “Menor de idade”.

O operador ternário é uma maneira eficiente e concisa de lidar com decisões simples, economizando linhas de código e mantendo a legibilidade. No entanto, é importante usá-lo com moderação para não prejudicar a legibilidade do código.

Referências