Skip to content

Latest commit

 

History

History
293 lines (199 loc) · 8.21 KB

2.Conditions_loops.md

File metadata and controls

293 lines (199 loc) · 8.21 KB

Condição booleana if``else

Em C, as instruções if e else são usadas para controlar o fluxo do programa com base em condições. Elas permitem que você execute diferentes blocos de código dependendo se uma condição é verdadeira ou falsa.

if (condição) {
  // bloco de código a ser executado se a condição for verdadeira
} else {
  // bloco de código a ser executado se a condição for falsa (opcional)
}

Componentes:

  • condição: Uma expressão booleana que deve ser avaliada como verdadeira (não zero) ou falsa (zero) para determinar qual bloco de código será executado.
  • bloco de código: Um conjunto de instruções que serão executadas se a condição for verdadeira (bloco if) ou falsa (bloco else).
#include <stdio.h>

int main() {
    int numero = 10;

    if (numero > 0) {
        printf("O número é positivo.\n");
    } else {
        printf("O número é negativo ou zero.\n");
    }

    return 0;
}

Instrução switch

switch em C é usada para realizar uma selecção entre várias alternativas com base no valor de uma expressão. É uma forma mais organizada e eficiente de lidar com múltiplas opções do que uma série de instruções if e else if. A estrutura básica do switch é a seguinte:

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;
    // Outros casos possíveis...
    default:
        // Código a ser executado se expressao não corresponder a nenhum dos valores anteriores
        break;
}
#include <stdio.h>

int main() {
    int opcao = 2;

    switch (opcao) {
        case 1:
            printf("Opção 1 selecionada.\n");
            break;
        case 2:
            printf("Opção 2 selecionada.\n");
            break;
        case 3:
            printf("Opção 3 selecionada.\n");
            break;
        default:
            printf("Opção inválida.\n");
            break;
    }

    return 0;
}

Exemplo simples de como usar switch em C:

#include <stdio.h>

int main() {
    int option = 2;

    switch (option) {
        case 1:
            printf("Opção 1 selecionada.\n");
            break;
        case 2:
            printf("Opção 2 selecionada.\n");
            break;
        case 3:
            printf("Opção 3 selecionada.\n");
            break;
        default:
            printf("Opção inválida.\n");
            break;
    }

    return 0;
}

Vantagens do uso de switch:

  • Melhora a legibilidade: O switch torna o código mais organizado e fácil de ler, especialmente quando comparado a longas cadeias de instruções if-else if.
  • Manutenção facilitada: Adicionar ou remover casos é simples, pois cada condição e seu código associado ficam agrupados.
  • Eficiência: Em alguns casos, o switch pode ser mais eficiente que encadeamentos de if-else if devido à optimizações realizadas pelo compilador.

Observações:

  • Os valores nos casos (case) devem ser constantes e do mesmo tipo que a expressão sendo avaliada.
  • O break é crucial para evitar a execução descontrolada de casos subsequentes.
  • O bloco default é opcional, mas recomendado para lidar com valores inesperados da expressão.

Instrução while

O loop while em C que permite executar um bloco de código repetidamente enquanto uma determinada condição permanecer verdadeira. É particularmente útil quando você não sabe de antemão quantas vezes precisa repetir o código ou quando o número de repetições depende de uma condição dinâmica.

#include <stdio.h>

int main() {
    int i = 0; // Inicialização

    while (i < 5) { // Condição: loop até que i chegue a 5
        printf("Valor de i: %d\n", i);
        i++; // Incrementa i para a próxima iteração
    }

    printf("Loop finalizado.\n");
    return 0;
}

Instrução do-while

O do-while é uma estrutura de controle de repetição, assim como o while e o for. A diferença é que o do-while garante que o bloco de código dentro dele seja executado pelo menos uma vez, mesmo que a condição especificada seja falsa desde o início.

int i = 0;

do {
  printf("Número: %d\n", i);
  i++;
} while (i < 5);```

Vantagens:

  • Garante que o bloco de instruções seja executado pelo menos uma vez, mesmo que a condição seja inicialmente falsa.
  • Útil em situações onde a acção precisa ser executada pelo menos uma vez antes de verificar a condição.

Desvantagens:

  • Pode levar à execução desnecessária do bloco de instruções, caso a condição seja falsa na primeira verificação.
  • Requer atenção especial para evitar loops infinitos, pois a condição é testada após a execução do bloco.

Instrução while

O loop while em C que permite executar um bloco de código repetidamente enquanto uma determinada condição permanecer verdadeira. É particularmente útil quando você não sabe de antemão quantas vezes precisa repetir o código ou quando o número de repetições depende de uma condição dinâmica.

#include <stdio.h>

int main() {
    int i = 0; // Inicialização

    while (i < 5) { // Condição: loop até que i chegue a 5
        printf("Valor de i: %d\n", i);
        i++; // Incrementa i para a próxima iteração
    }

    printf("Loop finalizado.\n");
    return 0;
}

Instrução do-while

O do-while é uma estrutura de controle de repetição, assim como o while e o for. A diferença é que o do-while garante que o bloco de código dentro dele seja executado pelo menos uma vez, mesmo que a condição especificada seja falsa desde o início.

int i = 0;

do {
  printf("Número: %d\n", i);
  i++;
} while (i < 5);```

Vantagens:

  • Garante que o bloco de instruções seja executado pelo menos uma vez, mesmo que a condição seja inicialmente falsa.
  • Útil em situações onde a ação precisa ser executada pelo menos uma vez antes de verificar a condição.

Desvantagens:

  • Pode levar à execução desnecessária do bloco de instruções, caso a condição seja falsa na primeira verificação.
  • Requer atenção especial para evitar loops infinitos, pois a condição é testada após a execução do bloco.

Instrução for

O loop for é uma estrutura de repetição fundamental na linguagem C. Ele permite executar um bloco de código várias vezes, de forma controlada.

for (inicialização; condição; incremento) {
  // bloco de código a ser repetido
}
  • inicialização: Esta expressão é executada apenas uma vez, no início do loop. É comum usada para inicializar uma variável de controle que será utilizada para contar o número de iterações.
  • condição: Esta expressão é avaliada antes de cada iteração do loop. Se a condição for verdadeira, o bloco de código é executado. Se a condição for falsa, o loop termina.
  • incremento: Esta expressão é executada após cada iteração do loop. É comum usada para atualizar a variável de controle para a próxima iteração.
#include <stdio.h>

int main() {
  int i;

  for (i = 1; i <= 5; i++) {
    printf(" repetição número %d\n", i);
  }

  return 0;
}

Instrução continue e break

continue e break são utilizados para alterar o fluxo de execução dentro de laços de repetição (for, while, do-while) e também no comando switch-case em C.

  • break:

    • Interrompe imediatamente o loop de repetição em que está inserido.
    • O programa continua a execução a partir da instrução seguinte ao loop.
  • continue:

    • Interrompe a iteração actual do loop de repetição em que está inserido.
    • O programa pula para a avaliação da condição do loop e, se verdadeira, executa a próxima iteração.

Exemplo demonstrando o uso de break e continue:

  #include <stdio.h>

int main() {
  for (int i = 1; i <= 10; i++) {
    if (i == 5) {
      break; // Sai do loop quando i for igual a 5
    }
    if (i % 2 == 0) {
      continue; // Pula para a próxima iteração se i for par
    }
    printf(" repetição ímpar número %d\n", i);
  }

  return 0;
}