10. Controlo da execução

10.1. if else

if (boolean expression)
   statement1
else
   statement2

10.2. else if

if (expression1)
   statement1
else if (expression2)
   statement2
else if (expression3)
   statement3
else
   statement4

10.3. switch case

switch (expression) {
    case const-expression1:
        statements1
    case const-expression2:
        statements2
    case const-expression3:
        statements3
    default:
        statements4
}

10.4. while

Repetição com condição inicial.

while (expression)
    statement

10.5. do while

Repetições com condição final.

do {
    statement
} while (expression);

10.6. for

A instrução

for (expression1; expression2; expression3)
    statement;

é equivalente a

expression1;
while (expression2) {
    statement;
    expression3;
}

Exemplo: somar o conteúdo de todos os elementos de um array usando for.

int array[] = {10, 20, 30, 40};
int accumulate = 0;
for (int i = 0; i < 4; ++i)
   accumulate += array[i];

10.7. break

A quebra pode aparecer no interior de uma formação de repetição (while, do while ou for) ou no interior de um switch. Tem o efeito de interromper a repetição ou quebar a sequência de execução do switch.

Exemplo: dada a indicação do mês, na forma de um número de um a doze, obter o número de dias do mês.

 1int month;
 2int days;
 3
 4switch (month) {
 5   case 2:
 6      days = 28;
 7      break;
 8   case 4:
 9   case 6:
10   case 9:
11   case 11:
12      days = 30;
13      break;
14   default:
15      days = 31;
16}

Porquê a colocação de break nas linhas 7 e 13? Porque, por definição, a construção switch executa em sequência, até ao final (fechar }) todo o código a jusante da entrada case selecionada.

10.8. continue

É utilizado num bloco while, do while ou for. Provoca o avanço para a próxima iteração, sem executar o código até ao final do bloco.