لغة C تتكون من مجموعة من العناصر الأساسية التي تُستخدم لبناء البرامج. إليك أهم هذه العناصر مع شرح مُفصّل:
1. أنواع البيانات (Data Types): تُحدد أنواع البيانات نوع القيم التي يُمكن للمُتغيّرات تخزينها وكيفية التعامل معها.
- أنواع البيانات الأساسية (Basic Data Types):
int: للأعداد الصحيحة (مثل: 10, -5, 0).float: للأعداد العشرية ذات الدقة المفردة (مثل: 3.14, -2.5).double: للأعداد العشرية ذات الدقة المُزدوجة (أكثر دقة منfloat).char: للأحرف (مثل: 'A', 'b', '$').void: يُستخدم للدلالة على عدم وجود نوع، ويُستخدم عادةً مع الدوال التي لا تُرجع قيمة.
- مُعدِّلات أنواع البيانات (Data Type Modifiers): تُستخدم لتعديل حجم أو نطاق أنواع البيانات الأساسية.
short: يُقلل حجمint.long: يزيد حجمintأوdouble.unsigned: للأعداد الصحيحة الموجبة فقط.signed: للأعداد الصحيحة الموجبة والسالبة (الافتراضي).
- أنواع البيانات المُشتقة (Derived Data Types):
- المُؤشّرات (Pointers): مُتغيّرات تُخزّن عناوين الذاكرة.
- المصفوفات (Arrays): مجموعة من العناصر من نفس النوع مُخزّنة في مواقع ذاكرة مُتجاورة.
- الهياكل (Structures): مجموعة من المُتغيّرات من أنواع مُختلفة مُجمّعة تحت اسم واحد.
- الاتحادات (Unions): تُشبه الهياكل، ولكن جميع عناصر الاتحاد تشترك في نفس موقع الذاكرة.
- التعدادات (Enumerations): تُعرّف مجموعة من الثوابت المُسمّاة.
2. المُتغيّرات (Variables): أماكن مُسمّاة في الذاكرة تُستخدم لتخزين البيانات. يجب تعريف المُتغيّرات قبل استخدامها بتحديد نوعها واسمها.
3. الثوابت (Constants): قيم ثابتة لا يُمكن تغييرها أثناء تنفيذ البرنامج. يُمكن تعريفها باستخدام الكلمة المفتاحية const أو باستخدام المُعرّف #define.
4. المُعاملات (Operators): رموز تُستخدم لإجراء العمليات على البيانات.
- المُعاملات الحسابية (Arithmetic Operators):
+(جمع)،-(طرح)،*(ضرب)،/(قسمة)،%(باقي القسمة). - مُعاملات الإسناد (Assignment Operators):
=(إسناد)،+=،-=،*=،/=. - مُعاملات المُقارنة (Comparison Operators):
==(يساوي)،!=(لا يساوي)،>(أكبر من)،<(أصغر من)،>=(أكبر من أو يساوي)،<=(أصغر من أو يساوي). - المُعاملات المنطقية (Logical Operators):
&&(و)،||(أو)،!(نفي). - مُعاملات البت (Bitwise Operators):
&(و منطقي على مستوى البت)،|(أو منطقي على مستوى البت)،^(أو حصري على مستوى البت)،~(نفي على مستوى البت)،<<(إزاحة لليسار)،>>(إزاحة لليمين). - مُعاملات الزيادة والنقصان (Increment and Decrement Operators):
++(زيادة بمقدار 1)،--(نقصان بمقدار 1). - المُعامل الشرطي (Conditional Operator):
?:(يُستخدم لكتابة تعبير شرطي مُختصر). - مُعامل حجم الذاكرة (sizeof Operator): يُرجع حجم مُتغيّر أو نوع بيانات بالبايت.
5. التعابير (Expressions): تتكون من مُزيج من المُتغيّرات والثوابت والمُعاملات.
6. الجُمل (Statements): تعليمات تُنفّذها الحاسوب.
- جُمل الإسناد (Assignment Statements): تُستخدم لإسناد قيمة لمُتغيّر.
- جُمل التحكم في التدفق (Control Flow Statements):
- جُمل
ifوelse: لتنفيذ كود مُعيّن بناءً على شرط. - جُمل
switch: لتحديد حالة واحدة من بين عدّة حالات مُمكنة. - حلقات التكرار (Loops):
for: لتكرار كود مُعيّن عدد مُحدّد من المرات.while: لتكرار كود مُعيّن طالما تحقق شرط مُعيّن.do...while: تُشبهwhile، ولكن الكود يُنفّذ مرة واحدة على الأقل قبل التحقق من الشرط.
- جُمل
- جُمل القفز (Jump Statements):
break: للخروج من حلقة تكرار أو من جملةswitch.continue: للانتقال إلى التكرار التالي في حلقة تكرار.goto: للانتقال إلى نقطة مُحدّدة في الكود (يُفضّل تجنّب استخدامها قدر الإمكان).return: للخروج من دالة وإرجاع قيمة (إذا كانت الدالة تُرجع قيمة).
7. الدوال (Functions): كتل من الكود تُنفّذ مهمة مُحدّدة. يُمكن استدعاء الدوال من أي مكان في البرنامج.
8. المُعالِجات المُسبقة (Preprocessor Directives): تعليمات تُعطى للمُعالِج المُسبق قبل ترجمة الكود. تبدأ بالرمز #.
#include: لإدراج ملفات رأسية.#define: لتعريف ثوابت أو ماكرو.#ifdef،#ifndef،#else،#endif: لتنفيذ كود مُعيّن بناءً على شروط تُحدّدها المُعالِجات المُسبقة.
9. التعليقات (Comments): تُستخدم لشرح الكود وتوضيحه. يتجاهلها المُترجم.
//: لتعليق سطر واحد./* ... */: لتعليق عدّة أسطر.
هذه هي العناصر الأساسية للغة C. فهم هذه العناصر بشكل جيّد يُساعدك على كتابة برامج فعّالة وكفؤة.