هيكل البرنامج الأساسي
جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 4 من 74.
في C++، تتم كتابة معظم التعليمات البرمجية القابلة للتنفيذ داخل الدوال. تُعد الدالة main نقطة إدخال program بلغة C++؛ وعند تشغيل program بلغة C++، تكون التعليمات البرمجية الموجودة داخل main هي أول ما يُنفَّذ. يمكن أن يظهر بعض التعليمات البرمجية، مثل التصريحات العامة وpreprocessor directive، خارج الدوال، كما يمكنك أيضًا إنشاء دوال مخصصة خاصة بك (سنغطي ذلك في درس لاحق).
إليك شرحًا مبسطًا لبرنامج C++ أساسي:
#include <iostream> // توجيه المعالج المسبق للإدخال/الإخراج
int main() { // الدالة الرئيسية
std::cout << "This is my first C++ program!"; // تعليمة الإخراج
return 0; // تعليمة الإرجاع (ممارسة جيدة)
}في C++، تُستخدم #include كـ directive للـ Preprocessor من أجل تضمين ملفات header، التي تحتوي على تصريحات لـ function والكائنات التي يمكن أن يستخدمها program الخاص بك. في هذه الحالة، تعمل #include <iostream> على تضمين header iostream، الذي يوفر كائنات مثل std::cout من أجل إخراج text إلى وحدة التحكم.
لنُفكّك الأجزاء الرئيسية من program أعلاه:
- Preprocessor directive (
#include <iostream>): يُنفَّذ هذا السطر قبل التجميع، ويخبر المُصرّف بتضمين ملف ترويسة iostream، مما يمنحprogramإمكانية الوصول إلى أدوات الإدخال/الإخراج. - function (
int main() { ... }): الـfunction هي كتلة مُسمّاة من التعليمات البرمجية تُنجز مهمةً ما. يشيرintالموجود قبلmainإلى أن الـfunction تُعيد قيمة صحيحة. تحدد الأقواس المعقوفة{}نطاق الـfunction. كل ما بداخلها ينتمي إلىmain. يعني تحديد النطاق أن التعليمات البرمجية الموجودة داخل كتلة تكون محتواة فيها وتعمل كجزء من تلك الكتلة.
- بادئة مساحة الأسماء (
std::): تخبر البادئةstd::المصرّف بالبحث عنcoutداخل مساحة أسماء المكتبة القياسية. مساحة الأسماء هي طريقة لتجميع الأسماء المرتبطة وتجنّب التعارضات. سنتناول مساحات الأسماء بمزيد من التفصيل في درس لاحق. - عبارة الإخراج (
std::cout): تطبع هذه العبارة نصًا على وحدة التحكم. - عبارة الإرجاع (
return 0;): تشير هذه العبارة إلى أن program اكتمل بنجاح. مع أن C++ لا تتطلب عبارة إرجاع بشكل صارم فيmain، فإن تضمينها يُعد good practice.
ملاحظة مهمة: في C++، يجب أن تنتهي كل statement بفاصلة منقوطة (;). الفاصلة المنقوطة إلزامية، وهي تُخبر C++ بأنك وصلت إلى نهاية statement. سيؤدي نسيان إضافة فاصلة منقوطة إلى حدوث خطأ في التجميع. ومع ذلك، لاحظ أن كتل التعليمات البرمجية المحاطة بأقواس معقوفة {} (مثل تصريحات function) لا تحتاج إلى فواصل منقوطة.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوصتدرّب بنفسك: مترجم C++ عبر الإنترنت