From Wikipedia, the free encyclopedia
سی (انگریزی: C) ایک عمومی مقاصد کی حامل پروگرامنگ زبان ہے جسے ڈینس ریچی نے 1969ء اور 1973ء کے درمیان میں اے ٹی اینڈ ٹی بیل لیباریٹری (AT&T Bell Labs) میں تیار کیا تھا۔ سی پروگرامنگ زبان کو تیار کرنے کا اصل مقصد یہ تھا کہ اس کے ذریعہ یونکس آپریٹنگ سسٹم پر کام کیا جائے اور اسے مزید ترقی دی جائے۔ سی زبان کا شمار ہر دور میں سب زیادہ استعمال ہونے والی زبانوں میں رہا ہے،[1][2] اس لیے سی کے کمپائلرز تقریباً سب ہی آپریٹنگ سسٹم کے لیے دستیاب ہیں۔
اکثر دوسری پروگرامنگ زبانیں بالواسطہ یا بلاواسطہ طور ہر سی زبان سے متاثر ہوئی ہے، جن میں ڈی، گو، رسٹ، جاوا، جاوا سکرپٹ، پرل، پائیتھون اور پی ایچ پی جیسی زبانیں اور یونکس کا سی شیل بھی شامل ہیں۔
دی سی پروگرامنگ زبان (کتاب)(جو "K&R سے مشہور ہے)، سی زبان پر پہلی کتاب۔ | |
پیراڈائم | Imperative (procedural)، structured |
---|---|
اشاعت | 1972 |
ڈیزائنر | ڈینس ریچی |
ترقی دہندہ | Dennis Ritchie & Bell Labs (creators); ANSI X3J11 (ANSI C); ISO/IEC JTC1/SC22/WG14 (ISO C) |
مستحکم اشاعت | سی 11 (دسمبر 2011) |
شعبہ تحریر | Static، weak، manifest، nominal |
اہم اطلاقات | GCC، Clang، Intel C، MSVC ، Pelles C، Watcom C |
بولیاں | Cyclone، Unified Parallel C، Split-C، Cilk، C* |
متاثر | بی (BCPL، CPL)، ALGOL 68، اسمبلی زبان، PL/I، FORTRAN |
موثر | Numerous: AMPL، AWK، csh، سی++، C--، C#، Objective-C، BitC، D، Go، Rust، Java، جاوا سکرپٹ، Limbo، LPC، پرل، پی ایچ پی، Pike، Processing، Seed7، Verilog (HDL) |
آپریٹنگ سسٹم | کراس پلیٹ فارم |
فائل کی توسیع | ۔c, ۔h |
سی پروگرامنگ زبان کو 1969ء اور 1973ء[3] کے درمیان میں امریکا میں اے ٹی اینڈ ٹی بیل لیباریٹری (AT&T Bell Labarotories) میں بنایا گیا تھا، چونکہ اس زبان کا بیشتر حصہ بی پروگرامنگ زبان سے ماخوذ ہے، اس لیے اس کا نام سی رکھا گیا۔ اصلا یہ زبان یونکس آپریٹنگ سسٹم (UNIX OS) کے پروگرام لکھنے کے لیے بنائی گئی تھی، سی زبان کو انتہائی طاقتور زبان بنایا گیا تاکہ یونکس شیل کو اسمبلی زبان سے سی زبان میں منتقل کیا جاسکے۔
1978ء میں بریان کرنیگن (Brian Kernighan) اور ڈینس ریچی (Dennis Ritchie) نے The C Programming Language کے نام سے کتاب شائع کی جو خاصی مشہور ہوئی، اس کتاب میں سی زبان کی خصوصیات وغیرہ بیان کی گئی ہیں؛ کتاب کا یہ اولین نسخہ عموماً K&R کے نام سے مشہور ہے۔ 1989ء میں امریکی قومی ادارہ برائے معیارات (ANSI) نے سی زبان کے معیار کو شائع کیا جسے عموماً آنسی سی (ANSI C) اور سی89 کہا جاتا ہے۔ اگلے سال 1990ء میں بین الاقوامی تنظیم برائے معیاریت (International Organization for Standardization) نے اسی معیار کو عالمی معیار کے طور پر منظور کر لیا، اسے عموماً سی90 کہا جاتا ہے۔ بعد ازاں 1995ء میں آئیسو (ISO) نے عالمی سپورٹ فراہم کی اور 1999ء میں اس کا نظر ثانی شدہ نسخہ شائع کیا جسے عموماً سی 99 کہا جاتا ہے۔ سی زبان کا حالیہ معیاری نسخہ (جو سی 11 کے نام سے معروف ہے) دسمبر 2011ء میں منظور ہوا۔[4]
سی زبان کی ترقی اور ترویج میں مائیکروسافٹ اور آئی بی ایم جیسی کمپنیوں نے حصہ لیا، اس لیے سی زبان کے عمومی قواعد اور بنیادیں اب تک رائج ہیں اور دوسری ترقی یافتہ زبانیں اسی سے پروان چڑھی ہیں۔ سی خاندان کی سب سے آخری زبان سی شارپ ہے جو سی زبان کی از حد ترقی یافتہ شکل سمجھی جاتی ہے اور 2001ء سے 2010ء تک اسی کی کئی اشاعتیں منظر عام پر آچکی ہیں۔
سی زبان کے معیاری قواعد مقرر کیے گئے ہیں۔[5] دیگر زبانوں مثلاً فورٹران 77 کے برخلاف سی زبان کا سورس کوڈ فری فارم ہے، جس میں زائد خلا (whitespace) کی مکمل اجازت ہے، یعنی سی کمپائلر تمام زائد خلاؤں کو نظر انداز کردیتا ہے۔ کوڈز میں تبصرے تحریر کرنے کے لیے یا تو ڈیلیمیٹرز (delimiters) /*
*/
یا (سی 99 سے ) //
سطر کے اختتام تک استعمال کیے جاتے ہیں۔
بنیادی سی سورس کیریکٹر سیٹ میں درج ذیل محارف شامل ہیں:
a
–z
A
–Z
0
–9
! " # % & ' ( ) * + , - . / : ; <=> ? [ \ ] ^ _ { | } ~
تازہ ترین سی معیار (سی 11) میں غالباً سی کے سورس ٹیکسٹ میں یونیکوڈ کیریکٹرز شامل کرنے کی اجازت دی ہے، کسی بھی یونیکوڈ کیریکٹر کو شامل کرنے کے لیے \uDDDD
استعمال کیا جا سکتا ہے، اس میں DDDD کی بجائے یونیکوڈ کیریکٹر کوڈ درج کیا جاتا ہے، تاہم اس اضافہ کو بڑے پیمانے پر استعمال نہیں کیا جا رہا ہے۔
سی 89 میں 32 کلیدی الفاظ (keywords) (ایسے الفاظ جو مخصوص مفہوم کے حامل ہیں) ہیں:
|
|
|
|
سی 99 میں مزید 5 کلیدی الفاظ کا اضافہ کیا گیا:
|
|
|
سی 11 میں مزید سات کلیدی الفاظ شامل کیے گئے:[6]
|
|
|
|
بعد میں شامل کیے جانے والے اکثر کلیدی الفاظ انڈرسکور اور کیپیٹل حرف سے شروع ہوتے ہیں۔ پہلے سی زبان میں ایک کلیدی لفظ entry
بھی شامل تھا، لیکن اسے کبھی استعمال نہیں کیا گیا؛ لہذا اب اسے بطور کلیدی لفظ سی زبان سے خارج کر دیا گیا ہے۔[7]
سی زبان میں کثیر تعداد میں آپریٹرز استعمال ہوتے ہیں، آپریٹرز ان علامات (symbols) کو کہا جاتا ہے جو کسی متغیر کی قدر تبدیل کرنے یا کسی بھی ڈیٹا کو بہتر انداز میں پراسس کرنے میں پروگرام کو مدد فراہم کرتے ہیں، مثلاً کسی دو متغیرات کو جمع کرنے کے لیے + کی علامت استعمال کی جاتی ہیں۔ سی میں درج ذیل آپریٹرز استعمال ہوتے ہیں:
+
، تفریق (ریاضی)، ضرب (ریاضی)، /
، %
=
+=
، -=
، *=
، /=
، %=
، &=
، |=
، ^=
، <<=
، >>=
~
، &
، |
، ^
<<
، >>
!
، &&
، ||
? :
، !=
( )
++
، --
.
، ->
sizeof
<
، <=
، >
، >=
&
، *
، [ ]
,
( )
(typename)
سی زبان میں =
آپریٹر کسی بھی قدر (value) کو اسائن کرنے کے لیے استعمال کیا جاتا ہے، جبکہ ریاضیات میں یہ علامت برابر کے لیے استعمال ہوتی ہے؛ جبکہ سی زبان میں برابر کے لیے دوہری علامت
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.