For, Continue
Laço For
O laço for incorpora a inicialização do contador, a condição para sair do laço e a atualização do contador.
main.c
123for (initialization; condition; update) { // Loop body }
Vamos pegar o exemplo da lição anterior (exibição de elementos de um array) e reescrevê-lo usando um laço for:
Main.c
123456789101112#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; for (int i = 0; i < 10; i++) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); } return 0; }
É possível utilizar qualquer expressão válida como o update counter. Isso significa que o contador pode se adaptar com base em qualquer regra válida, como (++x * 3) - 5. Além disso, o contador pode ser incrementado por caracteres em vez de números.
Main.c
123456789#include <stdio.h> int main() { for (char ch = 'a'; ch <= 'z'; ch++) { printf("ASCII value for %c is %d\n", ch, ch); } return 0; }
Lembre-se de que os caracteres são armazenados como números na memória.
Mesmo que partes do laço, como a inicialização do contador, sejam omitidas, o programa ainda será compilado. No entanto, o ponto e vírgula ; permanece essencial:
Main.c
1234567891011#include <stdio.h> int main() { int i = 0; // without counter initialization for (printf("It`s count initialization, but printf...\n"); i <= 4; i++) { printf("i = %d\n", i); } return 0; }
Você pode usar a vírgula , para separar partes dentro do laço:
Main.c
123456789101112#include <stdio.h> int main() { int i; int n; for (i = 0, n = 5; i <= 5; i++, n++) { printf("i = %d\t n = %d\n", i, n); } return 0; }
Continue
Em laços, tanto os comandos break quanto continue são úteis. Enquanto a instrução break força a saída do laço, o comando continue faz com que o fluxo avance para a próxima iteração.
Considere um programa projetado para excluir inteiros negativos, utilizando o operador continue:
Main.c
123456789101112131415161718#include <stdio.h> int main() { int array[] = { 124, 235, -321, 32, 54, -549, 23445, 5534, -433 }; printf("Positive elements of array:\n"); for (int i = 0; i < 10; i++) { if (array[i] < 0) { continue; } printf("%d ", array[i]); } return 0; }
Os seguintes operadores também podem funcionar como expressões para atualizar o contador.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.63
For, Continue
Deslize para mostrar o menu
Laço For
O laço for incorpora a inicialização do contador, a condição para sair do laço e a atualização do contador.
main.c
123for (initialization; condition; update) { // Loop body }
Vamos pegar o exemplo da lição anterior (exibição de elementos de um array) e reescrevê-lo usando um laço for:
Main.c
123456789101112#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; for (int i = 0; i < 10; i++) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); } return 0; }
É possível utilizar qualquer expressão válida como o update counter. Isso significa que o contador pode se adaptar com base em qualquer regra válida, como (++x * 3) - 5. Além disso, o contador pode ser incrementado por caracteres em vez de números.
Main.c
123456789#include <stdio.h> int main() { for (char ch = 'a'; ch <= 'z'; ch++) { printf("ASCII value for %c is %d\n", ch, ch); } return 0; }
Lembre-se de que os caracteres são armazenados como números na memória.
Mesmo que partes do laço, como a inicialização do contador, sejam omitidas, o programa ainda será compilado. No entanto, o ponto e vírgula ; permanece essencial:
Main.c
1234567891011#include <stdio.h> int main() { int i = 0; // without counter initialization for (printf("It`s count initialization, but printf...\n"); i <= 4; i++) { printf("i = %d\n", i); } return 0; }
Você pode usar a vírgula , para separar partes dentro do laço:
Main.c
123456789101112#include <stdio.h> int main() { int i; int n; for (i = 0, n = 5; i <= 5; i++, n++) { printf("i = %d\t n = %d\n", i, n); } return 0; }
Continue
Em laços, tanto os comandos break quanto continue são úteis. Enquanto a instrução break força a saída do laço, o comando continue faz com que o fluxo avance para a próxima iteração.
Considere um programa projetado para excluir inteiros negativos, utilizando o operador continue:
Main.c
123456789101112131415161718#include <stdio.h> int main() { int array[] = { 124, 235, -321, 32, 54, -549, 23445, 5534, -433 }; printf("Positive elements of array:\n"); for (int i = 0; i < 10; i++) { if (array[i] < 0) { continue; } printf("%d ", array[i]); } return 0; }
Os seguintes operadores também podem funcionar como expressões para atualizar o contador.
Obrigado pelo seu feedback!