دوستان عزیز برنامهنویس، تو این آموزش قراره با هم به کمک مثالهای مختلف، با حلقههای while و do…while در برنامهنویسی C آشنا بشیم و ببینیم چطور میتونیم کارهامون رو به صورت تکراری انجام بدیم.
به طور کلی، تو برنامهنویسی از حلقهها برای تکرار یک بلوک کد استفاده میشه و تا زمانی که شرط خاصی که ما تعیین کردیم، برقرار باشه، تکرار کدها ادامه پیدا میکنه. توی زبان برنامهنویسی C، سه نوع حلقه اصلی داریم:
۱- حلقه for
۲- حلقه while
۳- حلقه do…while
این آموزش مخصوص حلقههای while و do…while هست و توی یک مطلب دیگه کلی مباحث باحال در مورد حلقه for نوشتیم و با جزئیات کامل بررسی کردیم.
حلقه while: تکرار با شرط قبلی
ساختار حلقه while این شکلیه:
while (عبارت شرطی)
{
// دستورات بدنه حلقه
}
حلقه while چطور کار میکنه؟
- اول از همه، برنامه میاد و «عبارت شرطی» که داخل پرانتز نوشتیم رو بررسی میکنه.
- اگه عبارت شرطی درست (true) باشه، دستورات داخل بدنه حلقه while اجرا میشن و بعدش دوباره برمیگرده سر بررسی همون عبارت شرطی.
- این روند همینطور ادامه پیدا میکنه و تکرار میشه تا زمانی که عبارت شرطی نادرست بشه.
- به محض اینکه عبارت شرطی نادرست شد و مقدار صفر رو برگردوند، حلقه تموم میشه و برنامه میره سراغ کدهای بعدی.
اگه دوست دارید درباره عبارتهای شرطی و اینکه چطور درست یا نادرست ارزیابی میشن (مقدار غیر صفر برای درست و صفر برای نادرست) بیشتر بدونید، پیشنهاد میکنم به مقاله عملگرها در برنامهنویسی C، قسمت عملگرهای رابطهای و منطقی مراجعه کنید.
فلوچارت حلقه while
مثال ۱: حلقه while
بیایید یه مثال ساده برای حلقه while ببینیم. این برنامه اعداد 1 تا 5 رو برامون چاپ میکنه:
// برنامه چاپ اعداد 1 تا 5
#include <stdio.h>
int main()
{
int counter = 1; // مقدار اولیه شمارنده رو 1 قرار میدیم
while (counter <= 5) // تا زمانی که شمارنده کمتر یا مساوی 5 باشه، ادامه بده
{
printf("%d\n", counter); // عدد جاری رو چاپ کن
++counter; // شمارنده رو یکی افزایش بده
}
return 0;
}
خروجی:
1
2
3
4
5
حالا ببینیم اینجا چه اتفاقی میفته:
۱- در ابتدای برنامه، متغیر counter تعریف شده و مقدار اولیهاش 1 قرار داده میشه.
۲- وقتی counter = 1 هست، عبارت شرطی counter <= 5 درست ارزیابی میشه. برای همین، دستورات داخل بدنه حلقه while اجرا میشن و عدد 1 روی صفحه چاپ میشه. بعدش، مقدار counter یکی زیاد میشه و به 2 میرسه.
۳- حالا counter = 2 هست و دوباره عبارت شرطی counter <= 5 درست ارزیابی میشه. بدنه حلقه while باز هم اجرا میشه، عدد 2 چاپ میشه و مقدار counter به 3 افزایش پیدا میکنه.
۴- این روند همینطور ادامه پیدا میکنه تا زمانی که counter به 6 برسه.
۵- وقتی counter = 6 شد، عبارت شرطی counter <= 5 دیگه درست نیست و حلقه تموم میشه.
حلقه do…while: حداقل یک بار اجرا!
حلقه do…while خیلی شبیه به حلقه while هست، اما یه تفاوت مهم داره: بدنه حلقه do…while حداقل یک بار، قبل از اینکه شرط بررسی بشه، اجرا میشه!
ساختار حلقه do…while این شکلیه:
do
{
// دستورات داخل حلقه
}
while (عبارت شرطی);
حلقه do…while چطور کار میکنه؟
- اول از همه، بدون هیچ شرط و شروطی، بدنه حلقه do…while یک بار اجرا میشه. بعد از اون، نوبت به بررسی «عبارت شرطی» میرسه.
- اگه عبارت شرطی درست (true) باشه، بدنه حلقه دوباره اجرا میشه و دوباره عبارت شرطی بررسی میشه.
- این روند ادامه پیدا میکنه تا زمانی که عبارت شرطی نادرست بشه.
- اگه عبارت شرطی نادرست شد و مقدار صفر رو برگردوند، حلقه تموم میشه.
فلوچارت حلقه do…while در برنامهنویسی C
مثال ۲: حلقه do…while
بیایید یه برنامه بنویسیم که اعداد رو از کاربر بگیره و مجموعشون رو حساب کنه. این کار تا زمانی ادامه پیدا میکنه که کاربر عدد صفر رو وارد کنه:
// برنامه محاسبه مجموع اعداد ورودی تا زمان وارد شدن عدد صفر
#include <stdio.h>
int main()
{
double currentNumber, totalSum = 0; // متغیر برای عدد ورودی و مجموع
// بدنه حلقه حداقل یکبار اجرا میشود
do
{
printf("یه عدد وارد کن (0 برای پایان): ");
scanf("%lf", ¤tNumber);
totalSum += currentNumber; // عدد وارد شده رو به مجموع اضافه کن
}
while(currentNumber != 0.0); // تا زمانی که عدد وارد شده 0.0 نباشه، ادامه بده
printf("مجموع اعداد وارد شده: %.2lf\n", totalSum);
return 0;
}
خروجی:
یه عدد وارد کن (0 برای پایان): 1.5
یه عدد وارد کن (0 برای پایان): 2.4
یه عدد وارد کن (0 برای پایان): -3.4
یه عدد وارد کن (0 برای پایان): 4.2
یه عدد وارد کن (0 برای پایان): 0
مجموع اعداد وارد شده: 4.70
امیدواریم این آموزش براتون مفید بوده باشه! این مقاله توسط سایت علمی رایشمند برای شما آماده شده است.