O controle de fluxo em c programação ++
As seguintes estruturas C ++ dirigir o fluxo de controlo por meio do programa. Se você é um programador experiente, a função destas estruturas será familiar de outras línguas.
Conteúdo
E SE
Os seguintes avalia comando booleanExpression. Se for avaliado como verdade, em seguida, o controlo passa para expressions1. Se não, então o controlo passa para o opcional expressions2.
if (ExpressãoBooleana) {expressions1 -} [else {expressions2-}]
ENQUANTO
Os seguintes avalia comando booleanExpression. Se este for avaliada como verdade, em seguida, o controlo passa paraexpressões. No final do bloco, o controlo passa para trás ExpressãoBooleana e repete o processo.
Video: Linguagem C - Aula 007 - Comando SWITCH CASE de controle de fluxo com ordem de parada BREAK
enquanto (ExpressãoBooleana) {} Expressões do
FAZER ENQUANTO
Os seguintes comando é executado expressões. Em seguida, ele avalia ExpressãoBooleana. Se este é avaliada como verdadeiro, o controlo retorna para o topo do laço e repete o processo.
Video: Controle de Fluxo: Repetições com While (Parte 1)
fazer {Expressões do} while (ExpressãoBooleana) -
PARA
Os seguintes comando é executado initCommand o que pode ser uma expressão ou uma declaração variável. Em seguida, ele avalia expressaoBool. Se este for avaliada como verdade, em seguida, o controlo passa para expressions1. E se expressaoBool é falso, em seguida, o controlo passa para a primeira instrução após a cinta fechada do para ciclo. Uma vez expressões completa, o controlo passa para a expressão contido em LoopExpression antes de voltar a expressaoBool para repetir o processo. E se initCommand declara uma nova variável, ele sai do escopo assim que o controle passa fora do loop.
for (initCommand- boolExpression- LoopExpression) {} Expressões do
PARA CADA)
A norma 2011 apresenta uma segunda forma de para ciclo, por vezes conhecido como “para cada” por causa de sua semelhança com o para cada encontrado em algumas outras línguas. Nesta forma, a variável declarada em declaração assume o valor do primeiro membro Lista e executa o expressões quadra. Quando concluída, a variável declarada leva o segundo valor de Lista e executa expressões novamente. Este processo é repetido para cada valor Lista.
for (declaração: lista) {} Expressões do
INTERRUPTOR
Os seguintes avalia comando integerExpression e compara o resultado para cada um dos casos indicados. Se o valor for encontrado para igual a um dos valores integrais constantes, val1, val2, etc, o controlo passa para o correspondente conjunto de expressões e continua até que encontra um controle pausa. Se a expressão não for igual a nenhum dos valores, o controlo passa para o expressionsN Segue padrão.
switch (integerExpression) {case val1: expressions1-break-caso val2: expressions2-break [default: expressionsN-]}
PAUSA, continue, GOTO
UMA continuar passa o controlo para o fim da cinta fechada de qualquer um dos controlos looping. Isso faz com que o loop para continuar com a próxima iteração. Por exemplo, o seguinte ciclo processa números primos entre 1 e 20:
para (int i = 0- i lt; 20- i ++) {// se o número não é primo ... se) {// ... pular para o próximo valor de icontinue (isPrime (i!) -} // proceder em processamento}
UMA pausa passa o controlo para a primeira instrução após a cinta fechada de qualquer um dos comandos de looping. Isso faz com que a execução para sair do loop imediatamente. Por exemplo, o seguinte lê caracteres até e é encontrado EOF:
while (true) {// ler uma linha de entrada objectinput gt; gt; line - // se uma falha ou fim-de-arquivo ocorre ... if (cin.eof () || cin.fail ()) {// ... então sair do LoopBreak -} // processo da linha}
UMA etiqueta Goto passa o controlo para o rótulo indicado. O exemplo ruptura acima pode ter sido escrita como se segue:
while (true) {// ler uma linha de entrada objectinput gt; gt; line - // se uma falha ou fim-de-arquivo ocorre ... if (cin.eof () || cin.fail ()) {// ... então sair do loopgoto exitLabel -} // processo da linha } exitLabel: // controle continua aqui