لغة C: من الصفر إلى الاحتراف - الدليل الشامل للمبتدئين
لغة C: من الصفر إلى الاحتراف - الدليل الشامل للمبتدئين
مرحباً بكم في الرحلة النهائية لإتقان لغة البرمجة C! تُعد لغة C حجر الزاوية في الحوسبة الحديثة، حيث تعتمد عليها أنظمة التشغيل والمترجمات والأنظمة المدمجة. صُممت هذه الدورة الشاملة خصيصاً للمبتدئين تماماً الذين يرغبون في بناء أساس قوي ومتين في البرمجة الإجرائية (procedural programming). سنبدأ بالمفاهيم الأساسية مثل الإعداد والمتغيرات، مروراً بهياكل التحكم والوظائف، وصولاً إلى أعمق ميزات لغة C وأكثرها قوة: المؤشرات (pointers)، وإدارة الذاكرة، وهياكل البيانات. بنهاية هذه الدروس الـ 60 المفصلة، لن تكون فقط ماهراً في كتابة كود C نظيف وفعال، بل ستمتلك أيضاً المعرفة التأسيسية اللازمة للانتقال إلى مواضيع متقدمة مثل برمجة الأنظمة، تطوير النواة (kernel development)، أو لغة C++.
الدروس
- ما هي لغة C؟ التاريخ والفلسفة
- إعداد البيئة: المترجم (Compiler) وبيئة التطوير (IDE)
- برنامجك الأول بلغة C: 'Hello World'
- الهيكل الأساسي لبرنامج C
- التعليقات، الرموز، وقواعد القواعد الأساسية
- أنواع البيانات الأساسية: الأعداد الصحيحة
- أنواع البيانات الأساسية: الأعداد العشرية والحروف
- التصريح عن المتغيرات وتهيئتها
- الإدخال والإخراج الأساسي: printf و scanf
- المعاملات والتعبيرات الحسابية
- المعاملات العلاقية والمنطقية
- معاملات التخصيص والزيادة/النقصان
- قواعد تحويل الأنواع (Type Casting)
- المنطق الشرطي: جملة 'if'
- جمل 'if-else' و 'if' المتداخلة
- المنطق الشرطي: جملة 'switch'
- هياكل التكرار: حلقة 'while'
- هياكل التكرار: حلقة 'do-while'
- هياكل التكرار: حلقة 'for'
- الكلمات المفتاحية للتحكم في التدفق: break, continue, goto
- مقدمة عن الدوال: التصريح، التعريف، والاستدعاء
- وسائط الدوال والقيم المعادة
- التمرير بالقيمة مقابل التمرير بالمرجع (مقدمة)
- قواعد النطاق: المتغيرات المحلية والعالمية
- أساسيات العودية (Recursion)
- توجيهات المعالج المسبق (الجزء 1: #include و #define)
- مقدمة عن المصفوفات (المصفوفات أحادية الأبعاد)
- التكرار عبر المصفوفات وعمليات المصفوفة
- المصفوفات متعددة الأبعاد (المصفوفات ثنائية الأبعاد)
- مقدمة عن السلاسل النصية (مصفوفات الحروف)
- دوال مكتبة السلاسل النصية القياسية
- تمرير المصفوفات إلى الدوال
- مصفوفة السلاسل النصية (مصفوفات الحروف ثنائية الأبعاد)
- المؤشرات الجزء 1: ما هي المؤشرات؟
- المؤشرات الجزء 2: المؤشرات والمصفوفات
- المؤشرات الجزء 3: حساب المؤشرات
- المؤشرات الجزء 4: المؤشرات والدوال
- تخصيص الذاكرة الديناميكي (DMA): malloc() و calloc()
- إدارة الذاكرة الديناميكية: realloc() و free()
- مؤشر إلى مؤشر (المؤشرات المزدوجة)
- مقدمة عن الهياكل (struct)
- الوصول إلى أعضاء الهيكل ومصفوفة الهياكل
- المؤشرات إلى الهياكل (معامل '->')
- الهياكل ذاتية المرجعية (مقدمة في القوائم المرتبطة)
- الاتحادات (Unions) وحالات استخدامها
- التعدادات (enum) وتعريف الأنواع (typedef)
- إدخال وإخراج الملفات الجزء 1: التدفقات وأنماط الملفات
- إدخال وإخراج الملفات الجزء 2: فتح وإغلاق الملفات
- إدخال وإخراج الملفات الجزء 3: إدخال وإخراج الحروف (fputc, fgetc)
- إدخال وإخراج الملفات الجزء 4: إدخال وإخراج السلاسل النصية (fputs, fgets)
- إدخال وإخراج الملفات الجزء 5: الإدخال والإخراج المنسق (fprintf, fscanf)
- دوال المكتبة القياسية (المكتبة الرياضية)
- توجيهات المعالج المسبق المتقدمة (الترجمة الشرطية)
- وسائط سطر الأوامر (argc, argv)
- معالجة الأخطاء: errno و perror
- المعاملات على مستوى البت (Bitwise Operators)
- البرمجة التركيبية (استخدام ملفات مصدر متعددة)
- مقدمة عن المتغيرات والدوال الثابتة (static)
- تقنيات وأدوات تصحيح الأخطاء (نظرة عن GDB)
- مراجعة والخطوات التالية: الانتقال لبرمجة الأنظمة