برنامه نویسی ++C – بخش چهارم | تشریح برنامه

با سلام

در آموزش قبل اولین برنامه ی خودمون رو نوشتیم و اجرا کردیم. البته امیدوارم شما تونسته باشید بدون مشکل برنامه رو اجرا کنید. یکبار دیگه به کد نگاهی میندازیم.

خط اول برنامه با دوتا اسلش شروع شده. هر وقت در خطی از برنامه دوتا اسلش قرار بگیره و بعدش متن نوشته شده جلوی اون  متن به صورت کامنت در میاد. کامنتها در هنگام کامپایل و اجرای برنامه نادیده  گرفته میشن و کامپایلر از اونها رد میشه.

پس به چه دردی میخورن؟ کامنتها برای نوشتن توضیحاته که مثلا این قطعه کد چه کاری انجام میده. شما وقتی برنامه ای می نویسید درسته همون لحظه از نحوه ی کار اون بخوبی سر در میارید ولی 1 ماه دیگه که به اون برنامه دوباره سر بزنید و بخواید تغییراتی توش بدید دیگه از اون کدها سر در نخواهید آورد. و اینجاست که کامنتها به کمک میان و توضیحاتی که نوشته بودید به کمک شما میان.

هر جا احساس کردید که برنامه به توضیح اجتیاج داره حتما توضیح بنویسید. هر چه توضیحات برنامه یا به عبارتی داکیومنتیشن برنامه زیاد تر باشه در آینده به مشکل کمتری برمی خورید. یا کسی دیگه ای میخواد برنامه رو مرور کنه بفهمه که چیکار داره میکنه.

برای نوشتن توضیحات یک خطی از // استفاده میکنیم. ولی اگه بخوایم توضیحات چند خطی بنویسیم چی؟

در این صورت باید از یه اسلش و ستاره بعدش استفاده کنید و در انتها با یه ستاره و اسلش کامنت رو ببندید مثال:

خط بعدی برنامه

هست. این یک دایرکتیو کامپیالر هست. دایرکتوی ها هم کدهای زمان کامپایل هستن. یه فقط تا زمان اجرا کامپایل مورد استفاده قرار می گیرن و بعد از کامپایل به چیز دیگه ای تبدیل میشن.directive ها با یه علامت هش تگ #  مشخص میشن

مثل دایرکتیو include به کامپایلر میگه مقداری(اسم فایل) رو که جلوش مشخص شده رو به برنامه اضافه کنه. مثلا اینجا ما به کامپایلر گفتم که فایل iostream رو به این برنامه بچسبونه تا بتونیم از توابع داخل اون استفاده کنیم.

iostream شامل یک سری دستورات  برای ورود و خروج اطلاعات به کار میره. مثلا دستور cout که برای نمایش اطلاعات در مانیتور به کار میره در داخل این فایل تعریف شده.با اضافه کردن این فایل کتابخانه ای می تونیم از کدهای از قبل آماده شده مثل cout به راحتی استفاده کنیم.

خط بعدی برنامه

هست. بلاک های کد در سی++ درون آکولاد باز و بسته قرار میگین. اینها دقیقا مثل begin,end پاسکال هستن.

هر برنامه تحت سیستم عامل دارای یک نقطه ی ورودی هست. یعنی موقعی که سیستم عامل اقدام به اجرای یک فایل و بارگزاری اون فایل تو حافظه ی رم میکنه باید نقطه ی شروع اجرای برنامه رو پیدا کنه. تابع main نقطه ی شروع برنامه های نوشته شده با ++C هست.به قطعه برنامه های که به صورت مجزا عمل میکنن تابع میگن که بعدا بیشتر در مورد خواهیم گفت.

int یعنی مقداری از نوع integer یا داده ی صحیح، که بخش اعشاری نداره.اینجا int قبل main یعنی خروجی تابع main یک عدد صحیح(غیر اعشاری) است.

حالا چرا باید تابع main خروجی داشته باشه.اول اینکه همه ی توابع یه خروجی دارن. خروجی می تونه اعم از اعشاری،رشته ای، صحیح یا هر چیز دیگه باشه. ولی تابع main خروجیش int هست.

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

اگه به خط آخر برنامه قبلا از آکولاد بسته توجه کنید ما نوشتیم return 0; این یعنی تابع main ما مقدار صفر رو به سیستم عامل برگردونه. معنیش اینه که برنامه بدون هیچ مشکلی به انتها رسیده.

خط بعدی

هست. این خط که با std شروع شده و بعد دوتا دونقطه و بعدش دستور cout اومده به برنامه میگه که میخواد یک چیزی توی خروجی چاپ کنه. این خروجی رشته یا عدد و سایر چیزها میتونه باشه.

وظیفه ی چاپ خروجی با دستور cout (console out) هست. بعداز cout علامت >> قرار میگیره. یعنی میخواییم چیزی در خروجی چاپ کنیم(جهت اون به سمت cout هست یعنی مسیر داده خروجی به سی اوت هست). بعدش متن رو چاپ کردیم . متن ها همیشه داخل دو کوتیشن قرار میگیرن.. بعدش دوباره >> و در آخر هم std::endl;

endl یعنی endline یعنی با نوشتن این ما میگیم میخوایم کرسر موس رو توی صفحه نمایش به خط بعد منتقل کنیم. که میشه معادل زدن یه کلید اینتر.

حالا std چی هست. std یک فضای نام هست. فضای نام برای جدا سازی کلاس های و توابع به کار میره.  فضای نام یا namespace باعث میشه که کدها با هم تداخل نداشته باشن. برنامه نویسهای سی++ اومدن دستوران ورودی و خروجی مثل cout رو در فضای نامی به نام std مخفف standard نوشتن.

برای فضای نام من یه مثالی میزنم. فکر کنید من کدی نوشتم و توش یه تابع تعریف کردl به نام DoSomthing . این تابع من رو شخص دومی میگیره و اتفاقا اون شخص هم یه تابعی به نام DoSomthing داره. خوب همونطور که میدونید توی برنامه نویسی نمیشه در یکجا دوتا تابع هم نام داشت. پس برای اینکه تداخلی پییش نیاد من تابع خودم رو درون namespace ای که احتمال انتخاب اون توسط شخص دیگه کمه قرار میدم مثلا Webexpertsir . حالا شخص دومی که از تابع من استفاده کرده دیگه مشکل تداخل براش پیش نمیاد و می تونه از تابع من به این صورت استفاده کنه.

در آخر هم با return 0; کنترل اجرای برنام رو به سیستم عامل بر گردوندیم. در آخرین خط هم با یه آکولاد بسته برنامه با اتمام میرسه. این از توضیحات ساده ترین برنامه ی سی++

اگه جایی رو متوجه نشدین و یا مشکلی دیدین تو کامتها اعلام کنید تا بیشتر توضیح بدم.

تا بعد :-)