أخر الاخبار

لغة C الشامل كتاب تطبيقي مئة في المئة

كتاب تطبيقي لغة سي

نبذة عن لغة C و تاريخها

في أيام بداية الحاسوب كانت البرمجة تتم على لغة بدائية منخفضة المستوى low-level تدعى بلغة الآلة حيث كانت تفهمها الآلة مباشرتاً و يتم البرمجة عليها بأوامر تمثل بخيوط مكونة من الواحد و الصفر.

و الصفر تعني low و هي محصور بين -0.5 و +0.5 فولت و الواحد تعني high و هو محصور بين +4.5 و +5.5 فولت, أي بما يسمى بـ النظام الثنائي و كانت البرمجة عليها صعبة و معقدة حتى تم تطوير لغة التجميع assembly و هي من اللغات منخفضة المستوى low-level أيضاً.

حيث كانت سهلة بالنسبة للغة الآلة فبدل إستعمال سلاسل من الصفر و الواحد تستعمل أوامر ذات كلمات مفهومة مثل ADD و MOV.

مع مرور الوقت تم تطوير لغات برمجة اخرى مثل COBOL و BASIC و C و كان التعامل معها بالكلمات و النصوص مما جعل هذه اللغات مقروئة.

مقدمة في لغة السي C

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

كانت أول بداية لظهور لغة سي في مختبرات شركة AT&T في عام 1972 و كانت هي البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ) و هو يعتبر مخترع لغة سي بإستخدام نظام التشغيل Unix و لغة سي هي في الأصل لغة قديمة يطلق عليها إسم BCPL و BCPL تم تطويرها بواسطة مارتن ريتشارد ( Martin Richards ) 1967 و التي بدورها كانت لغة B و التي أخترعت بواسطة كين تومسون و لقد أدت لغة B إلى تطوير لغة سي في السبعينات حيث قام دينيس ريتشي أخذ من لغة B أحسن تعليماتها و غير في كثير من قيودها و أضاف إليها تعليمات عديدة و جعل منها لغة برمجة و سماها لغة C.

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

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

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

تعتبر لغة C أيضًا أساسًا للعديد من لغات البرمجة الحديثة مثل C++ وC# وObjective-C، حيث يمكن استخدامها لتطوير أنظمة أكبر وأكثر تعقيدًا. كما أنها تستخدم في تطوير بعض الأجزاء الحرجة من أنظمة تشغيل مثل نواة لينكس.

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

إستخدامات لغة سي C

للغة سي C إستخدامات عديدة و من هذه الإستخدامات هي :

  1. برمجة و تطوير أنظمة التشغيل.
  2. برمجة نظم قواعد البيانات.
  3. تطوير التطبيقات الواجهة الرسومية و الألعاب و الكثير من الإستخدامات.

مميزات لغة سي

  1. يتم إستخدام عدد قليل جداً من الكلمات المحجوزة.
  2. إستخدام أنواع ثابتة للبيانات مع إمكانية تحويل نوع البيانات ضمنياً Type Casting.
  3. لغة سي تدعم تنفيذ العديد من العمليات الحسابية و المنطقية و العمليات الخاصة بالتحكم في البيانات على مستوى البت bitwise Operations.
  4. إمكانية كتابة الأكواد البرمجية في أكثر من ملف و ترجمة كل ملف بشكل منفصل و إتاحة دمج الملفات المترجمة Linking.
  5. لغة السي لغة غنية بالدوال و توفّر للمبرمج عدداً كبيراً من دوال الإدخال و الإخراج و الدوال الرياضية و الحسابية.

عيوب لغة سي

  1. تعتمد لغة سي على أسلوب المترجم ( الذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ) و من ثم يقوم بعرض قائمة الأخطاء بعكس لغة بيسك التي تعتمد على أسلوب المفسّر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة.
  2. يوجد في لغة سي أخطاء لا يستطيع المترجم أن يكتشفها.

دالة printf() للطباعة

دالة printf() هي الدالة الأساسية لطباعة الجمل النصية في لغة سي و هو إختصار للمصطلح print formatted، حيث تتيح دالة printf() التحكم في طريقة طباعة الجمل النصية أو ما يعرف بتنسيق الجمل النصيه و إمكانية طباعة قيم المتغيرات بداخل النص المراد طباعته.

مثال 1

#include<stdio.h>
main()
{
printf("hello world");
}

كلمة Include# تعني تضمين المكتبة التي تسمي stdio داخل المشروع و تستعمل لدوال الإدخال و الإخراج و إمتداد هذه المكتبة .h (( يوجد ايضاً إمتداد .c)). كلمة main تعني رئيسية و الأقواس هي اقواس الدالة أي الدالة الرئيسية main() للبرنامج و تبدأ بقوس و تنتهي بقوس {}. و دالة printf خاص بأمر الطباعة بمعنى إطبع لي النص المكتوب بين قوسين و يلزم تضمين الفاصلة المنقوطة ; بالنهاية.

عند تشغيل البرنامج و الضغط على زر Run سوف يطبع hello world.

مثال 2

قم بطباعة كلمة Saja و كلمة Muhammad مستخدماً بينهم فاصل أربع فراغات بواسطة \t و نفذ النتيجة على الشاشة.

#include<stdio.h>
main()
{
printf("Saja\tMuhammad\n");
}

طلبنا من البرنامج بأن يطبع إسم Saja ثم يترك 4 فراغات بإستخدام /t ثم طباعة إسم Muhammad بعده و ثم النزول سطراً جديداً بإستخدام \n و الخروج من البرنامج.

عند تشغيل الكود ستكون النتيجة 

Saja    Muhammad

الأدوات اللازمة للبرمجة بلغة C

أدوات لغة سي هي محرر نصوص Editor و مترجم Compiler له و مربط Linker و أي برنامج تتم كتابته يجب أن يمر. على هذه الأدوات و في النهاية ينتج الملف التنفيذي و لا يمكن الإستغناء عن أداة من هذه الأدوات.

في المترجمات الحديثة أصبح كل من الأدوات مدمجة مع بعضها مما جعلها أكثر سهولة في الإستعمال.

ما هي بعض الأمثلة الشهيرة للتطبيقات التي تم بناؤها باستخدام لغة C؟

لغة C استخدمت في تطوير العديد من التطبيقات الشهيرة والأنظمة البارزة. إليك بعض الأمثلة:

  1. نظام التشغيل UNIX: تم تطوير نظام التشغيل UNIX بلغة C. وقد أدى استخدام لغة C في تطوير UNIX إلى قابلية التحميل والنقل بين أنظمة مختلفة وجعلها منصة متعددة الاستخدامات.
  2. لغة برمجة C++: تم تطوير لغة C++ كتطوير للغة C، حيث تضمنت ميزات إضافية مثل البرمجة الكائنية. وتستخدم C++ في تطوير العديد من التطبيقات والأنظمة مثل ألعاب الفيديو وبرامج الكمبيوتر وبرامج التصميم.
  3. نواة لينكس: تعتبر نواة لينكس، وهي جزء أساسي من نظام التشغيل لينكس، من أبرز المشاريع التي تم تطويرها باستخدام لغة C. وقد أدى استخدام لغة C في تطوير النواة إلى كفاءة وقوة عالية في إدارة الموارد وتشغيل النظام.
  4. MySQL: MySQL هو نظام إدارة قواعد البيانات الشهير، وتم تطويره بشكل رئيسي باستخدام لغة C ولغة C++. يستخدم MySQL في العديد من التطبيقات والمواقع التي تتطلب قواعد بيانات قوية وموثوقة.
  5. Adobe Photoshop: برنامج Adobe Photoshop، الذي يعتبر أحد أشهر برامج تحرير الصور والرسومات، قد تم تطويره باستخدام لغة C ولغة C++، بالإضافة إلى لغات برمجة أخرى.
  6. متصفح Mozilla Firefox: تم تطوير متصفح Mozilla Firefox باستخدام لغة C ولغات أخرى مثل C++ وJavaScript. يعتبر Firefox أحد المتصفحات الشهيرة والقوية في عالم الإنترنت.

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

ما هي بعض الميزات الرئيسية للغة C التي تجعلها مناسبة لتطوير التطبيقات الشهيرة؟

هناك عدة ميزات رئيسية في لغة C التي تجعلها مناسبة لتطوير التطبيقات الشهيرة. إليك بعض هذه الميزات:

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

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

Saja Alsadig
بواسطة : Saja Alsadig
من السودان مبرمجة مواقع ويب و تطبيقات أندرويد اتقن لغات "html, css, php, js" بالإضافة للتعامل مع اندرويد ستوديو و بناء التطبيقات, مهتمة بمجال التقنية منذ الصغر و كان لدي شقف كبير للدخول بالجامعه بقسم البرمجة و دخلته في عام 2013 و تعلمت كل شيئ ضمن الجامعة و خارجها من التعليم الذاتي و اتمنى أن أكون عند حسن ظن الجميع و إيصال الأمانة لكم.
تعليقات




    حجم الخط
    +
    16
    -
    تباعد السطور
    +
    2
    -