سي (لونڭاج)
{{وضح|1=لونڭاج ف لانفورماتيك|3=سي (توضيح)}}
{{معلومات لونݣاج}}
'''لونڭاج سي''' ({{Lang-en|C language|link=yes}}) هوّا [[لونݣاج|لونڭاج]] [[لونڭاج د التخدام لعام|د التخدام لعام]] لي ختارعو عالم لانفورماتيك [[دينيس ريتشي]] ف [[عوام 1970|السبعينات]] د [[لقرن 20]]. هاد اللونڭاج باقي مخدم بزاف ل حد الساعة، و كان و مزال عندو تأتير كبير ف لمجال ديال ل[[برماجة]].

اللونڭاج سي مخدم ف لكتابة ديال [[كوض سورس|لكوض سورس]] د [[پروڭرام]]ات بحال [[سيستيم د التشغيل|السيستيمات د التشغيل]]، [[درايڤر]]ات، و [[سطاك د پروطوكول]] (تطبيق ديال پروطوكول د الريزو لمعلوماتي). كاينين [[أپليكاصيون]]ات مكتوبين ب سي، ولاكين هاد التخدام ولّا قل من قبل، حيت أغلبية د [[پروڭرامور|لموبرميجين]] كيفضّلو يخدمو ب لونڭاجات خرة بحال [[جاڤا]] ؤلا [[پايثون]]، ف التطبيقات لي ماكاتطّلبش تدبير دقيق ديال ل[[ميموار]]، و كاتكون لحساسية د مدة لبرماجة و الصيانة د لپروڭرام عندها أهمية كبر من [[وقت د التنفيد|السرعة د التنفيد]] ديالو. بزاف ديال لمودولات د لونڭاجات بحال پايثون كيتكتبو ب سّي (متلاً [[نامپاي]] ديال لحساب د ل[[ماطريس]]ات)، باش تطلع لفعّالية ديال لپروڭرام لي مكتوب بيهوم.

هاد اللونڭاج تسمّا "سي" {{Lang|en|C}}، حيت جا باش يخلف [[بي (لونڭاج)|لونڭاج بي]] {{Lang|en|B language}}، و طوّرو دينيس ريتشي فاش كان خدام ف [[مختبرات بيل]]، مابين 1972 و 1973، باش يصاوب پروڭرامات ديال الصيانة ف سيستيم [[ؤنيكس]].

ف 2023، لونڭاج سّي مكلاصي التاني ف [[لانديكس د تيوبي]] {{Lang|en|TIOBE Index}} ديال اللونڭاجات لي مطلوبة بزاف، مورا پايثون، و قبل من [[سي++]] لي مبني عليه.<ref>{{Cite web
|url=https://www.tiobe.com/tiobe-index/
|title=TIOBE Index for January 2023
|date=يناير 2023
|accessdate=13 يناير 2023
|archive-url=https://web.archive.org/web/20231015080735/https://www.tiobe.com/tiobe-index/
|archive-date=2023-10-15
|url-status=live
}}</ref>

== نضرة عامة ==
سّي كيتّعتابر [[برماجة أمرية|لونڭاج أمري]] ب [[برماجة ب لپروصيات|لپروصيات]]. و تّبنا على الساس ديال [[ألڭول]] (فاميلة د اللونڭاجات لي بانو ف اللخر د [[عوام 1950|لخمسينات]]). عندو [[سيستيم د التيپاج]] تابت (عكس پايثون متلاً لي خدام ب سيستيم ديناميكي، بحيت التيپاج ديال شي پاراميطر كيقدر يتبدّل على حساب شنو كيدير بيه لپروڭرام). لكوض ديال السي لي كيكون قابل ل التنفيد، كيكون ديما وسط [[فونكسيون (برماجة)|فونكسيونات]]. لپاراميطرات ديال لفونكسيونات [[سطراتيجية ديال التقدير (برماجة)|كيدوزو ف لعادة ب لقيمة ديالهوم]] {{Lang|en|call by value}}، ولاكين ف لحالة ديال الليستات {{Lang|en|arrays}} كيتدوّزو ب [[پوانتور]] {{Lang|en|pointer}} لي كاتكون فيه لادريسة ف لميموار ديال لقيمة اللولة ف الليستة. فاش كايتدوّز شي پاراميطر ف فونكسيون ب پوانتور كانڭولو بلي دوّزناه ب لإحالة {{Lang|en|call by reference}} ؤلا {{Lang|en|passing by reference}}.

لكوض سورس ديال سّي كيكون ب [[لونڭاج ب فورما حر|ب فورما حر]]، يعني يقدر لواحد يكتب لكوض كاملو ف سطر واحد طويل يلا بغا، ؤلا يفرّقو على بزاف د السطورا. كلا [[تعليمة (برماجة)|تعليمة]] ضروري تّسالا ب [[فاصيلة منقوطة]]، و كلا بلوك ديال التعليمات كيكون مجموع ب [[قوس (رمز)|معقوفات]].

اللونڭاج سي كيتميّز ب هاد لمزيات ؤلا لعناصر:
* كلمات خاصة بحال <code>[[شرطية (برماجة)|if/else]]</code>، <code>[[بوكل فور|for]]</code>، <code>[[بوكل دو وايل|do while]]</code>، <code>[[بوكل وايل|while]]</code>، <code>[[تعليمة سويتش|switch]]</code>، و غيرها. لپروڭرامور فاش يسمّي لپاراميطرات ديالو خاصو يحضي باش مايخدّمش هاد لكلمات لخاصة، حيت غادي تعطي غالبا شي غالاط ف لپروڭرام.
* رموز د لحساب بحال {{codes|+|+{{=}}|++|&amp;|{{!!}}|d=,}}
* پاراميطرات ؤلا متغيرات لي كاتكون كلا وحدة منها عندها سمية وحيدة، و تيپاج محدّد.
* تيپاج لي كيحدد نوع الداطا لي كاتكون ف شي پاراميطر متلاً. بحال <code>int</code> ب النسبة ل [[عاداد طبيعي|لأعداد الطبيعية]]، <code>char</code> ب النسبة ل كاراكطير...
* فونكسيونات:
** لفونكسيون لي كاتدير شي عملية بلا ماترد تا شي قيمة كاتكون ف لعادة مسبوقة ب لكلمة لخاصة <code>void</code>. ف هاد لحالة كاتسمّى "پروصي" {{Lang|en|procedure}}.
** لفونكسيون لي كاترد شي قيمة كاتكون مسبوقة ب لكلمة لخاصة ديال التيپاج ديال الداطا لي كاترد. متلا شي فونكسيون سميتها <code>calculate</code> كاترد عدد طبيعي غادي تّكتب ب هاد الشكل <syntaxhighlight lang="c">int calculate(){}</syntaxhighlight>
** يلا فونكسيون عندها پاراميطرات د ل[[إنپوت]]، كيخصهوم يتكتبو بين جوج قواس ديال لفونكسيون ب التيپاج ديالهوم، متلاً شي فونكسيون كاتدير لجمع ديال جوج أعداد طبيعية سميتها <code>add</code> غادي تّديكلارا ب هاد الشكل <syntaxhighlight lang="c">int add(int a, int b){}</syntaxhighlight>
** لفونكسيون تقدر تعيّط ل راسها، هاد لبلان كيتسمّى ال[[ترياص]] {{Lang|en|recursion}}.
** يلا تعرّف شي پاراميطر وسط لفونكسيون، كيكون لمدا {{Lang|en|scope}} ديالو غير وسط ديك لفونكسيون. يعني يلا تعيّط ل داك لپاراميطر ب سميتو برا لفونكسيون إما ل[[كومپيلاتور]] كيعطي غالاط، ؤلا كاتخدّم قيمة خرة ديال شي پاراميطر عندو نفس السمية برا لفونكسيون.

== ميتال ديال پروڭرام ==
هادا پروڭرام بسيط ب لونڭاج سي كيطبع "hello, world" فوق الشاشة:<ref>{{Cite web
|url=https://www.programiz.com/c-programming/examples/print-sentence
|title=C "Hello, World!" Program
|archive-url=https://web.archive.org/web/20230905210337/https://www.programiz.com/c-programming/examples/print-sentence
|archive-date=2023-09-05
|accessdate=2023-01-13
|url-status=live
}}</ref>
<syntaxhighlight lang="c">
#include <stdio.h>

int main(void)
{
    printf("hello, world\n");
}
</syntaxhighlight>

== مصادر ==
{{عيون}}
{{لونڭاجات}}
{{ضبط مخازني}}

[[تصنيف:سي (لونڭاج)| ]]
[[تصنيف:لونڭاج]]
[[تصنيف:مقالات فيها مصدر و 3000 بايت]]
لونڭاج سي () هوّا لونڭاج د التخدام لعام لي ختارعو عالم لانفورماتيك دينيس ريتشي ف السبعينات د لقرن 20. هاد اللونڭاج باقي مخدم بزاف ل حد الساعة، و كان و مزال عندو تأتير كبير ف لمجال ديال لبرماجة.

اللونڭاج سي مخدم ف لكتابة ديال لكوض سورس د پروڭرامات بحال السيستيمات د التشغيل، درايڤرات، و سطاك د پروطوكول (تطبيق ديال پروطوكول د الريزو لمعلوماتي). كاينين أپليكاصيونات مكتوبين ب سي، ولاكين هاد التخدام ولّا قل من قبل، حيت أغلبية د لموبرميجين كيفضّلو يخدمو ب لونڭاجات خرة بحال جاڤا ؤلا پايثون، ف التطبيقات لي ماكاتطّلبش تدبير دقيق ديال لميموار، و كاتكون لحساسية د مدة لبرماجة و الصيانة د لپروڭرام عندها أهمية كبر من السرعة د التنفيد ديالو. بزاف ديال لمودولات د لونڭاجات بحال پايثون كيتكتبو ب سّي (متلاً نامپاي ديال لحساب د لماطريسات)، باش تطلع لفعّالية ديال لپروڭرام لي مكتوب بيهوم.

هاد اللونڭاج تسمّا "سي" ، حيت جا باش يخلف لونڭاج بي ، و طوّرو دينيس ريتشي فاش كان خدام ف مختبرات بيل، مابين 1972 و 1973، باش يصاوب پروڭرامات ديال الصيانة ف سيستيم ؤنيكس.

ف 2023، لونڭاج سّي مكلاصي التاني ف لانديكس د تيوبي  ديال اللونڭاجات لي مطلوبة بزاف، مورا پايثون، و قبل من سي++ لي مبني عليه.

 نضرة عامة 
سّي كيتّعتابر لونڭاج أمري ب لپروصيات. و تّبنا على الساس ديال ألڭول (فاميلة د اللونڭاجات لي بانو ف اللخر د لخمسينات). عندو سيستيم د التيپاج تابت (عكس پايثون متلاً لي خدام ب سيستيم ديناميكي، بحيت التيپاج ديال شي پاراميطر كيقدر يتبدّل على حساب شنو كيدير بيه لپروڭرام). لكوض ديال السي لي كيكون قابل ل التنفيد، كيكون ديما وسط فونكسيونات. لپاراميطرات ديال لفونكسيونات كيدوزو ف لعادة ب لقيمة ديالهوم ، ولاكين ف لحالة ديال الليستات  كيتدوّزو ب پوانتور  لي كاتكون فيه لادريسة ف لميموار ديال لقيمة اللولة ف الليستة. فاش كايتدوّز شي پاراميطر ف فونكسيون ب پوانتور كانڭولو بلي دوّزناه ب لإحالة  ؤلا .

لكوض سورس ديال سّي كيكون ب ب فورما حر، يعني يقدر لواحد يكتب لكوض كاملو ف سطر واحد طويل يلا بغا، ؤلا يفرّقو على بزاف د السطورا. كلا تعليمة ضروري تّسالا ب فاصيلة منقوطة، و كلا بلوك ديال التعليمات كيكون مجموع ب معقوفات.

اللونڭاج سي كيتميّز ب هاد لمزيات ؤلا لعناصر:
 كلمات خاصة بحال if/else، for، do while، while، switch، و غيرها. لپروڭرامور فاش يسمّي لپاراميطرات ديالو خاصو يحضي باش مايخدّمش هاد لكلمات لخاصة، حيت غادي تعطي غالبا شي غالاط ف لپروڭرام.
 رموز د لحساب بحال 
 پاراميطرات ؤلا متغيرات لي كاتكون كلا وحدة منها عندها سمية وحيدة، و تيپاج محدّد.
 تيپاج لي كيحدد نوع الداطا لي كاتكون ف شي پاراميطر متلاً. بحال int ب النسبة ل لأعداد الطبيعية، char ب النسبة ل كاراكطير...
 فونكسيونات:
 لفونكسيون لي كاتدير شي عملية بلا ماترد تا شي قيمة كاتكون ف لعادة مسبوقة ب لكلمة لخاصة void. ف هاد لحالة كاتسمّى "پروصي" .
 لفونكسيون لي كاترد شي قيمة كاتكون مسبوقة ب لكلمة لخاصة ديال التيپاج ديال الداطا لي كاترد. متلا شي فونكسيون سميتها calculate كاترد عدد طبيعي غادي تّكتب ب هاد الشكل int calculate(){}
 يلا فونكسيون عندها پاراميطرات د لإنپوت، كيخصهوم يتكتبو بين جوج قواس ديال لفونكسيون ب التيپاج ديالهوم، متلاً شي فونكسيون كاتدير لجمع ديال جوج أعداد طبيعية سميتها add غادي تّديكلارا ب هاد الشكل int add(int a, int b){}
 لفونكسيون تقدر تعيّط ل راسها، هاد لبلان كيتسمّى الترياص .
 يلا تعرّف شي پاراميطر وسط لفونكسيون، كيكون لمدا  ديالو غير وسط ديك لفونكسيون. يعني يلا تعيّط ل داك لپاراميطر ب سميتو برا لفونكسيون إما لكومپيلاتور كيعطي غالاط، ؤلا كاتخدّم قيمة خرة ديال شي پاراميطر عندو نفس السمية برا لفونكسيون.

 ميتال ديال پروڭرام 
هادا پروڭرام بسيط ب لونڭاج سي كيطبع "hello, world" فوق الشاشة:
#include <stdio.h>

int main(void)
{
    printf("hello, world\n");
}

 مصادر 

 
تصنيف:لونڭاج
تصنيف:مقالات فيها مصدر و 3000 بايت