महत्वपूर्ण तथ्य
- ऐं के प्रत्येक अवस्था में बिना loop का प्रयोग किये डाटा डाला जा सकता है।
- ऐं के Initialization के समय सबस्क्रिप्ट [] को रिक्त छोड़ा जा सकता है।
- 10' या नल कैरेक्टर स्ट्रिंग की समाप्ति को दर्शाता है।
- स्ट्रिंग प्रकार का कन्सटेन्ट ऐं होता है।
- स्ट्रिंग में इनपुट देने के लिये gets फंक्शन का प्रयोग करते हैं।
- किसी डाटा समूह में किसी विशेष डाटा आइटम को खोजने की क्रिया श्रमशील भाषा में सर्चिंग कहलाती है।
- यदि दो या अधिक स्ट्रिंग सूचीबद्ध हो एवं उन पर व्यवस्थित करने की क्रिया सम्पन्न करानी हो तो
- लाइनिंग फाइल्स विभिन्न हेडर फाइलों में बने होते हैं।
- एक फंक्शन से लौटने की लॉजिकल प्रक्रिया को ही एक दूसरे से सम्बन्धन कार्य कहते हैं।
- सी भाषा में फंक्शन दो प्रकार के होते हैं।
- सी भाषा में किसी प्रोग्राम में कम से कम एक फंक्शन main() आवश्यक होता है।
- जिस फंक्शन के प्रयोग से फंक्शन को कॉल किया जाता है, उसको calling कहते हैं।
- Function के नाम रखने में उन्हें नियमों का प्रयोग करते हैं, जिनका प्रयोग हम वैरिएबल के नाम रखने में करते हैं।
- जब एक फंक्शन अपने आपको कॉल करता है तो यह प्रक्रिया recursion कहलाती है।
- Arithmetic Functions का प्रयोग Arithmetic Operations में किया जाता है।
- C Language में, Union एक विशेष data type होता है जिसके द्वारा हम अलग-अलग data types को same (समान) memory location में स्टोर करते हैं।
- दूसरे शब्दों में कहें तो, एक यूनियन user के द्वारा define किया हुआ data type होता है। इसमें सभी members एक ही memory location को share करते हैं।
- हम Union को बहुत सारे elements के साथ define कर सकते हैं और इसमें प्रत्येक element को member कहते हैं।
- इसे union कीवर्ड के द्वारा define किया जाता है।
- यूनियन, structure की तरह ही समान होते हैं परन्तु इनके मध्य एक अंतर होता है। structure सभी members को स्टोर करने के लिए memory space प्रदान करता है जबकि union केवल सबसे बड़े member को स्टोर करने के लिए memory प्रदान करता है।
- यह जरूरी नहीं है union के प्रत्येक member को access कर सकते हैं। एक समय में सभी members को access नहीं किया जा सकता है।
- यूनियन का प्रयोग उस स्थिति में किया जाता है जैसे एक स्थान पर एक ही प्रकार का data store करना है।
- यूनियन उस स्थिति में उपयुक्त होता है जब memory की अधिकतम बचत करनी हो।
- यूनियन में, सबसे बड़ा सदस्य, सभी सदस्यों को स्थान साझा करता है जो स्थान की आवश्यकता के अनुसार होता है।
- ऐं के प्रत्येक अवस्था में बिना loop का प्रयोग किये डाटा डाला जा सकता है।
- ऐं के Initialization के समय सबस्क्रिप्ट [] को रिक्त छोड़ा जा सकता है।
- 10' या नल कैरेक्टर स्ट्रिंग की समाप्ति को दर्शाता है।
- स्ट्रिंग प्रकार का कन्सटेन्ट ऐं होता है।
- स्ट्रिंग में इनपुट देने के लिये gets फंक्शन का प्रयोग करते हैं।
- किसी डाटा समूह में किसी विशेष डाटा आइटम को खोजने की क्रिया श्रमशील भाषा में सर्चिंग कहलाती है।
- यदि दो या अधिक स्ट्रिंग सूचीबद्ध हो एवं उन पर व्यवस्थित करने की क्रिया सम्पन्न करानी हो तो
- लाइनिंग फाइल्स विभिन्न हेडर फाइलों में बने होते हैं।
- एक फंक्शन से लौटने की लॉजिकल प्रक्रिया को ही एक दूसरे से सम्बन्धन कार्य कहते हैं।
- सी भाषा में फंक्शन दो प्रकार के होते हैं।
- सी भाषा में किसी प्रोग्राम में कम से कम एक फंक्शन main() आवश्यक होता है।
- जिस फंक्शन के प्रयोग से फंक्शन को कॉल किया जाता है, उसको calling कहते हैं।
- Function के नाम रखने में उन्हें नियमों का प्रयोग करते हैं, जिनका प्रयोग हम वैरिएबल के नाम रखने में करते हैं।
- जब एक फंक्शन अपने आपको कॉल करता है तो यह प्रक्रिया recursion कहलाती है।
- Arithmetic Functions का प्रयोग Arithmetic Operations में किया जाता है।
- C Language में, Union एक विशेष data type होता है जिसके द्वारा हम अलग-अलग data types को same (समान) memory location में स्टोर करते हैं।
- दूसरे शब्दों में कहें तो, एक यूनियन user के द्वारा define किया हुआ data type होता है। इसमें सभी members एक ही memory location को share करते हैं।
- हम Union को बहुत सारे elements के साथ define कर सकते हैं और इसमें प्रत्येक element को member कहते हैं।
- इसे union कीवर्ड के द्वारा define किया जाता है।
- यूनियन, structure की तरह ही समान होते हैं परन्तु इनके मध्य एक अंतर होता है। structure सभी members को स्टोर करने के लिए memory space प्रदान करता है जबकि union केवल सबसे बड़े member को स्टोर करने के लिए memory प्रदान करता है।
- यह जरूरी नहीं है union के प्रत्येक member को access कर सकते हैं। एक समय में सभी members को access नहीं किया जा सकता है।
- यूनियन का प्रयोग उस स्थिति में किया जाता है जैसे एक स्थान पर एक ही प्रकार का data store करना है।
- यूनियन उस स्थिति में उपयुक्त होता है जब memory की अधिकतम बचत करनी हो।
- यूनियन में, सबसे बड़ा सदस्य, सभी सदस्यों को स्थान साझा करता है जो स्थान की आवश्यकता के अनुसार होता है।
अतिलघु उत्तरीय प्रश्न तथा उनके उत्तर
1. क्रमिक खोज क्रिया क्या है?
उत्तर: क्रमिक खोज (Sequential Search) एक सरल खोज तकनीक है जिसमें सूची के प्रत्येक एलिमेंट को एक-एक करके देखा जाता है। खोज की प्रक्रिया तब तक चलती रहती है जब तक वांछित मान नहीं मिल जाता या पूरी सूची पूरी तरह जाँच नहीं ली जाती। यह तकनीक छोटे डेटा सेट के लिए उपयुक्त होती है लेकिन बड़े डेटा सेट में यह समय अधिक लेती है। यह लीनियर तरीके से काम करती है और इसका समय जटिलता O(n) होती है।2. Strlen() का उपयोग लिखिए।
उत्तर:strlen() फंक्शन का उपयोग किसी स्ट्रिंग की लंबाई ज्ञात करने के लिए किया जाता है। यह null character (\0) को छोड़कर सभी characters की गिनती करता है। उदाहरण के लिए, यदि स्ट्रिंग "Hello" है तो यह 5 लौटाएगा। यह फंक्शन string.h हेडर फाइल में परिभाषित है। प्रोग्रामिंग में स्ट्रिंग की साइज चेक करने के लिए इसका व्यापक उपयोग होता है।3. string.h क्या है?
उत्तर:string.h C प्रोग्रामिंग की एक स्टैंडर्ड हेडर फाइल है जो स्ट्रिंग से संबंधित विभिन्न फंक्शन्स की घोषणाएँ (declarations) प्रदान करती है। इसमें strlen(), strcpy(), strcmp(), strcat() जैसे कई फंक्शन शामिल हैं जो स्ट्रिंग पर ऑपरेशन करते हैं। इस हेडर फाइल को प्रोग्राम में #include <string.h> द्वारा जोड़ा जाता है। यह स्ट्रिंग प्रोसेसिंग को आसान और तेज़ बनाती है।4. gets() तथा puts() फंक्शन का उपयोग लिखिए।
उत्तर:gets() फंक्शन का उपयोग यूज़र से एक पूरी लाइन या स्ट्रिंग इनपुट लेने के लिए किया जाता है। यह स्पेस के साथ भी स्ट्रिंग को पढ़ सकता है लेकिन null character से पहले तक। वहीं puts() फंक्शन का उपयोग स्ट्रिंग को स्क्रीन पर आउटपुट करने के लिए किया जाता है। puts() हमेशा आउटपुट के अंत में newline जोड़ देता है। दोनों फंक्शन <stdio.h> हेडर फाइल में परिभाषित हैं।5. strcpy() और strcat() फंक्शन में अंतर बताइए।
उत्तर:strcpy() फंक्शन का उपयोग एक स्ट्रिंग को दूसरी स्ट्रिंग में कॉपी करने के लिए किया जाता है, जिससे डेस्टिनेशन स्ट्रिंग ओवरराइट हो जाती है। जबकि strcat() का उपयोग एक स्ट्रिंग को दूसरी स्ट्रिंग के अंत में जोड़ने के लिए किया जाता है। strcpy() केवल कॉपी करता है और strcat() जोड़कर लंबी स्ट्रिंग बनाता है। दोनों फंक्शन string.h में परिभाषित होते हैं।6. strcmp() फंक्शन द्वारा रिटर्न किए गए मान से क्या पता चलता है?
उत्तर:strcmp() फंक्शन दो स्ट्रिंग की तुलना करता है और एक integer मान लौटाता है। यदि दोनों स्ट्रिंग समान हों तो यह 0 रिटर्न करता है। यदि पहली स्ट्रिंग दूसरी से बड़ी हो तो पॉजिटिव मान और छोटी हो तो नेगेटिव मान रिटर्न करता है। यह ASCII वैल्यू के आधार पर तुलना करता है और केस सेंसिटिव होता है।7. एक फंक्शन में कंट्रोल कब जाता है और उससे कब बाहर आता है?
उत्तर: जब प्रोग्राम में किसी फंक्शन को कॉल किया जाता है, तब कंट्रोल उस फंक्शन में चला जाता है और वहां लिखे सभी स्टेटमेंट्स को क्रम से चलाता है। जैसे ही फंक्शन काreturn स्टेटमेंट आता है या सभी स्टेटमेंट पूरे हो जाते हैं, कंट्रोल वापस कॉल करने वाली जगह पर लौट आता है।8. फंक्शन परिभाषा का सिंटैक्स लिखिए।
उत्तर: फंक्शन का सिंटैक्स इस प्रकार है:return_type function_name(parameters) { // statements }यहां
return_type वह डेटा टाइप है जिसे फंक्शन वापस करेगा, function_name फंक्शन का नाम है और parameters इनपुट वैल्यू लेते हैं। बॉडी के अंदर वह कोड होता है जो वांछित कार्य करता है।9. फंक्शन के रिटर्न टाइप से आप क्या समझते हैं?
उत्तर: फंक्शन का रिटर्न टाइप यह दर्शाता है कि फंक्शन से किस प्रकार का मान लौटाया जाएगा। उदाहरण के लिए,int का अर्थ है कि फंक्शन integer मान लौटाएगा, float का अर्थ है कि वह दशमलव मान लौटाएगा, और void का अर्थ है कि फंक्शन कोई मान वापस नहीं करेगा।10. आर्ग्युमेंट क्या हैं?
उत्तर: आर्ग्युमेंट वे मान हैं जो फंक्शन को कॉल करते समय दिए जाते हैं। ये मान फंक्शन के अंदर parameters के रूप में प्राप्त होते हैं और फंक्शन के कार्य में उपयोग किए जाते हैं। आर्ग्युमेंट फंक्शन को डायनामिक और पुन: प्रयोज्य बनाने में मदद करते हैं।11. स्ट्रिंग मैनिपुलेशन के मुख्य कार्य बताइए।
उत्तर: स्ट्रिंग मैनिपुलेशन में स्ट्रिंग की कॉपी करना (strcpy()), स्ट्रिंग को जोड़ना (strcat()), तुलना करना (strcmp()), लंबाई ज्ञात करना (strlen()), इनपुट लेना (gets()), और आउटपुट करना (puts()) शामिल है। ये सभी कार्य string.h हेडर फाइल में उपलब्ध फंक्शन्स द्वारा किए जाते हैं।12. ‘C’ में array कितने प्रकार के होते हैं?
उत्तर: ‘C’ भाषा में array मुख्य रूप से तीन प्रकार के होते हैं:- One Dimensional Array (1-D Array): इसमें डेटा एक ही लाइन या रो में संग्रहित होता है।
- Two Dimensional Array (2-D Array): इसमें डेटा पंक्तियों (rows) और स्तंभों (columns) के रूप में संग्रहित होता है, जैसे मैट्रिक्स।
- Multi-Dimensional Array: इसमें दो से अधिक dimensions होते हैं और यह जटिल डेटा संरचना को संग्रहीत करने में उपयोग होता है। ये सभी arrays एक ही प्रकार के डेटा को contiguous memory में स्टोर करते हैं।
लघु उत्तरीय प्रश्न एवं उत्तर
1. निम्नलिखित पर संक्षिप्त टिप्पणी लिखिए—
(i) मार्चिंग (ii) सर्चिंग (iii) सॉर्टिंग
उत्तर:(i) मार्चिंग (Marching)
- परिभाषा: मार्चिंग का अर्थ किसी समूह या डाटा को एक निर्धारित दिशा या क्रम में आगे बढ़ाना या व्यवस्थित करना है।
- कंप्यूटर में प्रयोग: डाटा को मेमोरी से क्रमबद्ध रूप से निकालना और उसे अगले स्थान पर ले जाना।
- उद्देश्य: क्रमबद्ध ढंग से डाटा को स्थानांतरित करना ताकि आगे की प्रक्रिया आसानी से हो सके।
- उदाहरण: किसी ऐरे (Array) के तत्वों को एक-एक कर अगली स्थिति में ले जाना।
(ii) सर्चिंग (Searching)
- परिभाषा: सर्चिंग एक प्रक्रिया है जिसमें डाटा स्ट्रक्चर (जैसे ऐरे, लिस्ट, फाइल) में किसी विशेष तत्व (Element) को ढूँढा जाता है।
- लिनियर सर्च (Linear Search) – तत्वों को एक-एक करके जाँचते हैं।
- बाइनरी सर्च (Binary Search) – केवल सॉर्टेड डाटा पर, बीच से खोज शुरू करते हैं।
- उद्देश्य: किसी दिए गए की (Key) या मान (Value) को तेजी और सही तरीके से ढूँढना।
- उदाहरण: रोल नंबर द्वारा छात्र का रिकॉर्ड खोजना।
(iii) सॉर्टिंग (Sorting)
- परिभाषा: सॉर्टिंग वह प्रक्रिया है जिसमें डाटा को किसी निश्चित क्रम (Ascending या Descending) में व्यवस्थित किया जाता है।
- बबल सॉर्ट (Bubble Sort)
- इन्सर्शन सॉर्ट (Insertion Sort)
- सेलेक्शन सॉर्ट (Selection Sort)
- मर्ज सॉर्ट (Merge Sort) आदि।
- उद्देश्य: डाटा को आसानी से खोजने और व्यवस्थित रूप से प्रस्तुत करने के लिए।
- उदाहरण: छात्रों के अंकों की सूची को उच्चतम से न्यूनतम क्रम में लगाना।
2. 2-D ऐरे में हम पूरी स्ट्रिंग एक साथ स्टोर करना चाहते हैं। इसके लिए हम कौन-से फंक्शन प्रयोग कर सकते हैं?
उत्तर:हम 2-D ऐरे में स्ट्रिंग स्टोर करने के लिए
strcpy() और gets() जैसे functions का प्रयोग कर सकते हैं। strcpy() एक स्ट्रिंग को दूसरी में कॉपी करने के लिए तथा gets() यूज़र से स्ट्रिंग इनपुट लेने के लिए उपयोग होता है।3. निम्न का अभिप्राय है? (क) मार्चिंग (ख) पैलेनड्रोम
उत्तर: मार्चिंग का अभिप्राय डाटा या तत्वों को क्रमबद्ध रूप से एक स्थान से दूसरे स्थान पर ले जाने से है।
उदाहरण: ऐरे में तत्वों को अगली स्थिति पर शिफ्ट करना।
(2) पैलिन्ड्रोम
उत्तर: पैलिन्ड्रोम वह शब्द, संख्या या स्ट्रिंग है जिसे आगे और पीछे दोनों ओर से पढ़ने पर समान प्राप्त हो।
उदाहरण: "नयन", "121", "MADAM" आदि।
4. printf एवं getchar फंक्शन की मुख्य विशेषताओं का वर्णन करो।
उत्तर:printf()आउटपुट दिखाने के लिए प्रयोग होता है, जैसे text, variable value आदि।getchar()यूज़र से एक character इनपुट लेने के लिए प्रयोग होता है।
5. सी-भाषा में जनप्रियता के कारण लिखिए।
सरल एवं संरचित भाषा – C भाषा को समझना और सीखना आसान है तथा इसमें प्रोग्राम को संरचित (Structured) रूप में लिखा जा सकता है।
तेज़ गति (Efficiency) – यह भाषा मशीन स्तर के क़रीब होने के कारण अन्य भाषाओं की तुलना में तेज़ी से निष्पादित होती है।
पोर्टेबिलिटी (Portability) – C में लिखे प्रोग्राम्स को अलग-अलग कम्प्यूटर सिस्टम्स पर आसानी से चलाया जा सकता है।
लचीलापन (Flexibility) – C भाषा में लो-लेवल (हार्डवेयर नज़दीक) और हाई-लेवल (यूज़र फ्रेंडली) दोनों तरह के कार्य किए जा सकते हैं।
विस्तृत उपयोग (Wide Usage) – यह ऑपरेटिंग सिस्टम, कम्पाइलर, एम्बेडेड सिस्टम, गेम्स तथा ड्राइवर निर्माण में व्यापक रूप से प्रयुक्त होती है।
समृद्ध पुस्तकालय (Rich Library) – इसमें पहले से बनी हुई कई लाइब्रेरी फंक्शन्स उपलब्ध हैं, जिससे प्रोग्रामिंग सरल हो जाती है।
6. C भाषा के कैरेक्टर सेट को लिखिए।
उत्तर: C भाषा में कैरेक्टर सेट (Character Set) में निम्नलिखित शामिल हैं—- अक्षर (Alphabets): A–Z (बड़े अक्षर) और a–z (छोटे अक्षर)
- अंक (Digits): 0–9
- विशेष चिन्ह (Special Symbols): +, -, *, /, %, =, <, >, &, |, ^, !, आदि
- व्हाइट स्पेसेस (White Spaces): स्पेस, टैब (\t), नई पंक्ति (\n)
- एस्केप सीक्वेंस (Escape Sequences): \n, \t, \0 आदि
7. संक्षेप में सर्चिंग और सॉर्टिंग पर उदाहरण सहित टिप्पणी लिखिए।
उत्तर:8. एक C प्रोग्राम में फ़ंक्शन कैसे कार्य करता है?
उत्तर:C प्रोग्राम में फ़ंक्शन एक स्वतंत्र कोड ब्लॉक होता है जो किसी विशेष कार्य को पूरा करता है। मुख्य प्रोग्राम से फ़ंक्शन को कॉल किया जाता है और यह कार्य निष्पादित करके परिणाम लौटाता है।
9. C भाषा में एक प्रोग्राम लिखिए जो 1 से 100 तक संख्याओं का योग ज्ञात करे।
उत्तर:sum वेरिएबल में सभी संख्याओं का योग जोड़ते हैं और अंत में printf के द्वारा परिणाम प्रदर्शित करते हैं। इससे प्रोग्राम सरल, व्यवस्थित और आसानी से समझ में आने वाला बनता है।10. रिकर्शन को उदाहरण सहित समझाइए।
रिकर्शन वह प्रक्रिया है जिसमें कोई फंक्शन स्वयं को कॉल करता है। यह समस्या को छोटे भागों में बाँट कर हल करता है। उदाहरण के लिए, फैक्टोरियल की गणना: int fact(int n) { if(n==1) return 1; else return n*fact(n-1); }इसमें fact() फंक्शन स्वयं को कॉल करता है। रिकर्शन तब तक चलता है जब तक बेस केस न आ जाए।
11. उदाहरण सहित लाइब्रेरी फंकशन तथा यूजर डिफाइंड फंकशन में अन्तर स्पष्ट कीजिए।
printf(), scanf() आदि। यूजर डिफाइंड फंक्शन वे होते हैं जो प्रोग्रामर स्वयं बनाता है।उदाहरण:
लाइब्रेरी फंक्शन —
sqrt(25)int sum(int a, int b) { return a+b; }12. किसी फंक्शन के लोकल वेरिएबल्स से आप क्या समझते हैं? इनके स्कोप की क्या सीमाएँ हैं?
13. एक फंकशन युक्त प्रोग्राम में फंकशन सम्बन्धी तीन चीजें क्या हैं? संक्षिप्त परिचय दीजिए।
(1) Function Declaration — फंक्शन के नाम, रिटर्न टाइप व पैरामीटर को डिक्लेयर करता है।
(2) Function Definition — फंक्शन की बॉडी जिसमें कार्य लिखा होता है।
(3) Function Calling — फंक्शन को कॉल करना जिससे वह निष्पादित हो।
इन तीनों के बिना फंक्शन पूर्ण नहीं होता।
14. सर्चिंग क्या होता है? यह कितने प्रकार का होता है? प्रत्येक प्रकार का संक्षिप्त विवरण दीजिए।
(1) Linear Search — एलिमेंट को एक-एक करके खोजा जाता है।
(2) Binary Search — डेटा को बार-बार दो भागों में बाँटकर खोजा जाता है।
बाइनरी सर्च तेज़ होती है लेकिन इसके लिए डेटा का सॉर्ट होना आवश्यक है।
विस्तृत उत्तरात्मक प्रश्न
1. सर्चिंग क्या है? इसकी कार्यविधि का वर्णन करें।
उत्तर:
सर्चिंग (Searching) वह प्रक्रिया है जिसके द्वारा किसी सूची (List) या डाटा सेट (Data Set) में से किसी विशेष तत्व (Element) को खोजा जाता है। यह कंप्यूटर प्रोग्रामिंग का एक महत्वपूर्ण भाग है क्योंकि कई बार हमें किसी बड़े डेटा समूह में से किसी एक जानकारी को ढूंढना होता है।
सर्चिंग के दो प्रमुख प्रकार होते हैं —
- लिनियर सर्च (Linear Search): इसमें प्रत्येक तत्व को एक-एक करके तब तक जाँचा जाता है जब तक कि वांछित तत्व न मिल जाए।
- बाइनरी सर्च (Binary Search): इसमें डेटा को पहले क्रमबद्ध (Sorted) किया जाता है और फिर बीच के तत्व से तुलना कर खोज की जाती है, जिससे समय की बचत होती है।
सर्चिंग की कार्यविधि में सबसे पहले सूची तैयार की जाती है, फिर उपयोगकर्ता द्वारा दिए गए तत्व से प्रत्येक डेटा की तुलना की जाती है। यदि मेल हो जाए तो उसकी स्थिति (Index) प्रदर्शित कर दी जाती है, अन्यथा “Element not found” संदेश दिया जाता है। यह प्रक्रिया डेटा खोज को तेज़ और व्यवस्थित बनाती है।
2. एक प्रोग्राम बनाइए जिसमें उपयोगकर्ता स्ट्रिंग इनपुट करे और वह Revers Print हो।
उत्तर:यह प्रोग्राम उपयोगकर्ता से एक स्ट्रिंग इनपुट लेकर उसे उल्टा (reverse) प्रिंट करता है। इसमें
strlen() फंक्शन से स्ट्रिंग की लंबाई ज्ञात की जाती है और फिर लूप द्वारा अंतिम अक्षर से प्रारंभ कर पहला अक्षर तक प्रिंट किया जाता है।यह प्रोग्राम स्ट्रिंग को उलटे क्रम में प्रदर्शित करता है।
3. gets तथा puts फंक्शनों का उदाहरण सहित समझाइए।
उत्तर:gets() और puts() फंक्शन C भाषा में स्ट्रिंग इनपुट और आउटपुट के लिए प्रयुक्त होते हैं।gets() उपयोगकर्ता से एक पूरी लाइन इनपुट लेने के लिए प्रयोग होता है जबकि puts() उसे प्रदर्शित करने के लिए।उदाहरण:
यह प्रोग्राम उपयोगकर्ता द्वारा दर्ज किया गया नाम स्क्रीन पर दिखाता है। ये दोनों फंक्शन <stdio.h> हेडर फाइल में उपलब्ध हैं।
4. स्ट्रिंग मैनिपुलेशन से सम्बन्धित प्रमुख चार फंक्शनों के नाम लिखिए एवं इन्हें समझाइए।
उत्तर:
स्ट्रिंग मैनिपुलेशन फंक्शनों से स्ट्रिंग पर विभिन्न कार्य किए जाते हैं। प्रमुख चार फंक्शन इस प्रकार हैं —
strlen()– स्ट्रिंग की लंबाई ज्ञात करता है।strcpy()– एक स्ट्रिंग को दूसरी में कॉपी करता है।strcat()– दो स्ट्रिंग्स को जोड़ता है।strcmp()– दो स्ट्रिंग्स की तुलना करता है।
<string.h> हेडर फाइल में परिभाषित होते हैं और स्ट्रिंग प्रोसेसिंग में महत्वपूर्ण भूमिका निभाते हैं।प्रश्न 5: ‘C’ भाषा में एक प्रोग्राम लिखिए जो किसी ऐरे में 12 संख्या इनपुट कराए तथा उनमें से अधिकतम एवं न्यूनतम संख्या ज्ञात कराए।
उत्तर:
यह प्रोग्राम उपयोगकर्ता से 12 संख्याएँ इनपुट लेकर उन्हें एक ऐरे में संग्रहीत करता है। इसके बाद यह ऐरे के प्रत्येक तत्व की तुलना करके उनमें से सबसे बड़ी (अधिकतम) और सबसे छोटी (न्यूनतम) संख्या का पता लगाता है। इस प्रक्रिया में for लूप और if स्टेटमेंट का प्रयोग किया जाता है।
कार्यविधि:
- सबसे पहले 12 संख्याएँ उपयोगकर्ता से ली जाती हैं।
- पहली संख्या को ही अधिकतम और न्यूनतम माना जाता है।
- फिर सभी संख्याओं की तुलना क्रमवार की जाती है।
- यदि कोई संख्या वर्तमान अधिकतम से बड़ी है, तो वही अधिकतम बन जाती है।
- यदि कोई संख्या वर्तमान न्यूनतम से छोटी है, तो वही न्यूनतम बन जाती है।
उदाहरण प्रोग्राम:—
#include <stdio.h>
int main() {
int a[12], i, max, min;
printf("12 संख्याएँ दर्ज करें:\n");
for(i = 0; i < 12; i++) {
scanf("%d", &a[i]);
}
max = min = a[0];
for(i = 1; i < 12; i++) {
if(a[i] > max)
max = a[i];
if(a[i] < min)
min = a[i];
}
printf("अधिकतम संख्या: %d\n", max);
printf("न्यूनतम संख्या: %d\n", min);
return 0;
} यह प्रोग्राम लूप और कंडीशनल स्टेटमेंट्स का उपयोग कर ऐरे में से सबसे बड़ी और सबसे छोटी संख्या को प्रभावी ढंग से खोज निकालता है।
6. निम्न में से आप क्या समझते हैं? (i) सर्चिंग, (ii) सॉर्टिंग
उत्तर:
(i) सर्चिंग: यह प्रक्रिया किसी डेटा सेट में किसी विशेष मान या तत्व को खोजने की होती है। उदाहरण – Linear Search, Binary Search।
(ii) सॉर्टिंग: यह प्रक्रिया डेटा को किसी क्रम (आरोही या अवरोही) में व्यवस्थित करने की होती है। उदाहरण – Bubble Sort, Selection Sort।
सर्चिंग डेटा प्राप्त करने की गति बढ़ाती है जबकि सॉर्टिंग डेटा को व्यवस्थित रूप से प्रस्तुत करती है।