C
افهم كيف يعمل الحاسوب من الداخل
أساس هندسي متين: الأنواع والعوامل، الحلقات، المصفوفات والنصوص، الذاكرة والمؤشرات، الدوال والهياكل.
- عدد الدروس: 34
- عدد الفصول: 7
- بالعربية والإنجليزية
تقدّمك
محتوى التوثيق
الدروس مرتّبة من الأساس إلى المتقدّم. اقرأها بالترتيب أو اقفز إلى ما تحتاجه.
الفصل 1
البداية
- 1مقدمة إلى لغة Cتعرّف على لغة C: ما هي، وأين تُستخدم، ولماذا يُعدّ تعلّمها بداية قوية لأي مبرمج.
- 2البدء مع لغة Cجهّز بيئتك: ثبّت المترجم GCC، واكتب برنامجك الأول في الملف main.c، ثم ترجمه وشغّله من الطرفية.
- 3قواعد الكتابة في Cتعرّف على البنية التي يقوم عليها كل برنامج بلغة C: سطر #include، والدالة main()، والتعليمات، والفاصلة المنقوطة، والتعليمة return 0.
- 4الإخراج وطباعة النصوصاستخدم الدالة printf() لطباعة النصوص على الشاشة، ورموز الهروب مثل \n لبدء سطر جديد.
- 5التعليقاتالتعليقات ملاحظات تشرح الكود ويتجاهلها المترجم تمامًا. تدعم لغة C تعليقات السطر الواحد // والتعليقات متعددة الأسطر /* */.
الفصل 2
المتغيرات والبيانات
- 6المتغيراتالمتغيرات حاويات لتخزين قيم البيانات. تعلّم كيف تعرّف المتغيرات، وتُسند إليها القيم وتغيّرها، وتطبعها باستخدام printf().
- 7محددات التنسيقمحددات التنسيق مثل %d و%f و%c و%s تخبر printf() بنوع القيمة التي ستطبعها، وتتحكم في شكلها: عدد الخانات العشرية وعرض الحقل.
- 8أنواع البياناتلكل متغير في C نوع بيانات مثل int وfloat وdouble وchar. تعرّف على أحجامها ومحددات تنسيقها، وكيف تقيس حجم أي نوع باستخدام sizeof.
- 9تحويل الأنواعحوّل القيم من نوع بيانات إلى آخر تلقائيًا (التحويل الضمني) أو يدويًا (التحويل الصريح)، وتجنّب فخّ القسمة الصحيحة الشهير.
- 10الثوابتاستخدم الكلمة المفتاحية const أو الموجّه #define لإنشاء قيم ثابتة لا يمكن تغييرها أثناء تشغيل البرنامج.
- 11العواملالعوامل رموز تُجري العمليات على المتغيرات والقيم. تعرّف على العوامل الحسابية، وعوامل الإسناد والمقارنة، والعوامل المنطقية، وعاملَي الزيادة والإنقاص.
- 12القيم المنطقيةفي C تُعدّ أي قيمة غير صفرية صحيحة، والصفر خطأ. تعلّم كيف تستخدم النوع bool من المكتبة <stdbool.h> لتكتب شروطًا أوضح بالقيمتين true وfalse.
الفصل 3
التحكم في التدفق
- 13الجمل الشرطية if...elseاستخدم if وelse if وelse لتنفيذ كود مختلف بحسب تحقق الشرط أو عدم تحققه، وتعرّف على الصيغة المختصرة: العامل الثلاثي.
- 14الجملة switchاستخدم الجملة switch لاختيار كتلة واحدة من بين عدة كتل للتنفيذ بحسب قيمة متغير، ولا تنسَ break!
- 15حلقة whileتكرّر الحلقات كتلة من الكود ما دام الشرط صحيحًا. تعرّف على حلقة while، وعلى حلقة do/while التي تُنفَّذ مرة واحدة على الأقل.
- 16حلقة forعندما تعرف عدد مرات التكرار بالضبط استخدم حلقة for. تعرّف على أجزائها الثلاثة، وعلى العدّ بخطوات مختلفة، وعلى الحلقات المتداخلة.
- 17التحكم في الحلقات: break وcontinueاستخدم break للخروج من الحلقة مبكرًا، وcontinue لتخطي الدورة الحالية والانتقال مباشرة إلى الدورة التالية.
الفصل 4
المصفوفات والنصوص
- 18المصفوفاتالمصفوفات تخزّن عدة قيم من النوع نفسه في متغير واحد. تعلّم كيف تنشئها، وتصل إلى عناصرها وتغيّرها، وتمرّ عليها بحلقة، وتعرف طولها باستخدام sizeof.
- 19المصفوفات متعددة الأبعادالمصفوفة متعددة الأبعاد مصفوفة من المصفوفات. تعلّم المصفوفات ثنائية الأبعاد التي تشبه الجداول بصفوفها وأعمدتها، وكيف تصل إلى عناصرها وتمرّ عليها.
- 20النصوص (Strings)لا يوجد في C نوع خاص بالنصوص، بل تُخزَّن النصوص في مصفوفات من الحروف تنتهي بالحرف الصفري '\0'. تعلّم كيف تنشئها وتطبعها وتصل إلى حروفها وتعدّلها.
- 21دوال النصوصتوفّر المكتبة <string.h> دوال جاهزة للتعامل مع النصوص: strlen() لمعرفة الطول، وstrcpy() للنسخ، وstrcat() للدمج، وstrcmp() للمقارنة.
- 22إدخال المستخدماقرأ الأعداد والكلمات من لوحة المفاتيح باستخدام scanf()، والأسطر الكاملة باستخدام fgets()، وتعرّف على مخاطر كل منهما وكيف تتجنبها.
الفصل 5
الذاكرة والمؤشرات
- 23عناوين الذاكرةلكل متغير مكان في الذاكرة له عنوان. استخدم العامل & للحصول على عنوان المتغير، والمحدد %p لطباعته.
- 24المؤشراتالمؤشر متغير يخزّن عنوان متغير آخر في الذاكرة. تعلّم كيف تعرّف المؤشرات، وتصل إلى القيمة عبرها باستخدام *، وتغيّر القيم من خلالها.
- 25المؤشرات والمصفوفاتاسم المصفوفة يعمل كمؤشر إلى عنصرها الأول. تعلّم كيف تصل إلى عناصر المصفوفة باستخدام المؤشرات، وكيف تعمل العمليات الحسابية على المؤشرات.
- 26الذاكرة الديناميكيةاحجز الذاكرة أثناء تشغيل البرنامج باستخدام malloc() وcalloc() وrealloc()، وتحقّق دائمًا من القيمة NULL، ثم أعد الذاكرة باستخدام free().
الفصل 6
الدوال
- 27الدوالالدالة كتلة من الكود لا تُنفَّذ إلا عند استدعائها. تعلّم كيف تنشئ دوالك الخاصة وتستدعيها، وكيف تصرّح عنها مسبقًا باستخدام النموذج الأولي.
- 28معاملات الدوالمرّر المعلومات إلى الدوال عبر المعاملات، وأعد النتائج باستخدام return، وافهم الفرق بين التمرير بالقيمة وتمرير المؤشرات والمصفوفات.
- 29نطاق المتغيراتلا يمكن استخدام المتغير إلا داخل المنطقة التي أُنشئ فيها. تعرّف على الفرق بين المتغيرات المحلية والمتغيرات العامة، وعلى نطاق الكتلة.
- 30الاستدعاء الذاتيالاستدعاء الذاتي أن تستدعي الدالة نفسها. تعلّم لماذا تحتاج كل دالة ذاتية الاستدعاء إلى حالة أساسية، مع أمثلة على مجموع الأعداد والمضروب.
- 31الدوال الرياضيةتوفّر المكتبة <math.h> دوال رياضية جاهزة مثل sqrt() وpow() وceil() وfloor() وfabs(). ولا تنسَ الخيار -lm عند الترجمة باستخدام GCC على Linux.
الفصل 7
الهياكل
- 32الهياكل (Structs)تجمع الهياكل عدة متغيرات مترابطة، قد تختلف أنواعها، تحت اسم واحد. تعلّم كيف تعرّف الهياكل، وتصل إلى أعضائها، وتنشئ مصفوفات منها، وتستخدم المؤشرات معها عبر العامل ->.
- 33التعدادات (Enums)التعداد enum نوع خاص يمثّل مجموعة من الثوابت المسمّاة. استخدم التعدادات لتجعل الكود أوضح، خاصة مع الجملة switch.
- 34التعامل مع الملفاتأنشئ الملفات واكتب فيها وأضف إليها واقرأ منها باستخدام fopen() وfprintf() وfgets() وfclose()، واختر وضع الفتح المناسب لكل مهمة.