حلقه while و do…while در ++C — راهنمای کاربردی

۱۰۵۰۷ بازدید
آخرین به‌روزرسانی: ۲۸ شهریور ۱۴۰۲
زمان مطالعه: ۲ دقیقه
حلقه while و do…while در ++C — راهنمای کاربردی

حلقه‌ها در برنامه‌نویسی برای تکرار یک بلوک خاص از کد استفاده می‌شوند. در این مقاله با روش ایجاد حلقه while و do…while در ++C آشنا خواهیم شد. در برنامه‌نویسی رایانه، حلقه برای تکرار یک بلوک کد تا زمانی که شرط خاصی برقرار شود، مورد استفاده قرار می‌گیرد. در زبان برنامه‌نویسی ++C، سه نوع حلقه وجود دارند:

  • حلقه for
  • حلقه while
  • حلقه do…while

برای مطالعه قسمت قبلی این مجموعه مطلب آموزشی می‌توانید به پست حلقه for در زبان برنامه نویسی ++C — به زبان ساده مراجعه کنید.

حلقه while در ++C

ساختار این حلقه به صورت زیر است:

1while (testExpression) 
2{
3     // codes  
4}

که در آن testExpression روی هر مدخل حلقه while بررسی می‌شود.

حلقه while چگونه کار می‌کند؟

  • حلقه while عبارت تست را ارزیابی می‌کند.
  • اگر عبارت تست درست باشد، کد درون بدنه حلقه while مورد ارزیابی قرار می‌گیرد.
  • سپس عبارت تست مجدداً ارزیابی می‌شود. این فرایند تا زمانی که عبارت تست نادرست شود ادامه می‌یابد.
  • هنگامی که عبارت تست نادرست شود، حلقه while خاتمه می‌یابد.

فلوچارت حلقه while

مثال 1: حلقه while در ++C

1// C++ Program to compute factorial of a number
2// Factorial of n = 1*2*3...*n
3
4#include <iostream>
5using namespace std;
6
7int main() 
8{
9    int number, i = 1, factorial = 1;
10
11    cout << "Enter a positive integer: ";
12    cin >> number;
13    
14    while ( i <= number) {
15        factorial *= i;      //factorial = factorial * i;
16        i++;
17    }
18
19    cout<<"Factorial of "<< number <<" = "<< factorial;
20    return 0;
21}

خروجی

Enter a positive integer: 4
Factorial of 4 = 24

در این برنامه از کاربر تقاضا می‌شود که یک عدد صحیح مثبت وارد کند که در متغیر number ذخیره می‌شود. فرض کنید کاربر مقدار 4 را وارد کند.

سپس حلقه while شروع به اجرای کد می‌کند. طرز کار حلقه while به صورت زیر است:

  1. در ابتدا i=1 است و عبارت تست یعنی i <= number درست است، از این رو مقدار فاکتوریل برابر با 1 خواهد بود.
  2. عبارت i به مقدار 2 به‌روزرسانی می‌شود، عبارت تست true است، مقدار فاکتوریل برابر با 2 می‌شود.
  3. عبارت i به مقدار 3 به‌روزرسانی می‌شود، عبارت تست true است، مقدار فاکتوریل برابر با 6 می‌شود.
  4. عبارت i به مقدار 4 به‌روزرسانی می‌شود، عبارت تست true است، مقدار فاکتوریل برابر با 24 می‌شود.
  5. عبارت i به مقدار 5 به‌روزرسانی می‌شود، عبارت تست false می‌شود و حلقه خاتمه می‌یابد.

حلقه do…while در ++C

حلقه do…while نوع دیگری از حلقه while است که یک تفاوت مهم با آن دارد. بدنه حلقه do…while پیش از بررسی عبارت تست، یک بار اجرا خواهد شد.

ساختار حلقه do…while به صورت زیر است:

1do {
2   // codes;
3}
4while (testExpression);

طرز کار حلقه do…while چگونه است؟

  • کدهای درون بدنه حلقه دست‌کم یک بار اجرا می‌شوند. سپس تنها عبارت تست بررسی می‌شود.
  • اگر عبارت تست درست باشد، بدنه حلقه اجرا می‌شود. این فرایند تا زمانی ادامه می‌یابد که عبارت نادرست شود.
  • هنگامی که عبارت تست نادرست باشد، حلقه do…while خاتمه می‌یابد.

فلوچارت حلقه do…while

مثال 2: حلقه do…while در ++C

1// C++ program to add numbers until user enters 0
2
3#include <iostream>
4using namespace std;
5
6int main() 
7{
8    float number, sum = 0.0;
9    
10    do {
11        cout<<"Enter a number: ";
12        cin>>number;
13        sum += number;
14    }
15    while(number != 0.0);
16
17    cout<<"Total sum = "<<sum;
18    
19    return 0;
20}

خروجی

Enter a number: 2
Enter a number: 3
Enter a number: 4
Enter a number: -4
Enter a number: 2
Enter a number: 4.4
Enter a number: 2
Enter a number: 0

بدین ترتیب به پایان این بخش از آموزش مفاهیم زبان برنامه‌نویسی ++C می‌رسیم.

برای مطالعه قسمت بعدی این مجموعه مطلب آموزشی می‌توانید روی لینک زیر کلیک کنید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۴۹ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
programiz
۵ دیدگاه برای «حلقه while و do…while در ++C — راهنمای کاربردی»

سلام .مرسی از سایت خوب و پرمحتوا . در دستور حلقه while اولی مقدار i++ باید به مقدار ++i تغییر کنه تا فاکتوریل گیری درست انجام شود

‌با سلام و احترام؛

صمیمانه از همراهی شما با مجله فرادرس و ارائه بازخورد سپاس‌گزاریم.

این مورد اصلاح شد.

برای شما آرزوی سلامتی و موفقیت داریم.

عالی بود ممنونم از شما

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *