सी प्रोग्रामिंग (C Programming) एक कंप्यूटर प्रोग्रामिंग भाषा (Computer Processing Language) है। इसका मतलब है कि आप कंप्यूटर का अनुसरण करने के लिए निर्देशों की सूची बनाने के लिए सी का उपयोग कर सकते हैं। सी वर्तमान में उपयोग में हजारों प्रोग्रामिंग भाषाओं में से एक है। सी कई दशकों के आसपास रहा है और इसे व्यापक स्वीकृति प्राप्त है क्योंकि यह एक प्रोग्रामर कोअधिकतम नियंत्रण और दक्षता देता है।
सी – भाषा इतिहास (History Of C Language)
सी प्रोग्रामिंग भाषा (C programming language) डेनिस रिची द्वारा 1972 में बेल लेबोरेटरीज (Bell Laboratories) में विकसित एक संरचना सम्बंधित प्रोग्रामिंग (Structure Oriented Programming) भाषा है|
सी प्रोग्रामिंग भाषा की विशेशताओह (Features) (को “बी” (मूल संयुक्त प्रोग्रामिंग भाषा – बीसीपीएल) नाम के एक पुराने भाषा से लिया गया है|
यूनिक्स ऑपरेटिंग सिस्टम (UNIX Operating System) को लागू करने के लिए सी भाषा का आविष्कार किया गया था|
1978 में, डेनिस रिची (Dennis Ricchie) और ब्रायन केर्नघन (Brian Kernighan) ने पहला संस्करण “सी प्रोग्रामिंग भाषा” (“The C Programming Language”) प्रकाशित किया और इसे सामान्यतः के एंड आर सी (K&RC) के नाम से जाना जाता है।
1983 में अमेरिकी राष्ट्रीय मानक संस्थान (ANSI) ने सी। की एक आधुनिक, व्यापक (Comprehensive) परिभाषा प्रदान करने के लिए एक समिति की स्थापना की। आखिरी परिभाषा, एएनएसआई (ANSI) मानक, या “एएनएसआई सी”, 1988 के अंत में पूरी हुई।
सी प्रोग्रामिंग भाषा मानक (Standards for C Programming)
सी 89 / सी 90 मानक (C89/C90 standard) – सी भाषा के लिए पहला मानकीकृत स्पेसिफिकेशन (Standardized Specification)1998 में अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट (American National Standards Institute) द्वारा विकसित किया गया था। सी 89 और सी 90 एक ही प्रोग्रामिंग लैंग्वेज (Programming Language) के मानक हैं |
सी 99 मानक (C99 standard) – अगला संशोधन 1999 में प्रकाशित हुआ था जिसमें उन्नत डेटा प्रकार (Advanced Data Types) और अन्य परिवर्तन जैसे नई सुविधाओं का परिचय दिया गया था।
सी 11 और एम्बेडेड सी भाषा (C11 AND EMBEDDED C LANGUAGE)
C11 मानक सी प्रोग्रामिंग भाषा और Library जैसे कि जेनेरिक मैक्रोज़(Generic Macros), बेनामी संरचना (Anonymous Structures), सुधारित यूनिकोड समर्थन (Improved Unicode Support), परमाणु संचालन (Atomic Operations), बहु-थ्रेडिंग (Multi-Threading) और सीमा-जाँच (Bounds-Checked) वाले कार्यों के लिए नई सुविधाएँ जोड़ती है। यह मौजूदा C99 लाइब्रेरी के कुछ हिस्सों को वैकल्पिक बनाता है और सी ++ के साथ कम्पेटिबिलिटी (Compatibility) में सुधार करता हैं|
एंबेडेड (Embedded) सी में फिक्स्ड पॉइंट अंकगणित (Fixed-Point Arithmetic), नेम्ड अड्रेश स्पेश (Named Address Space), और बुनियादी I / O (Input/Output) हार्डवेयर एड्रेसिंग जो सी में उपलब्ध नहीं है वैसी सुविधाएँ शामिल हैं।
ऑपरेटिंग सिस्टम (Operating System), सी कंपाइलर (C compiler) और सभी यूनिक्स एप्पलीकेशन (UNIX Application) प्रोग्राम सी भाषा में लिखे गए हैं|
इसे प्रक्रिया उन्मुख प्रोग्रामिंग भाषा (Procedure Oriented Programming) भी कहा जाता हैं| सी भाषा विश्वसनीय, सरल और प्रयोग में आसान है। सी असेंबली भाषा (Assembly Language) में कोडित किया गया है|
सी प्रोग्रामिंग भाषा के फीचर्स (C Programming Features)
सी भाषा शक्तिशाली भाषा में से एक है। नीचे सी भाषा की कुछ विशेषताएं हैं|
- विश्वसनीय (Reliable)
- पोर्टेबिलिटी (Portable)
- लचीलापन (Flexibility)
- अन्तरक्रियाशीलता (Interactivity)
- प्रतिरूपकता (Modularity)
- दक्षता और प्रभावशीलता (Efficiency and Effectiveness)
सी प्रोग्रामिंग भाषा का उपयोग (Use of C Programming Language)
सी प्रोग्रामिंग भाषा का इस्तेमाल उन एप्पलीकेशंस (Applications) के विकास के लिए किया जाता है जो ऑपरेटिंग सिस्टम जैसे कि विंडोज (Windows), यूनिक्स (UNIX) और लिनक्स (Linux) का एक बड़ा हिस्सा बनाते हैं। नीचे सी के इस्तेमाल के कुछ उदाहरण हैं।
- डेटाबेस सिस्टम (Database Systems)
- ग्राफिक्स पैकेज (Graphics Package)
- वर्ड प्रोसेसर (Word Processors)
- स्प्रेडशीट (Spreadsheets)
- सिस्टम विकास का संचालन (Operating System Development)
- कंपाइलर और समेकदार (Compilers and Assemblers)
- नेटवर्क ड्राइवर (Network Drivers)
- इंटरप्रेटर (Interpreters)
प्रोग्रामिंग भाषाओं के 3 स्तर हैं (There are three levels of Programming Language)
1. मध्य स्तर की भाषाएं (Middle Level Language):
मध्य स्तर की भाषा उच्चस्तरीय भाषाओं में पाए जाने वाले सभी पूर्व निर्मित कार्यो को प्रदान नहीं करती है, लेकिन सभी बिल्डिंग ब्लॉक (Building Block) प्रदान करती है, ज़िसकी हमे मनचाहे परिनाम पानेे में आवश्यकता होती हैं । उदाहरण: सी, सी ++
2. उच्च स्तर की भाषाएं (High Level languages):
उच्च स्तरीय भाषाये लगभग सभी चीजें उपलब्ध कराती हैं ज़िसकी एक प्रोग्रामर (Programmer) को पहले से बनी भाषा में करने की आवश्यकता हो सकती है उदाहरण: जावा (Java), पायथन (Python)
3. निम्न स्तर की भाषाएं (Low Level languages):
निम्न स्तर की भाषा मशीनों को बुनियादी निर्देश तक पहुंचने के अलावा कुछ नहीं प्रदान करती है। उदाहरण: असेंबलर (Assembler)
सी भाषा एक संगत भाषा है (C++ Is A Structured Language):
संरचना उन्मुख भाषा (Structure Oriented Language):
- इस प्रकार की भाषा में, बड़े प्रोग्राम (Program), फ़ंक्शंस(Functions) नामक छोटे प्रोग्राम में विभाजित किए जाते हैं|
- प्राइम फ़ोकस (Focus) फ़ंक्शन और प्रक्रियाओं पर होता है जो डेटा (Data) पर काम करता है|
- डेटा सिस्टम (Data System) एक फ़ंक्शन से दूसरे फ़ंक्शन पर आज़ादी से यात्रा कर सकता है|
- प्रोग्राम संरचना टॉप to डाउन (Top to Down) एप्रोच फॉलो करता है |
- उदाहरण: सी( C), पास्कल (Pascal), एल्गोल (ALGOL) और मोडुला -2 (Modula-2)
ऑब्जेक्ट ओरिएंटेड भाषा (Object oriented language):
- इस प्रकार की भाषा में, प्रोग्राम ऑब्जेक्ट्स में विभाजित किए जाते हैं
- प्राइम फोकस फ़ंक्शंस या प्रक्रियाओं पर नहीं बल्कि उस डेटा में है जो कि संचालित किया जा रहा है
- इसमें डेटा छिपा हुआ होता है और एक्सटर्नल फ़ंक्शंस (External Functions) द्वारा एक्सेस (Access) नहीं किया जा सकता है
- प्रोग्राम संरचना Bottom to Up एप्रोच फॉलो करता है |
- उदाहरण: सी ++(C++), जावा(JAVA) और सी # (C sharp)
गैर संरचना उन्मुख भाषा (Non Structure Oriented Language):
- इस भाषा में प्रोग्रामिंग के लिए कोई विशिष्ट संरचना नहीं है। उदाहरण: बेसिक(BASIC), कोबोल( COBOL), फोरट्रान (FORTRAN)