C language in Hindi Part 1

 "C LANGUAGE"  - Part 1

 Table of Contents :- 

  • C लैंग्वेज क्या है? – What is C Language in Hindi?
  • सी भाषा का इतिहास – History of C Language in Hindi
  • What is array & types of arrays?
  • मैमोरी एलोकेशन क्या है तथा इसके प्रकार क्या है?
  • कंट्रोल स्टेटमेंट क्या है? – Control Statement (structure) in Hindi
  • Variable क्या है? हिंदी में.
  • functions in “c programming language” hindi
  • pointer in c hindi
  • c operator in hindi & types of operators in hindi
  • Parameter Passing & Passing Arguments in Hindi
  • Steps in development of a program in C in Hindi
  • String in C in Hindi – C में स्ट्रिंग क्या है?
  • Debugging in Hindi – डिबगिंग क्या है?

C लैंग्वेज क्या है? – What is C Language ?

C Language – सी भाषा क्या है?

  • C Language एक हाई लेवल की प्रोग्रामिंग भाषा है जिसका इस्तेमाल सिस्टम सॉफ्टवेयर, एप्लीकेशन सॉफ्टवेयर और एम्बेडेड सिस्टम बनाने के लिए किया जाता है.

  • सी लैंग्वेज एक बहुत ही प्रसिद्ध प्रोग्रामिंग लैंग्वेज है, यह पुरानी लैंग्वेज होने के बावजूद आज भी इसका इस्तेमाल बहुत ज्यादा किया जाता है.

  • C लैंग्वेज का अविष्कार 1972 में डेनिस रिची ने Bell प्रयोगशाला में किया था, इसलिए इन्हें ‘सी भाषा का पिता’ भी कहा जाता है.

  • सी भाषा को डेनिस रिची ने Unix ऑपरेटिंग सिस्टम के लिए बनाया था, लेकिन बाद में इसका इस्तेमाल सभी ऑपरेटिंग सिस्टम में किया जाने लगा.

  • सी भाषा का syntax बहुत ही सरल होता है इसलिए इसे आसानी से सीखा जा सकता है, इसको सीखने में ज्यादा मुश्किल नहीं होती.

  • C Language का इस्तेमाल ऑपरेटिंग सिस्टम, पाइथन, इंटरप्रेटर और डेटाबेस आदि को create करने के लिए भी किया जाता है.

  • यह एक machine independent (मशीन स्वतंत्र) भाषा है जिसका मतलब यह है कि इसमें लिखे गये कोड को हम किसी भी कंप्यूटर या डिवाइस में run कर सकते हैं.

  • सी भाषा में लिखे गये प्रोग्राम को compile और run करने के लिए कम्पाइलर की जरूरत होती है, कम्पाइलर एक सॉफ्टवेयर होता है जिसका इस्तेमाल प्रोग्राम को compile और run करने के लिए किया जाता है.

  • C लैंग्वेज को सभी प्रोग्रामिंग भाषाओ की माँ भी कहा जाता है क्योंकि अगर आपने इसे सीख लिया तो आप दूसरी प्रोग्रामिंग लैंग्वेज (जैसे कि- जावा, पाइथन आदि) आसानी से सीख जाओगे.

Features of C Language in Hindi – सी भाषा की विशेषताएँ

‘सी भाषा’ की निम्नलिखित विशेषताएँ होती है :-

features-of-C-Language-in-Hindi

1- Simple (सरल)

यह एक सरल भाषा है जिसे आसानी से सीखा जा सकता है। इस भाषा का syntax काफी सरल होता है जिसकी वजह से कोई भी व्यक्ति इसे आसानी से सीख सकता है।

2- Independent (स्वतंत्र)

यह machine independent (मशीन स्वतंत्र) भाषा है जिसके कारण इसे किसी भी कंप्यूटर में run किया जा सकता है।

3- Library (लाइब्रेरी)

सी भाषा में built-in-function की एक लाइब्रेरी मौजूद होती है. इस लाइब्रेरी का इस्तेमाल करके हम आसानी से प्रोग्राम लिख सकते हैं.

4- Speed (गति)

सी भाषा की स्पीड बहुत ही तेज़ होती है। यह जावा, पाइथन की तुलना में तेज़ गति से अपने प्रोग्राम को execute करती है।

5- General Purpose (सामान्य उद्देश्य)

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

6- Syntax (सिंटेक्स)

सी भाषा का syntax काफी सरल और साफ़ होता है।

7- Procedural Language (प्रक्रियात्मक भाषा)

यह एक procedural लैंग्वेज है, इसलिए इसमें प्रत्येक प्रोग्राम को step by step लिखा जाता है.

C Language का सरल प्रोग्राम

#include <stdio.h>

int main() {
  printf("How Are You My Friend?");
  return 0;
}

इसका आउटपुट – How Are You My Friend?

Applications of C Language – सी लैंग्वेज के उपयोग

इसका उपयोग बहुत सारें कार्यों को करने के लिए किया जाता है:-

1- सी भाषा का इस्तेमाल वीडियो गेम को विकसित करने के लिए किया जाता है।

2- यह भाषा GUI (ग्राफिकल यूजर इंटरफ़ेस) को बनाने में मदद करती है।

3- इस भाषा का उपयोग वेब ब्राउज़र (जैसे- गूगल क्रोम, फायरफॉक्स आदि) को बनाने के लिए किया जाता है।

4- इस भाषा का इस्तेमाल UNIX ऑपरेटिंग सिस्टम को विकसित करने के लिए किया जाता है।

5- यह भाषा विभिन्न प्रकार के एप्लीकेशन सॉफ्टवेयर और सिस्टम सॉफ्टवेयर को develop (विकसित) करने में मदद करती है।

6- इसका उपयोग एनीमेशन बनाने के लिए भी किया जाता है।

7- सी भाषा का उपयोग MySQL डेटाबेस बनाने के लिए किया गया था।

8- इस भाषा का प्रयोग पाइथन और इंटरप्रेटर को विकसित करने के लिए किया जाता है।

Advantages of C Language – सी भाषा के फायदे

इसके निम्नलिखित फायदे है :-

1- Easy To Understand (समझने में आसान)

C एक सरल भाषा है जिसे समझना किसी भी यूजर के लिए आसान होता है। इस भाषा को सीखना भी काफी सरल होता है।

2- Easy to write (लिखने में आसान)

सी भाषा के प्रोग्राम को लिखना आसान होता है। यह एक कुशल भाषा है जिसे लिखना काफी सरल होता है।

3- Speed (गति)

यह एक तेज गति से काम करने वाली प्रोग्रामिंग भाषा है। यह जावा, PHP, C++ जैसी प्रोग्रामिंग भाषाओं की तुलना में काफी तेज होती है।

4- Error Detection (त्रुटि का पता लगाना)

सी लैंग्वेज तेज गति से कोड में मौजूद errors (त्रुटियों) को ढूंड लेती है क्योकि इस भाषा का compile time कम होता है।

5- Easy Debug (आसान डिबग)

इस भाषा में डिबगिंग करना काफी सरल होता है। यदि प्रोग्रामर से कोड लिखते समय कोई गलती हो जाती है तो वह आसानी से उस गलती को ठीक कर सकता है।

6- Open Source (ओपन सोर्स)

यह एक ओपन सोर्स लैंग्वेज है जिसका मतलब यह है कि इसका इस्तेमाल कोई भी व्यक्ति free (मुफ्त) में कर सकता है। कोई भी व्यक्ति इन्टरनेट से डाउनलोड करके इसका इस्तेमाल फ्री में कर सकता है.

Disadvantages of C Language – सी लैंग्वेज के नुकसान

इसके नुकसान नीचे दिए गये है:-

1- सी लैंग्वेज object oriented प्रोग्रामिंग भाषा नहीं है, जिसके कारण हम इसमें class और objects को create नहीं कर सकते.  

2- इसमें मेमोरी को मैनेज करना बहुत मुश्किल है.

3- इसमें garbage collection की सुविधा मौजूद नहीं है.

4- इसमें हम run time में error को check नहीं कर सकते.

5- इसमें namespace की सुविधा उपलब्ध नहीं है.

6- इसमें exception को हैंडल नहीं किया जा सकता.

7- इसमें constructor और destructor की सुविधा नहीं है.

C Language को सीखना क्यों जरुरी है?

अगर आप सी भाषा सीख लेते हैं तो आपके लिए दूसरी किसी भी प्रोग्रामिंग लैंग्वेज को सीखना आसान हो जाता है। सी भाषा को सीखने के बाद आप किसी भी दूसरी भाषा जैसे कि- जावा, पाइथन और C++ को बहुत कम समय में आसानी से सीख सकते हैं.

C के प्रोग्राम को execute करना आसान होता है और इससे आप बहुत प्रकार के सॉफ्टवेयर को बना सकते हैं.

C लैंग्वेज का इतिहास

  • C लैंग्वेज का अविष्कार वर्ष 1972 में डेनिस रिची (Dennis Ritchie) के द्वारा किया गया था।

  • डेनिस रिची ने C भाषा को अमेरिका में स्थित AT&T (अमेरिकन टेलीफोन एंड टेलीग्राफ) की Bell प्रयोगशाला में बनाया था।

  • डेनिस रिची का जन्म 9 सितंबर, 1941 में हुआ था। डेनिस रिची ने C लैंग्वेज के अलावा Unix ऑपरेटिंग सिस्टम को भी बनाया था।

  • पुराने समय में C भाषा का उपयोग केवल UNIX ऑपरेटिंग सिस्टम को लिखने के लिए किया जाता था।

  • हालांकि कुछ समय बाद इस भाषा ने काफी लोकप्रियता हासिल कर ली जिसकी वजह से इस भाषा का प्रयोग कई और कार्यो को करने के लिए किया जाने लगा।

  • सी भाषा से पहले कई और भाषा को विकसित किया गया था जैसे :- Algol, BCPL , ट्रेडिशनल C  और B आदि।

  • 1978 में कर्नी घन और डेनिस रिची दोनों ने ‘सी भाषा’ में और ज्यादा सुधार किया जिसके बाद वह सी प्रोग्रामिंग भाषा को पूरी दुनिया के सामने लेकर आये।

C लैंग्वेज और C++ में अंतर

इसके मध्य अंतर को नीचे दी गयी टेबल के आधार पर आसानी से समझ सकते हैं:-

C LanguageC++
यह एक procedural लैंग्वेज है.यह object oriented लैंग्वेज है.
इसे Denis Ritchie ने विकसित किया था.इसे Bjarne Stroustrup ने विकसित किया था.
यह encapsulation, polymorphism और inheritance को सपोर्ट नहीं करता है.यह encapsulation, polymorphism और inheritance को सपोर्ट करता है
यह फंक्शन ओवरलोडिंग और ऑपरेटर ओवरलोडिंग को सपोर्ट नहीं करता.यह फंक्शन ओवरलोडिंग और ऑपरेटर ओवरलोडिंग को सपोर्ट करता है.
यह C++ में लिखे कोड को run नहीं करती.यह C में लिखे कोड को रन कर सकती है.
यह built-in data type को सपोर्ट नहीं करती.यह built in डेटा टाइप को सपोर्ट करती है.
यह <stdio.h> हैडर फ़ाइल को सपोर्ट करती है.यह <iostream.h> हैडर फ़ाइल को सपोर्ट करती है.

Exam में पूछे जाने वाले प्रश्न

C लैंग्वेज क्या है?

सी (C) एक सामान्य उपयोग में आने वाली कम्प्यूटर की प्रोग्रामिंग भाषा है। इसका विकास डेनिस रिची ने bell टेलीफोन प्रयोगशाला में सन् 1972 में किया था जिसका उद्देश्य यूनिक्स ऑपरेटिंग सिस्टम का निर्माण करना था।

सी भाषा में कितने कीवर्ड होते हैं?

C programming language में 32 keywords हैं और C keywords हमेशा lowercase में लिखे जाते हैं.

 History of C Language

आज हम इस पोस्ट में History of C Language in Hindi (सी भाषा का इतिहास) के बारें में पढेंगे. इसे बहुत ही आसान भाषा में लिखा गया है. इसे आप पूरा पढ़िए, यह आपको आसानी से समझ में आ जायेगा. तो चलिए शुरू करते हैं:-

History of C Language  – सी भाषा का इतिहास

  • C लैंग्वेज एक प्रोग्रामिंग लैंग्वेज है जिसका इतिहास काफी दिलचस्प है। इस भाषा का अविष्कार वर्ष 1972 में डेनिस रिची (Dennis Ritchie) के द्वारा किया गया था। इसलिए डेनिस रिची को “C भाषा का पिता” भी कहा जाता है.

  • डेनिस रिची ने C लैंग्वेज को अमेरिका में स्थित AT&T (अमेरिकन टेलीफोन एंड टेलीग्राफ) की Bell प्रयोगशाला में बनाया था।

  • डेनिस रिची का जन्म 9 सितंबर, 1941 में हुआ था। डेनिस रिची ने C लैंग्वेज के अलावा एक और आविष्कार किया था. इन्होनें  Unix ऑपरेटिंग सिस्टम को भी बनाया था।

  • शुरुआती दिनों में C भाषा का उपयोग केवल UNIX ऑपरेटिंग सिस्टम में ही किया जाता था। C भाषा से पहले कई और भाषाओ को विकसित किया गया था। उदहारण के लिए- Algol, BCPL , ट्रेडिशनल C  और B आदि।

  • C Language उस समय की हाई लेवल प्रोग्रामिंग भाषाओ में से एक थी। 1978 में कर्नी घन और डेनिस रिची दोनों ने ‘सी भाषा’ में और सुधार किया जिसके बाद वे सी प्रोग्रामिंग भाषा को पूरी दुनिया के सामने लेकर आये।

  • ANSI द्वारा 1989 में C लैंग्वेज का एक स्टैण्डर्ड पब्लिश किया गया इस पब्लिश किये गए स्टैण्डर्ड के कारण इसको “ANSI C या “C89”  कहा गया और 1990 में ISO ने इस स्टैण्डर्ड को मंजूरी दे दी.

  • साल 1991 में लिनक्स कर्नेल का विकास C भाषा की मदद से किया गया था। जीएनयू (GNU) ऑपरेटिंग सिस्टम को C और लिस्प प्रोग्रामिंग भाषा की मदद से शुरू किया गया था।

  • आधुनिक समय में C लैंग्वेज का इस्तेमाल ऑपरेटिंग सिस्टम, एप्लिकेशन पैकेज और सॉफ़्टवेयर को विकसित करने के लिए किया जाता है। यह भाषा programmers की सबसे लोकप्रिय भाषाओ में से एक है।

  • 1999 में C लैंग्वेज का नया वर्जन लांच किया गया था जिसमे Data Type (char , float , int, double) जैसी नई सुविधाओं को शामिल किया गया था।

  • 2011 में C लैंग्वेज के नए वर्जन को लांच किया गया जिसका नाम C11 था।

  • 2018 में C लैंग्वेज के एक और वर्जन को लांच किया गया जिसे C18 नाम दिया गया. आज के समय में यूजर इसी वर्जन का इस्तेमाल कर रहे हैं.

नीचे आपको C लैंग्वेज के इतिहास को table के रूप में दिखाया गया है:-

भाषा का नामविकसित वर्षद्वारा विकसित किया गया
Algol1960International Group
BCPL1967Martin Richard
B1970Ken Thompson
Traditional C1972Dennis Ritchie
K & R C1978Kernighan & Dennis Ritchie
ANSI C1989ANSI Committee
ANSI/ISO C1990ISO Committee
C991999Standardization Committee

सी भाषा का विकास क्यों हुआ?

सी (C) एक सामान्य उपयोग में आने वाली कम्प्यूटर की प्रोग्रामिंग भाषा है। इसका विकास डेनिस रिची ने बेल टेलीफोन प्रयोगशाला में वर्ष 1972 में किया था जिसका उद्देश्य यूनिक्स ऑपरेटिंग सिस्टम का निर्माण करना था।

सी भाषा का आविष्कार कहां हुआ था?

C प्रोग्रामिंग लैंग्वेज 1972 में अमेरिकी कंप्यूटर वैज्ञानिक डेनिस एम. रिची द्वारा Bell Laboratories (पूर्व में AT&T Bell Laboratories) में विकसित की गई थी।

What is array & types of arrays?

array एक non-primitive तथा linear डेटा स्ट्रक्चर है जो कि एकसमान(similar) डेटा items का समूह होता है, अर्थात यह सिर्फ एक ही प्रकार के डेटा को ही स्टोर करेगा ( या तो यह सिर्फ सभी integer डेटा को स्टोर करेगा या फिर सभी floating point को )।

Array डेटा स्ट्रक्चर का प्रयोग डेटा ऑब्जेक्ट्स के समूह को संग्रहित करने के लिये किया जाता है।

“Arrays एक static डेटा स्ट्रक्चर है अर्थात् हम केवल compile time में ही मेमोरी को allocate कर सकते है और इसे run-time में बदल नही सकते है।”

Types of array :-

Arrays निम्नलिखित तीन प्रकार का होता है:-

1:- one dimensional arrays.
2:- two dimensional arrays.
3:- Multi dimensional arrays.

1:- one dimensional(1-D) arrays:-

वह arrays जिसमे सिर्फ एक subscript होती है उसे one dimensional arrays कहते है। इसका प्रयोग linear रूप में डेटा को स्टोर करने के लिए किया जाता है।

one dimensional array in hindi

2:- two dimensional(2-D) arrays:-

वह arrays जिसमें दो subscript होती है उसे two dimensional array कहते है। two dimensional arrays को matrix तथा table भी कहते है।

image

3:- Multi dimensional(M-D) arrays:

वह arrays जिसमें दो से ज्यादा subscript होती है वह Muti-dimensional arrays कहलाता है।

image 

 

मैमोरी एलोकेशन क्या है तथा इसके प्रकार क्या है?

Memory allocation एक ऐसी प्रक्रिया जिसमें कंप्यूटर प्रोग्राम्स को मेमोरी allocate की जाती है।

मेमोरी एलोकेशन दो प्रकार की होती है:-
1:- Static Memory Allocation
2:- Dynamic Memory Allocation

Static Memory Allocation

static memory allocation में मेमोरी को compile time में ही allocate कर दिया जाता है। इस allocation का प्रयोग तब किया जाता है जब मेमोरी की साइज़ fix (निश्चित) हो।

इसमें हम execution के दौरान मेमोरी को allocate और deallocate नही कर सकते है तथा जो variables होते है वह हमेशा के लिए allocate हो जाते है। stacks तथा heaps के द्वारा इस allocation को implement किया जाता है।

memory allocation in hindi

Dynamic Memory Allocation

वह प्रक्रिया जिसमें मैमोरी runtime में allocate की जाती है Dynamic memory allocation कहलाती है। Data segments के द्वारा इस allocation को implement किया जाता है।

कंट्रोल स्टेटमेंट क्या है? – Control Statement 

प्रोग्रामिंग भाषा में, प्रोग्राम के execution के flow को नियंत्रित करने के लिए जो स्टेटमेंट्स या structures प्रयोग किये जाते है उन्हें Control Statements (structures) कहते है.

Control Statements दो प्रकार के होते है:-

  1. Conditional statements
  2. Loop statements

1- Conditional Statements

ये निम्नलिखित प्रकार के होते है.

(a)- if statement

if statement एक control statement है जिसका प्रयोग एक विशेष कंडीशन को test करने के लिए किया जाता है. इसमें कंडीशन केवल एक बार execute होती है जब कंडीशन सत्य होती है.

syntax-

if (condition)
{
statements;
}
if statement in Hindi
if statement का चित्र

(b)- if-else statements

किसी विशेष कंडीशन को test करने के लिए if-else statement का प्रयोग किया जाता है. यदि कंडीशन सत्य है तो if statement को execute किया जाता है अगर कंडीशन असत्य है तो else statement को execute किया जाता है.

Syntax:-

if(condition)
{
statement
}
else
{
statement
}
if else statement in Hindi
if else का चित्र

(c)- Switch statement

switch statement एक multi-way branch स्टेटमेंट है.
यह statement एक selection स्टेटमेंट जो कि एक प्रोग्राम के execution के लिए विभिन्न paths को डिफाइन करता है.
यह if-else स्टेटमेंट के लिए विकल्प के तौर पर कार्य करता है.

Syntax

switch(variable)
{
case constant 1;
statements(s);
break:
case constant 2;
statement(s);
break;
case constant 3;
statement(s);
break;
-----------
default
statement(s);
}
switch statement in hindi
स्विच स्टेटमेंट का चित्र

(2)- Loop statements (लूप स्टेटमेंट्स)

Loop के द्वारा हम किसी एक स्टेटमेंट या बहुत सारें स्टेटमेंट्स को एक से ज्यादा बार execute कर सकते है जब तक कि condition को प्राप्त नहीं कर लिया जाता.

loop स्टेटमेंट निम्लिखित प्रकार के होते है:-

  1. while loop
  2. do-while loop
  3. for loop

1- while loop

while loop एक entry-controlled लूप है. इसमें स्टेटमेंट तब तक लगातार execute होते रहता है जब तक कि एक condition सत्य(true) नहीं हो जाती है. यह सबसे पहले condition की जांच करती है और बाद में स्टेटमेंट को execute करती है.

Syntax

while(condition)
{
statement1;
statement2;
-------------
}


image Fig:-while loop flowchart

2- do-while loop

यह loop एक exit-controlled लूप है. यह लूप भी while लूप की तरह ही है परन्तु यह पहले स्टेटमेंट को execute करता है तथा बाद में condition की जांच करता है.

यह loop यह सुनिश्चित करता है कि प्रोग्राम को कम से कम एक बार execute किया गया है.

Syntax

do
{
Statement1;
Statement2;
--------------
}
While (condition);



image Fig:-while loop flowchart

3- For Loop

यह एक entry controlled लूप है. इसमें स्टेटमेंट तब तक execute होता है जब तक कि condition सत्य नही हो जाती है. यह loop तीन घटकों initialization स्टेटमेंट, boolean स्टेटमेंट तथा increment/decrement स्टेटमेंट से मिलकर बना होता है.

Syntax

for(initial condition, test condition; incrementor or decrementor)
{
statement1;
statement2;
}


image
Fig:-for loop flowchart

अन्य स्टेटमेंट्स:- इनके अलावा कुछ और भी स्टेटमेंट्स है जो निम्न है:-

  1. Break statement
  2. Continue statement

1- Break statement

इस स्टेटमेंट का प्रयोग switch स्टेटमेंट में स्टेटमेंट के अनुक्रम(sequence) को समाप्त करने के लिए किया जाता है तथा किसी loop को तुरंत exit करने के लिए किया जाता है.

Syntax

break;


image

2- Continue statement

continue स्टेटमेंट का प्रयोग तब किया जाता है जब हम loop को लगातार अगले iteration के साथ run करना चाहते है तथा वर्तमान iteration के लिए लूप के अन्य स्टेटमेंट्स को skip करना चाहते है.

Syntax

continue;


image

Fig:-continue flowchart

What is variable ? (वेरिएबल क्या होता है?):-

वेरिएबल एक स्टोरेज एरिया होता है जिसका प्रयोग डेटा को स्टोर करने के लिए किया जाता है. variable डेटा को contain किये रहता है जिसे प्रोग्राम execution के समय कभी भी बदला जा सकता है.

वेरिएबल को declare करने के बाद इसे एक वैल्यू दी जाती है. इस को वैल्यू बराबर के चिन्ह (=) के द्वारा दी जाती है. जैसे- x = 5; या a = 10;
कभी भी वेरिएबल का प्रयोग करने से पहले इसे declare करना पड़ता है.

उदाहरण के लिए माना कि हमें किसी छात्र का नाम तथा उसका रोल नंबर वेरिएबल में स्टोर करना है. इसके लिए हम दो variables लेते है एक वेरिएबल में छात्र का नाम स्टोर करते है जबकि दुसरे वेरिएबल में रोल नंबर स्टोर करते है.

types of variable (वेरिएबल के प्रकार):-

वेरिएबल की अपनी एक सीमा या बाउंड्री होतो है जिसके बाहर वह कार्य नहीं करता है इस सीमा को variable का scope कहते है. वेरिएबल अपने स्कोप के आधार पर दो प्रकार का होता है जो निम्नलिखित है:-

1:- global
2:- local

1:- global variable (ग्लोबल वेरिएबल):-

ग्लोबल वेरिएबल एक ऐसा वेरिएबल होता है जो कि functions के बाहर declare होता है. ग्लोबल वेरिएबल का प्रयोग सभी functions में हो सकता है.

2:- local variable (लोकल वेरिएबल):-

लोकल वेरिएबल एक वेरिएबल है जो कि function के अन्दर declare होता है. लोकल वेरिएबल का प्रयोग केवल वहां पर होता है जहाँ पर फंक्शन declare होता है.

 

Functions in “c programming language”

Functions in c:-

Function एक piece of code होता है दुसरे शब्दों में कहें तो यह प्रोग्राम में एक प्रकार से एक sub-program की भाँती कार्य करता है.

किसी प्रोग्राम को बनाते समय कभी-कभी हमें आवश्यकता होती है कि हमें कुछ कोड्स के execution से प्राप्त result को प्रोग्राम में बार बार प्रयोग करना पड़ता है, ऐसी स्थिति में कोड्स को बार-बार नहीं लिखा जाता है बल्कि फंक्शन के रूप में main() फंक्शन के बाहर परिभाषित करके एक ही स्थान पर प्रयोग कर लिया जाता है. और फंक्शन से प्राप्त result को प्रोग्राम में प्रयोग करने के लिए उस फंक्शन को call कर लिया जाता है.
functions का फायदा यह है कि इससे हमारा समय तथा जगह दोनों कि बचत होती है.

फंक्शन का syntax:-

function name(arg1, arg2, arg3….)
{
statement1;
statement2;
statement3;
…………….
}

programming language “c” में फंक्शन दो प्रकार के होते है.
1:- Built-in-functions (बिल्ट-इन-फंक्शन)
2:- user defined functions (यूजर डिफाइंड फंक्शन)

1:- Built-in-function :-

बिल्ट-इन-फंक्शन वे फंक्शन होते है जिनके prototype प्रोग्रामिंग भाषा “सी” की header file में सुरक्षित रहते हैं. इन फंक्शन को प्रोग्राम में बस इनका नाम लिखकर इन्हें कॉल (call) किया जाता है और ये प्रोग्राम में क्रियान्वित हो जाता है. इसके उदाहरण:- scanf();, printf();, strcat(); आदि.

ये function “सी” प्रोग्रामिंग भाषा के library functions भी कहलाते है. इन सभी फंक्शन का सम्बन्ध किसी विशिष्ट “सी” लाइब्रेरी फाइल से होता है. ये विशेष लाइब्रेरी फाइल्स header files कहलाती है एवं इनका extension नाम .h होता है. अतः “सी” की लाइब्रेरी में स्थित वे सभी फाइल्स जिनका विस्तारित नाम .h होता है, हैडर फाइल्स कहलाती है.

“सी” में अनेक हैडर फाइल्स इनमे से कुछ निम्न है:-
Stdio.h
Math.h
String.h
Conio.h
time.h
ctype.h

2:- user defined function (यूजर डिफाइंड फंक्शन):-

यूजर डिफाइंड फंक्शन वे होते है जो कि यूजर के द्वारा प्रोग्राम को लिखते समय बनाये जाते है यानी कि डिफाइन किये जाते है. यूजर को जिस प्रकार की जरुरत होती है वह अपनी आवश्यकता के अनुसार फंक्शन को create कर सकता है.

प्रोग्रामिंग लैंग्वेज “सी” में प्रोग्राम लिखने के लिए एक main() फंक्शन की आवश्यकता होती है यह फंक्शन भी यूजर डिफाइंड फंक्शन है. प्रोग्राम का execution भी इसी प्रोग्राम से शुरू होता है.

फंक्शन का नाम “सी” में प्रयोग किये जाने वाले keywords के अतिरिक्त कुछ भी रखा जा सकता है.
फंक्शन के बाद () braces लगाना आवश्यक होता है, यह फंक्शन का सूचक होता है.
किसी फंक्शन को किसी अन्य फंक्शन तथा अपने आप में call किया जा सकता है.

 

‘C’ Pointer (पॉइंटर):-

pointer वह variable है जो कि array के address को contain किये रहता है.
या
पॉइंटर वह variable है जो कि दूसरें variable के address को contain किये रहता है.

address किसी भी साधारण वेरिएबल में सुरक्षित नहीं हो सकते, इनको सुरक्षित करने के लिए केवल pointers ही प्रयोग में लाये जाते हैं.

pointer पर किये जा सकने वाले वैध कार्य निम्नलिखित हैं:-

1:- एक cast ऑपरेटर को प्रयुक्त करके समान डेटा प्रकार के पॉइंटर्स को assign करना.

2:- एक pointer को किसी integer के साथ जोड़ना अथवा घटाना.

3:- किन्ही दो pointers का अन्तर ज्ञात करना अथवा उनकी तुलना करना जोकि एक ही array को point करते हों.

4:- किसी भी पॉइंटर को NULL assign करना अथवा NULL से तुलना करना.

 

pointer को प्रयोग करने हेतु विशेष निर्देश:-

‘C’ भाषा में पॉइंटर का विशेष महत्व है, pointer के प्रयोग से हम variable द्वारा used bytes की स्थितियां सुनिश्चित कर सकते हैं, जिससे प्रोग्राम की जटिलता और कम हो जाती है.

‘C’ प्रोग्रामिंग भाषा में pointers के प्रयोग से प्रोग्राम के कार्यान्वयन अधिक हो जाती है. साथ ही यदि pointer का सही प्रयोग ना किया जाए तो यह बहुत बड़ी गलती का कारण बन सकते हैं.
अतः पॉइंटर को किसी प्रोग्राम में प्रयोग करने से पहले यह सुनिश्चित कर लेना चाहिए कि पॉइंटर प्रोग्राम में सही स्थान पर प्रयोग किया है अथवा नहीं.

यहाँ पर प्रोग्रामिंग के दौरान pointer के प्रयोग में सामन्यतया होने वाली गलतियों तथा सावधानियों के बारें में बताया गया है. जो निम्न है:-

1:- पॉइंटर variable को घोषित करने के लिए हम पॉइंटर variable से पहले स्टार का प्रयोग करते है.

2:- जब तक पॉइंटर variable को मान प्रदान नहीं किया जाता वह garbage है अर्थात् उस पॉइंटर variable के मान का कोई महत्व नहीं है.

3:- पॉइंटर मेमोरी में used bytes का address कहलाता है.

4:- सामन्यतया कंप्यूटर में मैमोरी address शून्य से शुरू होते हैं. मैमोरी में सेलों की अधिक संख्या कंप्यूटर के प्रकार पर निर्भर करती है.

5:- सामन्यतया पॉइंटर में मुख्य गलती ampersand (&) ऑपरेटर की पायी जाती है जब पॉइंटर variable को मान प्रदान करते है तो हम सामान्य वेरिएबल से ampersand (&) का प्रयोग करना भूल जाते हैं. जिससे pointer में variable का address स्टोर नहीं हो पाता.

 

C operator & types of operator

Operators (‘सी’ भाषा में ऑपरेटर्स क्या है?):-

किसी भी प्रोग्रामिंग भाषा में प्रयोग किये जाने वाले operators वे संकेत होते हैं जो कि कंप्यूटर कम्पाइलर को गणितीय या लॉजिकल संगणनाएं करने के लिए निर्देश देते है.

सी भाषा में भी operator का प्रयोग गणना करने तथा निर्णय लेने के लिए ही किया जाता है. operator का प्रयोग वेरिएबल अथवा संख्याओं के साथ किया जा सकता है.

Types of operators (ऑपरेटर्स के प्रकार):-

‘सी’ प्रोग्रामिंग भाषा में operators के निम्नलिखित प्रकार होते है:-

1:- Arithmetic Operator (अरिथमेटिक ऑपरेटर)

2:- Relational Operator (रिलेशनल ऑपरेटर)

3:- Logical Operator (लॉजिकल)

4:- Bitwise Operator (बिटवाइज)

5:– Assignment Operator (असाइनमेंट)

6:– increment & decrement operators (इन्क्रीमेंट तथा डिक्रिमेंट)

7:- अन्य ऑपरेटर्स

1:- arithmetic operators (अंकगणितीय ऑपरेटर):-

arithmetic ऑपरेटर्स का प्रयोग आंकिक गणनाओं के लिए किया जाता है. ‘सी’ में arithmetic ऑपरेटर + का प्रयोग जोड़ (addition) के लिए, – का प्रयोग घटाने (substraction) के लिए, * का प्रयोग गुणा (multiply) के लिए, / का प्रयोग भाग (dividation) तथा % का प्रयोग भाग-अवशेष (modulo division) के लिए किया जाता है.

arithmetic operator

2:- Relational operators (रिलेशनल ऑपरेटर):-

जब दो संख्याओं में असमानता अथवा समानता प्रकट करते हुए लिखना होता है तब हम रिलेशनल ऑपरेटर का प्रयोग करते है. ‘सी’ भाषा में प्रयोग होने वाले रिलेशनल ऑपरेटर निम्नवत हैं:-

relational operator

3:- logical operators (लॉजिकल ऑपरेटर्स):-

‘सी’ में लॉजिकल ऑपरेटर का प्रयोग variables में लॉजिकल ऑपरेशन करने के लिए किया जाता है.

operatorsExample/Description
&& (logical AND)(a>6)&&(b<6)

यह true दिखाता है यदि दोनों कंडीशन सत्य(true) हो तो.

|| (logical OR)(a>=12)||(b>=12)

यह true दिखाता है यदि एक कंडीशन सत्य हो तो.

! (logical NOT)!((a>6)&&(b<6))

यह true return करता है जब conditions satisfy नहीं होती है तो

 4:- assignment operators (असाइनमेंट ऑपरेटर):-

जब किसी वेरिएबल को मान प्रदान किया जाता है, तो असाइनमेंट operator का प्रयोग किया जाता है. ‘सी’ भाषा में यह ऑपरेटर (=) है.

int x = 5;

इस ऑपरेटर के साथ अंकगणितीय ऑपरेटर (+, -, *,/ तथा, %) का प्रयोग करके बहुत छोटे स्टेटमेंट द्वारा वेरिएबल को मान प्रदान किया जा सकता है. जैसे, यदि हमें लिखना है-

Int x = x + 5;

इस स्टेटमेंट को हम इस प्रकार भी लिख सकते हैं.

int x += 5;

5:- bitwise operators (बिटवाइज ऑपरेटर):-

bit लेवल के ऑपरेशन करने के लिए c लैंग्वेज में बिटवाइज ऑपरेटर का प्रयोग किया जाता है.

bitwise operators

6:- increment & decrement operators (इन्क्रीमेंट तथा डिक्रिमेंट ऑपरेटर):-

ये ऑपरेटर्स किसी एक operand पर ही कार्य करते हैं. इनको unary operator भी कहते है.

जब हमें किसी वेरिएबल में से एक घटाना अथवा एक जोड़ना हो तो हम इन्क्रीमेंट अथवा डिक्रिमेंट ऑपरेटर का प्रयोग करते हैं.

‘सी’ में यह ऑपरेटर ‘–’ और ‘++’ है. इस operator में यह ध्यान रखना चाहिए कि ऑपरेटर वेरिएबल के दायीं ओर प्रयोग करना है अथवा बायीं ओर क्योंकि दिशा बदलने से इनका स्वभाव बदल जाएगा.

a++;

++a;

a–;

–a;

यदि वेरिएबल के बायीं और इस ऑपरेटर का प्रयोग किया जाता है, तो यह पहले वेरिएबल में एक जोड़ता अथवा घटाता है. यदि ऑपरेटर वेरिएबल के दाई ओर प्रयोग किया जाता है, तो यह ऑपरेटर बाद में घटाता अथवा जोड़ता है इसे इस प्रकार समझा जा सकता है मान लेते हैं कि a = 4 और b = 0 है तो-

b = ++a;

इस स्टेटमेंट में पहले a में एक जुड़ने के बाद वह मान b को भी प्रदान हो जाएगा. अब a और b दोनों वेरिएबल्स का मान 5 हो जाएगा.

यदि इस स्टेटमेंट को इस प्रकार लिखते हैं:-

b = a++;

इस स्टेटमेंट में पहले b को वेरिएबल a का मान प्राप्त होगा और उसके बाद a में एक जुड़ेगा. इस प्रकार b का मान 4 और a का मान 5 हो जाएगा.

7:- अन्य operators:-

सी भाषा में & ऑपरेटर का प्रयोग किसी भी वेरिएबल के एड्रेस को एक्सेस करने के लिए प्रयुक्त होते है.

size of ऑपरेटर का प्रयोग वेरिएबल के साइज़ को एक्सेस करने के लिए किया जाता है.

 

Parameter Passing & Passing Arguments

Parameter Passing – पैरामीटर पासिंग क्या है?

जब प्रोग्राम में किसी function को execute किया जाता है तो execution control जो है वह calling function से called function पर ट्रान्सफर हो जाता है और वहां function definition को execute करता है, और अंत में वह वापस calling function में आ जाता है.

जब execution control को calling function से called function में ट्रान्सफर किया जाता है तो यह एक या उससे ज्यादा data values को ले जा सकता है. इन data values को parameters कहते हैं.

तो हम कह सकते है कि “Parameters वो data values होती है जो calling function से called function में pass होती हैं.”

C में, दो प्रकार के parameters होते हैं:-

  1. Actual parameter
  2. formal parameter

actual parameter वे पैरामीटर होते हैं जिन्हें calling function में specify किया जाता है। formal parameter वे पैरामीटर होते हैं जिन्हें called function में declare किया जाता है.

C programming भाषा में, parameters को pass करने के दो तरीके होते हैं, जो कि निम्नलिखित हैं:-

  1. Call by value
  2. Call by reference

Call by value

Call by value में, actual parameters की values को formal parameter में copy किया जाता है और इन formal parameters का प्रयोग called function में किया जाता है.
“इसमें formal parameters में अगर कोई बदलाव किया जाता है तो उसका प्रभाव actual parameters पर नहीं पड़ता है.” इसका मतलब यह है कि जब execution control वापस calling function में जाएगा तो actual parameters की values समान रहेंगी, उनमे कोई बदलाव नही होगा.

इसका उदाहरण:-

#include <stdio.h>
int sum (int n);
void main()
{
int a = 5;
printf(“\n The value of ‘a’ before the calling function is = %d”, a);
a = sum(a);
printf(“\n The value of ‘a’ after calling the function is = %d”, a);
}
int sum (int n)
{
n = n + 20;
printf(“\n Value of ‘n’ in the called function is = %d”, n);
return n;
}

Call by reference

Call by reference में, actual parameter के मैमोरी एड्रेस को formal parameter में copy किया जाता है. इस address का प्रयोग called function में actual parameter के memory location को एक्सेस करने के लिए किया जाता है.
“इसमें अगर formal parameter में कोई बदलाव किया जाता है तो उसका प्रभाव actual parameters पर पड़ता है.”

इसका उदाहरण:-

#include <stdio.h>
int sum (int *n);
void main()
{
int a = 5;
printf(“\n The value of ‘a’ before the calling function is = %d”, a);
sum(&a);
printf(“\n The value of ‘a’ after calling the function is = %d”, a);
}
int sum (int *n)
{
*n = *n + 20;
printf(“\n value of ‘n’ in the called function is = %d”, n);
}

  • control statement क्या होता है?
  • pointer क्या है?

Difference between call by value and call by reference

call by valuecall by reference
value की copy को फंक्शन में pass किया जाता है.variable के address को फंक्शन में pass किया जाता है.  
formal parameters की values को change करने पर actual parameters की value में कोई बदलाव नही आता है.formal parameter में बदलाव करने पर actual parameter की values भी change हो जाती हैं.
इसमें actual और formal arguments को अलग अलग memory location पर create किया जाता है.इसमें actual और formal arguments को एक ही memory location पर create किया जाता है.
actual arguments जो है वह variable या constant कुछ भी हो सकता है.actual arguments जो है वह केवल variable हो सकता है. 

 


Steps in development of a program in C

जब भी हम किसी program को विकसित करते हैं तो हम steps के एक क्रम को follow करते हैं. Program development में इन steps को phases कहते हैं.

C में, program को develop करने के निम्नलिखित 7 steps होते हैं:-

  1. Problem Definition
  2. Program Design
  3. Coding
  4. Debugging
  5. Testing
  6. Documentation
  7. Maintenance
Steps in development of a program in C in Hindi

Problem Definition

  • यह program को develop (विकसित) करने का सबसे पहला step होता है.

  • इसमें हम उस problem को समझते है जिसके लिए program को develop करना है. अर्थात् इसमें problem को identify और understand किया जाता है.

  • इस स्टेप में, problem को formal रूप में define किया जाता है.

  • इसमें सभी factors जैसे कि – इनपुट/आउटपुट, मैमोरी की जरूरत, प्रोसेसिंग की जरूरत, error को handle करना आदि के बारें में विचार विमर्श किया जाता है.

Program Design –

  • प्रोग्राम को विकसित करने का दूसरा स्टेप program design होता है. इसमें प्रोग्राम को डिजाईन किया जाता है.

  • प्रोग्रामर flow-chart और algorithms जैसे tools का प्रयोग करके प्रोग्राम को डिजाईन करते हैं.

  • इसमें आम तौर पर प्रोग्राम का architecture बनाया जाता है.

Coding –

  • एक बार जब design की प्रक्रिया पूरी हो जाती है तो उसके बाद वास्तविक program को लिखा जाता है अर्थात् coding की जाती है.

  • इसमें C language के programming instructions (प्रोग्रामिंग निर्देशों) का पालन करते हुए program को लिखा जाता है.

  • यह सबसे महत्वपूर्ण step होता है क्योंकि इसमें problem को solve करने के लिए program को write करते हैं.

  • इस step में सभी syntax errors जैसे कि – spelling में गलती, comma ना लगाना, undefined labels आदि को हटाया जाता है.

  • Coding को करने में कम समय लगता है और यह program development का सबसे छोटा phase है.

Debugging

  • इस step में, program में उपस्थित errors को detect और correct किया जाता है. अर्थात् इसमें errors को खोज के उन्हें सही किया जाता है.

  • यह भी एक महत्वपूर्ण process है. Debugging को program validation भी कहते हैं.

  • इसमें हम program को test करते हैं और यह देखते है कि प्रोग्राम दी गयी problem को solve कर पा रहा है या नहीं.

  • इसमें यह भी check किया जाता है कि प्रोग्राम वांछित आउटपुट दे रहा है या नहीं.

Documentation –

  • Debugging के बाद हम documentation करते हैं.

  • डॉक्यूमेंटेशन उन users को मदद करता है जो software या program को maintain करते हैं.

  • यह सुनिश्चित करता है कि यदि future में प्रोग्राम में कोई बदलाव करना हो तो उसे आसानी से किया जा सके.

Maintenance

  • यह किसी program को develop करने का सबसे last स्टेप होता है.

  • इस phase में, प्रोग्राम को actual users के द्वारा use किया जा चूका होता है.

  • यदि किसी user को प्रोग्राम को use करने में कोई परेशानी आती है तो हमें सभी steps को दुबारा से दोहराने की जरूरत होती है. जिससे कि problem को solve किया जा सके.

  • सरल शब्दों में कहें तो, “इस phase में प्रोग्राम को update किया जाता है.”

 

 

String in C – C में स्ट्रिंग क्या है?

String in C

  • C प्रोग्रामिंग में, String (स्ट्रिंग) characters का एक क्रम होता है और इसे null (‘\0’) के द्वारा terminate (समाप्त) किया जाता है.

  • दूसरे शब्दों में कहें तो, “स्ट्रिंग, characters का एक one-dimensional array होता है जिसे null के द्वारा terminate किया जाता है.”

  • String का सबसे अंतिम character हमेशा null (‘\0’) होना चाहिए. इससे पता चलता है कि string कहाँ पर खत्म हो रही है.

  • Strings को हमेशा double quotes के अंदर रखा जाता है. जबकि character को single quote के अंदर रखा जाता है.

  • Array में प्रत्येक character एक byte मैमोरी लेता है.

  • इसका example – char c [] = “person”;

String को कैसे declare करते हैं?

एक string एक सरल array होता है जिसका डाटा टाइप char होता है. इसको declare करने का सामान्य syntax निम्नलिखित है:-

char str_name[size];

ऊपर दिए गये syntax में str_name जो है वह string variable को दिया गया नाम है और size का प्रयोग string की length को define करने के लिए किया जाता है. String का जितना size होगा उतने ही characters उसमें स्टोर हो पाएंगे.

String को initialize कैसे करते है?

एक string को initialize करने के बहुत सारें तरीके होते हैं. नीचे आपको example दिया गया है जिसकी मदद से आप इसको आसानी से समझ सकते हैं. इस example में str नाम का एक string है और इसे “YUGAL” के साथ initialize किया है.

char str [] = "YUGAL";

char str [40] = "YUGAL";

char str [] = {'Y','U','G','A','L','\ 0'};

char str [40] = {'Y','U','G','A','L','\ 0'};

नीचे आपको string “YUGAL” का memory representation दिया गया है.

string in c in Hindi

C String का सरल program

#include<stdio.h> 
  
int main() 
{    
// declare and initialize string 
char str[40] = "eHindiStudy"; 
      
// print string 
printf("%s",str); 
      
return 0; 
} 

इसका आउटपुट – eHindiStudy

ऊपर दिए गये program में string को declare और initialize किया गया है.

Function में string को pass करना

चूँकि strings जो है वे array characters होते हैं इसलिए हम function में string को उसी तरह pass कर सकते हैं जिस प्रकार हम array को करते है. नीचे इसका example दिया गया है.

#include<stdio.h> 
  
void printStr(char str[]) 
{ 
    printf("String is : %s",str); 
} 
  
int main() 
{    
// declare and initialize string 
char str[] = "eHindiStudy"; 
      
// print string by passing string  
    printStr(str); 
      
    return 0; 
} 

इसका आउटपुट:- String is : eHindiStudy

  • C में function क्या है?
  • C में operator क्या है?

C String Functions in Hindi

C लैंग्वेज में String.h file header सभी string functions को support करता है. सभी string functions नीचे दिए गये हैं:-

FunctionDescription
strcat(s1, s2)यह string s1 के अंत में string s2 को concatenate करता है. (concatenate मतलब जोड़ना.)
strcpy(s1, s2)यह s1 में s2 को copy करता है.
strlen(s1)यह s1 की length को return करता है.
strcmp(s1, s2)यह 0 return करता है यदि s1 और s2 समान है. और <0 return करता है जब s10 return करता है जब s1>s2.
strchr (s1, ch)यह s1 में character के पहले occurence के लिए pointer को return करता है.
strdup()यह स्ट्रिंग का duplicate बना देता है.
strlwr()यह स्ट्रिंग को lowercase में बदल देता है.
strupr()यह स्ट्रिंग को uppercase में बदल देता है.
strrev()यह स्ट्रिंग को reverse (उल्टा) कर देता है.
strtok()यह दिए गये स्ट्रिंग को delimeter का प्रयोग करके tokenize कर देता है.

String को traverse करना

किसी भी programming language में string को traverse करना एक महत्वपूर्ण पहलू है. किसी स्ट्रिंग को traverse करना integer array को traverse करने की तुलना में different होता है. स्ट्रिंग को traverse करने के लिए हम null character का प्रयोग करते है जिससे हमें string के end का पता चलता है.

स्ट्रिंग को traverse करने के दो तरीके होते हैं:-

  • string की length का प्रयोग करके
  • null character का प्रयोग करके.

 

Debugging – डिबगिंग क्या है?

Debugging in Hindi

  • Debugging एक प्रक्रिया है जिसके द्वारा software code में से errors और bugs को detect और correct किया जाता है.

  • दूसरे शब्दों में कहें तो, “Debugging एक महत्वपूर्ण तकनीक है जिसके द्वारा program में से bugs और errors को find किया जाता है उसके बाद उन्हें analyze करके fix किया जाता है.”

  • डिबगिंग की process में बहुत सारें steps होते है. सबसे पहले bug को identify किया जाता है उसके बाद bug के source को find किया जाता है और उसके बाद bug को fix करके program को error free बनाया जाता है जिससे कि program सही ढंग से काम करे.

  • डिबगिंग को करने के लिए debugger tools का प्रयोग किया जाता है debugger tools को debugger कहा जाता है.

Advantage of Debugging – डिबगिंग के लाभ

Debugging की प्रक्रिया तब ही शुरू हो जाती है जब program को लिखा जाता है. और यह software के बनने तक चलती रहती है. debugging के मुख्य लाभ निम्नलिखित हैं:-

  1. इसके द्वारा error को पहले ही detect कर लिया जाता है. जिससे software को develop करने की प्रक्रिया आसान और stress free (तनाव मुक्त) हो जाती है.

  2. यह data structure की बहुत ही महत्वपूर्ण जानकारी भी प्रदान करता है और इसे आसानी से interpret किया जा सकता है.

  3. डिबगिंग की मदद से programmer या developer, प्रोग्राम में से अनावश्यक और फालतू की जानकारी को हटा देते है.

  4.  इससे software को develop करने में लगने वाले समय की बचत होती है.

Steps of Debugging in Hindi – डिबगिंग के स्टेप

इसकी प्रक्रिया में अलग-अलग steps होते हैं. जो कि निम्नलिखित हैं:-

1:- Error को identify करना – इसका सबसे पहला स्टेप error को identify करना होता है. अगर हम error को identify करने में सफल नहीं होते तो हमारा बहुत सारा समय बर्बाद हो जाता है. ज्यादातर user के द्वारा रिपोर्ट किये गये error को interpret करना मुश्किल होता है. इसलिए वास्तविक error को identify करना बहुत जरुरी होता है.

2:- Error की location को find करना – error को identify करने के बाद हमें error की location का पता लगाना होता है. इसके लिए हमें पूरे code को अच्छे से देखना होता है और जहाँ पर error हुआ है उस जगह को find करना होता है. इस step में, हमें error को समझने की बजाय उसे find करना होता है.

3:- Error को analyze करना – यह इसका तीसरा स्टेप होता है. इसमें bottom up approach का प्रयोग error को analyze करने के लिए किया जाता है. इसके द्वारा हम error को समझ सकते है. Bug को analyze करने के दो मुख्य मकसद होते है. पहला दूसरे errors या bugs को find करना और दूसरा यह देखना कि अगर bug को fix कर दिया तो उसके द्वारा कोई समस्या तो नहीं होगी.

4:- Analysis को prove करना – जब आप original bug को analyze कर लेते है तो आपको applications में मौजूद अन्य errors को भी find करना होता है. इस step में automated tests को लिखा जाता है.

5:- बाद में होने वाली problem से बचना – इस स्टेप में, हमें code के लिए सभी unit tests को इक्कठा करना होता है. फिर हमें इन unit test को run करना होता है. और इन सभी unit test में कोई समस्या नहीं होनी चाहिए जिससे कि भविष्य में कोई problem ना हो.

6:- Fix & Validate – अंत में हमें सभी errors को fix करना होता है. fix करके इन्हें validate करना होता है.

Debugging tool – डिबगिंग टूल क्या है?

Debugging tool को debugger भी कहते है. यह एक computer program होता है जिसका प्रयोग दूसरे programs को debug और test करने के लिए किया जाता है.

बहुत सारें public domain software जैसे कि – gdb, और dbx आदि है जिनका प्रयोग हम debugging के लिए use कर सकते हैं. नीचे आपको बहुत ज्यादा प्रयोग किये जाने वाले debuggers की list दी गयी है.

  • Radare2
  • WinDbg
  • Valgrind
  • Microsoft visual studio debugger
  • Firefox JavaScript debugger
  • Eclipse debugger
  • Arm DTT (Allinea DDT)

Difference between Debugging and Testing – डिबगिंग और टेस्टिंग में अंतर

इनके मध्य अंतर निम्नलिखित हैं:-

TestingDebugging
टेस्टिंग bugs और errors को ढूंडने की एक प्रक्रिया है.यह टेस्टिंग के दौरान find किये गये bugs को correct करने की प्रक्रिया है.
टेस्टिंग को ज्यादातर testers के द्वारा perform किया जाता है.इसे developers या programmer के द्वारा पूरा किया जाता है.
टेस्टिंग को development team के द्वारा और बाहर के users के द्वारा किया जाता है.इसे सिर्फ development team के द्वारा किया जाता है इसे बाहर के users नहीं कर सकते.
यह अलग-अलग testing levels जैसे कि – system testing, integration टेस्टिंग आदि पर आधारित होती है.यह अलग-अलग प्रकार के bugs पर आधारित होती है.


Comments

Popular posts from this blog

C language in Hindi Part 2

Generation of Computer in Hindi