निश्चित सी बुक गाइड और सूची


400

यह प्रश्न गुणवत्ता की पुस्तकों की समुदाय-अनुरक्षित सूची एकत्र करने का प्रयास करता है प्रोग्रामिंग भाषा, विभिन्न कौशल स्तरों पर लक्षित।

C एक जटिल प्रोग्रामिंग लैंग्वेज है जिसे ऑनलाइन ट्यूटोरियल्स पढ़कर ऑन-द-गो चुनना मुश्किल है। एक व्यापक पुस्तक अक्सर भाषा सीखने का सबसे अच्छा तरीका है, और एक अच्छी किताब ढूंढना पहला कदम है। बुरी तरह से लिखी गई पुस्तकों से बचना महत्वपूर्ण है, और इससे भी महत्वपूर्ण बात यह है कि ऐसी पुस्तकें जिनमें गंभीर तकनीकी त्रुटियां हैं।

कृपया गुणवत्ता पुस्तकों को जोड़ने के लिए एक अनुमानित कौशल स्तर और प्रत्येक पुस्तक के बारे में एक संक्षिप्त ब्लर्ब / विवरण के साथ स्वीकृत उत्तर का सुझाव दें। ( ध्यान दें कि प्रश्न लॉक है, इसलिए कोई नया उत्तर स्वीकार नहीं किया जाएगा। सूची के साथ एक ही उत्तर रखा जा रहा है )

पुस्तक के विकल्प, गुणवत्ता, शीर्षक, सारांश, कौशल स्तर, और जो कुछ भी आप देखते हैं वह गलत है, पर बहस करने के लिए स्वतंत्र महसूस करें। सी समुदाय द्वारा जिन पुस्तकों को संतोषजनक माना गया है, वे सूची में शामिल हो जाएंगी; बाकी नियमित रूप से हटा दिया जाएगा।

एसोसिएशन ऑफ सी और सी ++ यूजर्स (एसीसीयू) द्वारा समीक्षा की जाने वाली किताबों के लिए, उन समीक्षाओं का लिंक किताब के साथ जोड़ा जाना चाहिए।

यह सभी देखें:


यह प्रश्न मेटा पर हटाए गए प्रश्न ऑडिट 2018 के भाग के रूप में चर्चा की गई थी ।
सर्वसम्मति से इसे बिना सोचे-समझे और सक्रिय रूप से बनाए रखना था।


31
उस प्रश्न पर विश्वास नहीं करना चाहिए, जो अच्छा है, लेकिन ... ज्यादातर लोगों को K & R में महारत हासिल करने में कई साल लग जाते हैं। आपके विचार से वहाँ बहुत कुछ है। पुस्तक की पतलीता भ्रामक है।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली का बच्चा

4
यदि आप C के लिए नए हैं, तो ध्यान रखें कि आधुनिक C ANSI C है और उस मानक (1989) से पहले कुछ भी बेतहाशा समाप्त हो सकता है। 90 के दशक के मध्य या बाद के लिए शूट करें।
डाना रॉबिन्सन

7
@ द्वैत मुझे लगता है कि नहीं, के एंड आर बैंडवागन पर कूदने के लिए सावधान रहें। K & R अच्छे प्रोग्राम डिजाइन और न ही अच्छी प्रोग्रामिंग प्रैक्टिस को संबोधित नहीं करता है, मुख्यतः क्योंकि यह मूल रूप से किसी को पता चलने से पहले लिखा गया था कि अच्छा प्रोग्रामिंग अभ्यास क्या है। इसमें यह उल्लेख नहीं किया गया है कि C भाषा के कौन से भाग अतिसुंदर या खतरनाक हैं। पुस्तक को संदर्भ पुस्तिका के रूप में सही ढंग से सूचीबद्ध किया गया है, इसका उपयोग आधुनिक प्रोग्रामिंग सिखाने / सीखने के लिए नहीं किया जाना चाहिए।
लुंडिन

मैं दाना से सहमत हूं कि 89/90 में ANSI / ISO मानकीकरण से पहले कुछ भी इस तरह की सूची में दिखाई नहीं देना चाहिए। आप यह भी कह सकते हैं कि कौन सी किताबें जो C99 को संबोधित करती हैं और कौन सी नहीं।
लुंडिन

जवाबों:


492

चेतावनी

यह विविध गुणवत्ता की यादृच्छिक पुस्तकों की एक सूची है। कुछ लोगों की दृष्टि में (कुछ औचित्य के साथ), यह अब अनुशंसित पुस्तकों की सूची नहीं है। सूचीबद्ध पुस्तकों में से कुछ में गलत तरीके से गलत बयान दिए गए हैं या गलत / हानिकारक प्रथाओं को पढ़ाया जाता है। जो लोग ऐसी पुस्तकों से अवगत हैं, वे इस उत्तर को सुधारने में मदद करने के लिए इसे संपादित कर सकते हैं। देखें सी बुक लिस्ट हायवायर हो गई है। उसके साथ क्या करें? , और प्रश्न ऑडिट 2018 को हटा दिया गया

संदर्भ (सभी स्तर)

  • द सी प्रोग्रामिंग लैंग्वेज (दूसरा संस्करण) - ब्रायन डब्ल्यू कर्निघन और डेनिस एम। रिची (1988)। सी। के आविष्कारक द्वारा लिखित C (C90, C99 या बाद के संस्करण) का अभी भी एक अच्छा, संक्षिप्त लेकिन पूर्ण परिचय नहीं है। हालांकि, भाषा बदल गई है और पिछले 25 वर्षों में अच्छी सी शैली विकसित हुई है, और इसके कुछ हिस्से हैं वह पुस्तक जो उसकी आयु दर्शाती है।

  • सी: ए रेफरेंस मैनुअल (5 वां संस्करण) - सैमुअल पी। हरबिसन और गाइ आर। स्टील (2002)। C पर एक उत्कृष्ट संदर्भ पुस्तक, C99 तक और सहित। यह एक ट्यूटोरियल नहीं है, और शायद शुरुआती लोगों के लिए अयोग्य है। यह बहुत अच्छा है अगर आपको सी के लिए एक कंपाइलर लिखने की ज़रूरत है, जैसा कि लेखकों को शुरू होने पर करना था।

  • सी पॉकेट संदर्भ (ओ 'रेली) - पीटर प्रिंज़ और उल्ला किर्च-प्रिंज़ (2002)।

  • Comp.lang.c FAQ - स्टीव शिखर सम्मेलन। सी के बारे में कई सवालों के जवाब के साथ वेब साइट।

  • सी भाषा मानकों के विभिन्न संस्करण यहां देखे जा सकते हैंड्राफ्ट C11 मानक का एक ऑनलाइन संस्करण है ।

  • नया सी मानक - एक एनोटेट संदर्भ (फ्री पीडीएफ) - डेरेक एम। जोन्स (2009)। संदर्भित "नया मानक" C11 के बजाय पुराने C99 मानक है।

  • C99 मानक के लिए तर्क


शुरुआती

मध्यम

  • आधुनिक सी - जेन्स गुस्तेद (२०१ - प्रथम एड; २०२ ईएनडीएन)। C को उन्नत C से शुरू करने के लिए 5 स्तरों (मुठभेड़, परिचित, अनुभूति, अनुभव, महत्वाकांक्षा) में शामिल किया गया है। यह C11 और C17 को शामिल करता है, जिसमें धागे और परमाणु अभिगम शामिल हैं, जो कुछ अन्य पुस्तकें करती हैं। सभी कंपाइलर सभी वातावरण में इन विशेषताओं को नहीं पहचानते हैं।

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

  • द द पज़ल बुक - एलन आर। फयूर (1998)

  • द स्टैंडर्ड सी लाइब्रेरी - पीजे प्लॉगर (1992)। इसमें C89 मानक लाइब्रेरी के कार्यान्वयन के लिए पूरा स्रोत कोड है, साथ ही डिज़ाइन के बारे में व्यापक चर्चा और कोड को डिज़ाइन के अनुसार क्यों दिखाया गया है।

  • 21 वीं शताब्दी सी: नए स्कूल से सी टिप्स - बेन क्लेमेंस (2012)। सी भाषा के अलावा, पुस्तक जीडीबी, वैलेग्रिंड, ऑटोटूलस और गिट बताती है। शैली पर टिप्पणी अंतिम भाग (अध्याय 6 और उसके बाद) में पाई जाती है।

  • C - रॉबर्ट सेडगविक (1997) में एल्गोरिदम । सी। में एल्गोरिदम लागू करने का एक वास्तविक समझ देता है। बहुत स्पष्ट और स्पष्ट; शायद आप अपने सभी अन्य एल्गोरिदम पुस्तकों को फेंकना चाहते हैं और इसे एक रखना चाहते हैं।

  • पॉइंटर्स ऑन सी - केनेथ रीक (1997)।

  • सी में अंक - नवीन टोप्पो और हृषिकेश दीवान (2013)।

  • सी (6 वें संस्करण) में समस्या समाधान और कार्यक्रम डिजाइन - जेरी आर हैली और इलियट बी। कॉफमैन (2009)।

  • डेटा स्ट्रक्चर्स - सी - जेफरी एसकोव और टॉम वीस (1989) का उपयोग करते हुए एक उन्नत दृष्टिकोण

  • सी अनलेशेड - रिचर्ड हीथफील्ड, लॉरेंस किर्बी, एट अल। (2000)। आदर्श नहीं है, लेकिन यह इस कार्यक्रम में लिखित समस्याओं का अभ्यास करने वाले मध्यवर्ती प्रोग्रामर के लायक है। यह comp.lang.c योगदानकर्ताओं द्वारा सुझाया गया एक अच्छा कुकबुक जैसा दृष्टिकोण है।

विशेषज्ञ


अवर्गीकृत

  • एसेंशियल सी (फ्री पीडीएफ) - निक पार्लंटे (2003)। ध्यान दें कि यह कई बिंदुओं पर C90 भाषा का वर्णन करता है ( जैसे , //टिप्पणियों पर चर्चा करना और कोड में मनमाने ढंग से बिंदुओं पर चर घोषणाओं को लागू करना), इसलिए इसे कुछ सावधानी के साथ व्यवहार किया जाना चाहिए।

  • सी प्रोग्रामिंग एफएक्यू: अक्सर पूछे जाने वाले प्रश्न - स्टीव समिट (1995)। यह पहले सूचीबद्ध वेब साइट की पुस्तक है। यह C99 या बाद के मानकों को कवर नहीं करता है।

  • सी एक नटशेल में - पीटर प्रिंज़ और टोनी क्रॉफोर्ड (2005)। उत्कृष्ट पुस्तक यदि आपको C99 के लिए संदर्भ की आवश्यकता है।

  • फ़ंक्शनल सी - पीटर हार्टेल और हेंक मुलर (1997)। आधुनिक प्रथाओं को सिखाता है जो निम्न-स्तरीय प्रोग्रामिंग के लिए अमूल्य हैं, जो संगामिति और प्रतिरूपकता को ध्यान में रखते हैं।

  • प्रोग्रामिंग का अभ्यास - ब्रायन डब्ल्यू। कर्निघन और रॉब पाइक (1999)। कश्मीर और आर के साथ एक बहुत अच्छी किताब। यह C ++ और Java का भी उपयोग करता है।

  • ए। कोएनिग (1989) द्वारा सी ट्रैप्स एंड पिटैम्स । बहुत अच्छा है, लेकिन सी शैली मानक सी की पूर्व-तिथि है, जो इन दिनों इसे कम अनुशंसित बनाती है।

    कुछ लोगों ने इस सूची से 'जाल और नुकसान' को हटाने के लिए तर्क दिया है क्योंकि इसने कुछ लोगों को गलतियाँ करने के लिए फँसाया है; अन्य लोग इसके समावेश के लिए बहस करना जारी रखते हैं। शायद इसे एक 'विशेषज्ञ' पुस्तक के रूप में माना जाना चाहिए क्योंकि इसे प्रकाशित होने के बाद से क्या बदला है, यह समझने के लिए सी के एक व्यापक ज्ञान की आवश्यकता है।

  • अपनी खुद की लिस्प का निर्माण करें - डैनियल होल्डन (2014)। सी। सीखने का एक सुखद तरीका।

  • MISRA-C - उद्योग मानक मोटर उद्योग सॉफ्टवेयर विश्वसनीयता एसोसिएशन द्वारा प्रकाशित और बनाए रखा गया है। C89 और C99 को शामिल करता है।

    हालाँकि यह एक पुस्तक नहीं है, लेकिन कई प्रोग्रामर इसे अधिक से अधिक पढ़ने और लागू करने की सलाह देते हैं। MISRA-C मूल रूप से विशेष रूप से सुरक्षा-महत्वपूर्ण अनुप्रयोगों के लिए दिशानिर्देश के रूप में अभिप्रेत था, लेकिन यह अनुप्रयोग के किसी भी क्षेत्र पर लागू होता है जहां स्थिर, बग-मुक्त C कोड वांछित है (जो कम बग नहीं चाहता है?)। MISRA-C पूरे एम्बेडेड उद्योग में वास्तव में मानक बन रहा है और अन्य प्रोग्रामिंग शाखाओं में भी तेजी से लोकप्रिय हो रहा है। मानक (1998, 2004, और 2012 से वर्तमान संस्करण) के कम से कम तीन प्रकाशन हैं। 2016 से एक MISRA अनुपालन दिशानिर्देश दस्तावेज़ भी है, और MISRA C: 2012 संशोधन 1 - MISRA C: 2012 के लिए अतिरिक्त सुरक्षा दिशानिर्देश (अप्रैल 2016 में प्रकाशित)।
    ध्यान दें कि MISRA नियमों में कुछ सख्ती हर संदर्भ के लिए उपयुक्त नहीं है। उदाहरण के लिए, निर्देश 4.12 में कहा गया है "डायनेमिक मेमोरी आवंटन का उपयोग नहीं किया जाएगा"। यह एम्बेडेड सिस्टम में उपयुक्त है जिसके लिए MISRA नियम तैयार किए गए हैं; यह हर जगह उचित नहीं है। (संकलक, उदाहरण के लिए, आम तौर पर प्रतीक तालिकाओं जैसी चीजों के लिए गतिशील मेमोरी आवंटन का उपयोग करते हैं, और गतिशील मेमोरी आवंटन के बिना करना मुश्किल होगा, अगर पूर्व-निर्धारित नहीं है।)

  • 2007 से बिगिनर की सीरीज़ की शुरुआती किताबें (2007 से शुरुआती शीर्षक) और 2008 से एडवांस्ड सी (76 खिताब)। इनमें से अधिकांश अब मुख्य साइट पर नहीं दिखती हैं, और आप इसे ब्राउज़ नहीं कर सकते। वैसे भी।


चेतावनी

हर्बर्ट शिल्ड्ट द्वारा लिखित पुस्तकों से सावधान रहें । विशेष रूप से, आपको C: द कम्प्लीट रेफरेंस (4th एडिशन, 2000) से दूर रहना चाहिए , जिसे C: द कम्प्लीट नॉनसेंस के रूप में कुछ सर्कल में जाना जाता है।

यशवंत कानटेकर की पुस्तक लेट अस सी (16 वें संस्करण, 2017) का उपयोग न करें । कई लोग इसे एक पुरानी पुस्तक के रूप में देखते हैं जो टर्बो सी सिखाता है और इसमें बहुत सारी अप्रचलित, भ्रामक और गलत सामग्री है। उदाहरण के लिए, पृष्ठ 137 से अपेक्षित आउटपुट पर चर्चा printf("%d %d %d\n", a, ++a, a++)करता है और इसे अपरिभाषित व्यवहार के रूप में वर्गीकृत नहीं करता है जैसा कि इसे करना चाहिए।

जेड शॉ द्वारा जानें सी द हार्ड वे (2015)। मिश्रित समीक्षाओं के साथ एक पुस्तक। टिम हेंटेनर की इस पुस्तक की एक आलोचना :

मेरे विचारों को संक्षेप में प्रस्तुत करने के लिए, जो नीचे दिए गए हैं, लेखक सामग्री को बहुत अधिक मात्रा में और भ्रामक तरीके से प्रस्तुत करता है, पूरा कॉर्पस एक बंडल किया गया गड़बड़ है, और वह जो कुछ राय और विश्लेषण प्रदान करता है, वे सीधे सादे गलत हैं। मैंने इस पुस्तक को नौसिखियों की नज़र से देखने की कोशिश की है, लेकिन दुर्भाग्य से मैं सी में अनुभव लेखन कोड के वर्षों से पक्षपाती हूं। मेरे लिए यह स्पष्ट है कि या तो लेखक को सी की दोषपूर्ण समझ है, या वह जानबूझकर ओवरसाइम्प्लाइज़िंग कर रहा है बिंदु जहां वह वास्तव में पाठक को गुमराह कर रहा है (जानबूझकर या अन्यथा।)

"सी जानें द हार्ड वे" एक ऐसी पुस्तक नहीं है जिसे मैं किसी ऐसे व्यक्ति के लिए सुझा सकता हूं जो सी और प्रोग्राम सीखने के लिए सीख रहा है। यदि आप पहले से ही किसी अन्य संबंधित भाषा में एक सक्षम प्रोग्रामर हैं, तो यह एक दिलचस्प और असामान्य प्रदर्शनी का प्रतिनिधित्व करता है। सी, हालांकि मेरे पास किताब के कुछ हिस्सों के बारे में आरक्षण है। जोनाथन लेफ़लर


रगड़ा हुआ


अन्य भागीदारों में , जरूरी संशोधन इतिहास में जमा नहीं किया गया, में शामिल हैं:
एलेक्स लॉकवुड , बेन जैक्सन , बुलबुले , पंजे , coledot , दाना रॉबिन्सन , डैनियल होल्डेन , Dervin thunk , DWC , Erci Hou , Garen , haziz , जोहान Bezem , जोनाथन Leffler , यहोशू Partogi , लुकास , लुंडिन , मैट लालकृष्ण , mossplix , माथीउ एम , मिडोर , नीत्शे-जो , नॉर्मन राम्से , r3st0r3 , ridthyself , रॉबर्ट एस। बार्न्स , स्टीव समिट , टिम रिंग , टोनी बाई , VMAtm


6
@ PabloBarríaUrenda अनुपयोगी सामग्री को पोस्ट को फ़्लैग करके संबोधित किया जाना चाहिए। "दो क्लिक दूर" हालांकि एक मूर्खतापूर्ण बयान है, इसलिए आपका झंडा शायद अस्वीकार कर दिया जाएगा। और किसी भी बहस के बारे में कि क्या उल्लिखित ध्वज आक्रामक है या नहीं, यहां भी नहीं होना चाहिए। इसके बजाय ऐसी चिंताओं को meta.stackoverflow.com पर पोस्ट करें ।
लुंडिन

1
"दो क्लिक दूर" के बारे में मूर्खतापूर्ण क्या है?
पाब्लो बैरिया उरेंडा

3
वर्ष २०१ ९ के रूप में, मैंने पुस्तक को <Modern C>बहुत ही पढ़ने लायक पाया , इसमें बहुत सी९९ और सी ११ वाक्य रचना, बहुत कॉम्पैक्ट और अच्छी तरह से लिखी गई का उपयोग किया गया है। और क्या आपको पता है? यह निःशुल्क है !!! आप यहाँ पीडीऍफ़ के रूप में नवीनतम संस्करण डाउनलोड कर सकते हैं: icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf (BTW, लगता है कि लेखक अपडेट कर रहा है और आवश्यकतानुसार उपरोक्त लिंक पर पुस्तक प्रकाशित कर रहा है)
एरिक वांग

1
मैं सिर्फ एक किताब जोड़ने वाला था, यह महसूस करने के लिए कि उसे अप्राप्य के रूप में संपादित किया गया था। हो सकता है कि पोस्ट में दिखाई देने वाले लोगों को मौसम का हवाला देते हुए छोड़ दें कि इसे क्यों टाला जाना चाहिए। शायद अनुशंसित पुस्तकों का एक अलग खंड भी नहीं है?
gst

3
मैंने उत्तर को संपादित करने की असफल कोशिश की (जाहिरा तौर पर गलत फॉर्मेटिंग के कारण, जो इससे पहले कि मैं एक संपादन भी करता हूं, इससे भी पॉप आउट हो जाता है)। वैसे भी, कम से कम दो अनुशंसित पुस्तकों को "यहाँ टालने के लिए" के रूप में सूचीबद्ध किया गया है: iso-9899.info/wiki/Main_Page#Stuff_that_should_be_avoided । कृपया "अपना स्वयं का लिस्प बनाएँ" और "सी को कठिन तरीके से हटाएं", और उपरोक्त लिंक को चेतावनी अनुभाग में जोड़ें।
gst
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.