اختر لغتك
دورة لغة البرمجة C
من 4 إلى 360 ساعة دراسة مرنة

دورة لغة البرمجة C

أتقن لغة C للعمل على الأنظمة الحقيقية. تعلم هذه الدورة البرمجة الآمنة للذاكرة، الإدخال/الإخراج القوي للملفات، إدارة العمليات، تصحيح الأخطاء بأدوات مثل valgrind، وتصميم واجهات برمجية نظيفة لبناء أدوات موثوقة وعالية الأداء في الإنتاج.

ماذا ستتعلم:

توفر دورة C تدريباً عملياً مركزاً على كتابة برامج آمنة وفعالة تتعامل مع بيانات حقيقية. ستتقن المؤشرات، الهياكل، الذاكرة الديناميكية، السلاسل، والإدخال/الإخراج للملفات مع بناء تحقق إدخال قوي ومعالجة أخطاء. تعلم تصميم واجهات برمجية نظيفة، معمارية معيارية، وهياكل بيانات قوائم العمليات، ثم استخدم أدوات التصحيح واستراتيجيات الاختبار لمنع أخطاء الذاكرة وضمان سلوك موثوق في الإنتاج.

كيف تدرس بشكل عملي دورة لغة البرمجة C

كيف تتدرب عملياً دورة لغة البرمجة C

لك إذا كنت شركة وتريد تدريب فريقك

في Elevify للشركات، يأتي الدورة مع تمارين وأمثلة من عملك نفسه وبالطريقة التي تحتاجها شركتك.

اضغط هنا

محتوى الدورة

6 فصول36 دروسمدة بين 4 و 360 ساعة (أنت تقرر)

الفصل 1عرض التفاصيل

أساسيات لغة C لأدوات النظام

  • الدرس 1 • التعامل مع السلاسل والوظائف الآمنة: strncpy، snprintf، strtok، strcmp، strlen

    يغطي هذا القسم التعامل الآمن مع سلاسل C عند كتابة أدوات النظام. ستتعلم كيفية استخدام strncpy، snprintf، strtok، strcmp، وstrlen بشكل صحيح، تجنب تجاوزات المخزن، أخطاء الاقتطاع، والسلوك غير المحدد.

  • الدرس 2 • المصفوفات، المؤشرات، حساب المؤشرات، واستخدام المؤشر-إلى-هيكل

    يطور هذا القسم فهمًا دقيقًا للمصفوفات والمؤشرات في C. ستتدرب على حساب المؤشرات، التكرار على المخازن، واستخدام المؤشر إلى الهيكل، وكلها حاسمة لتحليل الجداول، قوائم الوسائط، ومعلومات العمليات.

  • الدرس 3 • الهياكل: الإعلان، التهيئة، تخطيط الذاكرة، ومصفوفات char بحجم ثابت للأسماء

    يركز هذا القسم على تصميم الهياكل لأدوات النظام. ستتعلم الإعلان، أساليب التهيئة، تخطيط الذاكرة، الحشو، وكيفية تضمين مصفوفات char بحجم ثابت للأسماء مع الحفاظ على الهياكل محمولة وودية للتخزين المؤقت.

  • الدرس 4 • أنواع C، تمثيلات الأعداد الصحيحة والنقطة العائمة المتعلقة بحقول العمليات

    يشرح هذا القسم أنواع C العددية والنقطة العائمة المستخدمة في حقول العمليات والنظام. ستتعلم العروض، التوقيع، سلوك التجاوز، وكيفية رسم هياكل النواة أو المكتبة إلى تمثيلات C محمولة ومحددة جيدًا.

  • الدرس 5 • صحة const: const مع المؤشرات، البيانات const، وتأثيرات تصميم الواجهة البرمجية

    يشرح هذا القسم صحة const وتأثيرها على تصميم الواجهات البرمجية. ستتعلم const مع البيانات والمؤشرات، كيفية التعبير عن المخازن المؤقتة للقراءة فقط، تجنب التعديل العرضي، وتصميم واجهات وظائف أوضح وأكثر أمانًا للأدوات.

  • الدرس 6 • أساليب معالجة الأخطاء في C: رموز الإرجاع، errno، والبرمجة الدفاعية

    يقدم هذا القسم أساليب عملية لمعالجة الأخطاء في أدوات C. ستتعلم تصميم رموز الإرجاع، استخدام errno بشكل صحيح، نقل الفشل، تسجيل التشخيصات، وتطبيق البرمجة الدفاعية للحفاظ على أدواتك يمكن التنبؤ بها وتصحيحها.

  • الدرس 7 • تخصيص الذاكرة: malloc، calloc، realloc، free وأنماط التخصيص الشائعة

    يغطي هذا القسم أنماط إدارة الذاكرة الديناميكية للأدوات. ستتعلم malloc، calloc، realloc، وfree، بالإضافة إلى استراتيجيات التخصيص، قواعد الملكية، معالجة الأخطاء، وتقنيات منع التسريبات والتجزئة.

الفصل 2عرض التفاصيل

إدخال/إخراج الملفات والتحليل النصي في C

  • الدرس 1 • تحليل الأسطر القوي: sscanf، strtod/strtof، strtol، التحقق وتخطي الأسطر الخاطئة

    تعلم تحليل الأسطر بأمان باستخدام sscanf، strtod/strtof، وstrtol. ستتحقق من الحقول العددية، تكتشف أخطاء التحويل، تتخطى الأسطر الخاطئة، وتصمم حلقات تحليل تتجنب تجاوزات المخزن والسلوك غير المحدد.

  • الدرس 2 • التقطيع والتعامل مع المسافات البيضاء مع strtok_r وبدائل التحليل اليدوي

    استكشف تقنيات التقطيع باستخدام strtok_r والتحليل اليدوي. ستتعامل مع الفواصل، الفواصل المتتالية، والحقول المقتبسة، وتقارن مقسمات الرموز المتكررة مع أساليب المشي بالمؤشر لتحليل يمكن التنبؤ به وقوي.

  • الدرس 3 • التعامل مع اختلافات نهاية السطر وتقص المسافات البيضاء

    تعلم التعامل مع اختلافات نهاية السطر والمسافات البيضاء. ستقوم بتوحيد نهايات CRLF وLF، تقص المسافات الرائدة والتالية، تضغط المسافات الداخلية عند الحاجة، وتجنب المشكلات الدقيقة off-by-one والمخزن.

  • الدرس 4 • تصميم وتوثيق صيغة نصية بسيطة مبنية على الأسطر لسجلات العمليات

    صمم صيغة نصية مبنية على الأسطر واضحة لسجلات العمليات. ستحدد الحقول، الفواصل، وقواعد الهروب، توثق الإصدارات والتعليقات، وتقدم أمثلة وقواعد التحقق لضمان الصيانة طويلة الأمد.

  • الدرس 5 • تقنيات تراكم عدد غير معروف من السجلات: تغيير الحجم الديناميكي أثناء القراءة

    أتقن تقنيات قراءة عدد غير معروف من السجلات باستخدام المصفوفات الديناميكية. ستوسع المخازن مع realloc، تختار عوامل النمو، تكتشف فشل التخصيص، وتصغر التخزين بعد القراءة ليتناسب مع الحجم النهائي.

  • الدرس 6 • فتح، قراءة، وإغلاق الملفات مع fopen، fgets، fscanf، وgetline

    افهم كيفية فتح وقراءة وإغلاق الملفات باستخدام fopen، fclose، fgets، fscanf، وgetline. ستقارن قراءات الأسطر المخزنة مؤقتًا والإدخال المنسق، تتعامل مع الأسطر الجزئية، وتدير الأخطاء وتنظيف الموارد بشكل صحيح.

الفصل 3عرض التفاصيل

هياكل البيانات والخوارزميات لقوائم العمليات في الذاكرة

  • الدرس 1 • حساب التجميعات: متوسط استخدام CPU، التعامل مع العدد الصفري والدقة العددية

    يركز هذا القسم على حساب التجميعات على قوائم العمليات، مثل متوسط استخدام CPU. ستتعامل مع حالات العدد الصفري، تتجنب التجاوز، تختار دقة عددية، وتصمم حلقات تراكم مستقرة للقوائم الكبيرة.

  • الدرس 2 • المصفوفات الديناميكية: استراتيجيات النمو (هندسي مقابل خطي)، سياسات تغيير الحجم والتكلفة الممتازة

    يوضح هذا القسم المصفوفات الديناميكية لقوائم العمليات. ستطبق نموًا هندسيًا، تقارنه بالنمو الخطي، تصمم سياسات تغيير الحجم، تتفكر في تكلفة الإدراج الممتازة، وتجنب إعادة التخصيص المفرط والتجزئة.

  • الدرس 3 • تصميم حقول هيكل العملية: pid، تحديد حجم مخزن الاسم، الحقول العائمة، وتمثيل الحالة

    يشرح هذا القسم كيفية تصميم هيكل Process لقوائم في الذاكرة. ستختار أنواع الأعداد الصحيحة لـPIDs، تحدد حجم مخازن الأسماء، تخزن استخدام CPU بأعداد عائمة أو مزدوجة، وترمز حالات العمليات بأمان وكفاءة.

  • الدرس 4 • خوارزميات البحث: البحث الخطي حسب PID، استخدام المؤشرات const للبحث للقراءة فقط

    يغطي هذا القسم البحث في قوائم العمليات حسب PID باستخدام البحث الخطي. ستطبق وظائف بحث صحيحة const، تقارن استراتيجيات الخروج المبكر، تتفكر في التعقيد، وتناقش متى تكون الفهرسات المتقدمة مبررة.

  • الدرس 5 • تأثيرات تخطيط الذاكرة على القرب والأداء

    يفحص هذا القسم كيف يؤثر تخطيط الهيكل وتنظيم المصفوفة على قرب التخزين المؤقت والأداء. ستقارن مصفوفة-من-الهياكل مقابل هيكل-من-المصفوفات، تحلل الحشو، وتقيس تكاليف التكرار والبحث عمليًا.

  • الدرس 6 • التحديثات في المكان مقابل النسخ: تنفيذ إجراءات محاكاة تعدل الحالة بأمان

    يشرح هذا القسم كيفية تحديث حالة العمليات بأمان في المكان. ستقارن تعديل الهياكل مباشرة مقابل النسخ، تصمم إجراءات محاكاة، تدير التراجع عن الأخطاء، وتضمن واجهات تحديث صحيحة const وآمنة للخيوط.

الفصل 4عرض التفاصيل

هندسة البرنامج، الوحدية، وتصميم الواجهة البرمجية

  • الدرس 1 • تصميم ملفات الرأس: النماذج، حراس الإدراج، والوظائف العامة مقابل الخاصة

    تعلم كيفية تصميم ملفات رأس C قوية تعرض واجهة برمجية عامة نظيفة مع إخفاء التفاصيل الداخلية. تشمل المواضيع نماذج الوظائف، حراس الإدراج، الرؤوس الداخلية، وتنظيم الإعلانات لكود وحدي قابل للصيانة.

  • الدرس 2 • الإبلاغ عن الأخطاء ونقلها بين الوظائف

    تعلم أنماط الإبلاغ عن الأخطاء ونقلها بين وظائف C. ستصمم رموز الإرجاع، استخدام errno، وهياكل الأخطاء، وتقرر متى تعالج أو تغلف أو تنقل الفشل للحفاظ على الوحدات يمكن التنبؤ بها وتصحيحها.

  • الدرس 3 • تصميم قابلية الاختبار البسيطة: وظائف حتمية، حدود إدخال/إخراج واضحة

    اكتشف كيفية تصميم كود C سهل الاختبار. ستفصل المنطق النقي عن الإدخال/الإخراج، تتحكم في العشوائية والوقت، وتحقن التبعيات حتى تصبح الوظائف حتمية، قابلة للتكرار، ومناسبة للاختبارات الآلية.

  • الدرس 4 • استخدام const والواجهات المقيدة لمنع التعديل العرضي

    افهم كيف تحمي const والواجهات المقيدة البيانات من التغييرات غير المقصودة. ستصمم واجهات برمجية تحد من التعديل، توضح الملكية، وتجعل قواعد الإسناد صريحة، مما يحسن السلامة والتفكير وتحسينات المترجم.

  • الدرس 5 • تفكيك الوظائف: load_processes، print_processes، find_by_pid، average_cpu، kill_process والوظائف المساعدة

    تدرب على تفكيك وحدة إدارة العمليات إلى وظائف مركزة. ستصمم عمليات التحميل، الطباعة، البحث، التجميع، والتحكم، بالإضافة إلى المساعدين، للحفاظ على كل وظيفة صغيرة، قابلة للاختبار، وسهلة التفكير فيها.

  • الدرس 6 • توثيق صيغة الملف والتوقعات البرمجية في تعليقات المصدر

    استكشف كيفية توثيق صيغ الملفات والواجهات البرمجية مباشرة في تعليقات المصدر. ستصف الثوابت، الشروط المسبقة، وتخطيطات البيانات حتى يتمكن المحدثون المستقبليون من توسيع وتصحيح وإعادة استخدام وحدات C وواجهاتك بأمان.

الفصل 5عرض التفاصيل

التفاعل مع المستخدم، التحقق من الإدخال، والقوة

  • الدرس 1 • التعافي اللطيف: تخطي أسطر الملفات الخاطئة وإصدار تحذيرات واضحة

    تعلم الحفاظ على تشغيل البرامج عند مواجهة بيانات خاطئة. يظهر هذا القسم كيفية كشف الأسطر السيئة في الملفات، تخطيها أو تعقيمها، تسجيل تحذيرات واضحة، والاستمرار في المعالجة دون تلف الحالة أو الانهيار.

  • الدرس 2 • محاكاة الإجراءات مقابل التأثيرات الجانبية: تغييرات حالة آمنة وإخراج معلوماتي

    ميز بين محاكاة الإجراءات والتأثيرات الجانبية الحقيقية. يغطي هذا القسم أوضاع التشغيل الجاف، تحديثات الحالة الآمنة، رسائل الحالة الواضحة، وتقنيات اختبار السلوك دون المخاطرة بالبيانات أو سلامة النظام.

  • الدرس 3 • قراءة وتحقق إدخال المستخدم من stdin (مثل مطالبة PID) والدفاع ضد الإدخال غير الصالح

    أتقن القراءة الآمنة والتحقق من إدخال المستخدم من stdin. ستستخدم fgets وروتينات التحليل، تحمي من تجاوزات المخزن، ترفض القيم غير الصالحة، وتقدم مطالبات واضحة ورسائل خطأ للأدوات التفاعلية.

  • الدرس 4 • الحالات الحدية: الملفات الفارغة، الأسماء الطويلة جدًا، PIDs المكررة، وأخطاء تحويل الأرقام

    استكشف الحالات الحدية الصعبة التي غالبًا ما تكسر برامج C. ستتعامل مع الملفات الفارغة، الأسماء الطويلة جدًا، PIDs المكررة، وفشل تحويل الأرقام، مضمونًا سلوك كودك يمكن التنبؤ به تحت ظروف غير عادية لكن واقعية.

  • الدرس 5 • تنظيف الموارد: ضمان تحرير كل تخصيص، استخدام أنماط الإرجاع المبكر بأمان

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

  • الدرس 6 • معالجة وسائط سطر الأوامر ورسائل الاستخدام

    افهم كيفية تحليل وتحقق وسائط سطر الأوامر في C. ستصمم رسائل استخدام واضحة، تتعامل مع الخيارات المفقودة أو غير الصالحة، وتقدم تعليقات مفيدة حتى يتمكن المستخدمون من تشغيل برامجك بشكل صحيح وبثقة.

الفصل 6عرض التفاصيل

سلامة الذاكرة، التصحيح، والأدوات

  • الدرس 1 • الادعاءات البسيطة والفحوصات الدفاعية أثناء التطوير

    افهم كيف تلتقط الادعاءات والفحوصات الدفاعية أخطاء المنطق والذاكرة مبكرًا في التطوير. تعلم استخدام assert، التحقق من المدخلات، حماية الثوابت، وتقرير أي فحوصات تبقى في بنى الإنتاج.

  • الدرس 2 • التحقق التشغيلي مع valgrind: كشف التسريبات والقراءات/الكتابات غير الصالحة

    استكشف كيف يفحص Valgrind البرامج C التشغيلية لكشف تسريبات الذاكرة، القراءات/الكتابات غير الصالحة، وسوء استخدام تخصيصات الكومة. تعلم تفسير التقارير، إصلاح المشكلات، ودمج الفحوصات في سير عملك.

  • الدرس 3 • استراتيجيات الاختبار التدريجي والتحقق المحلي من الوظائف

    دراسة استراتيجيات اختبار كود C تدريجيًا، من الوحدات الصغيرة إلى المكونات المتكاملة. تعلم تصميم وظائف قابلة للاختبار، أتمتة البناء والاختبارات، والتحقق من السلوك محليًا قبل النشر.

  • الدرس 4 • أخطاء ذاكرة C الشائعة: off-by-one، تجاوز المخزن، مؤشر معلق، تحرير مزدوج

    راجع أكثر أخطاء الذاكرة في C شيوعًا، بما في ذلك أخطاء off-by-one، تجاوزات المخزن، المؤشرات المعلقة، والتحرير المزدوج. تعلم كيف تنشأ، كيفية إعادة إنتاجها، وتقنيات قوية لتجنبها.

  • الدرس 5 • استخدام الأدوات: التجميع مع -Wall -Wextra -Werror وعلامات التحسين/التصحيح

    تعلم تكوين المترجم مع -Wall، -Wextra، -Werror، وعلامات التحسين أو التصحيح. افهم كيف تكشف هذه الخيارات الأخطاء مبكرًا، تؤثر على الكود المولد، وتشكل عملية بناء آمنة وقابلة للتكرار.

الشهادة
الشهادة

شهادتك الصالحة للتخرج

ماذا يقول طلابنا

آراء من درسوا معنا:

دروسكم مثالية. اشتريت الباقة السنوية، وأخيراً أصبح لدي الفرصة لمتابعة مواضيع متنوعة تهمني دون الحاجة لتغيير المنصة... أشكركم على كل ما تقومون به، لقد أوصيت بكم لأشخاص آخرين...
Giulio Carlo
Giulio Carloطالب التسويق الرقمي
أحب كيف أن الدروس مباشرة ومركزة وكيف يمكنني تغيير الفصول وتخطي المحتوى الذي لا أحتاجه.
Mariana Ferres
Mariana Ferresطالبة التصوير الفوتوغرافي
أحب المحتوى وطريقة العرض ونسخ الفيديوهات، مما يسرّع العملية!
Luciana Alvarenga
Luciana Alvarengaطالبة تصميم الأظافر
المنصة سريعة وبسيطة الاستخدام. تنوع المحتوى والفيديوهات التكميلية تساعد كثيراً في التعلم.
André Felipe
André Felipeطالب هندسة الأوامر

أهم الدورات

الأسئلة الشائعة

من هي Elevify؟ كيف تعمل؟

هل الدورات تتضمن شهادات؟

هل الدورات مجانية؟

ما هو عبء الدورة؟

كيف تبدو الدورات؟

كيف تعمل الدورات؟

ما هي مدة الدورات؟

ما هو سعر أو تكلفة الدورات؟

ما هو التعليم عن بعد أو الدورة عبر الإنترنت وكيف تعمل؟

دورة PDF