تعلم أساسيات لغة C: شرح برنامج “Hello World” خطوة بخطوة

1. سبب تعلم “Hello World” كأساس في لغة C

لغة C هي لغة برمجة تُعد أساسًا لتطوير الأنظمة المدمجة وبرامج الحاسوب. لذلك، عند البدء في تعلم البرمجة، نبدأ بإنشاء برنامج بسيط مثل “Hello World”. هذا البرنامج هو الخطوة الأولى لفهم البنية الأساسية وطريقة تنفيذ برامج لغة C. في هذه المقالة، سنشرح بالتفصيل كيفية فهم أساسيات لغة C من خلال “Hello World” وتشغيل الكود فعليًا.

2. إعداد بيئة التطوير

لبدء البرمجة، يجب أولاً إعداد بيئة التطوير. هنا سنعرض طريقتين شائعتين باستخدام “GCC” و”Visual Studio”.

2.1 إعداد البيئة باستخدام GCC

GCC (GNU Compiler Collection) هو مترجم مفتوح المصدر يُستخدم على نطاق واسع في أنظمة Linux وmacOS. اتبع الخطوات التالية لتثبيت GCC بسهولة وإعداد بيئة جاهزة لتشغيل برامج C.

  • التثبيت على Linux / macOS:
  1. افتح الطرفية وأدخل الأوامر التالية:
    sudo apt install gcc # في حالة Linux xcode-select --install # في حالة macOS
  2. بعد اكتمال التثبيت، تحقق من أن GCC مثبت بشكل صحيح:
    gcc --version

2.2 إعداد البيئة باستخدام Visual Studio

Visual Studio هو بيئة تطوير تستخدم في Windows لبرمجة لغة C. اتبع الخطوات التالية لإعدادها.

  • التثبيت على Windows:
  1. قم بتنزيل Visual Studio من الموقع الرسمي لشركة Microsoft وتثبيته.
  2. أثناء التثبيت، اختر “تطوير سطح المكتب باستخدام C++” لتمكين إنشاء مشاريع بلغة C.
  3. أنشئ مشروعًا جديدًا داخل Visual Studio، ثم اكتب الكود وقم بتشغيله.
侍エンジニア塾

3. شرح كود برنامج Hello World

الآن سننشئ برنامج “Hello World” ونشرح معاني الأجزاء المختلفة من الكود. المثال التالي هو الكود الأساسي في لغة C.

#include <stdio.h>

int main() {
    printf("Hello, World!n");
    return 0;
}

3.1 دور #include <stdio.h>

#include هو أمر لاستدعاء مكتبات خارجية داخل البرنامج. ملف stdio.h يوفر مكتبة الإدخال والإخراج القياسية، مما يتيح استخدام دالة printf(). بدونها، لن يتمكن البرنامج من عرض النصوص على الشاشة.

3.2 معنى int main()

في لغة C، يبدأ كل برنامج من الدالة main(). النوع int يشير إلى أن الدالة تعيد قيمة عدد صحيح، و0 تعني أن البرنامج انتهى بنجاح.

3.3 شرح printf("Hello, World!n")

دالة printf() تُستخدم لطباعة النصوص في وحدة التحكم. في هذا المثال، يتم عرض النص “Hello, World!” ويتبعه كود "n" لإضافة سطر جديد.

3.4 دور return 0

أمر return يُعيد قيمة إلى الدالة المستدعية عند انتهاء التنفيذ. في main()، تعني return 0 أن البرنامج انتهى بنجاح.

4. طريقة الترجمة (Compile) والتنفيذ

لتشغيل برنامج بلغة C، يجب أولاً ترجمته. سنشرح هنا طريقة الترجمة باستخدام GCC وVisual Studio.

4.1 الترجمة باستخدام GCC

خطوات الترجمة في Linux أو macOS:

  1. احفظ الكود في ملف (مثلاً: hello.c).
  2. نفّذ الأمر:
    gcc -o hello hello.c ./hello
    سيتم ترجمة البرنامج، ويمكنك تشغيله باستخدام ./hello.

4.2 الترجمة باستخدام Visual Studio

في Visual Studio، قم بما يلي:

  1. أنشئ مشروعًا جديدًا وأدخل الكود.
  2. اختر “بناء” → “بناء الحل” لترجمة البرنامج.
  3. اختر “تصحيح” → “بدء التصحيح” لتشغيل البرنامج.

5. الأخطاء الشائعة وحلولها

أثناء كتابة البرامج، قد تواجه أخطاء. فيما يلي أشهر الأخطاء التي يواجهها المبتدئون وحلولها.

5.1 نسيان الفاصلة المنقوطة

في لغة C، يجب إنهاء كل جملة بفاصلة منقوطة ;. إذا نسيت إضافتها بعد printf()، ستظهر رسالة خطأ مثل:

  • رسالة الخطأ: error: expected ';' before '}' token
  • الحل: أضف ; بعد printf("Hello, World!n").

5.2 الأخطاء الإملائية

كتابة اسم الدالة أو المتغير بشكل خاطئ يسبب خطأ. مثلاً، كتابة prontf بدلاً من printf.

  • رسالة الخطأ: error: 'prontf' undeclared (first use in this function)
  • الحل: تأكد من كتابة اسم الدالة بشكل صحيح.

5.3 أخطاء الترجمة

قد تحدث أنواع متعددة من الأخطاء أثناء الترجمة. اقرأ رسالة الخطأ وحدد مكان المشكلة وقم بإصلاحها.

6. أمثلة متقدمة

يمكنك تطوير برنامج “Hello World” ليشمل وظائف أكثر تعقيدًا. إليك بعض الأمثلة.

6.1 الطباعة باستخدام المتغيرات

المثال التالي يوضح كيفية استخدام متغيرات لعرض معلومات ديناميكية:

#include <stdio.h>

int main() {
    int age = 25;
    printf("عمري %d سنة.n", age);
    return 0;
}

يتم هنا استخدام %d لعرض قيمة المتغير age.

6.2 الطباعة على عدة أسطر

المثال التالي يطبع نصوصًا على أكثر من سطر:

#include <stdio.h>

int main() {
    printf("Hello, World!n");
    printf("لنبدأ تعلم لغة C.n");
    return 0;
}

يتم استخدام "n" لإضافة فواصل أسطر بين النصوص.

7. الخلاصة والخطوة التالية

برنامج “Hello World” هو مدخل أساسي لفهم هيكلية لغة C. من خلاله تعلمنا كيفية عرض النصوص وفهم سير عمل البرنامج. الخطوة التالية هي تعلم العمليات الحسابية الأساسية، وجمل الشرط، والحلقات لزيادة تعقيد البرامج.