فصل ۱: مبانی C++ و ساختار کلی برنامه

""

🎯 هدف این فصل

این فصل به شما کمک می‌کند که:

  1. با ماهیت زبان C++ آشنا شوید.
  2. ساختار کلی یک برنامه C++ را یاد بگیرید.
  3. اولین برنامه عملی خود را اجرا کنید.
  4. نکات مهم در شروع کار با این زبان را بدانید.

۱. آشنایی با C++

C++ یکی از قدرتمندترین و پرکاربردترین زبان‌های برنامه‌نویسی است که ویژگی‌های زبان C را به ارث برده و مفاهیم برنامه‌نویسی شیءگرا (OOP) را اضافه کرده است.

ویژگی‌های مهم C++

  • سرعت بالا: مناسب برای برنامه‌های سنگین مثل بازی‌ها یا سیستم‌عامل‌ها.
  • قابلیت چند پارادایمی: هم رویه‌ای (Procedural)، هم شیءگرا (OOP)، هم جنریک (Templates).
  • مدیریت دستی حافظه: انعطاف بالا ولی نیاز به دقت.
  • حوزه استفاده گسترده: از اپلیکیشن دسکتاپ تا سیستم‌های توکار (Embedded Systems).

۲. ساختار کلی یک برنامه C++

یک برنامه‌ی پایه C++ معمولاً شامل بخش‌های زیر است:

  1. پیش‌پردازنده‌ها و #include ها
  2. استفاده یا تعریف namespace
  3. تعریف توابع و متغیرها
  4. تابع اصلی main()

۳. نوشتن اولین برنامه: “Hello, World!”

#include <iostream> // کتابخانه ورودی/خروجی استاندارد
using namespace std; // استفاده از فضای نام std

int main() {
    cout << "Hello, World!" << endl; // چاپ متن
    return 0; // پایان موفقیت‌آمیز برنامه
}

📌 خروجی:

Hello, World!

۴. توضیح خط‌به‌خط کد

  1. #include <iostream>
    به برنامه می‌گوید که از کتابخانه ورودی/خروجی استاندارد استفاده کند.
  • cin → گرفتن ورودی
  • cout → چاپ خروجی
  1. using namespace std;
    داخل کتابخانه استاندارد، توابع و اشیا در فضایی به نام std قرار دارند.
    با این دستور دیگر نیازی به نوشتن std::cout یا std::cin نداریم.
  2. int main()
    نقطه شروع اجرای برنامه.
    هر برنامه C++ باید یک تابع main داشته باشد.
  3. cout << "Hello, World!" << endl;
  • cout → چاپ متن یا داده
  • << → فرستادن داده به خروجی
  • "Hello, World!" → رشته‌ای که چاپ می‌شود
  • endl → ایجاد خط جدید و خالی کردن بافر خروجی
  1. return 0;
    به سیستم عامل می‌گوید که برنامه با موفقیت تمام شده است.

۵. اهمیت سمی‌کالون ; و آکولاد {}

  • ; → پایان یک دستور در C++ را مشخص می‌کند.
    بدون آن خطا می‌گیرید:
  cout << "Hi" // ❌ خطا! سمی‌کالون جا افتاده
  • {} → بلوک کد را محدود می‌کند.
    مثلاً کدی که داخل main قرار می‌دهیم داخل یک بلاک بین { و } است.

۶. استفاده از کامنت‌ها

  • تک‌خطی:
// این یک توضیح است
  • چندخطی:
/*
توضیحات چند خطی
برای کدهای طولانی
*/

📌 کامنت‌ها برای توضیح کد هستند و توسط کامپایلر نادیده گرفته می‌شوند.


۷. کتابخانه‌ها (#include)

دو نوع کتابخانه داریم:

  1. کتابخانه‌های استاندارد → با < >
   #include <cmath> // برای توابع ریاضی
  1. فایل‌های محلی/خودمان → با " "
   #include "myheader.h"

۸. سینتکس تابع main

سه شکل رایج:

int main() { /*...*/ }
int main(int argc, char* argv[]) { /*...*/ }
int main(void) { /*...*/ }

📌 حالت اول معمول‌تر است و در اکثر پروژه‌ها استفاده می‌شود.


۹. ورودی و خروجی با cin و cout

مثال:

#include <iostream>
using namespace std;

int main() {
    string name;
    int age;

    cout << "Enter your name: ";
    cin >> name;

    cout << "Enter your age: ";
    cin >> age;

    cout << "Hello " << name << ", you are " << age << " years old.\n";
    return 0;
}

🔹 ورودی:

Enter your name: Ali
Enter your age: 20

🔹 خروجی:

Hello Ali, you are 20 years old.

۱۰. فرآیند اجرای یک برنامه C++

۱. پیش‌پردازش → پردازش #include و ماکروها
۲. کامپایل → تبدیل به کد ماشین (فایل .o یا .obj)

  1. لینک‌دهی → ترکیب همه کدها و کتابخانه‌ها
  2. اجرا → شروع از تابع main

۱۱. تفاوت printf و cout

  • cout → شیوه مدرن در C++
  • printf → روش قدیمی C، همچنان قابل استفاده است.

مثال:

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    cout << "Using cout" << endl;
    printf("Using printf\n");
    return 0;
}

۱۲. سبک کدنویسی خوب (Code Style)

  • نام‌گذاری معنادار:
int age; // ✅ واضح
int a;   // ❌ مبهم
  • ایندنت‌گذاری منظم
  • فاصله‌گذاری درست بین عملگرها:
x = y + z;

۱۳. انواع خطاها

  1. Syntax Error → خطای نوشتاری
  2. Compile-time Error → خطا هنگام ساخت برنامه
  3. Runtime Error → خطا هنگام اجرا (مثلاً تقسیم بر صفر)
  4. Logical Error → برنامه اجرا می‌شود ولی نتیجه اشتباه است.

۱۴. نکات و هشدارها

⚠ فراموش کردن ; رایج‌ترین خطای مبتدی‌هاست.
⚠ همیشه ورودی را بررسی کنید که مشکل‌ساز نباشد.
⚠ استفاده بی‌اندازه از using namespace std; در پروژه‌های بزرگ ممکن است باعث تداخل شود.


۱۵. اشتباهات رایج

  • عدم تعریف متغیر پیش از استفاده
  • مخلوط کردن printf و cout بدون مدیریت بافر
  • ننوشتن {} برای بلوک‌های شرطی یا حلقه‌ها
  • قرار دادن کد خارج از main بدون دلیل

۱۶. تمرین‌ها

تمرین ۱: برنامه‌ای بنویسید که نام و سن کاربر را بگیرد و چاپ کند.
تمرین ۲: برنامه‌ای که دو عدد بگیرد و جمع و ضرب آن‌ها را چاپ کند.
تمرین ۳: برنامه‌ای که نام و معدل سه درس را بگیرد و معدل کل را محاسبه کند.
تمرین ۴ (چالش): برنامه‌ای که نام، سن و شماره دانشجویی را بگیرد، داده‌ها را ذخیره کند و با فرمت زیبایی چاپ کند.


۱۷. جمع‌بندی

  • کد C++ از main شروع به اجرا می‌کند.
  • #include برای استفاده از کتابخانه‌هاست.
  • cin و cout ابزارهای اصلی ورودی/خروجی هستند.
  • رعایت قواعد سینتکس (;, {}) حیاتی است.
محمد وب‌سایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *