خانه دوره‌ها مدرس‌ها تیم ما ارتباط با ما
برنامه‌نویسی سیستمی

دوره جامع ++c 💻

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

۶۰+ ساعت آموزش
۲۰۰+ تمرین عملی
۳۵ پروژه واقعی
۴.۹ رضایت دانشجویان

💻 آموزش تعاملی گام به گام

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

۱

مفاهیم پایه و ساختار برنامه

متغیرها، انواع داده، ورودی/خروجی

۲۵ دقیقه

آغاز کار با C++

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

مفهوم کلیدی

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

اولین برنامه C++
first_program.cpp
تمرین:

برنامه‌ای بنویسید که نام و سن کاربر را دریافت کند و پیام خوش‌آمدگویی شخصی‌سازی شده نمایش دهد. سپس مشخص کند کاربر چند سال دیگر به ۱۸ سالگی می‌رسد.

از cin >> برای دریافت ورودی و cout << برای نمایش خروجی استفاده کنید. برای محاسبه سال‌های باقی‌مانده: 18 - age

انواع داده اصلی
int 42, -10, 0
double 3.14, -2.5
char 'A', 'b', '3'
bool true, false
float 3.14f
void بدون مقدار
انواع داده مشتق شده
string "سلام"
array int nums[5]
pointer int* ptr
reference int& ref
vector vector<int>
نکات طلایی:
  • هر برنامه C++ باید یک تابع main() داشته باشد
  • #include برای اضافه کردن کتابخانه‌ها استفاده می‌شود
  • cout برای خروجی و cin برای ورودی است
  • endl برای رفتن به خط جدید استفاده می‌شود
  • همیشه مقدار بازگشتی main() باید باشد (معمولاً 0)

آزمون پایان جلسه - مفاهیم پایه

سوال ۱: کدام تابع نقطه شروع اجرای هر برنامه C++ است؟
الف
start()
ب
main()
ج
init()
سوال ۲: برای نمایش خروجی در کنسول از کدام دستور استفاده می‌کنیم؟
الف
print()
ب
cout <<
ج
printf()
سوال ۳: کدام نوع داده برای ذخیره کردن اعداد اعشاری استفاده می‌شود؟
الف
int
ب
double
ج
char
نتایج آزمون

۲

کنترل جریان برنامه

شرط‌ها، حلقه‌ها، switch-case

۳۰ دقیقه

کنترل منطق برنامه

در این درس یاد می‌گیرید چگونه با استفاده از ساختارهای کنترلی، منطق و هوشمندی به برنامه‌های خود اضافه کنید.

ساختارهای کنترل جریان
control_flow.cpp
تمرین:

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

عدد اول عددی است که فقط بر 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 خارج می‌شود

آزمون پایان جلسه - کنترل جریان

سوال ۱: کدام حلقه حداقل یک بار اجرا می‌شود؟
الف
for
ب
while
ج
do-while
سوال ۲: در ساختار switch-case، از چه کلمه کلیدی برای جلوگیری از افتادن به case بعدی استفاده می‌کنیم؟
الف
exit
ب
break
ج
stop
سوال ۳: خروجی کد for(int i=0;i<3;i++) cout< چیست؟
الف
012
ب
123
ج
0123
نتایج آزمون

۳

توابع و آرایه‌ها

تعریف توابع، پارامترها، آرایه‌های یک و دو بعدی

۳۵ دقیقه

ساختارهای پیچیده در C++

در این درس با توابع (برای سازماندهی کد) و آرایه‌ها (برای ذخیره مجموعه‌ای از داده‌ها) آشنا می‌شوید.

توابع و آرایه‌ها
functions_arrays.cpp
نکات طلایی:
  • توابع کد را ماژولار و قابل استفاده مجدد می‌کنند
  • آرایه‌ها برای ذخیره مجموعه‌ای از داده‌های هم‌نوع هستند
  • اندازه آرایه‌های معمولی در 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)

💡 توصیه: برای جلوگیری از کپی کردن داده‌های بزرگ، از پارامترهای ارجاعی یا اشاره‌گر استفاده کنید.

آزمون پایان جلسه - توابع و آرایه‌ها

سوال ۱: کدام نوع پارامتر برای تغییر متغیر اصلی در تابع استفاده می‌شود؟
الف
مقداری (int x)
ب
ارجاعی (int &x)
ج
هر دو
سوال ۲: اندازه آرایه‌های معمولی در C++ چگونه تعیین می‌شود؟
الف
در زمان کامپایل
ب
در زمان اجرا
ج
به صورت پویا تغییر می‌کند
سوال ۳: مفهوم "تابع بازگشتی" چیست؟
الف
تابعی که خودش را فراخوانی می‌کند
ب
تابعی که مقدار بازگشتی دارد
ج
تابعی که هیچ پارامتری ندارد
نتایج آزمون

🚀 دروس پیشرفته در راه است!

ما به شدت در حال تولید دروس جدید و پیشرفته‌تری برای تسلط کامل بر C++ هستیم:

🎯

اشاره‌گرها و مدیریت حافظه

آشنایی با اشاره‌گرها، تخصیص حافظه پویا، new و delete

🏗️

برنامه‌نویسی شی‌گرا (OOP)

کلاس‌ها، اشیاء، وراثت، چندریختی، کپسوله‌سازی

📦

قالب‌ها (Templates)

تابع‌ها و کلاس‌های جنریک، STL

C++ مدرن (11 به بعد)

ویژگی‌های جدید C++11، C++14، C++17، C++20

دروس جدید هر هفته منتشر می‌شوند!