بنية البرنامج

لننظر ممَّ يتكوَّن أي برنامج مكتوب بلغة C++.

#include <iostream>

using namespace std;

// Your first program!

int main() {
    cout << "Hello, World!";
    return 0;
}

المكوّنات الأساسية

  1. أوامر المترجم القبلي (Preprocessor commands)

    • تبدأ بالرمز # مثل: #include <iostream>.
    • تُخبر المترجم بإضافة ملفات أو أدوات إضافية قبل ترجمة البرنامج.
  2. مساحات الأسماء (Namespaces)

    • غالبًا نكتب: using namespace std;.
    • لست بحاجة الآن لفهم مساحات الأسماء بعمق؛ فقط أضِف هذه العبارة في برامجك المبدئية لتتمكّن من استخدام cout وcin بسهولة.
  3. الدالة main()

    • هي النقطة التي يبدأ عندها تنفيذ البرنامج.
    • ينفّذ الحاسوب الأوامر داخل الأقواس { ... } من الأعلى إلى الأسفل.
  4. الأقواس المعقوفة {}

    • تُستخدم لتجميع مجموعة من التعليمات في كتلة واحدة.
    • ستراها في الدوال، والحلقات، وعبارات الشرط.
  5. الفواصل المنقوطة ;

    • كل أمر (instruction) ينتهي بفاصلة منقوطة.
    • نسيانها يؤدّي إلى ظهور خطأ عند الترجمة.
  6. أمر الإرجاع return

    • السطر return 0; ينهي تنفيذ البرنامج، ويُشير إلى أنّه انتهى بنجاح.

ماذا يحدث في هذا البرنامج؟

  1. #include <iostream> : يُخبر المترجم بأننا نريد استخدام أوامر الإدخال/الإخراج.
  2. using namespace std; : يتيح لنا كتابة cout بدل std::cout، أي بشكل أقصر.
  3. int main() : الدالة الرئيسية، يبدأ تنفيذ البرنامج منها.
  4. { ... } : كل ما بداخل الأقواس المعقوفة هو جسم الدالة main، أي الجزء الذي يُنفَّذ.
  5. cout << "Hello, World!"; : تطبع النص على الشاشة.
  6. return 0; : تُنهي البرنامج وتُعلم نظام التشغيل بأن التنفيذ تم بنجاح.

عند تشغيل هذا البرنامج سيظهر:

Hello, World!

وهذا هو أوّل برنامج كامل لك في C++.

التعليقات (Comments)

التعليقات هي ملاحظات يكتبها المبرمج، ويتجاهلها الحاسوب تمامًا. الغرض منها توضيح وظيفة أجزاء من البرنامج.

// This is a single-line comment

/*
This is a
multi-line comment
*/

ستستخدم التعليقات كثيرًا لشرح ما يفعله الكود وتذكير نفسك أو غيرك بوظيفته.

المسافات البادئة وتحسين القراءة (Indentation)

يُفضَّل دائمًا الإزاحة (Indent) داخل الأقواس {} باستخدام Tab أو 4 مسافات؛ لأن ذلك يجعل الكود أوضح وأسهل قراءة:

int main() {
    cout << "Good style matters!";
}

أسلوب غير جيّد:

int main(){
cout<<"Hard to read";
}

تنظيم البرنامج لا يغيّر من طريقة تنفيذ البرنامج، لكنه مهم جدًا لقراءتها وصيانتها.