دوره جامع ++c
مهارت برنامهنویسی حرفهای و سیستمی را با C++ بیاموزید. تبدیل شوید به یک توسعهدهنده نرمافزار حرفهای با این دوره کامل که تمام مفاهیم از پایه تا پیشرفته را پوشش میدهد.
💻 آموزش تعاملی گام به گام
روی هر درس کلیک کنید تا باز شود و محتوای آموزشی را مشاهده کنید. تمام درسها شامل مثالهای تعاملی و تمرینهای عملی هستند.
مفاهیم پایه و ساختار برنامه
متغیرها، انواع داده، ورودی/خروجی
آغاز کار با C++
C++ یک زبان برنامهنویسی قدرتمند، چندپارادایمی و شیگرا است که برای توسعه نرمافزارهای سیستم، بازیها و برنامههای با کارایی بالا استفاده میشود.
مفهوم کلیدی
C++ از C توسعه یافته و ویژگیهای شیگرایی را اضافه کرده است. این زبان هم نزدیک به سختافزار است و هم امکانات سطح بالایی دارد.
اولین برنامه C++
تمرین:
برنامهای بنویسید که نام و سن کاربر را دریافت کند و پیام خوشآمدگویی شخصیسازی شده نمایش دهد. سپس مشخص کند کاربر چند سال دیگر به ۱۸ سالگی میرسد.
از cin >> برای دریافت ورودی و cout << برای نمایش خروجی استفاده کنید. برای محاسبه سالهای باقیمانده: 18 - age
انواع داده اصلی
انواع داده مشتق شده
نکات طلایی:
- هر برنامه C++ باید یک تابع
main()داشته باشد #includeبرای اضافه کردن کتابخانهها استفاده میشودcoutبرای خروجی وcinبرای ورودی استendlبرای رفتن به خط جدید استفاده میشود- همیشه مقدار بازگشتی
main()باید باشد (معمولاً 0)
آزمون پایان جلسه - مفاهیم پایه
سوال ۱: کدام تابع نقطه شروع اجرای هر برنامه C++ است؟
سوال ۲: برای نمایش خروجی در کنسول از کدام دستور استفاده میکنیم؟
سوال ۳: کدام نوع داده برای ذخیره کردن اعداد اعشاری استفاده میشود؟
نتایج آزمون
کنترل جریان برنامه
شرطها، حلقهها، switch-case
کنترل منطق برنامه
در این درس یاد میگیرید چگونه با استفاده از ساختارهای کنترلی، منطق و هوشمندی به برنامههای خود اضافه کنید.
ساختارهای کنترل جریان
تمرین:
برنامهای بنویسید که یک عدد از کاربر دریافت کند و مشخص کند آیا عدد اول است یا خیر. سپس تمام اعداد اول کوچکتر از آن عدد را نمایش دهد.
عدد اول عددی است که فقط بر 1 و خودش بخشپذیر باشد. از حلقه تو در تو و بررسی باقیمانده تقسیم استفاده کنید: if (n % i == 0)
مقایسه ساختارهای کنترلی
| ساختار | کاربرد | مثال | توجه |
|---|---|---|---|
if-else |
شرطهای ساده و پیچیده | if(x>0) {...} |
برای همه شرایط مناسب |
switch-case |
انتخاب بر اساس یک مقدار | switch(day){...} |
فقط با اعداد و char کار میکند |
for |
تکرار با شمارنده مشخص | for(int i=0;i<10;i++) |
وقتی تعداد تکرارها مشخص است |
while |
تکرار با شرط ابتدایی | while(x>0){...} |
شرط قبل از اجرای بدنه بررسی میشود |
do-while |
تکرار با شرط انتهایی | do{...}while(x>0) |
بدنه حداقل یک بار اجرا میشود |
💡 توصیه: از break در switch-case و continue در حلقهها برای کنترل جریان استفاده کنید.
نکات طلایی:
- در
switch-caseحتماً ازbreakاستفاده کنید do-whileحداقل یک بار اجرا میشود- از حلقههای بینهایت دوری کنید:
while(true) continueیک دور حلقه را میگذراندbreakاز حلقه یا switch خارج میشود
آزمون پایان جلسه - کنترل جریان
سوال ۱: کدام حلقه حداقل یک بار اجرا میشود؟
سوال ۲: در ساختار switch-case، از چه کلمه کلیدی برای جلوگیری از افتادن به case بعدی استفاده میکنیم؟
سوال ۳: خروجی کد for(int i=0;i<3;i++) cout< چیست؟
نتایج آزمون
توابع و آرایهها
تعریف توابع، پارامترها، آرایههای یک و دو بعدی
ساختارهای پیچیده در C++
در این درس با توابع (برای سازماندهی کد) و آرایهها (برای ذخیره مجموعهای از دادهها) آشنا میشوید.
توابع و آرایهها
نکات طلایی:
- توابع کد را ماژولار و قابل استفاده مجدد میکنند
- آرایهها برای ذخیره مجموعهای از دادههای همنوع هستند
- اندازه آرایههای معمولی در C++ ثابت است
- آرایهها با اشارهگر به توابع پاس داده میشوند
- تابع
main()نقطه شروع برنامه است - از توابع بازگشتی برای مسائل بازگشتی استفاده کنید
انواع پارامترهای تابع
| نوع پارامتر | سینتکس | توضیح | مثال |
|---|---|---|---|
| پارامتر معمولی | (int x) |
مقدار کپی میشود | void func(int x) |
| ارجاع (Reference) | (int &x) |
مستقیماً روی متغیر اصلی کار میکند | void swap(int &a, int &b) |
| اشارهگر (Pointer) | (int *x) |
آدرس متغیر پاس داده میشود | void modify(int *x) |
| آرایه | (int arr[]) |
اشارهگر به اولین عنصر | void print(int arr[], int size) |
| پیشفرض | (int x = 0) |
در صورت نداشتن آرگومان | void show(int x = 10) |
💡 توصیه: برای جلوگیری از کپی کردن دادههای بزرگ، از پارامترهای ارجاعی یا اشارهگر استفاده کنید.
آزمون پایان جلسه - توابع و آرایهها
سوال ۱: کدام نوع پارامتر برای تغییر متغیر اصلی در تابع استفاده میشود؟
سوال ۲: اندازه آرایههای معمولی در C++ چگونه تعیین میشود؟
سوال ۳: مفهوم "تابع بازگشتی" چیست؟
نتایج آزمون
🚀 دروس پیشرفته در راه است!
ما به شدت در حال تولید دروس جدید و پیشرفتهتری برای تسلط کامل بر C++ هستیم:
اشارهگرها و مدیریت حافظه
آشنایی با اشارهگرها، تخصیص حافظه پویا، new و delete
برنامهنویسی شیگرا (OOP)
کلاسها، اشیاء، وراثت، چندریختی، کپسولهسازی
قالبها (Templates)
تابعها و کلاسهای جنریک، STL
C++ مدرن (11 به بعد)
ویژگیهای جدید C++11، C++14، C++17، C++20
دروس جدید هر هفته منتشر میشوند!