این دستور یکی از دستورهای کنترلی زبان C است که برای انجام عملیات تکراری به کار میرود. با استفاده از این دستور، حلقه تا موقعی که شرط معینی برقرار باشد اجرا میگردد. شکل کلی این دستور به صورت زیر است.
while (condition)
statement ;
در اینجا پس از عبارت while فقط یک دستور به کار رفته است. اما میتوان مجموعهای از دستورها را نیز به کار برد. گفتیم که در زبان C، هر دستور به یک سمیکولون ختم میشود و مجموعهای از دستورها (یعنی بیش از یک دستور) را نیز دستورهای مرکب یا بلاک نامند که در زبان C در داخل یک زوج آکولاد قرار میگیرد. بنابراین در حالت کلی شکل دستور while به صورت زیر خواهد بود.
while (condition)
{
statements ;
}
نمودار کلی آن را نیز در شکل میبینید.
سازوکار و نحوه عملکرد دستور در while بهاین طریق است که تا موقعی که شرط مورد نظر که پس از کلمه کلیدی while در داخل پرانتز نوشته میشود برقرار باشد، مجموعه دستورهای داخل حلقه while به صورت تکراری اجرا خواهد شد. شرط مورد نظر با استفاده از عملگرهای رابطهای به صورت عبارات رابطهای یا به صورت عبارت منطقی بیان میشود که در این صورت تا موقعی که عبارت مزبور ارزش درست یا true داشته باشد حلقه اجرا خواهد شد.
مثال برنامه زیر به دو روش اعداد صحیح صفر تا ۱۰ را در روی خطوط متوالی چاپ میکند.