أخر الاخبار

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

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

نبذة عن لغة 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 إستخدامات عديدة و من هذه الإستخدامات هي :

  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 و أي برنامج تتم كتابته يجب أن يمر. على هذه الأدوات و في النهاية ينتج الملف التنفيذي و لا يمكن الإستغناء عن أداة من هذه الأدوات.

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

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



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