ما هي لغة سي؟
لغة سي (C) هي لغة برمجة مترجمة وعامة الأغراض صممها دينيس ريتشي في مختبرات بِل عام 1972، وتُتيح تحكمًا مباشرًا في الذاكرة وتُقارب سلوك المعالج الفعلي.11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد22C Programming Tutorial - GeeksforGeeksgeeksforgeeks.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد بفضل هذه الخصائص، ظلت سي الخيار الأساسي لتطوير أنظمة التشغيل ومشغلات الأجهزة وقواعد البيانات، حيث تُستَخدم في نوى أنظمة مثل لينكس وأجزاء من ويندوز وmacOS، وكذلك في البرمجيات المدمجة بالسيارات والأجهزة المنزلية والمتحكمات الدقيقة.11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد كما تُستَخدم في بيئات تشغيل لغات أخرى مثل CPython وRedis، وفي مكتبات حسّاسة للأداء تُستدعى من لغات برمجة مختلفة.11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد تُعتبر سي «أمّ» معظم لغات البرمجة الحديثة؛ فلغات مثل جافا (Java)، بي إتش بي (PHP)، وجافاسكريبت (JavaScript) استقرت على بنية نحوية وميزات مستمدة مباشرة أو غير مباشرة من سي.22C Programming Tutorial - GeeksforGeeksgeeksforgeeks.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد


- تطوير نوى أنظمة التشغيل (لينكس، أجزاء من ويندوز وmacOS)11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- برمجيات مدمجة في السيارات والأجهزة المنزلية والمتحكمات الدقيقة11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- قواعد بيانات مثل SQLite وPostgreSQL11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- بيئات تشغيل لغات أخرى مثل CPython وRedis11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- مكتبات حسّاسة للأداء تُستدعى من لغات برمجة مختلفة11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال برمجي يوضح تعريف دالة بسيطة في سي:
#include <stdio.h>
int main(void) {
int a = 5, b = 3;
int sum = a + b;
printf("المجموع: %d\n", sum);
return 0;
}
النشأة
نشأت لغة سي (C) في أوائل السبعينيات داخل مختبرات بيل (Bell Labs) على يد دينيس ريتشي (Dennis Ritchie) كإصدار متطور للغة بي (B).33من القهوة إلى الكوميديا.. الحكايات الخفية وراء أسماء لغات البرمجة | تكنولوجيا | الجزيرة نتaljazeera.netاذهب إلى المرجع ↓يُفتح في تبويب جديد تم إطلاقها رسميًا عام 1972، حيث صُممت لتكون لغة نظام قوية وسريعة مع قدرة عالية على المرونة في كتابة البرامج.44تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعيmawjknowledge.comاذهب إلى المرجع ↓يُفتح في تبويب جديد كان الهدف الأساسي من تطويرها هو تمكين بناء أنظمة تشغيل متكاملة، وقد استُخدمت في البداية لتطوير نظام يونكس (Unix).55دليل جمّال تك: لغة البرمجة Cgammal.techاذهب إلى المرجع ↓يُفتح في تبويب جديد تُعَدّ سي الجد الشرعي للعديد من لغات البرمجة الحديثة، إذ انبثقت منها أنظمة تشغيل بارزة مثل لينكس (Linux) وويندوز (Windows).44تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعيmawjknowledge.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

- المطورون الرئيسيون: دينيس ريتشي، بمشاركة زميله كين طومسون في مرحلة التصميم الأولية.55دليل جمّال تك: لغة البرمجة Cgammal.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الموقع الزمني: أوائل السبعينيات، مع إشارة صريحة إلى عام 1972 كعام النشر الرسمي للغة.44تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعيmawjknowledge.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الهدف الأصلي: توفير لغة برمجة نظامية تجمع بين القوة والسرعة والمرونة لتطوير أنظمة تشغيل متقدمة.44تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعيmawjknowledge.comاذهب إلى المرجع ↓يُفتح في تبويب جديد55دليل جمّال تك: لغة البرمجة Cgammal.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الأثر اللاحق: أصبحت الأساس للغات الحديثة وأنظمة التشغيل الرئيسية، مما أثرى بنية البرمجيات عبر العقود.44تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعيmawjknowledge.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال برمجي بسيط يوضح بنية برنامج «Hello, World!» بلغة سي:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
خصائصها
تُعد لغة سي (C) من اللغات التي تجمع بين السرعة العالية والتحكم المباشر في مكونات الحاسوب، ما يجعلها خيارًا أساسيًا لتطوير البرمجيات القريبة من العتاد. تُستَخدم هذه اللغة في كتابة أنظمة التشغيل، البرمجيات المدمجة، وقواعد البيانات، فضلًا عن التطبيقات التي تتطلب معالجة كميات ضخمة من البيانات بسرعة.

- سرعة التنفيذ والتحكم المباشر في الذاكرة، ما يضمن كفاءة الأداء واستخدامًا مثاليًا للموارد.66لغات البرمجة الأكثر استخداماً في عام 2023mittrarabia.comاذهب إلى المرجع ↓يُفتح في تبويب جديد11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- حجم البرنامج الناتج صغير مقارنةً بلغات البرمجة الأخرى، مما يُسهّل توزيعه على الأنظمة ذات الموارد المحدودة.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تعتمد على نموذج البرمجة الإجرائية (procedural programming) الذي يقسم المشكلة إلى إجراءات متتابعة، وهو أسلوب سهل الفهم والتعلم.88لغة C - Reemat Platformreemat.netاذهب إلى المرجع ↓يُفتح في تبويب جديد
- صالحة لتطوير تطبيقات عالية الأداء تحتاج إلى إنجاز عدد كبير من العمليات أو معالجة بيانات ضخمة بسرعة.88لغة C - Reemat Platformreemat.netاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تُستَخدم في كتابة نوى أنظمة التشغيل (مثل لينكس وأجزاء من ويندوز وmacOS) والبرمجيات المدمجة في السيارات والأجهزة المنزلية، بالإضافة إلى قواعد البيانات مثل SQLite وPostgreSQL وبيئات تشغيل اللغات مثل CPython وRedis.11وثائق C قابلة للتشغيل: ما هي لغة C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
- توفر تحكمًا يدويًا في إدارة الذاكرة، ما يسمح للمبرمج بتحسين استهلاك الموارد وفقًا لاحتياجات البرنامج.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد66لغات البرمجة الأكثر استخداماً في عام 2023mittrarabia.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- منذ ظهورها في السبعينات، ظلت واحدة من أقدم وأكثر اللغات انتشارًا واستخدامًا على نطاق واسع بين المطورين.66لغات البرمجة الأكثر استخداماً في عام 2023mittrarabia.comاذهب إلى المرجع ↓يُفتح في تبويب جديد99لغة C – C | Coddycoddy.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال بسيط يوضح بنية برنامج «Hello, World!» بلغة سي:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
المؤشرات والذاكرة
عند تحميل البرنامج في ذاكرة الوصول العشوائي (RAM)، يترابط كل جزء فيه — بما في ذلك المتغيرات (Variables) — بعنوان محدد في الذاكرة.1010ناسا بالعربي - لا تبدأ فورًا بكتابة الكود، استخدم المكتباتnasainarabic.netاذهب إلى المرجع ↓يُفتح في تبويب جديد وعند استدعاء أي اقتران، تُحمل كافة البيانات المتعلقة به في الذاكرة طوال فترة تشغيله للحصول على النتيجة، وتنشئ لغة C نسخة من البيانات الممررة إلى الاقتران.1010ناسا بالعربي - لا تبدأ فورًا بكتابة الكود، استخدم المكتباتnasainarabic.netاذهب إلى المرجع ↓يُفتح في تبويب جديد وتُعد المؤشرات (Pointers) أدوات أساسية لإدارة الذاكرة؛ إذ يُعرف المؤشر بأنه متغير يُستخدم لتخزين عنوان الذاكرة لبيانات أخرى، وله نوع بيانات يتيح له التمييز بين البتات المشيرة إلى موقع الذاكرة.1010ناسا بالعربي - لا تبدأ فورًا بكتابة الكود، استخدم المكتباتnasainarabic.netاذهب إلى المرجع ↓يُفتح في تبويب جديد وتُنشأ المؤشرات بوضع رمز العامل غير المباشر * مباشرة قبل اسم المتغير.1010ناسا بالعربي - لا تبدأ فورًا بكتابة الكود، استخدم المكتباتnasainarabic.netاذهب إلى المرجع ↓يُفتح في تبويب جديد

int i;
int *p;
تختلف المؤشرات عن المصفوفات (Arrays) في خصائص متعددة تتعلق بالذاكرة وطرق معالجتها:1111المؤشرات مقابل المصفوفات في لغة C: الفرق والاستخداماتt10blogs.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تخصيص الذاكرة: تتميز المصفوفات بحجم ثابت يُحدد عند تعريفها ولا يمكن تغيير حجمها لاحقًا، في حين تتيح المؤشرات تخصيص الذاكرة وإعادة تخصيصها ديناميكيًا في أثناء وقت التنفيذ.1111المؤشرات مقابل المصفوفات في لغة C: الفرق والاستخداماتt10blogs.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- طريقة التخزين: تُخزن المصفوفة عناصرها في عناوين متتالية داخل الذاكرة، بينما يقتصر دور المؤشر على تخزين عنوان الذاكرة والإشارة إلى أي نوع من البيانات.1111المؤشرات مقابل المصفوفات في لغة C: الفرق والاستخداماتt10blogs.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الوصول والتعديل: يُوصل إلى عناصر المصفوفة باستخدام الفهرس، بينما تتيح المؤشرات الوصول إلى البيانات وتعديلها بطريقة غير مباشرة عبر عنوانها، وتتعامل مع الذاكرة الديناميكية بفضل دوال مثل
malloc()وcalloc()وrealloc()وfree.1111المؤشرات مقابل المصفوفات في لغة C: الفرق والاستخداماتt10blogs.comاذهب إلى المرجع ↓يُفتح في تبويب جديد1212البرمجة بلغة C: تعلم لغة سي - التطبيقات على Google Playplay.google.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
الاستخدامات
تُعَدُّ لغة C من الأدوات الأساسية في مجال البرمجة، حيث تُستَخدم في طيف واسع من التطبيقات التقنية بفضل سرعتها ومرونتها.1313مشاريع برمجة بلغة C: من المبتدئ إلى المحترفarabic.techاذهب إلى المرجع ↓يُفتح في تبويب جديد

من أبرز المجالات التي تُستَغل فيها هذه اللغة:
- تطوير نوى أنظمة التشغيل، فكل من نواة يونكس (UNIX) ولينكس (Linux) وويندوز (Windows) وأنظمة Apple OS X تُكتب بلغة C.1414تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- برمجة المتصفحات وتطبيقاتها المساعدة؛ فمعظم متصفحات الويب وإضافاتها تعتمد على C في بنائها.1414تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- إنشاء وتطوير مترجمات (Compilers) ومفسرات (Interpreters) للغات البرمجة الأخرى، مثل مفسّر بايثون (Python Interpreter) الذي صُنع باستخدام C.1414تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- بناء أنظمة إدارة قواعد البيانات، حيث تُستَخدم C في تطوير منتجات مثل أوراكل (Oracle) وMySQL وPostgreSQL.1414تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تطوير تطبيقات سطح المكتب ذات الأداء العالي، إذ تتيح C للمبرمجين التحكم المباشر في موارد المعالج والذاكرة.1414تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تصميم ألعاب وبرمجيات ترفيهية تستفيد من قدرة اللغة على التعامل مع الموارد بشكل فعال.1313مشاريع برمجة بلغة C: من المبتدئ إلى المحترفarabic.techاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال بسيط يوضح بنية برنامج C أساسي:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
تأثيرها في اللغات الأخرى
تُعَدُّ لغة C حجر الأساس للعديد من لغات البرمجة الحديثة، إذ تُستَندُ عليها في بنية النحو والهيكلية العامة للغات التي تلتها.88لغة C - Reemat Platformreemat.netاذهب إلى المرجع ↓يُفتح في تبويب جديد77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد فقد أثرت صيغتها وإمكانياتها على تطوير لغات مثل C++ و Java و Python و PHP، التي تُعَدُّ جميعها فروعًا أو مشتقات مباشرةً من C.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد كما أن المفاهيم الأساسية التي قدمتها C، مثل المؤشرات (pointers) وإدارة الذاكرة على مستوى منخفض، تُدرَّس كقاعدة أساسية لفهم أي لغة برمجة معاصرة.22C Programming Tutorial - GeeksforGeeksgeeksforgeeks.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد


من الناحية العملية، يُستَخدم نهج C في تصميم لغات جديدة لتوفير كفاءة الأداء وإمكانية الوصول إلى موارد العتاد، ما يجعلها نموذجًا يُحتذى به في تطوير الأنظمة المدمجة، قواعد البيانات، شبكات الحاسوب، ومحركات الألعاب.22C Programming Tutorial - GeeksforGeeksgeeksforgeeks.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد
إليك أمثلة على بعض اللغات التي استلهمت من C:
- C++ — توسيع للغة C بإضافة البرمجة الكائنية.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- Java — تبنى على بنية C في الصياغة النحوية.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- Python — رغم اختلافها في المستوى، فإنها تحتفظ بتركيبة تشبه C في بعض البنى الأساسية.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- PHP — لغة سكريبت ويب تستند إلى تركيبة C في بناء الجمل.77مميزات و عيوب لغات البرمجة – Maddiemkh034450.wordpress.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
#include <stdio.h>
int main(void) {
int a = 10, b = 20;
int *p = &a; // مؤشر إلى المتغيّر a
*p = b; // تعديل قيمة a عبر المؤشر
printf("%d\n", a); // يطبع 20
return 0;
}
أنظر أيضاً
المصادر
وثائق C قابلة للتشغيل: ما هي لغة C | Coddy. ↩ ↩ ↩ ↩ ↩ ↩ ↩ ↩ ↩ ↩
من القهوة إلى الكوميديا.. الحكايات الخفية وراء أسماء لغات البرمجة | تكنولوجيا | الجزيرة نت. ↩
تاريخ لغات البرمجة وتطورها عبر العقود: رحلة من الثقوب الورقية إلى الذكاء الاصطناعي. ↩ ↩ ↩ ↩ ↩
ناسا بالعربي - لا تبدأ فورًا بكتابة الكود، استخدم المكتبات. ↩ ↩ ↩ ↩
المؤشرات مقابل المصفوفات في لغة C: الفرق والاستخدامات. ↩ ↩ ↩ ↩
تعرف على لغة C ومميزاتها وخطوات تعلمها - مقالات برمجة عامة - أكاديمية حسوب. ↩ ↩ ↩ ↩ ↩