السلام عليكم و رحمة الله تعالى و بركاته
سأقوم في هذا الموضوع بشرح أساسيات لغة C للبرمجة ، و الهدف منها هو وضعك على الطريق و نقلك من مرحلة المبتدئ الى مرحلة المتقدم .
أدرك بأن الطريقة الوحيدة لتعليم أية لغة برمجة للمبتدئين ، هي كثرة اﻷمثلة و التطبيقات ، لذلك لن أتعبك بقراءة المقدمات الطويلة و دروس التاريخ ، بل سنبدأ مباشرة بكتابة برنامجك اﻷول بلغة C للبرمجة .
اذن ، ابتعد قليلا عن الشاشة و خذ نفسا عميقا ، و توكل على الله .
البرنامج اﻷول :
مرحبا بك من جديد ، لعلك تتسائل الآن ما هي اﻷدوات التي ستحتاجها ، سأجيبك لا شيء ، ﻷنك تملك جميع اﻷدوات في نظامك ، طبعا أتكلم عن Linux ، فهناك مترجم مجاني للغة C يأتي مرفقا مع جميع التوزيعات ، و ستكتب الشفرات في محررات النصوص المرفقة مع النظام أيضا ، اذا لم تستطع الحصول على نظام لينوكس حتى الآن فلا تحزن ، فيمكنك تطبيق الدروس عن طريق حجز حساب مجاني لصدفات اليونكس ، و الطريقة مشروحة بالتفصيل في هذا الرابط .
لم لا نبدأ الآن ؟
افتح أي Terminal تحبه ، و ليكن Konsole ، قم بانشاء مجلد جديد ستحفظ فيه شفرات برامجك
mkdir CLanguage
أنشئ ملفا جديدا داخله باسم FirstApplication و بامتداد c
cd CLanguage touch FirstApplication.c
و قم بفتحه بأي محرر نصوص تفضله ، بالنسبة لي فأنا أفضل pico و vi ، و لكن رفقا بكم ، فأنصحكم أن تفتحوه ب Emacs أو Kate أو Kwrite
emacs FirstApplication.c
البرنامج اﻷول الذي يكتب في كل لغات البرمجة هو ! Hello, World ، و لكننا سنشذ عن هذه القاعدة ، و سنكتب برنامجا يطبع شعار نظام Unix .
الآن ، اكتب فيه الشفرة التالية :
(تجنب النسخ و اللصق)
#include <stdio.h>
main ()
{
printf("Live Free or Die !\n");
}و لحفظه ، من قائمة File اختر Save
ثم أغلق المحرر .
عد الآن الى Konsole ، و قم بترجمة الملف .
هناك طريقتان :
الطريقة اﻷولى :
cc FirstApplication.c
الطريقة الثانية :
gcc -o FirstApplication FirstApplication.c
تنفيذ البرنامج :
هناك أيضا طريقتان متعلقتان بطريقة ترجمتك للملف ، اذا قمت بترجمته بالطريقة الأولى فقم بتنفيذ هذا اﻷمر :
./a.out
و الا ، قم بتنفيذ هذا اﻷمر :
./FirstApplication
في كلا الحالتين ستحصل على نفس النتيجة :
Live Free or Die !
اسمح لي أن أهنئك ، فقد أصبحت مبرمجا .
شرح البرنامج اﻷول :
السطر اﻷول :
#include <stdio.h>
توجيه ال Compiler الى مكتبة الدخل و الخرج القياسية ، و هي stdio اختصارا ل Standard Input Output Library ، و بشكل عام ، اذا أردت اضافة أي مكتبة الى برنامجك ، استعمل اﻷمر include# متبوعا باسم المكتبة التي يجب أن تحصر بين <>
الامتداد h هو اختصار ل Header File و تعني الملف الرأسي .
السطر الثاني :
كما تعلمون فان لغة C للبرمجة هي لغة اجرائية ، أي تعتمد على الدوال (سنتطرق لها فيما بعد) ، و هذا يعني أن كل برنامج مكتوب بلغة C يضم دالة واحدة على اﻷقل و هي main
الحاسب يحتاج أن يعرف من أين يبدأ بتنفيذ برنامجك ، برامج لغة C يبدأ تنفيذها من دالة main .
دالة main هي دالة خاصة تعتبر كنقطة الانطلاق .
لا بد من وضع القوسين الفارغين بعد اسم main ، و ستفهم فائدتهما عند دراسة الدوال .
السطر الثالث و السطر الخامس :
جسم الدالة يتم حصره بين لامتين ، { }
السطر الرابع :
قمنا باستدعاء الدالة printf من مكتبة stdio ، و تقرأ Print Function ، و تقوم هذه الدالة بطباعة String الموجود بين علامتي الاقتباس " " ، و يجب وضع قاطعة (فاصلة منقوطة ; ) في نهاية الدالة .
مثال :
لطباعة جملة Linux is Freedom نكتب :
printf("Linux is Freedom");الأمر n\ يسمى سلسلة الهروب Escape Sequence ، و يخبر المترجم أن يضع مؤشر الكتابة في بداية السطر الموالي .
اذا لم تفهم فطبق هذا المثال و ركز قليلا في النتيجة
#include <stdio.h>
main()
{
printf("Knowledge \nis \nPower");
}ستكون النتيجة :
Knowledge is Power
أظنك فهمت الآن وظيفته .
و ربما عرفت أنه لطباعة سطر فارغ يكفي أن نكتب
printf("\n");و لطباعة جملة في سطر واحد يمكننا أن نكتب مثلا :
printf("Knowledge");
printf("is");
printf("Power");و من سلاسل الهروب اﻷخرى t\ التي تؤدي دور زر tab عند الكتابة ، و r\ التي تضع مؤشر الكتابة في بداية السطر الحالي ، و \\ التي تطبع علامة \ ، و غير ذلك .
الآن ، نأتي الى الواجب :
1- اكتب برنامجا يطبع اسمك في سطر و بريدك الالكتروني في سطر .
2- اكتب برنامجا يحتوي على خطأ مقصود و حاول أن تشرح رسالة الخطأ عند الترجمة .
3- حدد اﻷخطاء اﻷربعة في هذا البرنامج :
#include <stdio>
main()
{
print("I am Free \n)
}الى لقاء قريب بحول الله