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.