آموزش برنامه نویسی c++ رایگان — یادگیری گام به گام و تصویری

زبان برنامه نویسی سی پلاس پلاس
زبان برنامه نویسی سی پلاس پلاس


برای توسعه نرم افزار و برنامه نویسی، زبان‌ها و ابزار گوناگونی در دسترس شما قرار دارد.

با تسلط بر زبان‌های برنامه نویسی و استفاده از خلاقیت خود می‌توانید برنامه‌های کاربردی متنوعی را بسازید و حتی از این راه به کسب درآمد بپردازید.

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

برای مثال زبان برنامه نویسی آر (R) در تحقیقات و محاسبات علمی استفاده می‌شود. یا جاوا اسکریپت یکی از زبان‌های حیاتی برای طراحی و توسعه وب محسوب می‌شود.

یکی از پرکاربردترین زبان‌های برنامه نویسی دنیا، سی پلاس پلاس (C Plus Plus یا ++C) است. این زبان برای توسعه نرم‌افزارهای سبک و بهینه کاربرد دارد.

در این مطلب قصد داریم ویژگی‌های زبان ++C را توضیح داده و یک پروژه کوچک سی پلاس پلاس نیز در ویژوال استودیو ایجاد کنیم.

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

معرفی زبان برنامه نویسی ++C

شی گرایی در سی پلاس پلاس
شی گرایی در سی پلاس پلاس


ویژگی‌هایی که می‌توان ++C را با آن‌ها معرفی کرد عبارت‌اند از:

· میان سطح بودن: یعنی از ویژگی‌های زبان‌های سطح پایین و سطح بالا پشتیبانی می‌کند.

· حساس به بزرگی و کوچکی حروف

· پشتیبانی از ساختار نوشتار آزاد (Free Form Programming Language): یعنی محل قرار گرفتن کاراکترها اهمیتی ندارد. کاراکترها می‌توانند پشت‌ سرهم یا زیر هم باشند.

· پشتیبانی از برنامه نویسی شی گرا، ساخت یافته و همگانی (Generic Programming)

ویژگی بارز ++C

ویژگی بارز زبان برنامه نویسی ++C، امکان تعامل مستقیم آن با سخت افزار است. به علت داشتن همین ویژگی، از ++C برای ساخت نرم افزارها و اپلیکیشن‌هایی استفاده می‌شود که باید روی سیستم‌هایی با منابع محدود اجرا شوند.

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

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

تاریخچه ++C

++C توسط بی‌یارنه استراس تروپ در یک دوره که آغاز آن سال ۱۹۷۹ بود، توسعه داده شد.

++C در ابتدا تلاشی برای اضافه کردن ویژگی‌های برنامه نویسی شی گرا به زبان برنامه نویسی سی بود. به همین علت نام اولیه آن را زبان سی به همراه اشیا یا C with Objects گذاشته بودند. با پیشرفت در توسعه این زبان برنامه نویسی، استراس‌تروپ نام آن را به ++C تغییر داد.

دو علامت جمع در کنار هم یا همان پلاس پلاس، عملگری در زبان سی است که برای اضافه کردن مقدار یک به مقدار فعلی استفاده می‌شود. بنابراین ++C را می‌توان به معنای سی افزایش یافته نیز در نظر گرفت.

اولین کامپایلر تجاری ++C نیز در سال ۱۹۸۵ با نام سی فرانت (Cfront) در دسترس قرار گرفت.

با گذشت نزدیک به چهل سال از معرفی ++C، اما این زبان همچنان جزو محبوب‌ترین زبان‌های برنامه نویسی است.

طبق شاخص تیوب (tiobe)، ++C پس از پایتون، سی و جاوا، چهارمین زبان محبوب برنامه نویسی محسوب می‌شود.

محبوب‌ترین زبان‌های برنامه نویسی در سال ۲۰۲۱
محبوب‌ترین زبان‌های برنامه نویسی در سال ۲۰۲۱


آموزش محبوب‌ترین زبان‌های برنامه نویسی دنیا در فرادرس برای تهیه و استفاده توسط شما وجود دارد.

فلسفه طراحی زبان ++C

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

پشتیبانی از کلاس‌ها، شی گرایی و پشتیبانی از برنامه نویسی همگانی از دیگر جنبه‌های فلسفه طراحی ++C است.

در برنامه نویسی همگانی، انواع داده را می‌توان در آینده مشخص کرد و نیازی به تعیین نوع داده هنگام نوشتن الگوریتم‌ها نیست.

کاربردهای ++C

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

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

در واقع ++C یکی از پراستفاده‌ترین زبان‌های برنامه نویسی در حال حاضر محسوب می‌شود.

مقاصد آموزشی

پیاده سازی ساختمان داده‌ها و طراحی الگوریتم‌ها به کمک سی پلاس پلاس
پیاده سازی ساختمان داده‌ها و طراحی الگوریتم‌ها به کمک سی پلاس پلاس

در بسیاری از دانشگاه‌ها نیز از زبان برنامه نویسی ++C به عنوان زبانی برای آموزش اصول پایه‌ای برنامه نویسی مانند طراحی الگوریتم و ساختمان داده‌ها استفاده می‌شود.

سیستم عامل

++C نقش مهمی در توسعه سیستم عامل‌های معروف مانند مک او اس، ویندوز و آی او اس (iOS) بازی کرده است.

توسعه بازی

بازی کانتر
بازی کانتر


در بازی‌های معروفی مانند دنیای وارکرفت (World of Warcraft)، کانتر (Counter Strike) و همچنین موتورهای بازی سازی مانند آنرییل (Unreal Engine) از زبان ++C استفاده شده است.

اینترنت اشیا

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

پایگاه‌های داده

++C برای ساخت ابزارهای محبوب مدیریت پایگاه داده مانند مای اس کیو ال (MySQL) و مونگو دی بی (MongoDB) استفاده شده است.

مرورگر وب

در روند توسعه مرورگرهایی مانند گوگل کروم،‌ فایرفاکس و سافاری از ++C استفاده شده است.

موتور جتسجوی گوگل

موتور جستجوی گوگل
موتور جستجوی گوگل


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

ابزار یادگیری ماشین

درست است که محققان از ابزار یادگیری ماشین TensorFlow با زبان پایتون استفاده می‌کنند، اما محاسباتی که در هسته این ابزار انجام می‌شود با کد‌های ++C پیاده سازی شده است. ++C کتابخانه‌های بزرگی را برای انجام محاسبات مربوط به آموزش سیتسم‌های یادگیری ماشین فراهم کرده است.

اپلیکیشن‌های هوش مصنوعی و واقعیت مجازی

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

تحقیقات علمی

در آزمایشگاه CERN از ++C برای پردازش داده‌های مربوط به ذرات زیراتمی و یافتن منشأ جهان ما استفاده می‌شود.

ابزارهای مالی

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

نرم افزارهای پرواز

نرم افزار پرواز
نرم افزار پرواز


++C معمول‌ترین زبان برنامه نویسی برای طراحی نرم افزارهای پرواز در هواپیماهای تجاری و نظامی محسوب می‌شود.

فناوری پزشکی

از ماشین‌های MRI گرفته تا تجهیزات آزمایشگاه‌ها، برای طراحی برنامه‌های مدیریت داده‌های بیماران از ++C استفاده می‌شود.

مخابرات

برای مدیریت منابع و برقراری تماس هم‌زمان میان میلیون‌ها کاربر از ++C استفاده می‌شود.

ساخت فیلم

بسیاری از جلوه‌های ویژه و گرافیکی موجود در فیلم‌ها به وسیله ++C ساخته شده‌اند.

برای یادگیری ++C داشتن چه دانشی از قبل نیاز است؟

پایه‌های برنامه نویسی
پایه‌های برنامه نویسی


ممکن است نام این زبان برنامه نویسی طوری تداعی کند که نیاز است شما قبل از یادگیری ++C، زبان C را بلد باشید. اما چنین چیزی درست نیست و تنها دانستن اصول پایه‌ای برنامه نویسی اهمیت دارد. البته اگر قبلاً با سی یا هر زبان دیگری کار کرده باشید، می‌توانید راحت‌تر یک زبان برنامه نویسی جدید را یاد بگیرید.

برای یادگیری ++C باید از کجا شروع کرد؟

از آن جا که ++C یک زبان بسیار محبوب است، دوره‌های آموزش آنلاین رایگان و پولی زیادی برای یادگیری آن در نظر گرفته شده است.

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

آموزش ++C

پس از مطرح کردن مقدمات لازم، زمان آن است که به آموزش ++C بپردازیم.

مراحل برنامه نویسی به زبان ++C

مراحل برنامه نویسی به زبان سی پلاس پلاس
مراحل برنامه نویسی به زبان سی پلاس پلاس


قبل از نوشتن کد و اجرای اولین برنامه،‌ بهتر است مقداری وارد جزئیات برنامه نویسی به زبان C++ شویم.

مراحل برنامه نویسی ++C را می‌توان در موارد زیر خلاصه کرد:

· طرح مسئله‌ای که می‌خواهید با برنامه نویسی به پاسخ آن برسید

· تعیین نحوه حل مسئله و طراحی الگوریتم مربوط به آن

· نوشتن کد

· کامپایل شدن کد به وسیله کامپایلر

· اتصال اشیایی (Object) که کامپایلر تولید کرده است به یکدیگر و تولید یک فایل اجرایی واحد

· اجرا و رفع خطای برنامه

در ادامه بیشتر درباره کامپایر و اشیا خواهید آموخت.

کامپایلر ++C چیست؟

کامپایلر سی پلاس پلاس
کامپایلر سی پلاس پلاس


کامپایلر، برنامه‌ای است که زبان برنامه نویسی مبداً را به زبان برنامه نویسی مقصد ترجمه می‌کند. در بیشتر مواقع منظور ما از کامپایلر، برنامه‌ای است که کد یک زبان سطح بالا را به زبان سطح پایین (مانند زبان اسمبلی یا کد ماشین) ترجمه می‌کند.

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

کد‌های نوشته شده به زبان ++C در فایل‌هایی با پسوند .cpp ذخیره می‌شود. کامپایلر با خواندن کد موجود در این فایل‌ها دو کار مهم انجام می‌دهد:

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

۲. کامپایلر کد شما را به فایل‌هایی که حاوی کد زبان ماشین هستند و به آن‌ها فایل آبجکت یا object file می‌گویند، ترجمه می‌کند.

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

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

آماده سازی ابزارهای مورد نیاز برای برنامه نویسی به زبان ++C

ویژوال استودیو - نمونه‌ای از یک IDE مناسب برای سی پلاس پلاس
ویژوال استودیو - نمونه‌ای از یک IDE مناسب برای سی پلاس پلاس


پس از آشنایی با نحوه عملکرد ++C، زمان آن است که محیط سیستم عامل خود را برای برنامه نویسی ++C آماده کنید.

بدین منظور، احتیاج است تا یک IDE را نصب کنید. IDE کوتاه شده‌ Integrated Development Environment به معنای محیط یکپارچه توسعه است.

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

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

بهترین IDEها برای برنامه نویسی ++C عبارت‌اند از:

· ویژوال استودیو (Visual Studio): احتمالاً محبوب‌ترین IDE برای ++C، ویژوال استودیو است. ویژوال استودیو توسط مایکروسافت توسعه داده شده و یکی از کامل‌ترین IDEهای موجود در بازار است. از معایب ویژوال استودیو حجم بالای آن است.

· کد بلاکز (Code Blocks): کد بلاکز یکی دیگر از محیط‌های توسعه محبوب برای ++C است. کد بلاکز متن باز و رایگان است. تقریباً تمامی نیازهای خود را می‌توانید به وسیله این IDE سبک و کم حجم برطرف کنید.

ایجاد اولین پروژه ++C

پس از نصب IDE، می‌توانید وارد مرحله ایجاد پروژه و نوشتن اولین برنامه شوید.

در مثالی که قصد مطرح کردن آن را داریم، از ویژوال استودیو ۲۰۱۹ به عنوان IDE خود استفاده کرده‌ایم. اگر با نحوه نصب و استفاده از برنامه ویژوال استودیو ۲۰۱۹ آشنا نیستید، به شما پیشنهاد می‌کنیم مقاله نصب ویژوال استودیو — آموزش تصویری، گام به گام و رایگان را در مجله فرادرس مطالعه کنید.

پس از اجرای ویژوال استودیو با صفحه‌ای مانند شکل زیر مواجه خواهید شد:

اولین پنجره‌ای که پس از باز کردن ویژوال استودیو مشاهده خواهید کرد
اولین پنجره‌ای که پس از باز کردن ویژوال استودیو مشاهده خواهید کرد


گزینه create a new project را انتخاب کنید. پنجره‌ای مانند شکل زیر برای شما باز خواهد شد:

ایجاد پروژه جدید در ویژوال استودیو
ایجاد پروژه جدید در ویژوال استودیو


گزینه Windows Desktop Wizard را انتخاب کنید و روی دکمه Next کلیک کنید. اگر این گزینه را مشاهده نمی‌کنید احتمالاً پکیج Desktop development with C++ را هنگام نصب ویژوال استودیو، نصب نکرده‌اید و باید تغییراتی را در نصب ویژوال استودیوی خود اعمال کنید.

در غیر اینصورت، پنجره‌ای مانند شکل زیر برای شما نمایش داده خواهد شد:

پیکربندی پروژه جدید در ویژوال استودیو
پیکربندی پروژه جدید در ویژوال استودیو


نام پروژه را به HelloWorld تغییر دهید.

توصیه می‌شود که تیک گزینه Place solution and project in the same directory را بزنید تا تعداد زیرپوشه‌های ایجاد شده کاهش پیدا کند.

روی دکمه Create کلیک کنید.

در نهایت چنین پنجره‌ای را مشاهده خواهید کرد:

تنظیمات نهایی ایجاد پروژه جدید
تنظیمات نهایی ایجاد پروژه جدید


مطمئن شوید که Application Type را روی Condole Application (.exe) قرار داده باشید. تیک گزینه Precompiled Header را نیز بردارید. روی دکمه Ok کلیک کنید.

تبریک! شما با موفقیت اولین پروژه خود را ایجاد کردید.

در قسمت راست یا چپ ویژوال استودیو، باید پنجره‌ای به نام Solution Explorer را مشاهده کنید.

در این پنجره، ویژوال استودیو یک Solution به نام Solution HelloWorld ایجاد کرده است. در این Solution، پروژه جدید شما به همراه تعدادی فایل و پوشه ایجاد شده است. در پوشه Source Files، فایلی به نام HelloWorld.cpp وجود دارد.

فایل‌های دیگری نیز با پسوند .cpp یا .h وجود دارد که می‌توانید فعلاً آن‌ها را نادیده بگیرید.

محیط ویژوال استودیو و Solution Explorer
محیط ویژوال استودیو و Solution Explorer


در ویرایشگر متن مشاهده می‌کنید که ویژوال استودیو به صورت خودکار فایل HelloWorld.cpp را باز کرده و کد‌هایی را نیز در این فایل تعبیه کرده است.

تمامی کده‌ها را انتخاب کرده و آن‌ها را پاک کنید. در عوض کد‌های زیر را در ویرایشگر متن خود تایپ کنید:

کدهای مربوط به پروژه HelloWorld
کدهای مربوط به پروژه HelloWorld


برای کامپایل شدن برنامه خود،‌ دکمه F7 را فشار دهید. اگر فشردن F7 برای شما کار نکرد، کلیک‌های ترکیبی کنترل-شیفت-بی (Ctrl-Shift-B) را فشار دهید. یا این که می‌توانید در منوی Build، گزینه Build Solution را انتخاب کنید.

اگر همه چیز به خوبی پیش برود، باید نتایج زیر را در پنجره خروجی مشاهده کنید:

1>------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------

1>HelloWorld.cpp

1>HelloWorld.vcxproj -> c:\users\alex\documents\visual studio 2017\Projects\HelloWorld\Debug\HelloWorld.exe

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped


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

برای اجرا کد کامپایل شده خود، دکمه‌های ترکیبی کنترل و F5 (Ctrl+F5) را فشار دهید. یا این که می‌توانید به منوی Debug رفته و گزینه Start Without Debugging را انتخاب کنید.

پنجره زیر را مشاهده خواهید کرد:

خروجی پروژه HelloWorld
خروجی پروژه HelloWorld


در پنجره بالا، نتیجه اولین کدی که نوشته‌اید را روی نمایشگر مشاهده می‌کنید.

در مورد سی پلاس پلاس بیشتر یاد بگیرید!

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

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

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

منابع

https://www.learncpp.com/