Neste artigo, aprenderemos sobre o loop for em C # e as diferentes maneiras de usá-los em um programa.
Na programação, geralmente é desejado executar determinado bloco de instruções por um determinado número de vezes. Uma possível solução será digitar essas instruções o número necessário de vezes. No entanto, o número de repetições pode não ser conhecido com antecedência (durante o tempo de compilação) ou talvez grande o suficiente (digamos, 10000).
A melhor solução para esse problema é o loop. Os loops são usados na programação para executar repetidamente um determinado bloco de instruções até que alguma condição seja atendida.
Neste artigo, veremos o loop for em C #.
C # for loop
O por palavra-chave é usada para criar loop em C #. A sintaxe do loop for é:
for (inicialização; condição; iterador) (// corpo do loop for)
Como funciona o loop for?
- C # para o laço tem três declarações:
initialization
,condition
eiterator
. - A
initialization
instrução é executada primeiro e apenas uma vez. Aqui, a variável geralmente é declarada e inicializada. - Em seguida, o
condition
é avaliado. Ocondition
é uma expressão booleana, ou seja, retornatrue
oufalse
. - Se o
condition
for avaliado paratrue
:- As instruções dentro do loop for são executadas.
- Em seguida,
iterator
é executada a instrução que geralmente altera o valor da variável inicializada. - Novamente o
condition
é avaliado. - O processo continua até que
condition
seja avaliado comofalse
.
- Se
condition
for avaliado comofalse
, o loop for termina.
para fluxograma de loop
Exemplo 1: C # para Loop
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Quando executamos o programa, a saída será:
C # For Loop: Iteração 1 C # For Loop: Iteração 2 C # For Loop: Iteração 3 C # For Loop: Iteração 4 C # For Loop: Iteração 5
Neste programa,
initialization
declaração éint i=1
condition
declaração éi<=5
iterator
declaração éi++
Quando o programa é executado,
- Primeiro, a variável i é declarada e inicializada em 1.
- Então, a condição (
i<=5
) é avaliada. - Como a condição retorna
true
, o programa então executa o corpo do loop for. Ele imprime a linha fornecida com a Iteração 1 (Iteração significa simplesmente repetição). - Agora, o iterador (
i++
) é avaliado. Isso aumenta o valor de i para 2. - A condição (
i<=5
) é avaliada novamente e, no final, o valor de i é incrementado em 1. A condição será avaliada comotrue
pelas primeiras 5 vezes. - Quando o valor de i for 6 e a condição for
false
, o loop será encerrado.
Exemplo 2: loop for para calcular a soma dos primeiros n números naturais
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) )
Quando executamos o programa, a saída será:
Soma dos 5 primeiros números naturais = 15
Aqui, os valores de sum en são inicializados em 0 e 5, respectivamente. A variável de iteração i é inicializada em 1 e incrementada a cada iteração.
Dentro do loop for, o valor de sum é incrementado por i ie sum = sum + i
. O loop for continua até que i seja menor ou igual an (entrada do usuário).
Vamos ver o que acontece no programa fornecido em cada iteração.
Inicialmente, i = 1, soma = 0 e n = 3
Para etapas de execução de loopIteração | Valor de i | i <= 5 | Valor da soma |
---|---|---|---|
1 | 1 | verdade | 0 + 1 = 1 |
2 | 2 | verdade | 1 + 2 = 3 |
3 | 3 | verdade | 3 + 3 = 6 |
4 | 4 | verdade | 6 + 4 = 10 |
5 | 5 | verdade | 10 + 5 = 15 |
6 | 6 | falso | Loop termina |
Portanto, o valor final da soma será 15 quando n = 5.
Várias expressões dentro de um loop for
Também podemos usar várias expressões dentro de um loop for. Isso significa que podemos ter mais de uma inicialização e / ou instruções de iterador em um loop for. Vamos ver o exemplo abaixo.
Exemplo 3: loop for com várias expressões de inicialização e iterador
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) )
Quando executamos o programa, a saída será:
i = 0 e j = 0 i = 1 e j = 1 i = 2 e j = 2
Neste programa, declaramos e inicializamos duas variáveis: i e j na instrução de inicialização.
Além disso, temos duas expressões na parte do iterador. Isso significa que i e j são incrementados em 1 em cada iteração.
Loop For sem inicialização e instruções de iterador
The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.
In such cases, for loop acts as a while loop. Let's see the example below.
Example 4: for loop without initialization and iterator statement
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; i<=5; ) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) )
When we run the program, the output will be:
C# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5
In this example, we haven't used the initialization and iterator statement.
The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.
Da mesma forma, a condição também é uma declaração opcional. No entanto, se não usarmos a expressão de teste, o loop for não testará nenhuma condição e será executado para sempre (loop infinito).
For loop infinito
Se a condição em um loop for for sempre verdadeira, o loop for será executado para sempre. Isso é chamado de loop for infinito.
Exemplo 5: loop for infinito
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Aqui, i é inicializado com 1 e a condição é i>0
. Em cada iteração, estamos incrementando o valor de i em 1, portanto, a condição nunca será false
. Isso fará com que o loop seja executado infinitamente.
Também podemos criar um loop infinito substituindo a condição por um espaço em branco. Por exemplo,
for (;;) (// corpo do loop for)
ou
for (inicialização;; iterador) (// corpo do loop for)