top 40 c programming interview questions
सबसे अक्सर पूछे जाने वाले सी प्रोग्रामिंग साक्षात्कार प्रश्न और उत्तर:
बेल लैब्स में डेनिस रिची द्वारा 1969 और 1973 के बीच सी प्रोग्रामिंग भाषा विकसित की गई थी। वह UNIX ऑपरेटिंग सिस्टम को फिर से लागू करने के लिए इस नई प्रोग्रामिंग भाषा का उपयोग करता है।
सी एक उच्च-स्तरीय संरचित उन्मुख प्रोग्रामिंग भाषा है जिसका उपयोग सामान्य प्रयोजन प्रोग्रामिंग आवश्यकताओं के लिए किया जाता है। मूल रूप से, C अपने पुस्तकालय कार्यों का एक संग्रह है। उपयोगकर्ता-परिभाषित कार्यों को जोड़ना और सी लाइब्रेरी में उन लोगों को शामिल करना भी लचीला है।
C प्रोग्रामिंग लैंग्वेज के मुख्य उपयोग में लैंग्वेज कम्पाइलर, ऑपरेटिंग सिस्टम, असेंबलर्स, टेक्स्ट एडिटर्स, प्रिंट स्पूलर्स, नेटवर्क ड्राइवर, मॉडर्न प्रोग्राम्स, डेटा बेस, लैंग्वेज इंटरप्रिटेटर और यूटिलिटीज शामिल हैं।
अधिकांश सामान्य सी प्रोग्रामिंग साक्षात्कार प्रश्न
ये रहा।
Q # 1) C प्रोग्रामिंग भाषा में मुख्य विशेषताएं क्या हैं?
उत्तर: विशेषताएं इस प्रकार हैं:
- पोर्टेबिलिटी : यह एक मंच-स्वतंत्र भाषा है।
- प्रतिरूपकता: छोटे मॉड्यूल में बड़े कार्यक्रमों को तोड़ने की संभावना।
- लचीलापन: भाषा को नियंत्रित करने के लिए एक प्रोग्रामर की संभावना।
- गति: C सिस्टम प्रोग्रामिंग के लिए समर्थन के साथ आता है और इसलिए यह उच्च गति के साथ संकलित और निष्पादित होता है जब अन्य उच्च-स्तरीय भाषाओं के साथ तुलना की जाती है।
- तानाना : प्रोग्रामर द्वारा नई सुविधाओं को जोड़ने की संभावना।
Q # 2) C से जुड़े बुनियादी डेटा प्रकार क्या हैं?
उत्तर:
- इंट - संख्या (पूर्णांक) का प्रतिनिधित्व करें
- फ्लोट - एक अंश के साथ संख्या।
- डबल - डबल-सटीक फ़्लोटिंग-पॉइंट मान
- Char – एकल चरित्र
- शून्य - बिना किसी मूल्य के विशेष प्रयोजन प्रकार।
Q # 3) वाक्यविन्यास त्रुटियों का वर्णन क्या है?
उत्तर: प्रोग्राम बनाने के दौरान होने वाली गलतियों / त्रुटियों को सिंटैक्स त्रुटियां कहा जाता है। गलत वर्तनी वाले कमांड या गलत केस कमांड, कॉलिंग मेथड / फंक्शन में मापदंडों की एक गलत संख्या, डेटा प्रकार बेमेल को सिंटैक्स त्रुटियों के लिए सामान्य उदाहरण के रूप में पहचाना जा सकता है।
Q # 4) C में इंक्रीमेंट और डिक्रीमेंट स्टेटमेंट बनाने की प्रक्रिया क्या है?
उत्तर: इस कार्य को करने के लिए दो संभावित तरीके हैं।
- इंक्रीमेंट (++) और डिक्रीमेंट (-) ऑपरेटर का उपयोग करें।
उदाहरण जब x = 4, x ++ 5 और x- रिटर्न 3 होता है।
- पारंपरिक + या - चिह्न का उपयोग करें।
उदाहरण जब x = 4, 5 प्राप्त करने के लिए x + 1 का उपयोग करें और 3 प्राप्त करने के लिए x-1 का उपयोग करें।
Q # 5) प्रोग्रामिंग भाषा के साथ आरक्षित शब्द क्या हैं?
उत्तर: वे शब्द जो मानक C भाषा पुस्तकालय का एक हिस्सा हैं, कहलाते हैं सुरक्षित शब्द । उन आरक्षित शब्दों का विशेष अर्थ है और उनका उपयोग किसी अन्य गतिविधि के लिए नहीं किया जा सकता है।
उदाहरण: शून्य, वापसी int।
Q # 6) C में डैंगलिंग पॉइंटर के लिए क्या स्पष्टीकरण है?
उत्तर: जब किसी वेरिएबल के मेमोरी एड्रेस की ओर एक पॉइंटर पॉइंट होता है, लेकिन कुछ समय बाद वेरिएबल को मेमोरी लोकेशन से डिलीट कर दिया जाता है, जबकि पॉइंटर को उस लोकेशन पर रखने से सी में झूलने वाले पॉइंटर के रूप में जाना जाता है।
Q # 7) इसके उपयोग के साथ स्थिर कार्य का वर्णन करें?
उत्तर: एक फ़ंक्शन, जिसमें एक स्थिर कीवर्ड के साथ एक फ़ंक्शन परिभाषा होती है, जिसे एक स्थिर फ़ंक्शन के रूप में परिभाषित किया जाता है। स्थिर फ़ंक्शन को समान स्रोत कोड के भीतर बुलाया जाना चाहिए।
Q # 8) एब्स () और फैब्स () फ़ंक्शन के बीच क्या अंतर है?
उत्तर: दोनों कार्य पूर्ण मूल्य प्राप्त करने के लिए हैं। abs () पूर्णांक मानों के लिए है और fabs () फ़्लोटिंग प्रकार संख्याओं के लिए है। एब्स के लिए प्रोटोटाइप () लाइब्रेरी फ़ाइल के नीचे है और फ़ैब्स () के तहत है।
Q # 9) C में वाइल्ड पॉइंटर्स का वर्णन करें?
उत्तर: C कोड में Uninitialized पॉइंटर्स को कहा जाता है जंगली संकेत । वे कुछ मनमाने स्मृति स्थान की ओर इशारा करते हैं और खराब प्रोग्राम व्यवहार या प्रोग्राम क्रैश का कारण बन सकते हैं।
Q # 10) ++ a और a ++ में क्या अंतर है?
उत्तर: ‘++” को उपसर्ग वृद्धि कहा जाता है और वेतन वृद्धि पहले एक चर पर होगी। ‘A ++’ को पोस्टफिक्स इन्क्रीमेंट कहा जाता है और इन्क्रीमेंट ऑपरेशंस के लिए उपयोग किए जाने वाले वैरिएबल के मान के बाद होता है।
Q # 11) C प्रोग्रामिंग में = और == प्रतीकों के बीच अंतर बताइए?
उत्तर: ‘== 'एक तुलना ऑपरेटर है जिसका उपयोग बाईं ओर के मूल्य या अभिव्यक्ति की तुलना करने के लिए किया जाता है, जो दाईं ओर के मूल्य या अभिव्यक्ति के साथ बाईं ओर होता है।
‘= 'एक असाइनमेंट ऑपरेटर है, जिसका उपयोग बाएं हाथ की तरफ दाईं ओर के वेरिएबल के मान को असाइन करने के लिए किया जाता है।
Q # 12) C में प्रोटोटाइप फंक्शन के लिए क्या स्पष्टीकरण है?
परीक्षण योजना और परीक्षण रणनीति के बीच अंतर क्या है
उत्तर: प्रोटोटाइप फ़ंक्शन एक संकलक को निम्नलिखित जानकारी के साथ एक फ़ंक्शन की घोषणा है।
- समारोह का नाम।
- फ़ंक्शन का वापसी प्रकार।
- फ़ंक्शन की पैरामीटर सूची।
इस उदाहरण में फ़ंक्शन का नाम सम है, रिटर्न प्रकार पूर्णांक डेटा प्रकार है और यह दो पूर्णांक मापदंडों को स्वीकार करता है।
Q # 13) C में डेटा प्रकारों की चक्रीय प्रकृति के लिए स्पष्टीकरण क्या है?
उत्तर: C में कुछ डेटा प्रकारों की विशेष विशेषता प्रकृति होती है जब कोई डेवलपर डेटा प्रकार की सीमा से अधिक मूल्य प्रदान करता है। कोई संकलक त्रुटि नहीं होगी और एक चक्रीय आदेश के अनुसार मूल्य में परिवर्तन होगा। इसे चक्रीय प्रकृति कहा जाता है। चार, int, लंबे int डेटा प्रकारों में यह गुण होता है। इसके अलावा फ्लोट, डबल और लंबे डबल डेटा प्रकारों में यह संपत्ति नहीं है।
Q # 14) हेडर फ़ाइल और C प्रोग्रामिंग में इसके उपयोग का वर्णन करें?
उत्तर: प्रोग्राम में उपयोग किए जा रहे कार्यों की परिभाषा और प्रोटोटाइप वाली फाइल को हेडर फाइल कहा जाता है। इसे लाइब्रेरी फ़ाइल के रूप में भी जाना जाता है।
उदाहरण: हेडर फ़ाइल में प्रिंटफ़ और स्कैनफ़ जैसी कमांड होती है जो stdio.h लाइब्रेरी फ़ाइल से होती है।
Q # 15) डिबगिंग करते समय इसे हटाने के बजाए टिप्पणी प्रतीकों में कुछ कोड ब्लॉक रखने के लिए कोडिंग में एक प्रथा है। डिबगिंग के समय यह कैसे प्रभावित करता है?
उत्तर: इस अवधारणा को टिप्पणी करना कहा जाता है और यह कोड के कुछ हिस्से को अलग करने का तरीका है जो त्रुटि के संभावित कारण को स्कैन करता है। साथ ही, यह अवधारणा समय बचाने में मदद करती है क्योंकि यदि कोड समस्या का कारण नहीं है तो इसे केवल टिप्पणी से हटाया जा सकता है।
Q # 16) लूप स्टेटमेंट और C में उपलब्ध लूप प्रकार के लिए सामान्य विवरण क्या हैं?
उत्तर: एक बयान जो बयानों या बयानों के समूहों को बार-बार निष्पादित करने की अनुमति देता है, को लूप के रूप में परिभाषित किया गया है।
निम्नलिखित आरेख एक लूप के सामान्य रूप की व्याख्या करता है।
C में 4 प्रकार के लूप स्टेटमेंट हैं।
- घुमाव के दौरान
- पाश के लिए
- दो… जबकि लूप
- अंतर प्रविष्ट पाश
Q # 17) नेस्टेड लूप क्या है?
उत्तर: एक लूप जो दूसरे लूप के भीतर चलता है, को एक के रूप में संदर्भित किया जाता है अंतर प्रविष्ट पाश । पहले लूप को आउटर लूप और इनर लूप को इनर लूप कहा जाता है। आंतरिक लूप बाहरी लूप में परिभाषित समय की संख्या को निष्पादित करता है।
Q # 18) C में फ़ंक्शन का सामान्य रूप क्या है?
उत्तर: C में फ़ंक्शन की परिभाषा में चार मुख्य अनुभाग हैं।
return_type function_name( parameter list ) { body of the function }
- वापसी प्रकार : फ़ंक्शन के रिटर्न मान का डेटा प्रकार।
- समारोह का नाम: फ़ंक्शन का नाम और एक सार्थक नाम होना महत्वपूर्ण है जो फ़ंक्शन की गतिविधि का वर्णन करता है।
- मापदंडों : फ़ंक्शन के लिए इनपुट मान जो आवश्यक कार्रवाई करने के लिए उपयोग किए जाते हैं।
- कार्य शरीर : आवश्यक कार्रवाई करने वाले बयानों का संग्रह।
Q # 19) C प्रोग्रामिंग लैंग्वेज में पॉइंटर पर पॉइंटर क्या होता है?
उत्तर: एक पॉइंटर वैरिएबल जिसमें दूसरे पॉइंटर वैरिएबल का पता होता है, पॉइंटर पर पॉइंटर कहलाता है। यह अवधारणा एक पॉइंटर चर द्वारा रखे गए डेटा को इंगित करने के लिए दो बार डी-संदर्भित करती है।
इस उदाहरण में ** y चर का मान लौटाता है a।
Q # 20) कीवर्ड 'ब्रेक' के लिए वैध स्थान क्या हैं?
उत्तर: ब्रेक कीवर्ड का उद्देश्य नियंत्रण को कोड ब्लॉक से बाहर लाना है जो निष्पादित कर रहा है। यह केवल लूपिंग या स्विच स्टेटमेंट में दिखाई दे सकता है।
Q # 21) हेडर फ़ाइल को दोहरे-उद्धरणों ('') और कोणीय ब्रेसिज़ () में शामिल करने पर व्यवहारगत अंतर क्या है?
उत्तर: जब हैडर फ़ाइल को दोहरे उद्धरण चिह्नों ('') में शामिल किया जाता है, तो कंपाइलर विशेष हेडर फ़ाइल के लिए कार्य निर्देशिका में पहले खोज करता है। यदि नहीं मिला है, तो यह फ़ाइल को शामिल पथ में खोजता है। लेकिन जब हैडर फ़ाइल को कोणीय ब्रेसिज़ () के भीतर शामिल किया जाता है, तो संकलक केवल विशेष हेडर फ़ाइल के लिए कार्य निर्देशिका में खोज करता है।
Q # 22) अनुक्रमिक एक्सेस फ़ाइल क्या है?
उत्तर: सामान्य प्रोग्राम फ़ाइलों में डेटा संग्रहीत करते हैं और फ़ाइलों से मौजूदा डेटा पुनर्प्राप्त करते हैं। अनुक्रमिक एक्सेस फ़ाइल के साथ, ऐसे डेटा एक अनुक्रमिक पैटर्न में सहेजे जाते हैं। ऐसी फ़ाइलों से डेटा प्राप्त करते समय प्रत्येक डेटा को आवश्यक जानकारी मिलने तक एक-एक करके पढ़ा जाता है।
Q # 23) स्टैक डेटा संरचना प्रकार में डेटा को बचाने की विधि क्या है?
उत्तर: डेटा का उपयोग करके स्टैक डेटा संरचना प्रकार में संग्रहीत किया जाता है पहले अंतिम आउट में (FILO) तंत्र। स्टैक के केवल ऊपर दिए गए उदाहरण पर पहुंच योग्य है। भंडारण तंत्र को एक PUSH के रूप में संदर्भित किया जाता है और पुनर्प्राप्ति को POP के रूप में संदर्भित किया जाता है।
Q # 24) C प्रोग्राम एल्गोरिदम का क्या महत्व है?
उत्तर: एल्गोरिथ्म पहले बनाया गया है और इसमें कदम दिशा-निर्देश हैं कि समाधान कैसे होना चाहिए। इसके अलावा, इसमें विचार करने के लिए चरण और कार्यक्रम के भीतर आवश्यक गणना / संचालन शामिल हैं।
Q # 25) लूप के लिए नेस्टेड का उपयोग करके C में निम्न आउटपुट के लिए सही कोड क्या है?
उत्तर:
#include int main () { int a; int b; /* for loop execution */ for( a = 1; a <6; a++ ) { /* for loop execution */ for ( b = 1; b <= a; b++ ) { printf('%d',b); } printf('
'); } return 0; }
Q # 26) एक उदाहरण कोड के साथ फ़ंक्शन टॉपर () के उपयोग की व्याख्या करें?
उत्तर: टॉपर () फ़ंक्शन का उपयोग मूल्य को अपरकेस में बदलने के लिए किया जाता है जब यह वर्णों के साथ उपयोग किया जाता है।
कोड:
#include #include int main() { char c; c = 'a'; printf('%c -> %c', c, toupper(c)); c = 'A'; printf('
%c -> %c', c, toupper(c)); c = '9'; printf('
%c -> %c', c, toupper(c)); return 0; }
परिणाम:
Q # 27) थोड़ी देर के लूप में कोड क्या है जो दिए गए कोड का आउटपुट देता है?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
उदाहरण के साथ ब्लैक बॉक्स परीक्षण क्या है
उत्तर:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
Q # 28) निम्नलिखित सूची में गलत ऑपरेटर फॉर्म का चयन करें (==,> =,)<=) and what is the reason for the answer?
उत्तर: गलत ऑपरेटर ‘'है। सशर्त विवरण लिखते समय यह प्रारूप सही है, लेकिन यह सी प्रोग्रामिंग में नहीं के बराबर इंगित करने के लिए सही संचालन नहीं है। यह निम्नानुसार एक संकलन त्रुटि देता है।
कोड:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
त्रुटि:
क्यू # 29) क्या सी प्रोग्राम में सिंगल लाइन कोड को संलग्न करने के लिए घुंघराले कोष्ठक ({}) का उपयोग करना संभव है?
उत्तर: हां, यह बिना किसी त्रुटि के काम करता है। कुछ प्रोग्रामर कोड को व्यवस्थित करने के लिए इसका उपयोग करना पसंद करते हैं। लेकिन घुंघराले कोष्ठक का मुख्य उद्देश्य कोड की कई पंक्तियों को समूहित करना है।
Q # 30) C में संशोधक का वर्णन करें?
उत्तर: संशोधक मूल डेटा प्रकार का एक उपसर्ग है जिसका उपयोग किसी चर में संग्रहण स्थान आवंटन के लिए संशोधन को इंगित करने के लिए किया जाता है।
उदाहरण- 32-बिट प्रोसेसर में, इंट डेटा टाइप के लिए स्टोरेज स्पेस 4. है। जब हम इसे मॉडिफायर के साथ स्टोरेज स्पेस में बदलाव के साथ उपयोग करते हैं:
- लंबे समय से int: भंडारण स्थान 8 बिट है
- लघु int: भंडारण स्थान 2 बिट है
Q # 31) C प्रोग्रामिंग भाषा में उपलब्ध संशोधक क्या हैं?
उत्तर: C प्रोग्रामिंग भाषा में 5 संशोधक उपलब्ध हैं जो निम्नानुसार हैं:
- कम
- लंबा
- पर हस्ताक्षर किए
- अहस्ताक्षरित
- लम्बा लम्बा
Q # 32) C प्रोग्रामिंग लैंग्वेज में रैंडम नंबर जेनरेट करने की प्रक्रिया क्या है?
उत्तर: कमांड रैंड () इस उद्देश्य के लिए उपयोग करने के लिए उपलब्ध है। फ़ंक्शन शून्य (0) से शुरू होने वाला पूर्णांक संख्या देता है। निम्नलिखित नमूना कोड रैंड () का उपयोग दर्शाता है।
कोड:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
आउटपुट:
Q # 33) नमूना कार्यक्रम के साथ न्यूलाइन एस्केप अनुक्रम का वर्णन करें?
उत्तर: न्यूलाइन एस्केप अनुक्रम को n द्वारा दर्शाया गया है। यह उस बिंदु को इंगित करता है कि नई लाइन संकलक के लिए शुरू होती है और आउटपुट तदनुसार बनाया जाता है। निम्नलिखित नमूना कार्यक्रम न्यूलाइन एस्केप सीक्वेंस के उपयोग को प्रदर्शित करता है।
कोड:
/* * C Program to print string */ #include #include int main(){ printf('String 01 '); printf('String 02 '); printf('String 03
'); printf('String 01
'); printf('String 02
'); return 0; }
आउटपुट:
Q # 34) क्या किसी इंटेंस टाइप वेरिएबल में 32768 स्टोर करना संभव है?
उत्तर: इंट डेटा टाइप केवल मानों को संचय करने में सक्षम है - 32768 से 32767। 32768 को स्टोर करने के लिए एक संशोधक को इंट डेटा टाइप के साथ उपयोग करने की आवश्यकता होती है। लॉन्ग इंट का उपयोग कर सकते हैं और यह भी कि अगर कोई नकारात्मक मूल्य नहीं हैं, तो अहस्ताक्षरित int का उपयोग करना संभव है।
क्यू # 35) क्या सी प्रोग्रामिंग भाषा के साथ एक अनुकूलित हेडर फ़ाइल बनाने की कोई संभावना है?
उत्तर: हां, नई हेडर फ़ाइल बनाना संभव और आसान है। फ़ंक्शन प्रोटोटाइप के साथ एक फ़ाइल बनाएं जो प्रोग्राम के अंदर उपयोग की जाती हैं। फ़ाइल को उसके नाम से inc #include 'अनुभाग में शामिल करें।
Q # 36) C प्रोग्रामिंग लैंग्वेज में डायनामिक डेटा स्ट्रक्चर का वर्णन करें?
उत्तर: डायनामिक डेटा संरचना स्मृति के लिए अधिक कुशल है। मेमोरी एक्सेस प्रोग्राम के अनुसार आवश्यकतानुसार होती है।
Q # 37) क्या एक-दूसरे से संकेत जोड़ना संभव है?
उत्तर: पॉइंटर्स को एक साथ जोड़ने की कोई संभावना नहीं है। चूँकि पॉइंटर में एड्रेस डिटेल्स होते हैं इसलिए इस ऑपरेशन से मान प्राप्त करने का कोई तरीका नहीं है।
Q # 38) अप्रत्यक्ष क्या है?
उत्तर: यदि आपने एक चर या किसी मेमोरी ऑब्जेक्ट के लिए एक पॉइंटर को परिभाषित किया है, तो चर के मूल्य का कोई सीधा संदर्भ नहीं है। इसे अप्रत्यक्ष संदर्भ कहा जाता है। लेकिन जब हम एक चर घोषित करते हैं, तो इसका मूल्य के लिए एक सीधा संदर्भ होता है।
Q # 39) एक अशक्त पॉइंटर के तरीके क्या हैं जिनका उपयोग C प्रोग्रामिंग भाषा में किया जा सकता है?
उत्तर: अशक्त संकेत तीन तरीकों से उपयोग करना संभव है।
- त्रुटि मान के रूप में।
- प्रहरी मूल्य के रूप में।
- पुनरावर्ती डेटा संरचना में अप्रत्यक्षता को समाप्त करना।
Q # 40) मॉड्यूलर प्रोग्रामिंग के लिए स्पष्टीकरण क्या है?
उत्तर: मुख्य कार्यक्रम को निष्पादन योग्य उपधारा में विभाजित करने की प्रक्रिया को मॉड्यूल प्रोग्रामिंग कहा जाता है। यह अवधारणा पुन: प्रयोज्यता को बढ़ावा देती है।
निष्कर्ष
प्रश्नकर्ता सी प्रोग्रामिंग भाषा अवधारणाओं पर आधारित है जिसमें पॉइंटर्स के साथ मेमोरी प्रबंधन, इसके सिंटैक्स का ज्ञान और कुछ उदाहरण प्रोग्राम हैं जो बेसिक सी प्रोग्राम संरचना का उपयोग करते हैं। उम्मीदवार के नाटकीय और व्यावहारिक ज्ञान की जांच सवालों के साथ की जाती है।
अनुशंसित पाठ
- साक्षात्कार प्रश्न और उत्तर
- कुछ मुश्किल मैनुअल परीक्षण प्रश्न और उत्तर
- C Vs C ++: 39 मुख्य अंतर C और C ++ के बीच के उदाहरण हैं