مجموعة مشاريع البرمجة بلغة C
مجموعة من مشاريع البرمجة بلغة C صممت للمبتدئين لتعلم وممارسة مفاهيم البرمجة المختلفة، بدءًا من الخوارزميات الأساسية إلى برمجة الشبكات. كل مشروع مستقل ويحتوي على وثائقه ونظام البناء الخاص به.
نظرة عامة على المشاريع
1. تنفيذ SHA-512
تنفيذ دالة تجزئة تشفيرية يوضح:- معالجة البتات
- الخوارزميات المعقدة
- إدارة الذاكرة
- عمليات الإدخال/الإخراج للملفات
2. خادم HTTP
تنفيذ خادم HTTP أساسي يغطي:- برمجة المقابس
- أساسيات بروتوكول HTTP
- خدمة الملفات
- الاتصال الشبكي
3. خادم-عميل UDP
نظام اتصال بسيط يعتمد على UDP يعلم:- برمجة مقبس UDP
- بنية العميل-الخادم
- بروتوكولات الشبكة
- تبادل الرسائل
4. ماسح المنافذ
أداة تشخيصية للشبكة توضح:- برمجة مقبس TCP
- تقنيات مسح الشبكة
- معالجة الأخطاء
- تحليل وسيطات سطر الأوامر
5. تنفيذ Ping
أداة Ping مخصصة تغطي:- بروتوكول ICMP
- برمجة المقبس الخام
- تشخيصات الشبكة
- قياس الوقت
6. لعبة إكس-أو
تنفيذ لعبة كلاسيكية يعلم:- خادم ألعاب متعدد اللاعبين
- برمجة المقابس
- منطق اللعبة
- معالجة إدخال المستخدم
7. نظام الدردشة
تطبيق دردشة في الوقت الحقيقي يوضح:- برمجة مقبس TCP
- تعدد الخيوط
- الاتصال الفوري
- بنية العميل-الخادم
8. محلل لغوي
مكون بسيط للواجهة الأمامية للمترجم يوضح:- تجزئة كود المصدر
- تقنيات التحليل
- مبادئ تصميم المترجمات
- معالجة السلاسل النصية
9. مترجم الحسابيات
مترجم بسيط يأخذ تعبيرات حسابية كمدخل ويولد كود شبيه بالتجميع:- التحليل اللغوي (تجزئة)
- تحليل وتقييم التعبيرات
- توليد كود التجميع
- أساسيات بناء المترجم
10. لعبة الكويكب
لعبة تعتمد على الطرفية حيث تتحكم بسفينة لتجنب الكويكبات الساقطة:- إدارة حالة اللعبة
- التعامل مع إدخال المستخدم
- رسومات معتمدة على الطرفية
- آليات اللعب في الوقت الحقيقي
- اكتشاف التصادم البسيط
الشروع في العمل
كل مشروع في هذا المستودع مصمم ليكون مستقلاً ويشمل:
- كود المصدر
- ملف Makefile أو إعدادات CMake
- ملف README مع تعليمات البناء والاستخدام
- تفاصيل التنفيذ
- انتقل إلى دليل المشروع
- اقرأ ملف README.md الخاص بالمشروع
- اتبع تعليمات البناء
- شغل البرنامج كما هو موضح
المتطلبات الأساسية
- مترجم GCC (لمشاريع C)
- مترجم G++ (لمشاريع ++C)
- أداة Make
- CMake (لمشاريع C/C++)
- فهم أساسي لبرمجة C/C++
- لمشاريع الشبكة: فهم المفاهيم الأساسية للشبكات
الكتاب الموصى به
لبدء تعلم برمجة C، أوصي بهذا الكتاب الشامل: لغة البرمجة C - مورد لا غنى عنه لتعلم أساسيات برمجة C وأفضل الممارسات.
مسار التعلم
تم ترتيب هذه المشاريع حسب تزايد الصعوبة:
- ابدأ بلعبة إكس-أو لمفاهيم البرمجة الأساسية
- انتقل إلى SHA-512 لتطبيق الخوارزميات
- جرب خادم-عميل UDP لمفاهيم الشبكات الأساسية
- تقدم إلى خادم HTTP ونظام الدردشة لمفاهيم الشبكات الأكثر تعقيداً
- أخيراً، استكشف ماسح المنافذ وPing لمفاهيم الشبكة المتقدمة
المساهمة
لا تتردد في:
- الإبلاغ عن الأخطاء
- اقتراح تحسينات
- إضافة ميزات جديدة
- إنشاء مشاريع جديدة
- تحسين التوثيق
الرخصة
هذا المشروع مفتوح المصدر ومتاح لأغراض التعلم.
ملاحظة
بعض المشاريع المتعلقة بالشبكة (ماسح المنافذ، Ping) تتطلب صلاحيات الجذر/المسؤول للتشغيل بسبب استخدام المقابس الخام. استخدم هذه الأدوات دائماً بمسؤولية وفقط على الشبكات التي لديك إذن لاختبارها.
--- Tranlated By Open Ai Tx | Last indexed: 2025-07-22 ---
