ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Computers & Software»
  • Computer Science & Programming

While Loop in C Language with Example

Updated on July 10, 2012
Source

I already explained what is loop and why we use loop in c language, and I am not going to repeat that here again. So we will start with while loop explanation.

While loop is one of the simple loop available in C language.It’s very easy to use, lets check its syntax first and then one simple program.

Syntax of while loop in C


initialize loop variable;

while(condition)

{

statement 1;

statement 2;

statement 3;

………………….

statement N;

increment loop variable;

}

In order to use while loop in any program we need to have one variable which needs to be initialized. Then we can use that variable in while loop, initialization of the variable is one of the important steps in loop usage. I’ll tell you later why it is important. Next in while loop bracket we have to provide condition for loop execution. Condition basically instruct loop on what condition loop will be executed or in simple word how many time repeat the statement written inside loop. As you can notice I have written last line as “increment loop variable”, this is also one of the important step in loop usage, why I am coming on that on “Points to remember” section of this article.

Let’s take look at simplest example of While loop. Below is the example code, it only prints “while loop” text with line number, see the output for better understanding.

While loop example

#include<stdio.h>
#include<conio.h>

void main()
{

int i=1;
clrscr();

while(i<=10)
{
	printf("%d : while loop.\n", i);
	i++;
}
getch();
}
Source

Code Explanation

In this simple while loop example, we need to concentrate on line no. 10 to 14 and I think with rest of code you are well versed.

While loop begins with “while” keyword as you guys know and in bracket you have to provide condition. In case of my program, condition is “i<=10”, which tells compiler to repeat the execution of code till value of “i” is less than or equal to “10”. But did you notice line no. 7, it’s very important as I told you earlier, here I am initializing variable “i”. Now it will contain 1 and our loop will begin from 1. In line no.-12, we are simply printing “while loop” with number message on screen. In the very next line we are incrementing value of “i” by 1.

So, this is our while loop and its usage. I know very basic thing but this tutorial I wrote for beginners only.

Point to remember

1. Always initialize loop counter variable or your loop may not execute in expected behavior. Let take a look of the same program where I am not initializing variable “i”.One more line, line no. 10, I added to show the initial or default value (also known as garbage value).

Uninitialized loop variable can produce unexpected result.

#include<stdio.h>
#include<conio.h>

void main()
{

int i;
clrscr();

printf("Value of uninitialized i : %d", i);

while(i<=10)
{
	printf("%d : while loop.\n", i);
	i++;
}
getch();
}

On my PC, garbage value of "i" is 886 and could be different on your PC. Now for a moment think, if “i” has value 886, will it ever execute our loop block? We are telling compiler to execute loop block only if value of “i” is less than or equal to 10 (i<=10). I think, now it’s clear why loop counter variable initialization is important. Isn’t it?

While loop example

Never forget to initialize while loop variable.
Never forget to initialize while loop variable. | Source

2. Never forget to increment loop counter variable inside loop. Due to any reason if you forgot to increment loop counter then your program will stuck in indefinite loop (endless loop). To demonstrate this indefinite loop we will use the same example but we will comment line no. 13. So now you program will look like below one.

indefinite while loop example

#include<stdio.h>
#include<conio.h>

void main()
{

int i;
clrscr();

printf("Value of uninitialized i : %d", i);

while(i<=10)
{
	printf("%d : while loop.\n", i);
	//i++;
}
getch();
}

Infinite while loop execution

Infinite while loop can make your application struck within loop. Be cautious while writing loop.
Infinite while loop can make your application struck within loop. Be cautious while writing loop. | Source

Did you notice output? Precisely the line no, it’s always printing 1. Let me explain you the reason why it stuck in endless loop. Remember the while loop condition part (line no. 10) where we are instructing compiler to execute that loop till value of “i” is less than equal to 10. Now when our program entered into loop block its (value of “i”) value is not increasing and every time while loop condition remains true.

While loop in C Poll

Did this help you to learn While Loop in C?

See results

Comments

    0 of 8192 characters used
    Post Comment

    • rajkishor09 profile image
      Author

      RAJKISHOR SAHU 5 years ago from Bangalore, Karnataka, INDIA

      I am happy that it helped you...

    • profile image

      Ruhi 6 years ago

      I understood while loop

      thank u sir

    • profile image

      Hiren 6 years ago

      thnx a ton

    • profile image

      sujata waghmare 6 years ago

      i am understanding while loop

      thanks sir

    • profile image

      ZAID ABBAS 6 years ago

      GREAT EXPLANATION DEAR...............

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: "https://hubpages.com/privacy-policy#gdpr"

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)