مقدمة في لغة البرمجة سي

ابدأ باستخدام لغة C ، وهي لغة برمجة أساسية

ربما تكون لغة C هي لغة البرمجة الأكثر شهرة. يتم استخدامه كلغة مرجعية لدورات علوم الكمبيوتر في جميع أنحاء العالم ، وربما تكون اللغة التي يتعلمها الناس أكثر في المدرسة بين Python و Java.

أتذكر أنها كانت لغة البرمجة الثانية لدي على الإطلاق ، بعد باسكال.

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

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

عندما تم إنشاؤها ، تم اعتبار C لغة عالية المستوى ، لأنها كانت محمولة عبر الأجهزة. نحن اليوم نعطي نوعًا ما من المسلمات أنه يمكننا تشغيل برنامج مكتوب على جهاز Mac على نظام Windows أو Linux ، ربما باستخدام Node.js أو Python. ذات مرة ، لم يكن هذا هو الحال على الإطلاق. ما جلبته لغة سي إلى الطاولة هو لغة سهلة التنفيذ ، مع وجود مترجم يمكن نقله بسهولة إلى أجهزة مختلفة.

قلت للمترجم: C هي لغة برمجة مجمعة ، مثل Go أو Java أو Swift أو Rust. يتم تفسير لغات البرمجة الشائعة الأخرى مثل Python أو Ruby أو JavaScript. الفرق ثابت: تنشئ اللغة المترجمة ملفًا ثنائيًا يمكن تنفيذه وتوزيعه مباشرةً.

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

لا يخفي C تعقيد وقدرات الآلة تحتها. لديك الكثير من القوة ، بمجرد أن تعرف ما يمكنك القيام به.

أرغب في تقديم برنامج C الأول الآن ، والذي سنسميه "Hello، World!"

مرحبًا ج

#include <stdio.h>

int main(void) {
	printf("Hello, World!");
}

دعنا نصف شفرة مصدر البرنامج: نقوم أولاً باستيراد ملفstdioمكتبة (الاسم يقف لمكتبة المدخلات والمخرجات القياسية).

تتيح لنا هذه المكتبة الوصول إلى وظائف الإدخال / الإخراج.

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

stdioهي المكتبات التي توفر الامتدادprintf()وظيفة.

هذه الوظيفة ملفوفة في ملفmain()وظيفة. الmain()الوظيفة هي نقطة دخول أي برنامج سي.

لكن ما هي الوظيفة ، على أي حال؟

الوظيفة هي إجراء يأخذ وسيطة واحدة أو أكثر ، ويعيد قيمة واحدة.

في حالةmain()، لا تحصل الدالة على وسيطات ، وتقوم بإرجاع عدد صحيح نحدد ذلك باستخدامvoidالكلمة الأساسية للحجة ، وintالكلمة الأساسية لقيمة الإرجاع.

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

الprintf()تمت كتابة الوظيفة بشكل مختلف ، كما ترون. لم يتم تحديد قيمة إرجاع لها ، ونمرر سلسلة ملفوفة بين علامتي اقتباس. لم نحدد نوع الحجة.

هذا لأن هذا استدعاء دالة. في مكان ما داخلstdioمكتبة،printfيعرف ب

int printf(const char *format, ...);

لست بحاجة إلى فهم ما يعنيه هذا الآن ، ولكن باختصار ، هذا هو التعريف والوقت الذي نتصل فيهprintf("Hello, World!");، حيث يتم تشغيل الوظيفة.

الmain()الوظيفة التي حددناها أعلاه:

#include <stdio.h>

int main(void) {
	printf("Hello, World!");
}

سيتم تشغيله بواسطة نظام التشغيل عند تنفيذ البرنامج.

كيف ننفذ برنامج سي؟

كما ذكرنا ، لغة C هي لغة مترجمة. لتشغيل البرنامج ، يجب علينا أولاً تجميعه. يأتي أي جهاز كمبيوتر يعمل بنظام التشغيل Linux أو macOS بالفعل مزودًا بمترجم C مدمج. بالنسبة لنظام التشغيل Windows ، يمكنك استخدام نظام Windows الفرعي لنظام التشغيل Linux (WSL).

في أي حال ، عندما تفتح نافذة المحطة ، يمكنك الكتابةgcc، ويجب أن يعرض هذا الأمر خطأ يفيد بأنك لم تحدد أي ملف:

هذا طيب. هذا يعني أن مترجم C موجود ، ويمكننا البدء في استخدامه.

الآن اكتب البرنامج أعلاه في ملفhello.cملف. يمكنك استخدام أي محرر ، ولكن من أجل البساطة ، سأستخدم ملفnanoمحرر في سطر الأوامر:

اكتب البرنامج:

الآن اضغطctrl-Xللخروج:

قم بالتأكيد بالضغط علىyمفتاح ، ثم اضغط على إدخال لتأكيد اسم الملف:

هذا كل شيء ، يجب أن نعود إلى المحطة الآن:

اكتب الآن

gcc hello.c -o hello

يجب ألا يعطيك البرنامج أي أخطاء:

ولكن كان يجب أن يكون قد أدى إلى إنشاء ملفhelloتنفيذ. اكتب الآن

./hello

لتشغيله:

أنا قبل./إلى اسم البرنامج ، لإخبار المحطة الطرفية أن الأمر موجود في المجلد الحالي

رائع!

الآن إذا اتصلتls -al hello، يمكنك أن ترى أن حجم البرنامج 12 كيلو بايت فقط:

هذا أحد إيجابيات C: إنه مُحسَّن للغاية ، وهذا أيضًا أحد الأسباب التي تجعله مفيدًا للأجهزة المضمنة التي تحتوي على قدر محدود جدًا من الموارد.

تحقق من بعض دروسي الأخرى حول C:

تحميل مجانيكتيب C


المزيد من دروس clang: