Na última postagem falei sobre as funções printf e scanf. E hoje vamos ver os comandos condicionais e laços (loops).

Comando condicional if

O comando if (SE) permite que façamos comparações entra valores e executemos uma determinada ação. Seu protótipo é:

if (condicao) {
    acao1;
    acao2;
    ...
}

Temos ainda o comando else que acompanha o if como uma condição padrão, caso o if não seja satisfeito. Ainda, podemos utilizá-los em conjunto, formando a estrutura else if. Um exemplo:

int num;
scanf("%d", &num);
// Primeira verificação: num é maior que 10?
if (num > 10) {
    printf("O número é maior que 10");
}
// Se não é maior que 10, então é igual a 10?
else if (num == 10) {   // repare que precisamos utilizar dois == para comparação (não apenas um)
    printf("O número é igual 10");
}
// Se não é nem maior que 10 e nem igual, então é menor.
else {
    printf("O número é menor que 10");
}

Laço (loop) for

O comando for permite repetição de comandos. Seu protótipo é:

for (contador; contador < limite; incremento) {
    acao1;
    acao2;
    ...
}

contador é uma variável de controle, quem é somada ou subtraída de incremento unidades até a condição contador < limite ser atingida. Exemplo:

int cont;
for (cont = 0; cont < 100; cont++) {
    /* o que estiver aqui dentro será executado 100 vezes, já que cont
       começa com 0 (cont = 0) e é incrementado de uma unidade (cont++)
       até atingir o limite (cont < 100), quando termina o loop e
       continua a execução depois do bloco.
     */
}
// depois que cont chegar a 100, continua a partir daqui

Laços (loop) whilee do…while

Os comandos while e do…while também permitem repetição de comandos, mas diferentemente do for não é necessário estabelecer um limite final, apenas uma condição que é verificada a cada volta do loop e, quando for falsa, sai do loop. A diferença entre while e do…while é pequena: o while verifica a condição antes de executar qualquer coisa, enquanto que o do…while sempre executa pelo menos uma vez o bloco antes de fazer a verificação. Vejamos um exemplo com while:

int valor = 1; // valor começa com 1
while (valor != 0) { // e enquanto valor for diferente de zero
scanf("%d", &valor); // um novo valor é lido
}
// o bloco termina quando o usuário digitar 0

Podemos fazer a mesma coisa utilizando o do…while:

int valor; // valor é apenas declarado
do { // faça:
scanf("%d", &valor); // ler um valor
} while (valor != 0); // enquanto valor for diferente de zero
// o bloco termina quando o usuário digitar 0

O mesmo resultado, de duas formas diferentes! :D

Utilidade: break e continue

Dentro dos loops (for, while e do…while) temos duas palavras que podem ser úteis em alguns casos: break e continue.

  • break: utilizado para encerrar um loop, mesmo se a condição principal não foi atingida:
    while (num <= 20) {   // enquanto num for menor ou igual a 20
        num++;
        if (num == 12) {
            break;     // o loop while será encerrado quando num for igual a 12
        }
    }
  • continue: utilizado para ignorar o resto do loop e realizar a próxima verificação:
    for (num = 20; num >= 0; num--) {   // vamos de 20 até 0
        if (num == 6)
            continue;
        printf("num é diferente de 6");
        // nesse exemplo, quando num for igual a 6 vai ignorar o printf
    }

Bem, acho que isso conclui o assunto sobre condições e loops. Caso tenham alguma dúvida ou sugestão, não deixem de comentar ;)

Com as tags → 
Plataforma Wordpress Latest (GPLv2)
Tema PageLines Lite Improved (GPLv3)
Hospedado por OpenShift by RedHat
Domínio registrado pela Neep Host
Creative Commons Attribution-ShareAlike License
Copyleft © 2016 Eduardo Weiland
Utilize um leitor de QR Code para acessar o blog no seu celular:
21
%d blogueiros gostam disto: