एचएमबी क्या है? C Programming Language?

⚡ स्मार्ट सारांश

C Programming Language यह एक सामान्य प्रयोजन वाली, संरचित भाषा है जिसे 1972 में डेनिस रिची ने बेल लैब्स में बनाया था। यह मशीन-स्वतंत्र, तीव्र है और सिस्टम सॉफ्टवेयर, ऑपरेटिंग सिस्टम, एम्बेडेड फर्मवेयर और आधुनिक भाषाओं जैसे के लिए आधारशिला बनाती है। C++, Java, तथा Python.

  • 🧱 पहले बुनियादी बातें सीखें: पॉइंटर्स, स्ट्रक्चर्स और डायनेमिक मेमोरी पर आगे बढ़ने से पहले हेडर, मेन, प्रिंटएफ और ब्रेसेस पर महारत हासिल करें।
  • इतिहास जानिए: ALGOL → BCPL → B → C एक क्रम है; ANSI C मानक को 1989 में अंतिम रूप दिया गया और 1990 में ISO द्वारा अनुमोदित किया गया।
  • ⚙️ संकलन को समझें: कंपाइलर ऑब्जेक्ट फाइलें उत्पन्न करता है और लिंकर उन्हें एक एकल निष्पादन योग्य फ़ाइल में जोड़ता है जो लक्ष्य मशीन पर चलती है।
  • 🌍 इसे व्यापक रूप से लागू करें: C भाषा ऑपरेटिंग सिस्टम, डेटाबेस, ब्राउज़र, एम्बेडेड फर्मवेयर, IoT डिवाइस और कंपाइलर टूलचेन को शक्ति प्रदान करती है।
  • 🤖 एआई टूल्स के साथ पेयर सी: एआई सहायक पॉइंटर त्रुटियों की व्याख्या करते हैं, सुरक्षित कार्यों का सुझाव देते हैं, और सरल अंग्रेजी में लिखे गए अनुरोधों को संकलन योग्य सी कोड में परिवर्तित करते हैं।

C Programming Language

एचएमबी क्या है? C Programming Language?

C यह एक सामान्य प्रयोजन वाली प्रोग्रामिंग भाषा है जो बेहद लोकप्रिय, सरल और उपयोग में लचीली है। यह एक संरचित, मशीन-स्वतंत्र भाषा है जिसका उपयोग ऑपरेटिंग सिस्टम जैसे कई अनुप्रयोगों को लिखने के लिए किया जाता है। Windows और लिनक्स से लेकर जटिल प्रोग्रामों तक, जैसे कि Oracle डेटाबेस, गिट, और Python दुभाषिया।

C को अक्सर आधुनिक प्रोग्रामिंग की नींव कहा जाता है। एक बार C भाषा सीख लेने के बाद, अन्य भाषाएँ सीखना बहुत आसान हो जाता है क्योंकि उनमें से अधिकांश C के सिद्धांतों पर आधारित हैं। कंप्यूटर मेमोरी की बुनियादी समझ भी सहायक होती है, क्योंकि मेमोरी लगभग हर C प्रोग्राम का केंद्रबिंदु है।

C Programming Language

आईईईई — 2018 की शीर्ष दस प्रोग्रामिंग भाषाएँ।

यह गाइड सी प्रोग्रामिंग भाषा की बुनियादी बातों के बारे में विस्तार से बताती है: इसका इतिहास, बुनियादी कमांड, प्रमुख अनुप्रयोग, यह अभी भी सीखने लायक क्यों है, और इसका संकलन मॉडल कैसे काम करता है।

सी भाषा का इतिहास

C भाषा अकेले प्रकट नहीं हुई — यह पहले की सिस्टम भाषाओं की एक श्रृंखला से विकसित हुई:

  • एल्गोल (1960): ALGOL को अक्सर प्रोग्रामिंग भाषाओं का जनक कहा जाता है। ALGOL ने व्यापक डेवलपर समुदाय को संरचित प्रोग्रामिंग से परिचित कराया और इसे यूरोपीय विश्वविद्यालयों में व्यापक रूप से अपनाया गया।
  • बीसीपीएल (1967): बेसिक कंबाइंड प्रोग्रामिंग लैंग्वेज, जिसे मार्टिन रिचर्ड्स ने सिस्टम सॉफ्टवेयर लिखने के लिए डिजाइन किया था।
  • बी (1970): इसे AT&T बेल लेबोरेटरीज में केन थॉम्पसन द्वारा पेश किया गया था। B ने BCPL की कई विशेषताओं को अपनाया और इसका उपयोग शुरुआती UNIX टूल्स लिखने के लिए किया गया था।

सी भाषा का इतिहास

In 1972डेनिस रिची ने इसे बनाया। C बेल लेबोरेटरीज में, C ने ALGOL, BCPL और B से सर्वश्रेष्ठ विचारों को लिया और नई अवधारणाओं को जोड़ा, जिससे यह अपने सभी पूर्ववर्ती संस्करणों की तुलना में अधिक अभिव्यंजक बन गया।

C भाषा का UNIX से गहरा संबंध है — UNIX ऑपरेटिंग सिस्टम का अधिकांश भाग C में ही लिखा गया था। जैसे-जैसे C भाषा बेल लैब्स से बाहर फैली, कई प्लेटफॉर्मों के लिए व्यावसायिक कंपाइलर उपलब्ध हुए और यह भाषा कई असंगत बोलियों में विकसित हो गई। एकरूपता बहाल करने के लिए, अमेरिकी राष्ट्रीय मानक संस्थान (ANSI) ने C का एक मानक प्रकाशित किया। 1989और अंतर्राष्ट्रीय मानकीकरण संगठन (आईएसओ) ने इसे अनुमोदित किया। 1990मानकीकृत संस्करण को व्यापक रूप से कहा जाता है एएनएसआई सी.

सी का इतिहास

सी. का इतिहास

भाषाएँ जैसे C++ और Java C भाषा का विकास सीधे C से हुआ है, और कई आधुनिक भाषाएँ इसके सिंटैक्स और नियमों को अपनाती हैं। इसलिए, C आज के सॉफ्टवेयर के एक बड़े हिस्से का आधार है।

सी बेसिक कमांड

निम्नलिखित कमांड लगभग हर C प्रोग्राम का मूल ढांचा बनाते हैं।

C मूल कमांड व्याख्या
#include <stdio.h> संकलन से पहले C लाइब्रेरी से मानक इनपुट-आउटपुट हेडर फ़ाइल शामिल करता है।
int main() मुख्य कार्य — प्रत्येक सी प्रोग्राम का निष्पादन — यहीं से शुरू होता है।
{ यह मुख्य फ़ंक्शन ब्लॉक की शुरुआत को दर्शाता है।
/* some_comments */ एक टिप्पणी। कंपाइलर बीच की हर चीज़ को अनदेखा कर देता है। /* और */.
printf("Hello, World!"); आउटपुट को स्क्रीन पर प्रिंट करता है।
getch(); कीबोर्ड से एक अक्षर पढ़ता है (गैर-मानक, मुख्य रूप से टर्बो सी के साथ उपयोग किया जाता है)।
return 0; मुख्य फ़ंक्शन को समाप्त करता है और ऑपरेटिंग सिस्टम को 0 मान लौटाता है।
} यह मुख्य फ़ंक्शन ब्लॉक के अंत को दर्शाता है।

सी का उपयोग कहाँ होता है? प्रमुख अनुप्रयोग

C कोड उन जगहों पर चलता है जिन्हें ज़्यादातर उपयोगकर्ता कभी नहीं देखते, लेकिन इसका प्रभाव बहुत व्यापक होता है। आम तौर पर निम्नलिखित क्षेत्रों में यह समस्या आती है:

  1. एम्बेडेड सिस्टम और माइक्रोकंट्रोलर फर्मवेयर।
  2. सिस्टम-स्तरीय एप्लिकेशन और ड्राइवर।
  3. एडोब के कई उत्पादों सहित डेस्कटॉप एप्लिकेशन।
  4. वेब ब्राउज़र और उनके एक्सटेंशन — गूगल के क्रोमियम में बड़ी मात्रा में सी/कोड शामिल है।C++ कोड।
  5. डेटाबेस — MySQL यह C भाषा में लिखे गए सबसे लोकप्रिय डेटाबेस में से एक है।
  6. Operaटिंग सिस्टम — एप्पल के macOS (डार्विन) Microsoft Windowsलिनक्स और ऐतिहासिक रूप से सिम्बियन सभी को सी भाषा का उपयोग करके बनाया गया था।
  7. कंपाइलर, भाषा रनटाइम और इंटरप्रेटर।
  8. इंटरनेट ऑफ थिंग्स (आईओटी) उपकरण और होम ऑटोमेशन फर्मवेयर।

C भाषा क्यों सीखें?

C कई प्रोग्रामिंग भाषाओं का आधार है, इसलिए C सीखने से बाद की सभी भाषाएँ सीखना आसान हो जाता है। इसमें वही डेटा प्रकार, ऑपरेटर और नियंत्रण कथन शामिल हैं जो आपको अन्य भाषाओं में भी देखने को मिलेंगे। C++, Java, Python, और जाओ।

C में निवेश करने के प्रमुख कारण निम्नलिखित हैं:

  • गति: C भाषा नेटिव कोड में कंपाइल होती है और आपको मेमोरी पर बारीक नियंत्रण प्रदान करती है।
  • पोर्टेबिलिटी: सी भाषा में लिखे गए प्रोग्रामों को पुनः संकलित किया जा सकता है और लगभग हर प्लेटफॉर्म पर चलाया जा सकता है।
  • संरचना: एक C प्रोग्राम को मॉड्यूल में विभाजित किया जाता है, जिससे इसका परीक्षण, रखरखाव और डीबग करना आसान हो जाता है।
  • कॉम्पैक्ट कोर: C भाषा में केवल 32 कीवर्ड, कई डेटा प्रकार और एक शक्तिशाली अंतर्निर्मित लाइब्रेरी है।
  • तानाना: आप किसी लाइब्रेरी में अपने स्वयं के फ़ंक्शन जोड़ सकते हैं और उन्हें उसी तरह कॉल कर सकते हैं जैसे वे अंतर्निहित फ़ंक्शन हों।
  • कैरियर मूल्य: एम्बेडेड, कर्नेल और हाई-परफॉर्मेंस भूमिकाओं के लिए अभी भी मजबूत सी भाषा कौशल की आवश्यकता है।

कैसे C Programming Language वर्क्स

C एक कंपाइल की जाने वाली भाषा है। कंपाइलर सोर्स कोड को पढ़ता है और एक ऑब्जेक्ट फ़ाइल बनाता है जिसे मशीन समझ सकती है। फिर लिंकर एक या अधिक ऑब्जेक्ट फ़ाइलों (और आपके द्वारा संदर्भित किसी भी लाइब्रेरी) को मिलाकर एक एकल निष्पादन योग्य फ़ाइल बनाता है जिसे लक्ष्य प्लेटफ़ॉर्म पर चलाया जा सकता है। नीचे दिया गया आरेख संपूर्ण निष्पादन प्रक्रिया को दर्शाता है।

कैसे C Programming Language वर्क्स

कई कंपाइलर ऑनलाइन और ऑफलाइन उपलब्ध हैं, और वे सभी एक ही प्रक्रिया का पालन करते हैं। लोकप्रिय विकल्पों में शामिल हैं:

  • जीसीसी — जीएनयू कंपाइलर कलेक्शन, जो लिनक्स और कई एम्बेडेड लक्ष्यों पर वास्तविक मानक है।
  • बजना — LLVM-आधारित फ्रंट-एंड, जिसका उपयोग डिफ़ॉल्ट रूप से किया जाता है macOS.
  • MinGW — न्यूनतम GNU के लिए Windowsजीसीसी को लाता है Windows उपयोगकर्ताओं।
  • पोर्टेबल सी कंपाइलर (पीसीसी)।
  • टर्बो सी — यह क्लासिक कंपाइलर अभी भी कई अकादमिक पाठ्यक्रमों में उपयोग किया जाता है।

सी के फायदे और नुकसान

नीचे दी गई तालिका में उन सभी बातों का सारांश दिया गया है जिन पर आपको किसी नए प्रोजेक्ट के लिए C भाषा चुनने से पहले विचार करना चाहिए।

फायदे नुकसान
मेमोरी और हार्डवेयर तक तेज़, निम्न-स्तरीय पहुंच। मैन्युअल मेमोरी प्रबंधन से मेमोरी लीक और बफर ओवरफ्लो जैसी त्रुटियां होने की संभावना रहती है।
यह विभिन्न आर्किटेक्चर और ऑपरेटिंग सिस्टमों में पोर्टेबल है। इसमें कोई अंतर्निहित ऑब्जेक्ट ओरिएंटेशन या जेनेरिक्स नहीं है।
केवल 32 कीवर्ड के साथ संक्षिप्त वाक्य संरचना। कोई अंतर्निहित सुरक्षा तंत्र नहीं है — अनिश्चित व्यवहार चुपचाप दुर्घटना का कारण बन सकता है।
कंपाइलर्स, डिबगर्स और लाइब्रेरीज का विशाल इकोसिस्टम। स्क्रिप्टिंग भाषाओं की तुलना में उच्च-स्तरीय एप्लिकेशन कोड के लिए अधिक विस्तृत जानकारी की आवश्यकता होती है।
Foundation आधुनिक भाषाओं के लिए — कौशल आसानी से स्थानांतरित हो जाते हैं। उन कार्यों के लिए उत्पादकता धीमी हो जाती है जहां प्रबंधित भाषाएं पर्याप्त होतीं।

C कोड लिखते समय सर्वोत्तम अभ्यास

नीचे दी गई आदतें C कोडबेस को पठनीय, पोर्टेबल और सामान्य मेमोरी बग से मुक्त रखती हैं:

  • चेतावनी सक्षम करें: संकलन -Wall -Wextra -Werror इसलिए मामूली समस्याओं के कारण बिल्ड विफल हो जाता है।
  • चरों को प्रारंभ करें: किसी ऐसे वेरिएबल से कभी भी डेटा न पढ़ें जिसे कोई मान असाइन नहीं किया गया हो।
  • रिटर्न वैल्यू की जांच करें: mallocफाइल इनपुट/आउटपुट और सिस्टम कॉल सभी रिटर्न कोड के माध्यम से त्रुटियों का संकेत देते हैं।
  • हर एक को जोड़ें malloc पंजीकरण शुल्क free: लीक का पता लगाने के लिए स्टैटिक एनालिसिस या एड्रेस सैनिटाइजर का उपयोग करें।
  • सुरक्षित स्ट्रिंग फ़ंक्शन को प्राथमिकता दें: उपयोग snprintf के बजाय sprintf और strncpy देखभाल के साथ।
  • हेडर गार्ड का उपयोग करें: प्रत्येक हेडर को सुरक्षित रखें #ifndef / #define / #endif रक्षक।
  • मानक पर भरोसा करें: जब तक आपके पास कंपाइलर एक्सटेंशन का उपयोग करने का कोई ठोस कारण न हो, तब तक पोर्टेबल ANSI/C99/C11 कोड लिखें।

अक्सर पूछे जाने वाले प्रश्न

डेनिस रिची ने 1972 में बेल लेबोरेटरीज में C भाषा का निर्माण किया। उन्होंने ALGOL, BCPL और B के विचारों को आगे बढ़ाया और AT&T में UNIX ऑपरेटिंग सिस्टम के अधिकांश हिस्से को फिर से लिखने के लिए C का उपयोग किया।

C एक प्रक्रियात्मक भाषा है जो फंक्शन और संरचित प्रोग्रामिंग पर केंद्रित है। C++ ऑब्जेक्ट ओरिएंटेशन, क्लासेस, टेम्प्लेट्स और स्टैंडर्ड टेम्प्लेट लाइब्रेरी को जोड़ता है जबकि...ping C के अधिकांश सिंटैक्स।

C को अक्सर मध्य-स्तरीय भाषा कहा जाता है। यह पठनीय और पोर्टेबल होने के लिए पर्याप्त उच्च-स्तरीय है, फिर भी पॉइंटर्स के माध्यम से मेमोरी एड्रेस और हार्डवेयर रजिस्टरों को सीधे नियंत्रित करने के लिए पर्याप्त निम्न-स्तरीय है।

एएनएसआई सी 32 आरक्षित कीवर्ड परिभाषित करता है। Later C99 और C11 जैसे मानकों में कुछ और मानक जोड़े गए, जिनमें शामिल हैं: inline, _Bool, तथा _Static_assertलेकिन मूल भाग छोटा और स्थिर बना रहता है।

एएनएसआई सी, सी भाषा का वह संस्करण है जिसे 1989 में अमेरिकी राष्ट्रीय मानक संस्थान द्वारा मानकीकृत किया गया था और 1990 में आईएसओ द्वारा अनुमोदित किया गया था। यह एक पोर्टेबल सिंटैक्स, मानक लाइब्रेरी और कंपाइलर व्यवहार को परिभाषित करता है।

जी हां। C भाषा आज भी ऑपरेटिंग सिस्टम, एम्बेडेड फर्मवेयर, डेटाबेस, लैंग्वेज रनटाइम और हाई-परफॉर्मेंस लाइब्रेरी को शक्ति प्रदान करती है। कई AI और IoT टूलचेन अपनी गति और सुवाह्यता के लिए C भाषा पर निर्भर करते हैं।

एआई सहायक कंपाइलर त्रुटियों को सरल अंग्रेजी में समझाते हैं, और जोखिम भरे कार्यों के लिए सुरक्षित विकल्प सुझाते हैं। getsऔर उदाहरणों की सहायता से शुरुआती लोगों को पॉइंटर और मेमोरी की अवधारणाओं से परिचित कराएं।

जी हां। एआई कोड सहायक "सीएसवी फ़ाइल पढ़ें और दूसरे कॉलम का योग करें" जैसे सरल अंग्रेजी अनुरोधों को कार्यशील सी प्रोग्राम में बदल देते हैं और प्रत्येक फ़ंक्शन को समझाते हैं ताकि शुरुआती लोग चलाने से पहले उसकी समीक्षा कर सकें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: