به دومین جلسه از آموزش برنامه نویسی ++C خوش آمدید. در این جلسه اولین برنامه به زبان ++C را خواهیم نوشت.
ساخت پروژه جدید در NetBeans
در جلسه اول در مورد محیط برنامه نویسی ++C بحث کردیم و چندین نرم افزار را برای اینکار معرفی کردیم. ما در این دوره آموزشی از نرم افزار NetBeans استفاده خواهیم کرد. پس از اجرای نرم افزار NetBeans ، اولین کار ساخت یک پروژه جدید است. برای این کار از نوار ابزار گزینه ساخت پروژه جدید را انتخاب میکنیم.
ساخت پروژه جدید در NetBeans
پس از آن در صفحه باز شده، از کادر سمت چپ (Categories) گزینه ++C/C و از کادر سمت راست (Projects) گزینه C/C++ Application را انتخاب کرده و دکمه Next را می زنیم.
انتخاب زبان و نوع پروژه
در مرحله بعد می بایست نام پروژه و محل ذخیره آن را مشخص کنیم. گزینه Create Main File را نیز تیک می زنیم تا فایل اصلی برنامه برای ما ساخته شود. بقیه گزینه ها را بدون تغییر باقی می گذاریم. در نهایت نیز دکمه Finish را می زنیم تا پروژه ما ساخته شود.
مشخص کردن نام و محل ذخیره پروژه
نوشتن اولین برنامه به زبان ++C
پس از ساخته شدن پروژه در پنل سمت چپ نرم افزار NetBeans ، ساختار پروژه خود را مشاهده خواهیم کرد. مهمترین بخشی که ما به آن نیاز داریم بخش Source Files و زیر مجموعه آن یعنی فایل main.cpp است. این فایل، فایل اصلی پروژه ++C ماست که کدهای خود را در آن خواهیم نوشت. با دوبار کلیک بر روی این فایل می توانیم آن را باز کرده و ویرایش کنیم.
ساختار پروژه ++C
پس از باز شدن فایل main.cpp ، محتوای پیش فرض درون آن را پاک کرده و کدهای مورد نظر خود را در آن می نویسیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; /* this is my first program in this tutorial, we will learn c++ programming */ int main() { // this is my first program // in this tutorial, // we will learn c++ programming cout << "Hello, This is my first program" << endl; return 0; } |
اولین برنامه به زبان ++C
قطعه کد بالا اولین برنامه به زبان ++C است. با این که این برنامه ساده بوده و چند خط بیشتر نیست، ولی نکات مهم و زیربنایی در خود دارد که توصیه میکنیم آنها را به دقت دنبال کنید. خروجی این برنامه، چاپ عبارت «Hello, This is my first program» در خروجی است. در ادامه بخشهای تشکیل دهنده این برنامه را شرح خواهیم داد. لازم به ذکر است که این برنامه به تفصیل در ویدئوی ضمیمه آموزش مورد بحث و بررسی قرار گرفته است.
خط شماره ۱ را اصطلاحا «راهنمای پیش پردازنده» گویند که تقریبا در همه برنامه ها استفاده می شود. دلیل استفاده از آن ،استفاده از دستور «cout» است که در ادامه شرح داده خواهد شد. بطور کلی هر گاه در برنامه مان از دستورات «ورودی-خروجی» استفاده کنیم، می بایست این دستور را درابتدای برنامه بنویسم. در غیر اینصورت برنامه با خطا مواجه شده و اجرا نخواهد شد.
در خط ۳ دستوری را می بینید که معرف فضای نام (namespace) استفاده شده در این برنامه است. هر کدام از دستورات و عبارات مورد استفاده در برنامه های ++C در یک فضای نام تعریف شده اند. فضای نام استفاده شده در این پروژه، فضای نام std (مخفف standard) است.
استفاده از comment (توضیح)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; /* this is my first program in this tutorial, we will learn c++ programming */ int main() { // this is my first program // in this tutorial, // we will learn c++ programming cout << "Hello, This is my first program" << endl; return 0; } |
بخشهای هایلایت شده در برنامه بالا (خطوط ۹-۵ و ۱۵-۱۳) را اصطلاحا comment (توضیح) گویند. هر گاه برنامه نویس بخواهد برای خود یا دیگران متنی توضیحی را درون برنامه قرار دهد، از این قابلیت استفاده می کند. این بخشها ارزش اجرایی نداشته و از نظر کامپایلر اهمیتی ندارند. برنامه نویس آن را برای خود و یا دیگرانی که این برنامه را در آینده خواهند دید، می نویسد.
خطوط ۹-۵ را توضیح چند خطی و خطوط ۱۵-۱۳ را توضیح تک خطی گویند. ابتدای توضیحات چندخطی با عبارت */ شروع شده و انتهای آن با عبارت /* خاتمه می یابد. تفاوت توضیح تک خطی در این است که دو علامت اسلش بصورت // می بایست در ابتدای هر خط توضیحی قرار داده شود.
شروع و پایان یک برنامه ++C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; /* this is my first program in this tutorial, we will learn c++ programming */ int main() { // this is my first program // in this tutorial, // we will learn c++ programming cout << "Hello, This is my first program" << endl; return 0; } |
در خط ۱۱ عبارت ()main را می بینیم. اجرای هر برنامه ++C از تابع main (تابع اصلی برنامه) شروع می شود. عبارت int را در ادامه شرح خواهیم داد. آغاز و پایان برنامه را با دو علامت آکولاد باز (خط ۱۲) و آکولاد بسته (خط ۲۰) مشخص می کنیم. به عبارت دیگر تمامی کدها و دستورات برنامه بین این دو علامت قرار می گیرند. به این صورت { … }
چاپ عبارات با استفاده از دستور cout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; /* this is my first program in this tutorial, we will learn c++ programming */ int main() { // this is my first program // in this tutorial, // we will learn c++ programming cout << "Hello, This is my first program" << endl; return 0; } |
در خط ۱۷ با استفاده از دستور cout عبارت «Hello, This is my first program» را در خروجی چاپ میکنیم. هر عبارتی که بین دو علامت نقل قول (“”) قرار گیرد، عینا در خروجی چاپ خواهد شد. بین دستور cout و عبارت مورد نظر نیز می بایست از عملگر خروجی >> استفاده کنیم.
دستور endl مخفف end line نیز مکان نما را به خط بعدی می برد (مشابه اینتر زدن در زمان تایپ یک متن). به خروجی برنامه دقت کنید:
خروجی برنامه
خاتمه برنامه با دستور return 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; /* this is my first program in this tutorial, we will learn c++ programming */ int main() { // this is my first program // in this tutorial, // we will learn c++ programming cout << "Hello, This is my first program" << endl; return 0; } |
در خط ۱۹ عبارت return 0 را می بینیم. این دستور از نظر برنامه ما اهمیتی نداشته و در فرایند اجرا تاثیری ندارد. کامپایلر در انتهای اجرای هر برنامه می بایست به سیستم عامل گزارش کند که آیا در جریان اجرای برنامه خطایی رخ داده است یا خیر. عدد ۰ به این معناست که برنامه با موفقیت اجرا شده و خطایی رخ نداده است. عبارت int در خط ۱۱ نیز به همین عدد ۰ (یک عدد صحیح) بر میگردد. int مخفف integer و به معنای عدد صحیح است.
این بود اولین برنامه به زبان ++C. در آینده با بخشهای دیگری از زبان ++C آشنا خواهیم شد. با ما همراه باشید…
39 دیدگاه. ارسال دیدگاه جدید
سلام استاد
ممنون بابت آموزش عالیتون. این برنامه بدون دستور return هم اجرا میشه. سوال من اینه که پس کاربرد این دستور چیه؟
بله دوست عزیز حق با شماست.
در چند خط آخر آموزش در این مورد توضیح داده شده (قبل از بخش دانلود سورس کد آموزش).
سلام استاد خدا قوت.
بابت آموزش های بسیار خوبتون ممنون. یه سوال داشتم: توی برنامه نویسی به زبان C تو دانشگاه بهمون میگفتن برای اینکه وقتی برنامه رو ران میکنیم زود بسته نشه دستور ()getch رو آخر برنامه بنویسیم تا با وارد کردن یک حرف اونوقت برنامه بسته بشه. توی زبان ++C چی باید بنویسیم تا برنامه اجرایی وقتی اجرا کردیم زود بسته نشه؟
دوست عزیز تابع ()getch در زبان ++C هم قابل استفاده هست و همون کارایی رو داره.
سلام به اولین استاد برنامه نویسی من!!!
من الان مهندسی کامپیوتر میخونم … با توجه به علاقم به برنامه نویسی داداشم دوره های برنامه نویسی شما رو برام ریخت و توی تابستون یسریاشو دیدم
و حقیقتا برای دانشگاه هم خوب بود … همین که کمی بلد بودم حس خوبی بهم میداد و … دست شما درد نکنه و سپاسگزارم
سلام جناب خسته نباشید. ممنون از آموزش فوق العاده ای که به رایگان برای ما قرار دادید. من از طرف خودم و هم کلاسی هام از شما کمال تشکر و قدردانی رو دارم. موفق باشید
سلام آقای زعفری
دمتوووون گررررررم
ببخشید یکی مثل من ۳۲ ساله باشه و بخواد برنامه نویسی رو از صفر شروع کنه به جایی میرسه؟
معلومه که میشه پسر خوب
هیچوقت برای تغییر و حرکت به سمت موفقیت دیر نیست.
انگیزه و علاقه باشه دیگه هیچی مهم نیست.
سپاااااس
سلام ممنون از زحماتتون
سلام و خسته نباشید به شما
میخواستم بدونم که اگه به جای return 0 برای مثال return 1 یا ۲ یا هر عدد دیگه ای قرار بدیم چه تفاوتی تو برنامه به وجود میاد؟
چون من اینکارو کردم هیچ فرقی نکردش؛ دلیل خاصی داره؟
دوست عزیز همونجوری که در آموزش هم ذکر شده، این دستور (return 0) از نظر برنامه ما اهمیتی نداشته و در فرایند اجرا هم تاثیری نداره. کامپایلر در انتهای اجرای هر برنامه می بایست به سیستم عامل گزارش کنه که آیا در جریان اجرای برنامه خطایی رخ داده یا خیر. عدد ۰ به این معناست که برنامه با موفقیت اجرا شده و خطایی رخ نداده است.
سلام استاد زعفری خسته نباشید
من سال ها تلاش کردم برای یادگرفتن زبان ++C ولی خب به نتیجه نرسیدم چرا؟ چون نمیدونستم از کجا شروع کنم و واقعا درک کردن فانکشن ها و …. مبهم بود برام
ولی الان آموزش hello word رو کامل متوجه شدم و این که من تونستم اولین چیزای مبتدی در این زبان رو یاد بگیرم
جا داره از زحمات شما تشکر بکنم و واقعا مرسی بابت این آموزشهای عالی
خواهش میکنم دوست عزیز
موفق و پیروز باشید
سلام استاد، دوره خیلی خوبی تولید کردید
فقط من یه سوال برام پیش اومده:
من مفهوم ()int main یا همون تابع اصلی و return 0 رو درست متوجه نشدم
اگه میشه یه توضیح بیشتری در رابطه با این موضوع بدید. خیلی خیلی ممنون میشم
ببینید دوست عزیز تابع main تابع اصلی یک برنامه ++C هست، به این معنی که اجرای برنامه از تابع main شروع میشه.
return هم دستوری هست که با اون مقداری که یک تابع لازم هست برگردونه، برگشت داده میشه.
واقعیتش الان یه کم برای درک مفهوم دقیق این اصطلاحات زود هست.
انشاا.. جلوتر که برید (در جلسه ۷ : کار با توابع در ++C) بهتر متوجه مفهوم تابع و وظیفه اون میشید.
براتون آرزوی موفقیت میکنم.
مطمئنم یه روزی میرسه که میاید و یه کامنت دیگه میزارید و میگید آقای زعفری یادتونه من در مورد main و return سوال میپرسیدم؟
الان پروژه ها و برنامه های بسیار بزرگتری رو انجام دادم و به یه برنامه نویس خبره تبدیل شدم.
به امید اون روز… 💪
واقعا ممنونم
استاد عالی بود
تشکر
درود و احترام خدمت شما
من تازه دارم شروع میکنم به یاد گرفتن برنامه نویسی و ویدیوهای شما رو انتخاب کردم
حقیقتش یکم استرس دارم که خوب یاد نگیرم و …
امکانش هست راهنماییم کنید
با تشکر
دوست عزیز ورود شما رو به وبسایت mzsoftware.ir خوشامد میگم.
بدونید که برای انجام و موفقیت در هر کاری تنها فاکتور لازم، علاقه و پشتکار هست.
اگر این رو داشته باشید دیگه هیچی مهم نیست.
بسم ا.. رو بگید و با قدرت شروع کنید.
به اتفاقات خوبی که در آینده براتون میفته فکر کنید.
سلامی دوباره
بنده سوالی پرسیدم که جنابعالی در پست های ممتد پاسخشو داده بودید
عذر میخوام
هر چند پاسخ مجدد شما از بزرگواری شماست
سوال دیگه ای داشتم
بنده به جای netbeans از ++dev c استفاده میکنم و زمانی که برنامه رو مینویسم نمیتونم در همان زمان اجراش کنم لذا باید برنامه رو save کنم و از dev خارج بشم و قسمت سیو برنامه برم و فایل main رو اجرا کنم و بعد اونو run کنم
آیا راهی هست که بتونم مستقیم برنامه رو اجرا کنم چرا که با اجرای فایل main فکرکنم که نتونم مثل شما در آن واحد هم راه ها و شگردهای مختلف رو امتحان کنم و بعد هر شگردی بلافاصله برنامه رو اجرا کنم؟
امیدوارم منظورمو رسونده باشم
دوست عزیز تا جاییکه خاطرم هست برای اجرای برنامه ++c در محیط ++dev c یه آیکون پنجره مانند رنگی هست که همزمان کار Compile و Run رو انجام میده.
اگر ماوس رو روش نگه دارید احتمالا عبارت Compile & Run رو خواهید دید.
فرآیندی که شما برای اجرای برنامه فرمودید معقول نیست. احتمالا یه جای کار ایراد داره.
با کلیک بر روی همون آیکونی که خدمتتون عرض کردم برنامه کامپایل و در صورت نداشتن ارور اجرا خواهد شد.
سلام استاد من سر کلاس مطالب رو خیلی خوب یاد نگرفتم ولی الان که قدم به قدم با نگاه کردن به آموزشهای شما و همینطور با کامپایلر کار میکنم خیلی خوب متوجه میشم.
ممنون که آموزش ها رو رایگان در اختیار دانشجویان و مردم قرار دادین.
ممنونم دوست عزیز
از لطفتون سپاسگزارم
سلام من وقتی میخام پروژه بسازم بعد از اینکه ++C انتخاب میکنم، صفحه بعدش توی قسمت build host خالیه و اشکال میگیره
چیکارش کنم؟
دوست عزیز به نظر میرسه که نسخه نت بینز شما فاقد کامپایلر داخلی سی پلاس پلاس هست.
از اونجاییکه فرآیند اضافه کردن کامپایلر به نت بینز کمی پیچیده است و قابل شرح نیست، توصیه می کنم که از نرم افزارهای دیگه ای که برای کدنویسی سی پلاس پلاس موجوده استفاده کنید (البته میتونید توی اینترنت و یوتیوب سرچ کنید و با آموزشهایی که در این زمینه وجود داره، اگر تونستید کامپایلر سی پلاس پلاس رو به نت بینز اضافه کنید)
توصیه من نرمافزارهای جایگزینی مثل «بورلند سیپلاسپلاس» و یا «++dev c» هستش.
فرقی نمیکنه و کاربردهای یکسانی دارن.
سلام
من دقیقا عبارت ;cout << "hi" << endl رو نوشتم همون عبارت داخل آموزش ولی زیر std اون که اون بالا نوشته میشه تا دیگه تکرار نشه و زیر کلمات endl و cout خط میکشه و موقع اجرا هم پنجره ای باز میشه که تیترش resolve missing native build tools هست و نمیدونم راه بر طرف کردنش چیه لطفا کمک کنید
دوست عزیز به نظر میرسه که نسخه نت بینز شما فاقد کامپایلر داخلی سی پلاس پلاس هست.
از اونجاییکه فرآیند اضافه کردن کامپایلر به نت بینز کمی پیچیده است و قابل شرح نیست، توصیه می کنم که از نرم افزارهای دیگه ای که برای کدنویسی سی پلاس پلاس موجوده استفاده کنید.
توصیه من نرمافزارهای «بورلند سیپلاسپلاس» و یا «++dev c» هستش.
فرقی نمیکنه و کاربردهای یکسانی دارن.
واقعا خدا قوت، ممنون از زحماتتون
به نظر من شما بهترین کسی هستین که زبان سی پلاس پلاس رو درس میده.
شما همه چیز رو از صفر درس می دین و حتی دلیل نوشتن هر کد رو هم می گین.
تا حالا دنبال پکیج های مختلفی مثل پکیج موسسه فرادرس رفته بودم و حتی هزینه هم کردم ولی شما از بین اینا کاربردی تر درس می دین.
ممنونم دوست عزیز، لطف دارین
سلام استاد.
توی ویدئوی دوم درباره ساختن پروژه توی برنامه (نت بینز) توضیح دادید.
بعد وقتی من انجام میدم زیر دستور include خط قرمز میکشه حتی زیر کلمه std
چرا؟
دوست عزیز احتمالا نت بینز شما فاقد کامپایلر داخلی جهت اجرای کدهای سی پلاس پلاس هست.
میتونید از نرم افزارهای دیگه ای که برای برنامه نویسی به زبان سی پلاس پلاس وجود داره، استفاده کنید. خیلی تفاوتی نمیکنه.
تعدادی از اونها توی جلسه اول آموزش معرفی شدن.
دو تا از معروفترین هاشون «بورلند سی پلاس پلاس» و «++dev c» هستن.
چون تو جلسه اول گفته بودین نت بینز همه اینها رو شامل میشه
پس اشکالی نداره از بقیه برنامهها استفاده کنم؟
نه دوست عزیز، مشکلی نیست
با همه نرمافزارهای ذکر شده میشه کدنویسی سی پلاس پلاس رو انجام داد.
با سلام و عرض خسته نباشید
استاد من با استفاده از نتبینز و آموزش شما دارم برنامه نویسی یاد میگیرم فقط یه مشکلی که دارم موقع نوشتن برنامه ارور error “unable to resolve identifier std” رو میده…
std::cout<<“hello”; توی این خط این ارور رو میده... بنظرتون مشکل از برنامه نت بینزه که کلمه std رو شناسایی نمیکنه یا توی تنظیماتش به مشکل برخوردم؟ ممنون میشم کمکم کنین...
دوست عزیز توی آموزش هم ذکر شده که بهتره شما عبارت ::std رو از ابتدای دستور cout و endl حذف کنید و بجاش بالای تابع ()main دستور ;using namespace std رو اضافه کنید.
به این صورت مشکلتون حل میشه
باسلام و تشکر بابت این دوره
من در نصب کامپایلر مشکل دارم
به این صورت که نرم افزار نت بینز رو نصب کردم میتونم پروژه سی پلاس پلاس ایجاد کنم اما موقع تست کدها دنبال کامپایلر میگرده و پیدا نمیکنه
کامپایلر بورلند سی پلاس پلاس رو بدون آی دی ای نصب کردم و با سی ام دی کد را خواستم کامپایل کنم که ارور میده و میگه فایل اینکلودها رو نمیتونه باز کنه
راه حل چیه؟
دوست عزیز اگر در کار با نتبینز مشکل دارید به جاش نرم افزار بورلند سی پلاس پلاس رو نصب کنید. سبکتره و کار کردن باهاش هم ساده تره