Users Online

· Guests Online: 11

· Members Online: 0

· Total Members: 188
· Newest Member: meenachowdary055

Forum Threads

Newest Threads
No Threads created
Hottest Threads
No Threads created

Latest Articles

Articles Hierarchy

C while loop

C while loop

In C while loop is the most basic loop. It repeats a statement while the condition is true. It is a pre-condition loop, because the condition is checked before the body of the loop.


C while loop - pre-condition flow chartIf the condition is false the first time, the statements in the body won't execute at all

Syntax

The syntax is quite simple.

while(<Condition>)
{
    ...
       Execute statements
    ...
}

The condition could be any value or expression that could be evaluated. Unlike the for loop, here the condition cannot be empty. The loop will repeat while the condition is true.

    In C, a true value is anything that is different from 0 and  ‘\0’.

Once the condition is evaluated as false, the loop stops. Then it transfers the control of the program to the first statement after the loop’s body. Note that, if the body of the loop contains only one statement, you can omit the curly brackets.

    while(<Condition>)
        Execute statement

C while loop examples

Printing the numbers from 1 to 10

int main(void)
{
    int i = 1;
    while(i <= 10)
    {
        printf("%d\n", i);
        ++i;
    }
    return 0;
}

Infinite loop

    To create an infinite loop is easy. Just put a non zero constant in the condition.

void infiniteLoop(void)
{
    while(1)
    {
        Infinite stuff goes here
    }
}

You can use this technique in some specific situations. Then you will end the loop with a breakreturn or goto statement. Note that this should be used rarely. It is considered bad coding practice to use infinite loops. Use them only if you have a good reason to do it; for instance if it makes the code easier to read.

Reading a file

One common usage of the c while loop is to read a file. In the next example we open the file “numbers.txt” for reading and loop until we reach the end of file. We also print each symbol that we read. So what the example does is to open a text file and print it in the console.

FILE *fp = fopen("numbers.txt", "r");
int symbol;
if (fp == NULL)
{
    perror("Cannot open file numbers.txt");
    return;
}
else
{
    while ((symbol = fgetc(fp)) != EOF)
    {
        printf("%c", symbol);
    }
    fclose(fp);
}                                                                 

The source code from all of the examples is available in our GitHub repository. You can also download the code of the examples here: c-while-loop.zip

Comments

No Comments have been Posted.

Post Comment

Please Login to Post a Comment.

Ratings

Rating is available to Members only.

Please login or register to vote.

No Ratings have been Posted.
Render time: 0.71 seconds
10,793,702 unique visits