Índice:
Vídeo: Linguagem C - Aula 007 - Comando SWITCH CASE de controle de fluxo com ordem de parada BREAK 2024
Parte de C ++ para Dummies Cheat Sheet
As seguintes estruturas C ++ direcionam o fluxo de controle através do programa. Se você é um programador experiente, a função dessas estruturas será familiar de outros idiomas.
IF
O comando a seguir avalia booleanExpression. Se ele for verdadeiro, o controle passa para as expressões1. Caso contrário, o controle passa para as expressões opcionais2.
if (booleanExpression) {expressions1;} [else {expressions2;}]
WHILE
O comando a seguir avalia booleanExpression. Se isso for verdadeiro, o controle passa para expressões. No final do bloco, o controle passa para booleanExpression e repete o processo.
while (booleanExpression) {expressions;}
DO … WHILE
O comando a seguir executa expressões. Em seguida, ele avalia booleanExpression. Se isso for verdadeiro, o controle retorna ao topo do loop e repete o processo.
faça {expressions;} while (booleanExpression);
FOR
O comando a seguir executa initCommand, que pode ser uma declaração de expressão ou variável. Em seguida, ele avalia boolExpressão. Se isso for verdadeiro, o controle passa para expressões1. Se boolExpression for falso, o controle passa para a primeira afirmação após o suporte fechado do loop for. Uma vez que as expressões se completam, o controle passa para a expressão contida em loopExpression antes de retornar ao boolExpression para repetir o processo. Se initCommand declara uma nova variável, ele fica fora do escopo, assim que o controle passa fora do loop.
para (initCommand; boolExpression; loopExpression) {expressions;}
FOR (EACH)
O padrão 2011 apresenta uma segunda forma de loop a vezes conhecida como "para cada" porque da sua semelhança com o foreach encontrado em outras línguas. Nessa forma, a variável declarada em declaração leva o valor do primeiro membro da lista e executa o bloco de expressões. Quando concluída, a variável declarada assume o segundo valor da lista e executa as expressões novamente. Este processo é repetido para cada valor na lista.
para (declaração: lista) {expressions;}
SWITCH
O seguinte comando avalia integerExpression e compara o resultado com cada um dos casos listados. Se o valor for encontrado igual a um dos valores constantes constantes, val1, val2, etc., o controle passa para o conjunto correspondente de expressões e continua até o controle encontrar uma quebra.Se a expressão não é igual a nenhum dos valores, o controle passa para as expressõesN seguindo o padrão.
switch (integerExpression) {case val1: expressions1; pausa; case val2: expressions2; pausa; [padrão: expressionsN;]}
BREAK, CONTINUAR, GOTO
A continua a seguir o controle para o final do suporte fechado de qualquer um dos controles de looping. Isso faz com que o loop continue com a próxima iteração. Por exemplo, o seguinte ciclo processa números primos entre 1 e 20:
para (int i = 0; i <20; i ++) {// se o número não é primo … se (! IsPrime (i)) {/ / … pular para o próximo valor de eu continuar;} // continuar no processamento}
Uma pausa passa o controle para a primeira declaração após o suporte fechado de qualquer um dos comandos de loop. Isso faz com que a execução saia do loop imediatamente. Por exemplo, o seguinte lê os caracteres até e o fim do arquivo é encontrado:
enquanto (verdadeiro) {// lê uma linha da entrada do objeto de entrada >> linha; // se ocorrer uma falha ou fim de arquivo … se (cin. eof () || cin fail ()) {// … então saia do loop break;} // processe a linha}
A goto O rótulo passa o controle ao rótulo fornecido. O exemplo de interrupção acima poderia ter sido escrito da seguinte forma:
enquanto (verdadeiro) {// lê uma linha da entrada do objeto de entrada >> linha; // se ocorrer uma falha ou fim de arquivo … se (cin. eof () || cin. fail ()) {// … então saia do loop goto exitLabel;} // processe a linha} exitLabel: // o controle continua aqui