close
تبلیغات در اینترنت
انجمن زیپ(دانلود نرم افزار .فیلم آموزشی سریال آهنگ...)

حلقه ها در ++C


حلقه ی for

موارد زیادی پیش می آید که بخواهیم کاری را چندین بار تکرار کنیم. در این موارد حلقه ها به کارمان می آیند. از پرکاربردترین و قدرتمندترین حلقه های جهان، حلقه ی for در C++ است! این حلقه در حالت ساده به فرم زیر است:
for (initial statement; condition; evaluation statement)
{
Repetitive instructions;
}
بخش اول داخل پرانتز، مقداردهی اولیه متغیر حلقه است. بخش دوم شرطی است که پس از اجرای عبارت داخل حلقه کنترل می شود و در صورتیکه برقرار بود، حلقه ادامه پیدا خواهد کرد. بخش سوم، به روز رسانی متغیر حلقه است که پس از هر بار اجرا انجام می شود. بهتر است برای روشن شدن مطلب مثالی بزنیم. فرض کنید بخواهیم تمام حروف اسکی بین 0 تا 255 را روی کنسول چاپ کنیم:
cout << "print all ASCII characters using "for" loop" << endl;
 for (int j = 0; j < 256; j++)
 {
 cout << (char)j << " ";
 }

در این مثال، j متغیر حلقه است که با 0 مقدار دهی اولیه شده است. هر چند می توان متغیر حلقه را در بیرون حلقه هم تعریف کرد، لیکن غالبا بهتر است که متغیر به صورت محلی تعریف شود. شرط پایان حلقه عبارت j < 256 است و در نهایت j++ عبارتی است که پس از هر بار اجرای حلقه، اعمال شده و سپس شرط حلقه کنترل می شود. در بدنه حلقه تنها خواسته ایم که حرف متناظر با عدد j نمایش داده شود. اگر بخواهیم ببینیم که این حلقه چند بار اجرا می شود می توانیم یک متغیر دیگر تعریف کنیم و کد را به صورت زیر تغییر دهیم:
int counter = 0; //counts number of loop execution
 cout << "print all ASCII characters using "for" loop" << endl;
 for (int j = 0; j < 256; j++)
 {
 cout << (char)j << " ";
 counter++;
 }
 cout << "n"for" loop executed " << counter << " times";
 cout << "n**************************************************" << endl;

با اجرای این کد خروجی زیر ظاهر خواهد شد:

خروجی برنامه حلقه for
ملاحظه می شود که عبارت داخل حلقه دقیقا 256 بار اجرا شده است. دقت کنید که برخی حروف اسکی، کنترلی بوده و قابل چاپ نیستند از این روست که برخی مکانها خالی مانده اند. در حلقه ی for می توان چندین متغیر حلقه داشت و برای هر کدام عبارت خاصی را در انتهای هر دور اجرای حلقه اعمال کرد.

حلقه های while و do-while

حلقه ی دیگری که در C++ کاربرد دارد حلقه ی while است که به صورت زیر تعریف می شود:
while(condition)
{
Repetitive instructions;
}
بر خلاف حلقه ی for در اینجا عبارتی که به طور خودکار کم یا زیاد شود وجود ندارد و خود ما باید آن را در داخل حلقه کنترل کنیم. اگر مثال قبلی را با while بنویسیم خواهیم داشت:
cout << "nnprint all ASCII characters using "while" loop" << endl;
 int i = 0;
 counter = 0;
 while(i < 256){
 cout << (char)i << " ";
 i++;
 counter++;
 }
 cout << "n"first while" loop executed " << counter << " times";
 cout << "n**************************************************" << endl;

در اینجا متغیر i را خودمان افزایش داده و در هر بار اجرا، کنترل می کنیم که مقدار آن از 256 کمتر باشد. می توانستیم برای صرفه جویی در نوشتن، کد فوق را به صورت زیر بنویسیم. دقت کنید که اگر به جای ++i از عبارت i++ استفاده کنیم محتوای حلقه 257 بار اجرا خواهد شد. چرا؟
i = -1;
 counter = 0;
 while(++i < 256){// now try i++
 cout << (char)i << " ";
 counter++;
 }

حلقه ی do-while حلقه ی دیگری است که خیلی شبیه به حلقه ی while است با این تفاوت که مستقل از شرط حلقه، حتما حداقل یک بار اجرا خواهد شد:
do
{
Repetitive instructions;
} while(condition)


مثال قبلی را این بار با استفاده از do-while ببینید:

 

i = 0;
 counter = 0;
 do{
 cout << (char)i++ << " ";
 counter++;
 }while(i < 256);

دستور goto

آخرین حلقه در C++ استفاده از دستور goto است که به دلیل اینکه معمولا استفاده از این دستور خطرناک است و ضمنا بازخوانی برنامه را هم دشوار می کند، به هیچ وجه توصیه نمی شود. نحوه ی استفاده به صورت زیر است:
i = 0; counter = 0;
loop:
 cout << (char)i++ << " ";
 counter++;
 if(i < 256) 
 goto loop;
+ نوشته شده در یکشنبه 25 دي 1390ساعت 5:1 توسط انجمن زیپ | | تعداد بازدید : 457
عناوين آخرين مطالب ارسالي
» دانلود بازی طناب را ببر Cut the Rope HD v2.5.2 اندروید
» حل تمرینات و پروژه های برنامه نویسی سی پلاس پلاس ++
» دانلود بازی Viber Candy Mania
» نرم افزار امنیتی tenCube WaveSecure Lite v3.01.43 S60v3
» ترفند های بازی کلش اف کلنز
» کتاب حسابداری شرکت ها
» دانلود کتاب SQL server 2012
» از قلب ویندوز خود نسخه ی پشتیبان تهیه کنید
» ۱۴ دانستنی جالب در مورد اینترنت
» جدید ترین نسخه Avant Browser 2012 Build 190
» عکس
» از کامپيوتر و ويندوز بيشتر بدانید ( آموزش )
» آموزش پایه ای ویژوال بیسیک 6
» مجموعه سوالات مهم کامپيوتری
» دانلود جدیدترین نسخه Google Chrome 25.0.1323.1 Dev
» دانلود کتاب آموزش روش صحیح sql server 2008 فارسی
» دانلود مرورگر فایر فاکس 19 نسخه بتا
» جدول ضرب
» چک کردن اعداد اول
صفحات دیگر