در دوره آموزش برنامه نویسی c++ ضمن معرفی ابزارهای مفید برای نوشتن، کامپایل، خطایابی کدهای نوشته شده به زبان ++C به یادگیری مفاهیم اصلی و کاربردی زبان++C در یک محیط واقعی پرداخته میشود. تمام مفاهیم مورد نیاز در این زبان شامل متغیرهای اولیه، دستورات شرطی و حلقهها، رشتهها، آرایهها و اشارهگرها، ساختمانها و دادههای شمارشی، توابع و نیز مباحث پیشرفتهتر شامل حوزه تعریف و فضای نام، مفاهیم برنامهنویسی شئگرا، وراثت، چندریختی و نیز قالبها به طور کامل در این دوره مطرح شده است.
همچنین در این دوره تمرینات و نبز یک پروژهی کاربردی جهت افزایش توانایی برنامهنویسان برای حل مسائل واقعی، کسب اعتماد به نفس و نیز آماده شدن جهت ورود به جمع برنامهنویسان حرفهای این زبان جهت کار در محیطهای عملیاتی، در نظر گرفته شده است.
هدف از یادگیری دوره آموزش C++ چیست؟
شاید تصور کنید با ظهور زبانهای برنامهنویسی شیگرایی مانند پایتون، سی پلاس پلاس دیگر جایگاهی در دنیای فناوری ندارد. این یک تصور اشتباه است. هر برنامهای که نیازمند عملکرد سریع است، به احتمال زیاد توسط زبان برنامه نویسی C++ نوشته شده است؛ مانند بازیهای ویدئویی که به سرعت و قابلیتهای گرافیکی پیشرفتهای نیاز دارند.
با توجه به ویژگیها و موارد گفته شده، زبانهای C و C++ رایجترین زبانهایی است که دانشگاههای کشور به دانشجویان جدیدالورود تدریس میشود. از این رو ما در مکتبخونه تصمیم گرفتیم تا دوره آموزش زبان C++ را برای شما عزیزان فراهم آوریم.
دوره آموزش C++ مناسب چه کسانی است؟
- کسانی که برای اولین بار میخواهند یک زبان برنامهنویسی یاد بگیرند.
- کسانی که با زبان C آشنایی دارند و قصد تکمیل مهارتهای برنامهنویسی خود با زبان C++ را دارند.
- کسانی که به طراحی و توسعه نرمافزارهای کاربردی و سریع علاقهمندند.
- کسانی که دوست دارند بازیهای ویدئویی زیبا بسازند.
- کسانی که قصد دارند برنامهنویسی را با یک زبان همهمنظوره و ساده شروع کنند.
- بعد از فراگیری دوره آموزش برنامه نویسی C++ چه مهارتهایی کسب خواهید کرد؟
- آشنایی با انواع دادهها، عملگرها و دستورات شرطی If، switch و حلقههای for و while
- آشنایی با آرایهها، رشتهها و اشارهگرها
- آشنایی با توابع و استفاده از آنها
- تسلط بر کلاسها، برنامه نویسی شیگرا و ویژگیهای وراثت و چندریختی
- یادگیری چگونگی ساخت قالبها در زبان C++ و C
پیشنیازها و نرمافزارهای لازم برای فراگیری دوره آموزش C++ چیست؟
دوره آموزش C++ مکتبپلاس از پایه شروع به آموزش C++ میکند. از همین رو، شرکت در این دوره هیچ پیشنیازی ندارد. برای شروع برنامه نویسی به زبان C++ باید با مبانی کامپیوتر و اجزای آن آشنایی داشته باشید که استاد دوره به توضیح مقدمات برنامهنویسی میپردازد.
برنامه نویسی C++ در ویندوز به یک ویرایشگر متن مانند wordpad و یک کامپایلر نیاز دارد. برای راحتی بیشتر شما میتوانید یک نرمافزار IDE دانلود و نصب کنید تا نوشتن و کامپایل کدها را تنها در همین محیط انجام دهید. ما به شما نرم افزار CodeBlocks را پیشنهاد میکنیم. دانلود و نصب این نرمافزار هم توسط استاد دوره به شما آموزش داده میشود.
ویژگی های متمایز دوره آموزش برنامه نویسی C++ مکتبخونه چیست؟
اکثر دورههای آموزشی مکتبپلاس پروژهمحور است. دوره آموزش برنامه نویسی c++ هم از صفر تا صد در قالب تمرینات و پروژههای عملی به شما عزیزان آموزش داده میشود. بدین ترتیب میتوانید همزمان با یادگیری مباحث تئوری نحوه استفاده از آنها را هم فرابگیرید.
کوییزها، تمرینات و پروژههایی در انتهای بیشتر فصلها و فصل آخر برای شما در نظر گرفته شده است که با کمک آن میتوانید مهارتهای خود را بسنجید. درصورتی که 70 درصد نمره را کسب کنید، گواهینامه مکتبخونه به شما اعطا خواهد شد.
برنامه نویسی ++C و تاریخچه آن
بسیاری از برنامههای کاربردی و ضروری در دنیای IT به وسیله زبان برنامه نویسی C++ نوشته شدهاند. Microsoft Office، سیستم عامل Windows، بسیاری از آنتی ویروسها، نرم افزارهای گرافیکی و موتورهای بازیسازی و همینطور نرمافزار بسیاری از سیستمهای Embedded و سرورهای مهم تنها مثالهایی هستند که نشاندهنده اهمیت این زبان برنامهنویسی هستند.
برنامه نویسی C++ طیف بسیار وسیعی از کاربردها را شامل میشود. از برنامههای بسیار کم حجم و کوچک تا برنامههای با حجم بالا و گرافیک سنگین. همچنین هرجا که صحبت از کارایی و استفاده بهینه از منابع سیستم به میان میآید پای این زبان به وسط کشیده میشود. همینطور نوشتن برنامه های Multi Platform یکی دیگر از نیازهایی است که با استفاده از این زبان و دنیایی از ابزارها و کتابخانههای نرم افزاری در کنار آن پاسخ داده میشود.
کار بر روی زبان برنامهنویسی سی پلاس پلاس c++ از سال 1979 شروع شد و شخصی به نام استروستروپ متوجه شد که سیمولا برای طراحی برنامههای بسیار بزرگ مناسب میباشد. اما در ادامه متوجه این موضوع گردید که استفاده از این ویژگی بسیار عملکرد کندی را به همراه خود خواهد آورد.
در ابتدا کار با مشکل هسته یونیکس مواجه بودیم ولی استروستروپ با استفاده از تجربیات خود در زمینهی زبان c، توانست ویژگیهای سیوملا را توسعه دهد.
در سال 1983 زبان برنامه نویسی c جایگاه خود را به زبان c++ واگذار نمود و پس از آن زبان برنامهنویسی c++ با ویژگیهای بسیار زیادی رو به رو گردید اگر بخواهیم به بخشی از این ویژگیها اشاره کنیم، باید حتما موارد زیر را خاطر نشان شویم:
- توابع مجازی
- سربارگزاری عملگر
- نام تابع
- ارجاعات
- ثابتها
- کنترل حافظه توسط کاربر
- ارث بریهای چندگانه
- اعضای ثابت تابع
همچنین دیگر ویژگیهای زبان سی پلاس پلاس c++ که در سال 1990 به صورت کامل منتشر گردید.
نام دیگری که میتوان برای زبان برنامه نویسی c++ در نظر بگیریم که در گذشته به این نام نیز شناخته میشد، زبان c با کلاس بود. در حال حاضر همانطور که میدانید هنوز زبان برنامهنویسی c++ را به عنوان یکی از ابر زبانهای برنامهنویسی میشناسند.
زبان c++ یک زبان برنامهنویسی سطح میانه میباشد و برای سیستم عاملهایی همچون ویندوز و mac و یونیکس قابلیت اجرایی دارد. ویژگیهایی در برنامه نویسی c++ تعریف شده است که در زبان برنامهنویسی سی نیز از این ویژگیها استفاده گردید. یکی از این ویژگیها که میشود در مورد آن صحبت کنیم، تعریف for میباشد.
با این حال ویژگیهایی در زبان سی وجود دارد که در واقع در زبان برنامهنویسی c++ قرار نگرفته است. از این نوع ویژگیها میتوانیم به ماکروهای قابل تغییر اشاره کنیم. ناگفته نماند که برخی از این ویژگیها ممکن است سبب ناهماهنگی در بین این دو زبان برنامهنویسی گردد.
برنامه نویسی ++C را بیشتر بشناسید
زبان برنامهنویسی ++C به عنوان یک زبان قدرتمند و معروف شناخته شده است. این زبان شما را قادر میسازد تا روی نحوه استفاده از منابع کامپیوتر کنترل کامل داشته باشید. سرعت و بهینگی این زبان باعث شده است تا از آن در نوشتن و گسترش بازیها، موتورهای بازی و اپلیکیشنهای دسکتاپ بسیاری استفاده شود.
قدرت بزرگ این زبان در نحوه مقیاس پذیری آن میباشد و اپلیکیشنهایی که استفاده زیادی از منابع دارند با آن نوشته میشوند. مثلا اپلیکیشنهای گرافیکی منابع زیادی را استفاده میکند و به همین خاطر هست که بیشتر بازیهای سهبعدی جذاب با این زبان نوشته شدهاند.
همانطور که میدانید در یک زبان برنامهنویسی، اندازه جامعه یا تعداد برنامهنویسان آن زبان مهم است. زبان ++C بیشترین نرخ پاسخ در سایت StackOverflow را دارد و این خود نشاندهنده تعداد زیاد برنامهنویسان این زبان میباشد.
این زبان در بازار کار هم خواهان زیادی دارد. اگر میخواهید بازی بنویسید به احتمال زیاد مجبور به فراگیری این زبان خواهید شد. برای گسترش اپلیکیشنهای دسکتاپ به صورت بهینه، به ++C نیاز دارید. حتی کمپانیهای بزرگی مانند facebook هم برای بهینه کردن اپلیکیشنهایشان به برنامهنویس ++c نیاز دارند.
در نهایت با رشد واقعیت مجازی (virtual reality)، برای نوشتن اپلیکیشنهای شگفتانگیز بصری در این حوزه، برنامهنویسان این زبان بیش از پیش در بازار کار شانس و اقبال دارند و از این لحاظ زبان ++C آینده بسیار درخشانی دارد.
کاربرد برنامهنویسی به زبان C++ چیست؟
زبان C++ یک زبان برنامه نویسی همهمنظوره است که با ارتقاء زبان C توسعه یافته است. شیگرایی و چندریختی از جمله مفاهیمی است که تفاوت C و C++ را آشکار میکند. زبان C++ را یک زبان با سطح میانی درنظر میگیرند. چرا که هم برنامههای سطح پایین مانند درایورها و کرنلها و هم برنامههای با سطح بالا مانند بازیها، رابط کاربری گرافیکی، برنامههای دسکتاپ و غیره را میتوان با آن نوشت. C و C++ با وجود تفاوتهایی که دارند، ساختار کد و سینتکس پایهای آنها با هم مشابه است.
نام برنامه نویسی سی پلاس پلاس C++ دقیقا نشاندهنده ماهیت تکاملی زبان C است و همانطور که میدانید سی پلاس پلاس عملگر افزایشی C را نشان میدهد. کاربرد زبان برنامه نویسی C++ بسیار گسترده است؛ از این زبان برای توسعه انواع نرمافزارهای فنی و تجاری استفاده میکنند.
C++ برنامه نویسی شی گرا را ارائه میدهد که در C وجود ندارد. در واقع زبان C++ از چهار ویژگی اصلی برنامه نویسی شی گرا پشتیبانی میکند: کپسولهسازی، چندریختی، تجرید و وراثت. این ویژگیها باعث شده است که از سی پلاس پلاس در طیف وسیعی از برنامهها استفاده شود، مانند:
- سیستمعاملها و برنامهنویسی سیستم مانند سیستمعامل مبتنی بر لینوکس (از جمله اوبونتو)
- مرورگرها مانند کروم و فایرفاکس
- گرافیک و موتورهای بازی مانند فتوشاپ، بلندر، موتور غیرواقعی.
- موتورهای پایگاه داده مانند MongoDB، MySQL، Redis و غیره.
- سیتمهای توزیع شده و ابری
ویژگیهای زبان برنامه نویسی C++:
C++ یکی از محبوبترین زبانهای برنامهنویسی است. علاوه بر کاربردی بودن این زبان، سایر ویژگیهای آن این محبوبیت را ایجاد کرده است. بعضی از ویژگیهای زبان برنامه نویسی C++ عبارتند از:
ساده:
برنامه نویسی C++ به دلیل اینکه میتوان آن را به واحدها و قسمتهای منطقی تقسیم کرد، بسیار ساده است. سی پلاس پلاس از یک کتابخانه غنی پشتیبانی میکند و انواع مختلفی از دادهها را داراست.
زبان سطح میانی: برنامه نویسی سی پلاس پلاس هم برای برنامهنویسی سیستم و هم برای برنامههای کاربردی استفاده میشود.
پشتیبانی از کتابخانه غنی: زبان برنامه نویسی C++ از یک کتابخانه استاندارد غنی و کتابخانههای شخص ثالث برای توسعه سریع پشتیبانی میکند.
سرعت اجرا:
زبان برنامه نویسی C++ را به سرعت اجرای آن میشناسند. این زبان بسیاری از پردازشهای اضافی مانند بازیافت حافظه، تایپ کردن پویا و غیره را حذف کرده است. از این سرعت اجرای آن بسیار زیاد است.
اشارهگر و دسترسی مستقیم به حافظه: C++ هم مانند C پشتیبانی از اشارهگرها را فراهم کرده است. این قابلیت به کاربران اجازه میدهد که آدرس ذخیرهسازی را به طور مستقیم دستکاری کنند. این امکان در برنامهنویسیهای سطح پایین بسیار پرکاربرد است.
شی گرایی:
یکی از مزیتهای رقابتی C++ نسبت به C قابلیت شیگرایی آن است. شیگرایی امکان ایجاد برنامههای قابل نگهداری و قابل توسعه را برای برنامهنویس فراهم میکند.
زبان کامپایلشده:
زبان سی پلاس پلاس یک زبان کامپایلشده است که این ویژگی در سرعت آن نقش اساسی دارد.
آشنایی با این ویژگیها و کاربردهای زبان برنامه نویسی C++ میتواند انگیزه کافی برای یادگیری این زبان را در علاقهمندان به برنامهنویسی ایجاد کند. مکتبپلاس در این دوره خود به آموزش کامل C++ میپردازد.
سرفصلهای دوره آموزش C++ چیست؟
در دوره آموزش سی پلاس پلاس مکتبخونه به معرفی ابزارهای مفید برای نوشتن، کامپایل و خطایابی کدهای نوشته شده به زبان C++ میپردازیم. به علاوه مفاهیم اصلی و کاربردی زبان C و C++ را در یک محیط واقعی آموزش میدهیم. تمام مفاهیم مورد نیاز در این زبان شامل متغیرهای اولیه، دستورات شرطی و حلقهها، رشتهها، آرایهها و اشارهگرها، ساختمانها و دادههای شمارشی، توابع و نیز مباحث پیشرفتهتر شامل حوزه تعریف و فضای نام، مفاهیم برنامهنویسی شئگرا، وراثت، چندریختی و همچنین قالبها به طور کامل در این دوره مطرح شده است.
در انتهای فصلها تمریناتی برایتان درنظر گرفته شده و یک پروژه جامع در انتهای دوره برای شما تعریف میشود. این تمرینات و پروژهها مهارت شما را برای حل مسائل واقعی افزایش میدهد. همچنین میتواند باعث افزایش اعتماد به نفستان برای ورود به برنامهنویسان حرفهای این زبان و ورود به بازار کار شود.
فصل اول: مباحث مقدماتی
اگر C++ اولین زبانی است که شما برای شروع یادگیری آن را انتخاب کردهاید، باید آشنایی مقدماتی با برنامهنویسی، محیط آن، انواع دادهها و عمگرها و غیره کسب کنید. از آنجایی که این دوره به آموزش C++ از پایه میپردازد، فصل اول به این توضیحات مقدماتی اختصاص یافته است. در انتهای این فصل میتوانید نوشتن برنامههای محاسباتی ساده را به خوبی فرا بگیرید و با انجام تمرینات مطرحشده آموختههای خود را بسنجید.
فصل دوم: دستورات شرطی و حلقهها
در برنامهنویسی همیشه لزومی ندارد که تمام دستورات نوشتهشده به ترتیب اجرا شوند. اغلب اوقات لازم است دستورات در صورت برقراری شرطهایی اجرا شوند؛ اینجاست که کاربرد دستورات شرطی و حلقهها در برنامهنویسی نمایان میشود. در فصل دوم از دوره C++ آموزش دستورات if ،switch و حلقههای while و for به شما عزیزان داده میشود. در انتهای فصل هم تمریناتی برای کار با دستورات شرطی و حلقهها در اختیار شما قرار میگیرد.
فصل سوم: آرایهها، رشتهها و اشارهگرها
از مفاهیم پرکاربرد دیگر در برنامهنویسی آرایهها هستند. آرایهها را میتوان ردیفی از متغیرهای همنوع تصور کرد که مکان هرکدام با اندیسگذاری مشخص شده است. یک آرایه از متغیرهای char را رشته میگویند. از رشتهها برای عبارات متنی استفاده میشود. در فصل سوم در قالب مثالهایی کار با آرایهها و رشتهها را به خوبی فرا میگیرید. اشارهگرها به نوشتن کدهای درست و اصولی در زبان C++ به شما کمک میکنند. این مفهوم را میتوان مزیت زبانهای خانواده C از جمله سی پلاس پلاس بر سایر زبانهای برنامهنویسی دانست. از همین رو، در ادامه فصل به اشارهگرها و تخصیص پویای حافظه میپردازیم.
فصل چهارم: ساختمانها و دادههای شمارشی
ساختمانها یا structure برای تعریف یک موجودی بسیار پرکاربردند. هنگامی که متغیرهای یک موجودی انواع مختلفی از دادهها را شامل میشوند، باید از ساختمانها استفاده کرد. ساختمان به شما اجازه میدهد که مانند آرایهها مجموعهای از دادهها را در آن ذخیره کنید؛ اما با این تفاوت که دادهها در آرایه باید همنوع باشند ولی در ساختمان این اجبار وجود ندارد. در این فصل به طور کامل به بررسی ساختمانها میپردازیم. به علاوه دادههای شمارشی را در این فصل شرح میدهیم.
فصل پنجم: توابع
توابع از مهمترین اجزای برنامهنویسی هستند که نقش بسیار مهمی در ساختارمند شدن برنامهها ایفا میکنند. توابع مزایای بیشتری برای برنامه به وجود میآورند؛ نظم بیشتر، خوانایی بهتر و عملکرد راحتتر از جمله آنهاست. شما میتوانید یک بار در برنامه خود تابع بنویسید و سپس در هرجای برنامه آنها را فرا بخوانید. تابعها در واقع بلوکهایی از کدها هستند؛ بنابراین اگر برنامه با خطایی مواجه شد، به راحتی میتوانید تابع مورد نظر پیدا کرده و آن را اصلاح کنید. در این فصل مهم از آموزش برنامه نویسی C++ با انجام مثالهای متعددی تابعها، نحوه استفاده از آنها، انواع روشهای ارسال مقادیر به توابع و سایر مباحث مهم در آن را به شما آموزش میدهیم. در انتهای فصل هم با انجام تمریناتی که برایتان قرار دادهایم، میتوانید مهارت خود را بسنجید.
فصل ششم: حوزه تعریف متغیرها و فضای نام
معمولا برنامههای بزرگ را به زیر برنامههای کوچکتر تقسیم میکنند تا هم برنامه نویسی C++ راحتتر شود و هم خطایابی و رفع آن سریعتر انجام شود. مبحث مهمی که در این زمینه باید به یاد داشته باشید، حوزه تعریف متغیرهاست. حوزه همان قسمتی از برنامه است که شما میتوانید دادهها و متغیرهای خود را در آن تعریف کنید. متغیرها در خارج از حوزه تعریفشان قابل دسترسی نیستند. در این فصل علاوه بر توضیح و بررسی کامل انواع حوزههای تعریف متغیرها به توضیح فضای نام آنها هم میپردازیم.
فصل هفتم: مباحث تکمیلی برنامهنویسی شئگرا
یکی از برتریهای زبان C++ بر زبان C پشتیبانی آن از برنامه نویسی شئ گراست. مجموعهای از دادهها و توابعی که روی آنها اعمال میشود، را یک شئ میگویند. در زبان برنامه نویسی C++ قبل از آن که بخواهید یک شئ ایجاد کنید، باید یک کلاس تعریف کنید. کلاس را میتوان نقشه اولیه آن شئ دانست. کلاسها قابلیتهای زیادی برای برنامهنویسان ایجاد میکنند. در ابتدای این فصل با بررسی یک مثال واضح کلاسها و کاربردهای آن را به خوبی فرامیگیرید. در ارتباط با کلاسها مباحث دیگری هم مطرح میشود که شما به عنوان یک برنامهنویس باید نحوه استفاده از آنها را بلد باشید. از همین رو سازندهها و نابود کنندهها، اشارهگرها، وراثت و چندریختی را در این فصل به شما آموزش میدهیم.
فصل هشتم: مباحث تکمیلی برنامهنویسی شئگرا
برای بهرهگیری کامل از کلاسها باید بتوانید تمام اجزای آن را بشناسید و با آنها کار کنید. اعضای استاتیک کاربرد ویژهای در برنامه نویسی شئ گرا دارند. علاوه بر اعضای استاتیک، اعضایی در کلاسها وجود دارند که به صورت private تعریف شدهاند. همانطور که از اسمشان پیداست، دسترسی به این اعضا تنها داخل همان کلاس امکانپذیر است. البته راههایی وجود دارد که بتوانید در توابع و کلاسهای دیگر هم از آنها استفاده کنید. بنابراین در این فصل از آموزش برنامه نویسی C++ به توضیح توابع و کلاسهای دوست (friend) میپردازیم.
فصل نهم: قالبها
ازجمله قابلیتهای مهم و قدرتمند زبان سی پلاس پلاس میتوان به قالبها اشاره کرد. قالبها به شما این امکان را میدهد که بتوانید توابع را بدون در نظر گرفتن نوع داده ورودی آن بنویسید. این کار کدنویسی را برایتان راحتتر و توسعه نرمافزارها را سریعتر میکند. بنابراین در این فصل با کمک مثالهای کاربردی به آموزش کامل قالبها و چگونگی کار با آنها میپردازیم.
فصل دهم: پروژه پایانی
در فصل پایانی از آموزش برنامه نویسی ++C یک پروژه جامع برای شما عزیزان طراحی کردهایم. با انجام این پروژه میتوانید تمام مباحثی که در این دوره آموزشی بررسی شد را استفاده کنید و مهارتهای خود را بسنجید. در صورتی که موفق به کسب نمره 70 از مجموع تمرینهای آخر فصلها و پروژه پایانی شدید، گواهینامه فارغالتحصیلی به شما عزیزان اعطا خواهد شد.
مسعود کاظمی برنامهنویسی را از دبیرستان شروع کرده، در مقطع کارشناسی رشته علوم کامپیوتر در دانشگاه صنعتی امیرکبیر را خوانده است. او همزمان عضو تیم رباتیک دانشگاه بوده و پنج سال در مسابقات جهانی روبوکاپ شرکت کرده که مقامهای اول، دوم و چهارم رو به دست آورده است. پس از آن وارد مقطع کارشناسی ارشد در رشته هوش مصنوعی و رباتیکس در دانشگاه خواجهنصیر میشود و باز همزمان به تدریس زبان برنامهنویسی ++c در دبیرستانهای استعدادهای درخشان علامه حلی و فرزانگان مشغول میشود.
او هم اکنون در شرکت تپسی به عنوان برنامهنویس و سرپرست فنی مشغول به کار است.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.