C
सी लैंग्वेज क्या है
दोस्तों आज के आर्टिकल में हम देखने वाले हैं C language in hindi जिसमें आपको C programming full course बेसिक से लेकर एडवांस तक हिंदी में मिलने वाला है.
अगर आप किसी भी प्रकार की प्रोग्रामिंग सीखना चाहते हो तो सबसे पहले आपको सी लैंग्वेज आना अनिवार्य है. क्योंकि सी लैंग्वेज कंप्यूटर की बेसिक प्रोग्रामिंग लैंग्वेज मानी जाती है. सी लैंग्वेज कंप्यूटर की मदर लैंग्वेज होती है इससे अन्य प्रोग्रामिंग लैंग्वेज एस का जन्म हुआ है.
अगर आप सच में सॉफ्टवेयर इंजीनियर या प्रोग्रामर बनना चाहते हैं तो आप यह आर्टिकल शुरू से लेकर लास्ट तक जरूर पढ़े क्योंकि इसमें हम आपको बेसिक से लेकर एडवांस तक पूरी सी लैंग्वेज हिंदी में सिखाने वाले हैं.
C programming language क्या है (what is c programming language in hindi)
C programming language हाई लेवल प्रोग्रामिंग लैंग्वेज है. जिसे Dennis Ritchie ने बनाया था. सी प्रोग्रामिंग लैंग्वेज का इस्तेमाल करके आप सॉफ्टवेयर या ऑपरेटिंग सिस्टम बना सकते हैं.
सी प्रोग्रामिंग लैंग्वेज बनाने का मुख्य उद्देश्य था ऑपरेटिंग सिस्टम बनाने वाली लैंग्वेज Develop करना. इसी हेतु से सी प्रोग्रामिंग लैंग्वेज का आविष्कार किया गया था. बाद में उसे कंप्यूटर प्रोग्राम बनाने के लिए भी उपयोग में लाया गया जिससे कि उपयोगी सॉफ्टवेयर बन सके.
सी प्रोग्रामिंग लैंग्वेज को सभी प्रोग्रामिंग लैंग्वेज का पेज भी कहा जाता है क्योंकि सभी प्रोग्रामिंग लैंग्वेज सी पर बेस है.
सी प्रोग्रामिंग लैंग्वेज को सभी प्रोग्रामिंग लैंग्वेजेस की मदर लैंग्वेज क्यों कहा जाता है ?
सी प्रोग्रामिंग लैंग्वेज को सभी प्रोग्रामिंग लैंग्वेज की मदर लैंग्वेज कहा जाता है क्योंकि C लैंग्वेज में इस्तेमाल होने वाले kernal, JVM, Compiler सी लैंग्वेज में ही लिखे गए हैं. और ज्यादातर प्रोग्रामिंग लैंग्वेज के सिंटेक्स C लैंग्वेज के सिंटेक्स से ही मिलते जुलते होते हैं. जैसे की java,C++,C# इत्यादि.
सी लैंग्वेज में इस्तेमाल होने वाले सभी बेसिक सिंटेक्स दूसरी सभी प्रोग्रामिंग लैंग्वेज में भी इस्तेमाल किए जाते हैं जैसे कि Array, List, Operator, Loops, Functions, List इत्यादि
C procedure oriented programming है –
सी लैंग्वेज को procedure oriented programming कहा जाता है क्योंकि सी लैंग्वेज में program Execution का जो फ्लोर होता है वह टॉप से लेकर बॉटम तक होता है. सी लैंग्वेज में एक प्रोसीजर लिखी जाती है जो टॉप से बॉटम तक Execute होती है और टास्क पूरा करती है.
C programming language को System programming language कहा जाता है ?
सी प्रोग्रामिंग लैंग्वेज को System programming language भी कहा जाता है क्योंकि C लैंग्वेज में ज्यादातर Operating System, Device driver, compiler या Kernel भी लिखे जाते हैं.
सी प्रोग्रामिंग लैंग्वेज को मिडिल लेवल प्रोग्रामिंग लैंग्वेज भी कहा जाता है क्योंकि सी लैंग्वेज हाई लेवल और मिडल लेवल प्रोग्रामिंग को भी सपोर्ट करती है. क्योंकि सी लैंग्वेज में pointer और अन्य मशीन लेवल के ऑपरेशन भी किये जाती है.
C लैंग्वेज का इतिहास (History of C language in hindi)
C programming language का आविष्कार 1972 में Dennis Ritchie के द्वारा AT&T लेबोरेटरी में किया गया था. Dennis Ritchie को सी लैंग्वेज का फाउंडर भी कहा जाता है. सी लैंग्वेज एक ऐसी लैंग्वेज है जो सबसे पहले ऑपरेटिंग सिस्टम बनाने के लिए विकसित की गई थी बाद में उसे कंप्यूटर के प्रोग्राम और सॉफ्टवेयर बनाने के लिए भी उपयोग में लाया गया.
सी लैंग्वेज के पहले भी कुछ कंप्यूटर प्रोग्रामिंग लैंग्वेज इज मौजूद थे जिनका नाम था B, BCPL इत्यादि. लेकिन इन प्रोग्रामिंग लैंग्वेज में कुछ कमियां थी जिसे Dennis Ritchie ने सी लैंग्वेज द्वारा दूर किया.
जैसा कि हमने देखा कि सी लैंग्वेज पुरानी कुछ प्रोग्रामिंग लैंग्वेज की कमियां दूर करने हेतु बनाई गई थी तो किसी कारणवश सी लैंग्वेज में पुराने कुछ लैंग्वेजस की प्रॉपर्टी इस्तेमाल की गई थी. सी लैंग्वेज पूरी तरह से नई लैंग्वेज नहीं बनाई थी वह पुरानी लैंग्वेज का ही एक एडवांस वर्जन था.
ऐसी कौनसी प्रोग्रामिंग लैंग्वेज है जो C programming language से पहले उपयोग में लाई जाती थी –
लैंग्वेज का नाम | किसने खोजी | कब खोजी गयी |
Algol | International Group | 1960 |
BCPL | Martin Richard | 1967 |
B | Ken Thompson | 1970 |
Traditional C | Dennis Ritchie | 1972 |
K & R C | Kernighan & Dennis Ritchie | 1978 |
ANSI C | ANSI Committee | 1989 |
ANSI/ISO C | ISO Committee | 1990 |
C99 | Standardization Committee | 1999 |
C लैंग्वेज के फीचर कोनसे है (features of C language in hindi)
दोस्तों अब हम C language in hindi में देखने वाले है कुछ C लैंग्वेज के प्रमुख फीचर जो C language को खास बनाते है –
1. Procedural Oriented-
सी लैंग्वेज को Procedural Oriented language भी कहा जाता है क्योंकि सी लैंग्वेज object oriented के किसी भी feature को सपोर्ट नहीं करती. सी लैंग्वेज में होने वाले सभी ऑपरेशन एक प्रोसीजर के रूप में होते हैं.
Procedural Oriented Language में प्रोग्राम का Execution टॉप से बॉटम तक होता है. जिसमें कंपाइलर Top से Bottom तक प्रोग्राम को कंपाइल करता है और operation परफॉर्म करता है.
2. Simple-
C लैंग्वेज को सिंपल लैंग्वेज कहा जाता है क्योंकि C language में इस्तेमाल होने वाले प्रोग्रामिंग सिंटेक्स काफी सिंपल होते हैं. और सी लैंग्वेज समझने में भी काफी आसान होती हैं.
C लैंग्वेज अलग-अलग प्रकार की लाइब्रेरी को सपोर्ट करती है जिसकी वजह से ही प्रोग्रामिंग करना काफी आसान हो जाता है क्योंकि सी में इस्तेमाल होने वाली सभी लाइब्रेरी प्रीटिफाई होती है जो कि पहले से ही लिखी होती है.
3. Portable-
C लैंग्वेज को portable प्रोग्रामिंग लैंग्वेज भी कहा जाता है क्योंकि सी लैंग्वेज में किया हुआ प्रोग्राम दूसरे किसी अन्य मशीन में execute हो सकता है. इसके लिए दोनों मशीन के स्पेसिफिकेशन(specifications) समान रखने की आवश्यकता है.
अगर इसका उदाहरण देखे तो अगर हमने एक windows 10 32 bit कंप्यूटर में C का एक का प्रोग्राम किया है तो वहीं समान प्रोग्राम हम दूसरे windows 10 32 bit मशीन में भी रन कर सकते हैं.
4. Functions & Libraries
सी लैंग्वेज काफी सारे फंक्शन और लाइब्रेरी को सपोर्ट करती है. जिसकी वजह से प्रोग्रामर को प्रोग्रामिंग करने में काफी आसानी हो जाती है. क्योंकि सी में दी गई लाइब्रेरी और फंक्शन pre-define होते हैं जो कि किसी कार्य को पूरा करने हेतु बनाई गई होती है.
अगर इसका एक अच्छा उदाहरण हम मान ले तो C में math नाम की एक लाइब्रेरी है जिसमें हमें गणित से संबंधित काफी सारे फंक्शन मिल जाते हैं जिसकी मदत से आप बिना कोडिंग किए गणितीय ऑपरेशन पुरे कर सकते है.
5. Pointer-
C language pointer concept को भी सपोर्ट करती है जिसकी मदद से हम डायरेक्ट मेमोरी से कनेक्ट हो सकते हैं. इसीलिए C language का उपयोग ऑपरेटिंग सिस्टम बनाने के कार्य में या किसी भी ऐसे कार्य में किया जाता है जो सीधे सिस्टम से जुड़े हो.
प्वाइंटर का उपयोग किसी भी लोकेशन को पॉइंट करने के लिए किया जाता है जिसकी मदद से हम उसने मेरी लोकेशन को एक्सेस कर सकते हैं.
6. Extensible
C लैंग्वेज को Extensible programming language कहा जाता है क्योंकि सी लैंग्वेज में हम काफी आसानी से नई पिक्चर adopt कर सकते हैं .
यह C लैंग्वेज का काफी अच्छा feature है जिसकी मदद से हम सी लैंग्वेज में new features बड़ी आसानी से adopt करते हैं.
7. C memory management-
सी लैंग्वेज मेमोरी मैनेजमेंट को काफी अच्छे से सपोर्ट करती है. इसके साथ ही सी लैंग्वेज Dynamic memory allocation को भी सपोर्ट करती है. जिसकी मदत से हम dynamically मेमोरी को free या allocate कर सकते हैं.
जिसके लिए – calloc() , malloc() , free() फंक्शन्स का इस्तेमाल किया जाता है.
8. General purpose language-
सी लैंग्वेज को General purpose language भी कहा जाता है क्योंकि सी लैंग्वेज का इस्तेमाल ज्यादातर ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर बनाने के लिए किया जाता है.
और कुछ बेसिक सॉफ्टवेयर जैसे की फोटो एडिटिंग सॉफ्टवेयर वीडियो एडिटिंग सॉफ्टवेयर में भी सी लैंग्वेज का इस्तेमाल किया जाता है.
और ज्यादातर डेटाबेस भी सी लैंग्वेज में बनाए जाते हैं इसीलिए सी लैंग्वेज को General purpose language भी कहा जाता है.
9. Modularity-
modularity का अर्थ होता है की ,हम c लैंग्वेज में कोड को लाइब्रेरी के फॉर्म में स्टोर कर सकते है और जब भी जरुरत पड़े उसे फिरसे इस्तेमाल कर सकते है.
यह C लैंग्वेज का काफी अच्छा फीचर है जिसकी मदत से हम एक बार लिखा गया कोड कही जगह इस्तेमाल कर सकते है.
10. Statically Type Language-
C एक Statically Type Language है जिसका मतलब होता की हम जब भी C लैंग्वेज का प्रोग्राम का लिखते है तो variable का टाइप कोनसा है यह compile टाइम पर चेक किया जाता है न की रन टाइम पर.
अब आपके मन में सवाल आया होगा की variable क्या होता है ? तो चिंता करने की कोई आवश्यकता नहीं ,क्योंकि हम C language in hindi में आगे इसपर भी बात करने वाले है.
C language tutorial in hindi
अब हम देखने वाले है C language tutorial in hindi- जिसमे हम C language से सम्बंधित पूरा कोर्स हिंदी में उदहारण के साथ देखने वाले है। अगर आप भी C language हिंदी में सीखना चाहते हो तो पूरा आर्टिकल जरूर पढ़े.
C language in hindi full course contents –
- C language Basic Syntax
- C language Keywords
- C language Data Types
- C language Variables
- C language Operators
- C language Decision Making
- C language Array
- C language Strings
- C language Structure
- C language Loops
- C language Input & Output
- C language Functions
- C language Pointer
दोस्तों अगर आप नए है और C लैंग्वेज को हिंदी में सीखना चाहते हो तो यह c language tutorial हिंदी में आपके लिए है. जिसमे हम C language basic in hindi में कवर करने वाले है.
1. C language Basic Syntax क्या है
अगर आप C langauge में नए है और उसे सीखना चाहते हो तो सबसे पहले आपको C langauge का Syntax ध्यान में रखना आवश्यक है. निचे दिया गया Syntex C language का सबसे basic सिंटेक्स है जिसके बिना C language का कोई भी प्रोग्राम पूरा नहीं होता.
#include<stdio.h>
#include<conio.h>
void main()
{
printf("Hello");
getch();
}
Program | Meaning |
#include<stdio.h> | यह C langauge की header file है जिसमे predefine फंक्शन होते है(Eg. printf()) |
#include<conio.h> | यह C langauge की header file है जिसमे predefine फंक्शन होते है(Eg. getch()) |
void main() | यहाँ से program का execution स्टार्ट होता होता है |
{ | प्रोग्राम में जो भी इंस्ट्रक्शन लिखे जाते है वह सब { के बाद लिखते है |
printf(“Hello”); | यह Function यूजर की स्क्रीन पर मैसेज दिखाने के लिए इस्तेमाल किया जाता है |
getch(); | यह फंक्शन केवल विंडो सिस्टम के लिए आउटपुट स्क्रीन को दिखाने के लिए उपयोग में लाया जाता है |
} | यह चिन्ह दर्शाता है की आपका प्रोग्राम, फंक्शन ,लूप ख़तम हुआ है |
2. C language Keywords क्या है
इसके बाद C language basic in hindi में अब हम बात करने वाले है C language के कीवर्ड क्या होते है इसके बारे में. तो आपको में बता दू की C language में जो keyword होते है वह कुछ ऐसे शब्द होते है जो लैंग्वेज बनाने वाले ने कुछ खास कार्य करने के लिए बनाये होते है. जो आप प्रोग्राम लिखते समय लिखते है. इन्ही सब कीवर्ड का मिलकर एक पूरा प्रोग्राम बनता है.
C language के keywords कोनसे है ?
double | else | long |
auto | switch | break |
enum | register | typedef |
case | extern | return |
union | char | float |
short | unsigned | const |
for | signed | void |
continue | goto | volatile |
default | if | static |
while | do | int |
struct | sizeof | _Packed |
3. C language Data Types क्या है
C language में Data type का इस्तेमाल Variable को Declare करने के लिए किया जाता है. वरीबाले किस प्रकार का डाटा स्टोर करेगा यह हमे डाटा टाइप से पता चलता है। इसीलिए C language में डाटा टाइप का काफी महत्व है।
निचे दिए गए कुछ डाटा टाइप्स है जो C language में इस्तेमाल किये जाते है-
Data Type | Data Type Size | Data Type Value Range |
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 2 or 4 bytes | -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 |
unsigned int | 2 or 4 bytes | 0 to 65,535 or 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 8 bytes or (4bytes for 32 bit OS) | -9223372036854775808 to 9223372036854775807 |
unsigned long | 8 bytes | 0 to 18446744073709551615 |
C language data type का example निचे दिया गया है –
int a;
long b=200;
float x=1.14;
char s="a";
4. C language Variables क्या है ?
प्रोग्रामिंग लैंग्वेज में किसी भी प्रकार का डाटा स्टोर करने के लिए जो memory लोकेशन को नाम दिया जाता है उसे variable कहा जाता है. C language में कही प्रकार के variable होते है जो डाटा टाइप से अगल-अलग होते है.
C language में variable declaration के rules कौनसे है ?
- Variable की शुरुवात किसी भी नंबर या स्पेशल symbol से न हो
- Variable में आप किसी भी alphabet या _ स्पेशल कॅरक्टर के बाद कोई भी नंबर इस्तेमाल कर सकते हो
- वेरिएबल केस सेंसटिव होते है
- उदहारण – int a; float b1; char _name3;
Variable Defination – Variable Defination का अर्थ होता है की केवल variable define किया है, की उसका नाम क्या होगा डाटा टाइप कौनसा होगा. लेकिन उसे कोई भी वैल्यू असाइन नहीं की जाती है.
Eg. int a;
Variable initialization – variable initialization में variable के डाटा टाइप के हिसाब से वैल्यू असाइन की जाती है.
Eg. int a = 5;
C language variable scope in hindi – C language में 3 प्रकार के variable स्कोप होते है जो निचे दिए गए है –
1. Local Variable Scope – जिस variable का access केवल एक ब्लॉक के अंदर होता है उसे local variable कहा जाता है.
2. Global Variable – जिस variable का access पुरे प्रोग्राम के अंदर होता है उसे Global variable कहा जाता है.
#include <stdio.h>
#include<conio.h>
/*global variable*/
int a = 20;
int main () {
/* local variable declaration */
int a = 10;
printf ("value of a = %d\n", a);
getch()
;
}
5. C language Operators कौनसे है
C language में variable के साथ कोई भी ऑपरेशन परफॉर्म करने के लिए ऑपरेटर का उपयोग किया जाता है. C language में निचे दिए गए operator का इस्तेमाल किया जाता है-
1. Arithmetic Operators क्या है ?
Arithmetic Operators का उपयोग नंबर से संबंधित या गणितीय ऑपरेशन संबंधित ऑपरेशन को परफॉर्म करने हेतु किया जाता है. निचे दिए गए कुछ ऑपरेटर है –
C language Arithmetic ऑपरेटर | डिस्क्रिप्शन | उदाहरण (int a=5, int b=5) |
+ | प्रोग्राम में Addition(+) या दो variable की value को जोड़ने का काम करता है | a + b = 10 |
– | प्रोग्राम में माइनस(-) का काम करता है | a – b = 0 |
* | प्रोग्राम में गुणाकार(*) का काम करता है | a * b = 25 |
/ | प्रोग्राम में विभाजन(/) का काम करता है | a / b = 1 |
++ | Variable की value तो 1 से Increment (बढ़ाना) का काम करता है | a++ = 6 |
— | Variable की value तो 1 से Decrement (घटाना) का काम करता है | a– = 4 |
% | विभाजन के बाद modulus ऑपरेटर और रिमाइंडर देता है | b % a |
2. Relational Operators क्या है ?
रिलेशनल ऑपरेटर का इस्तेमाल दो या दो से ज्यादा variable का एक दूसरे से रिलेशन चेक करने के लिए किया जाता है. या इसका उपयोग कर के आप variable की एक-दूसरे के साथ तुलना भी करते है.
Relational Operator से मिलने वाला आउटपुट True या False में होता है. तो निचे दिए गए रिलेशनल ऑपरेटर है जिनका उपयोग स प्रोग्रामिंग लैंग्वेज में किया जाता है –
C language Relational ऑपरेटर | डिस्क्रिप्शन | उदाहरण (int a=5, int b=5) |
< | a < b False | |
> | a > b False | |
<= | a <= b True | |
>= | a >= b True | |
== | a == b False | |
!= | a != b True |
3. Logical Operators क्या है ?
logical ऑपरेटर का इस्तेमाल कर के आप दो variable की कंडीशन एकसाथ चेक कर सकते है. तो निचे दिए गए कुछ प्रमुख लॉजिकल ऑपरेटर है जिन्हे हम उदहारण के साथ समझते है –
C language Logical ऑपरेटर | डिस्क्रिप्शन | उदाहरण (int a=5, int b=5) |
&& | AND ऑपरेटर का इस्तेमाल उस समय पर किया जाता है जब सभी conditions true होनी चाहिए तभी वैल्यू true return होगी | a > b && a ==b False |
|| | OR ऑपरेटर का इस्तेमाल उस समय पर किया जाता है जब सभी conditions में से कोई भी एक true होनी चाहिए तभी वैल्यू true return होगी | a > b || a ==b True |
! | NOT ऑपरेटर का इस्तेमाल AND और OR की कंडीशन को उल्टा करने के लिए किया जाता है | ! (a > b ) True |
4. Bitwise Operators क्या है ?
अबतक हमने C language in hindi में बहुत से ऑपरेटर देखे लेकिन यह ऑपरेटर उस सभी से थोड़ा लग है. इसमें bit पर ऑपरेशन परफॉर्म किया जाता है. जो की bit by bit ऑपरेशन होता है. निचे हमने bitwise ऑपरेटर उनके उदहारण के साथ दिए है –
C language Bitwise ऑपरेटर | डिस्क्रिप्शन | उदाहरण |
& | बाइनरी AND ऑपरेटर | a & b |
| | बाइनरी OR ऑपरेटर | a | b |
^ | बाइनरी XOR ऑपरेटर | a ^ b |
>> | बाइनरी RIGHT SHIFT ऑपरेटर | a >>3 |
<< | बाइनरी LEFT SHIFT ऑपरेटर | a <<3 |
~ | बाइनरी ONES COMPLIMENT ऑपरेटर | ~a |
5. Assignment Operators क्या है ?
किसी भी variable को वैल्यू assign करने के लिए assignment operator का इस्तेमाल किया जाता है. निचे C language tutorial in hindi में assignment ऑपरेटर के उदहारण दिए है –
C language Assignment ऑपरेटर | डिस्क्रिप्शन | उदाहरण |
= | Variable को वैल्यू assign करने के लिए = ऑपरेटर का इस्तेमाल किया जाता है | 1.a =5 2.a =b |
+= | यह ADD AND assignment ऑपरेटर है | b +=a |
-= | यह SUBSTRACT AND assignment ऑपरेटर है | b -=a |
*= | यह MULTIPLY AND assignment ऑपरेटर है | b *=a |
/= | यह DEVIDE AND assignment ऑपरेटर है | b /=a |
%= | यह MODULE AND assignment ऑपरेटर है | b %=a |
<<= | यह LEFT SHIFT AND assignment ऑपरेटर है | a <<3 |
>>= | यह RIGHT SHIFT AND assignment ऑपरेटर है | a >>3 |
&= | यह BETWISE AND assignment ऑपरेटर है | b &=a |
|= | यह Bitwise Inclusive OR और ऑपरेटर है | b | =2 |
^= | यह Bitwise exclusive OR और ऑपरेटर है | b ^=2 |
6. Ternary Operator क्या है ?
यह ऑपरेटर कुछ खास प्रकार के ऑपरेटर होते है ,जिनका उपयोग ज्यादा नहीं किया जाता लेकिन वह कभी-कभी काफी काम में आते है. तो अब हम Ternary Operator क्या है इसके बारे में उदाहरण के माध्यम से जानते है –
C language Ternary ऑपरेटर | डिस्क्रिप्शन | उदाहरण |
?: | condition expression डालने के लिए | c = a > b ? “a is greater than b” : “a is less than b”; |
& | वेरिएबल का address return करता है | &a; |
* | variable को पॉइंट करता है | *a; |
sizeof() | variable की size return करता है | sizeof(b) |
6. C language Decision Making क्या है ?
अबतक हमने जो भी देखा वह सब ज्यादातर बेसिक में ही आता है ,लेकिन अब हम देखने वाले है C language Decision Making के बारे में. जिसमे हमे प्रोग्राम का फ्लो कैसा होना चाहिए यह दर्शाने में मदत होती है.
उदहारण देखा जाये तो मान लेते है की हम Login का program लिख रहे है जिसमे हमे फ्लो देना है की अगर पासवर्ड करेक्ट है तो एडमिन पैनल दिखाये या फिर पासवर्ड गलत हो तो रॉंग पासवर्ड का मैसेज दिखाए. ऐसेही बहुत सारे Decision लेने के लिए Decision Making का इस्तेमाल किया जाता है.
Decision Making के लिए निचे दिए गए स्टेटमेंट का उपयोग किया जाता है –
1. if statement क्या है ?
c लैंग्वेज में if statement का इस्तेमाल कंडीशन को चेक करने के लिए किया जाता ह. जैसे की मन लेते है की हमे दो वेरिएबल की कंडीशन चेच करनी है जिसके लिए हमे रिलेशन ऑपरेटर की आवश्यकता पड़ने वाली है.
int a = 5 ;
int b = 5 ;
if(a == b )
{
printf("condition is true");
}
//aoutput
condition is true
2. if …else statement क्या है ?
हमने अभी C language in hindi में if कंडीशन के बारे में जाना केलिन कहिबार हमे ऐसा भी दिखाना होता है की यूजर अगर गलत वैल्यू एंटर करे तो उसे कुछ अलग फ्लो में ले जाना होता है या उसे रॉंग इनपुट का मैसेज दिखाना होता है.
इसके लिए C लैंग्वेज में if …else statement का उपयोग किया जाता है.
int a = 5 ;
int b = 3 ;
if(a == b )
{
printf("condition is true");
}
else
{
printf("condition is false ");
}
//aoutput
condition is false
3. if …else ladder क्या है ?
कहिबार हमे C लैंग्वेज में अनेक बार कंडीशन चेक करनी होती है ऐसे में केवल if….else statement से काम नहीं चलता। उस वक्त हमे if …else ladder का उपयोग करना पड़ता है.
int a = 1;
if(a == 1 )
{
printf("one");
}
else
if(a == 2)
{
printf("two");
}
else
if(a == 3)
{
printf("three");
}
else
{
printf("wrong choice");
}
//aoutput
one
4. switch statement क्या है ?
कहिबार हमे एक ही कंडीशन या अनेक केसेस में टेस्ट करना पड़ता है ऐसे में हम if …else ladder का भी इस्तेमाल कर सकते है. लेकिन इससे भी आसान एक तरीका है जिसका नाम है switch statement . इसकी मदत से हम एक ही एक्ष्प्रेस्सिओं कही केसेस में टेस्ट कर सकते है.
int a = 3;
switch(a)
{
case 1 :
printf("one");
break;
case 2 :
printf("two");
break;
case 3 :
printf("three");
break;
default :
printf("wrong choice");
break;
}
//aoutput
three
7. C language Array क्या है ?
array को C language का data structure कहा जाता है. array समान सत्ता टाइप के memory block बनता है जो की same datatype की अनेक वैल्यूज को स्टोर करता है.
C language में array कैसे डिक्लेअर करते है ?
data type arrayName [ arraySize ];
int a[3];
इस उदहारण में जो array declare किया है वह integer datatype के 3 memory block बनाएगा जो की a[0], a[1], a[2] होगा.
C language में array कैसे initialize करते है ?
a[0] = 1;
a[1] = 2;
a[2] = 3;
array को values assign किये है अब हमे देखना है की values को कैसे access करनी है –
printf(a[0]);
printf(a[1]);
printf(a[2]);
/output
1 2 3
8. C language Strings क्या है ?
characters अगर हम एक sequence में लिखे तो उसे string कहा जाता है. C language में अगर string declare करनी हो तो हमे characters का array declare करना होता है.
अगर हम simple character array declare करते है तो वह ऐसा आएगा –
लेकिन यह तरीका ज्यादा आसान नहीं लगता इसीलिए C language में string concept इस्तेमाल की जाती है. C लैंग्वेज में अगर string define और declare करनी हो तो निचे दिया गया syntax इस्तेमाल किया जाता है –
C language में string end करने के लिए \0 का इस्तेमाल किया जाता है. हमे यहाँ पर स्ट्रिंग के लिए कही सारे pre-define function है जिनके बारे में है.
strcpy(string1 , string1) – एक string दूसरे string में कॉपी करने के लिए इस फंक्शन का उपयोग किया जाता है.
strcat(string1 , string1) – एक string दूसरे string में join करने के लिए इस फंक्शन का उपयोग किया जाता है.
strlen(string1) – string की length find करने के लिए इस फंक्शन का उपयोग किया जाता है.
strcmp(string1 , string1) – एक string दूसरे string से compare करने के लिए इस फंक्शन का उपयोग किया जाता है.
9. C language Structure क्या है ?
अब हम C language in hindi में Structure क्या है इसके बारे में जानने वाले है. अबतक हमने देखा की C लैंग्वेज में variable एक datatype की स्टोर करता है. लेकिन कहिबार हमे ऐसे data structure की आवश्यकता होती है जो अनेक datatype के variables को सपोर्ट करे.
ऐसे में C language में स्ट्रक्चर का इस्तेमाल किया जाता है. निचे दिए गए syntax से हम structure define कर सकते है –
struct structure_name {
datatype variable1;
datatype variable2;
....
datatype variable-n;
} structure_variable_name1, structure_variable_name2, structure_variable_name-n;
अगर हम स्ट्रक्चर वेरिएबल का उदहारण ले तो निचे दिया गया उदहारण सबसे अच्छा रहेगा जिसमे स्टूडेंट का डाटा लेने के लिए structure बनाया गया है –
struct student {
int roll_number ;
char name[100];
} stud_info;
//assign values
stud_info.roll_number = 21;
stud_info.name = "shailendra";
10. C language Loops क्या है ?
अब हम देखने वाले है C language की सबसे काम में आने वाली concept जिसका नाम loop .दोस्तों कही बार प्रोग्रामिंग में ऐसी स्तिथि आ जाती है की हमे एक ही ब्लॉक कहिबार execute करना होता है. जिसके लिए हम manual code लिखे तो काफी ज्यादा code लिखना पड़ सकता है. या कहिबार तो code इतना हो सकता है की लिखना संभव ही न हो.
ऐसे में C language में Loop का इस्तेमाल किया जाता है. जिसकी मदत से हम एक ही block कहिबार execute कर सकते है. अब हम C language in hindi देखते है की C language में कितने प्रकार के Loop होते है –
1. while loop –
C language loops क्या है ? इसमें सबसे पहला loop आता है while loop जिसे हम निचे दिए गए एक साधारण उदहारण के माध्यम से समझते है – जिसमे हमे 1 से 10 तक के अंक प्रिंट करने है.
int i = 0 ;
while(i < 10)
{
printf("%d",i);
i++;
}
//output
1
2
3
4
5
6
7
8
9
1o
इस दिए गए उदाहरण में सबसे पहले कंडीशन चेक की जाएगी a < 10 अब कंडीशन True है तो i की पहली value प्रिंट की जाएगी जो होगी i[0] = 1 उसके बाद i++ की मदत से i की वैल्यू को इन्क्रीमेंट किया जायेगा तब ऐसा होगा – i[1] = 2 . ये ऐसे ही चलता जायेगा जबतक कंडीशन false न हो जाये.
2. do while loop –
यह loop भी बिल्कुक while loop के जैसा ही है लेकिन इसमें सबसे पहले loop एक बार execute हो जाता है और उसके बाद कंडीशन चेक की जाती है. जिसको हम निचे दिए गए उदहारण के माध्यम से समझने की कोशिश करते है.
int i = 1 ;
while(i > 10)
{
printf("%d",i);
i++;
}
//output
1
अब इस उदहारण में आप देख सकते है की कंडीशन false थी फिर भी loop एक बार execute हुआ है. मतलब इसका उपयोग उन conditions में किया जाता है जहाँपर आपको condition true हो या false हो loop को एक बार ही सही लेकिन execute करना ही होता है.
3. for loop –
यहाँ पर अब C language in hindi इस C language full course in hindi में हम पहुंच गए है for लूप तक. for loop भी बिकुल while लूप जैसा ही कार्य करता है. लेकिन इसका लिखने का syntax काफी simple है. तो अब हम C language में for loop कैसे होता है यह उदहारण के माध्यम से समझते है.
for(int i = 0 ; i < 10 ; i++)
{
printf("%d",i);
}
//output
1
2
3
4
5
6
7
8
9
1o
हम देख ही सकते है की for loop का output भी बिलकुल while loop जैसे ही होता है लेकिन इसमें variable declaration, initialization और increment/decrement एक ही लाइन में किया जाता है. जो की इस्तेमाल करने में आसान है.
4. nested loop –
कहिबार हमे loop अंदर loop लिखने की आवश्यकता पड़ जाती है ऐसे में हम nested loop का इस्तेमाल करते है. अब हम nested loop को समझने के लिए for को nested loop बनाते है –
for(int i = 0 ; i < 10 ; i++)
{
for(int j = 0 ; j < 10 ; j++)
{
printf("%d",i,j);
}
}
10. C language Input & Output क्या है ?
C लैंग्वेज में प्रोग्राम को इनपुट या आउट देने के लिए printf() और scanf() इन pre-define फंक्शन का उपयोग किया जाता है. जिनके लिए हमे अलग से कोड लिखने की आवश्यकता नहीं होती. वह #include<stdio.h> में पहले से मौजूद होते है.
1. C language Input –
C लैंग्वेज में अगर हमे कोई भी डाटा यूजर से लेना होता है तो हम उस समय इनपुट का इस्तेमाल करते है. C लैंग्वेज में डाटा लेने के लिए कमांड लाइन का उपयोग किया जाता है. यूजर कोई भी डाटा कमांड लाइन इंटरफ़ेस के माध्यम से देता है.
2. C language Output –
C लैंग्वेज में अगर हमे आउटपुट दिखाना होता है तब आउटपुट का उपयोग किया जाता है. C language का आउटपुट भी कमांड लाइन पर ही दिखाया जाता है. आउटपुट हमारा वह भाग होता है जो यूजर देख सकता है. या फिर इनपुट दिए हुए डाटा पर कुछ ऑपरेशन परफॉर्म करने के बाद का भाग आउटपुट होता है.
उदहारण –
#include<stdio.h>
#include<conio.h>
void main()
{
int a;
printf("Enter any number"); //output message
scanf("%d",&a); //input from user
printf("number is =%d",a); //show output
getch();
}
11. C language Function क्या है ?
C लैंग्वेज फंक्शन एक ऐसा यूनिट होता है जो सभी टास्क को एक यूनिट में wrap करता है. वह सभी ऐसे टास्क को व्रैप करता है जो किसी एक ऑपरेशन को पूरा करने के लिए बनाया गया है.
C language में कम से कम एक फंक्शन होना जरुरी है. अगर यूजर कोई भी फंक्शन नहीं लिखता तब C लैंग्वेज में main() फंक्शन आपने आप ही लिया जाता है.
अगर आप काफी बड़ा कोड लिख रहे हो तो आप उसे फंक्शन के माध्यम से divide कर सकते हो. या फिर ऐसा कोई कोड है जो काफी बार पुरे प्रोग्राम के लगने वाला है उसे भी आप एक फंक्शन में लिख सकते हो.
सी लैंग्वेज में फंक्शन दो प्रकार के होते है :-
Predefined Standard Library Functions- printf(), scanf(), strcat() आदि Predefined Standard Library Functions के उदाहरण है जिनका Definition लाइब्रेरी फाइल्स में होता है और Declaration हैडर फाइल्स (जैसे studio.h, conio.h, string.h) में होता है |
User Defined functions-ऐसे functions जो पहले से defined नहीं होते तथा जिनको प्रोग्रामर या यूजर द्वारा प्रोग्राम में खुद से define किया जाता है, User Defined functions कहलाते है |
यूजर डिफाइंड फंक्शन का सिंटेक्स कुछ ऐसा होता है –
return_type function_name( argument list )
{
body of the function
}
12. C language Pointers क्या है ?
हर एक Variable का एक Memory Address होता है और Memory Address देखने के लिए Programmer को variable से पहले ‘&'(address operator) लगाना पड़ता है |
for eg.
int a ; printf("Address of a : %d", &a);
Output:
Address of a : 6356748 // 6356748 is address of variable
इसी memory address की मदद से Variable की value को access किया जाता है , इसी को ‘Pointers’ कहते है |
Pointer किसी दूसरे variable का address hold करके रखता है |
हर एक variable का एक address होता है | जब variable declare होता है तभी उसका एक memory location पर वो store होता है |
For Example
int a = 10;
Variable_or_Location_name | a | |
Variable_value | 10 | Location |
Memory Address | 6356748 |
Syntax for Pointer Declaration
data_type *pointer_name;
Example for Pointer Declaration
int *ptr1; // integer pointer variable char *ptr2; // character pointer variable float *ptr3; // float pointer variable double *ptr4; // double pointer variable
किसी integer data type variable का address hold करना है तो pointer भी उसी data type का होगा जिस data type का variable हो, मतलब variable int है तो pointer भी int ही होगा, अगर variable char हो तो pointer variable भी char ही होगा | Pointer किसी की value hold करके नहीं रखता, बल्कि सिर्फ उसका address hold करके रखता है और उस address से ही pointer के साथ variable के value को print किया जाता है |
Full Example for Pointer
Source Code :
#include <stdio.h> int main(){ int a = 10; int *ptr; // Integer Pointer Variable ptr = &a; //address of a stored in ptr printf("Value of a is: %d\n", a); printf("Address of a is: %u", ptr); return 0; }
Output :
Value of a is: 10 Address of a is: 6356744
Note : Pointer का address साधारणतः Hexadecimal Numbers होते है, पर कुछ compiler अपना address integer में print करते है | Variable का address print कराने के लिए ‘%x’ या ‘%u’ इन Format Specifiers का इस्तेमाल करते है |
13. C language Strings क्या है ?
- Strings characters का समूह होता है |
- Strings ये One-dimensional array होता है, जिसमे सिर्फ characters होते है |
- String का आखिरी character ‘NULL'(\0) होता है |
- अगर पूरा string लिखना हो तो उसे double quotes ( ” ” ) में लिखा जाता है | अगर एक-एक character को लिखना हो तो उसे single quotes ( ‘ ‘ ) में लिखा जाता है |
- String का data type character (char) होता है |
Example for Single Character String
char str1[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
Example for Multiple Character String
char str2[6] = "Hello";
Example for Multiple Character String without using Array_size
char str3[] = "Hello";
Source Code :
#include <stdio.h> int main(){ char str1[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; char str2[6] = "Hello"; char str3[] = "Hello"; printf("Value of str1 : %s\n", str1); printf("Value of str2 : %s\n", str2); printf("Value of str3 : %s", str3); return 0; }
Output :
Value of str1 : Hello Value of str2 : Hello Value of str3 : Hello
String Representation
Note :String में एक से अधिक character होते है इसीलिए ‘%s’ इस fomat specifier का इस्तेमाल करते है | अगर single character को print करना हो तो ‘%c’ इस format specifier का इस्तेमाल किया जाता है |
Print String using ‘%s’ format specifier
char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Value of str : %s\n", str1);
Output :
Value of str : Hello
Print String using ‘%c’ format specifier
Source Code :
char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Value of str[0] : %c\n", str[0]); printf("Value of str[1] : %c\n", str[1]); printf("Value of str[2] : %c\n", str[2]); printf("Value of str[3] : %c\n", str[3]); printf("Value of str[4] : %c\n", str[4]); printf("Value of str[5] : %c\n", str[5]);
Output :
Value of str[0] : H Value of str[1] : e Value of str[2] : l Value of str[3] : l Value of str[4] : o Value of str[5] : NULL Character is not shown
index of array | str[0] | str[1] | str[2] | str[3] | str[4] | str[5] |
Array Elements | H | e | l | l | o | \0 |
Memory Address | 6356728 | 6356732 | 6356736 | 6356740 | 6356744 | 6356748 |
String Working with size (sizeof)
Program में हर एक String के initialization में अलग-अलग size है | दिए हुए array के size की memory allocate की जाती है | अगर Array का size नहीं दिया जाता तो जितनी size string की है उतनी size array allocate करता है |
Source Code :
#include <stdio.h> int main(){ char str1[20] = {'H', 'e', 'l', 'l', 'o', '\0'}; char str2[10] = "Hello"; //using array_size char str3[] = "Hello"; //without using array_size printf("Size of of str1 : %d\n", sizeof(str1)); printf("Size of str2 : %d\n", sizeof(str2)); printf("Size of str3 : %d", sizeof(str3)); return 0; }
Output:
Size of of str1 : 20 Size of str2 : 10 Size of str3 : 6
String using *Pointer
Source Code :
#include <stdio.h> int main(){ char *ptr = "Hello"; printf("%s\n", ptr); return 0; }
Output :
Hello
इन Functions को Program में इस्तेमाल करना हो तो string.h या strings.h इन header file को include करना पड़ता है |
String Function | Description |
---|---|
strcat | एक String से दूसरे String को जोड़ा जाता है | |
strchr | दिए हुए string से एक character का पहला occurrence के आगे का string pointer को return करता है | |
strcmp | दो String को Compare किया जाता है | ये case-sensetive है | |
strcmpi | दो String को Compare किया जाता है | ये case-sensetive नहीं है | |
strcpy | एक string को दूसरे string में copy करता है | |
strdup | String का duplicate बनाता है | |
strlen | String की Length निकाली जाती है | |
strlwr | Uppercase के Characters को Lowercase में convert किया जाता है | |
strncat | दिए हुए number के जितने character है उनसे String को जोड़ा जाता है | |
strncpy | दिए हुए number के जितने character एक string से दूसरे string में copy किया जाता है | |
strnset | दिए हुए number और दिए हुए character के हिसाब से string को replace करता है | |
strrchr | दिए हुए string से एक character का आखिरी occurrence के आगे का string pointer को return करता है | |
strrev | String को उलटी दिशा से print करता है | |
strrstr | दिए हुए String का आखिरी string occurrence के आगे का string pointer को return करता है | |
strset | दिए हुए character से पूरे string को replace करता है | |
strstr | दिए हुए String का पहला string occurrence के आगे का string pointer को return करता है | |
strupr | Lowercase के Characters को Uppercase में convert किया जाता है | |
strcat() – String Function
strcat ये String का एक Function है | एक String से दूसरे String को जोड़ा जाता है |
Syntax for strcat()
strcat(destination_string, source_string);
Destination_string – ये वो parameter है जिसके साथ source का string जोड़ा जाता है | String के आखिर में null character (\0) होता है | Source string destination string के साथ जुड़ते समय उसको remove कर देता है |
Source_string – ये वो parameter है जिसका string destination string के साथ आखिर में जोड़ा जाता है |
किसी integer value को एक variable को दूसरे variable से जोड़ना हो तो arithmetic operator (+) का use नहीं कर सकते |
for e.g.
int num1 = 5 ;
int num2 = 5 ;
int num3 = num1 + num2 ;
इनका output 55 मिलना चाहिए लेकिन इनका output 10 मिलेगा |
किसी char को भी एक दूसरे से arithmetic operators के साथ नहीं जोड़ा जा सकता |
Source Code :
#include <stdio.h> #include <string.h> int main (){ char str1[20] = "Welcome"; char str2[20] = " Friend"; strcat(str1, str2); printf("Concatenation String : %s", str1); return 0; }
Output :
Concatenation String : Welcome Friend
strchr() – String Function
दिए हुए string से एक character का पहला occurrence के आगे का string pointer को return करता है |
Syntax for strchr()
strchr(string, int character);
string – ये एक normal string है |
int character – ये दिए हुए string में से दिए हुए character का पहला occurrence के आगे का string pointer को return करता है |
अगर दिया हुआ character string को नहीं मिलता तो वो NULL character return करता है |
Source Code :
#include <stdio.h> #include <string.h> int main (){ char str[] = "Hello Friends"; char *ptr; ptr = strchr(str, 'F'); printf("%s", ptr); return(0); }
Output :
Friends
strcmp() – String Function
दो String को Compare किया जाता है | ये case-sensetive है |
Syntax for strcmp()
strcmp(string1, string2);
string1 -ये वो String है जिसके साथ String2 को Compare किया जाता है |
string2 – ये वो String है जिसके साथ String1 को Compare किया जाता है |
अगर दोनों string एक जैसे होते है तो ये ‘0’ return करता है |अगर दोनों string अलग-अलग होते है तो ‘1’ या ‘-1’ return करता है |
Note : ये strcmp() function case-sensitive है | इसमें ‘h’ और ‘H’ ये दोनों अलग-अलग है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str1[] = "Hello" ; char str2[] = "World" ; int a = strcmp(str1, str2) ; printf ("%d\n", a) ; int b = strcmp(str1, "Hello") ; printf ("%d\n", b) ; int c = strcmp(str1, "hello") ; // strcmp is case-sensitive printf ("%d\n", c) ; return 0; }
Output :
-1 0 -1
strcmpi() – String Function
दो String को Compare किया जाता है | ये case-sensetive नहीं है |
Syntax for strcmpi()
strcmpi(string1, string2);
string1 – ये वो String है जिसके साथ String2 को Compare किया जाता है |
string2 – ये वो String है जिसके साथ String1 को Compare किया जाता है |
अगर दोनों string एक जैसे होते है तो ये ‘0’ return करता है |अगर दोनों string अलग-अलग होते है तो ‘1’ या ‘-1’ return करता है |
Note : ये strcmpi() function case-sensitive है | इसमें ‘h’ और ‘H’ ये एक ही अलग-अलग है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str1[] = "Hello" ; char str2[] = "World" ; int a = strcmpi(str1, str2) ; printf ("%d\n", a) ; int b = strcmpi(str1, "Hello") ; printf ("%d\n", b) ; int c = strcmpi(str1, "hello") ; // strcmpi is not case-sensitive printf ("%d\n", c) ; return 0; }
Output :
-1 0 0
strcpy() – String Function
दो String को Compare किया जाता है | ये case-sensetive नहीं है |
Syntax for strcpy()
strcpy(destination_string, source_string);
destination_string – ये वो parameter है जिसपर source के string की value copy की जाती है | अगर destination string पर कोई value भी हो तो वो overwrite हो जाती है |
source_string – ये वो parameter है जिसकी value destination पर copy की जाती है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str1[20] = "Welcome"; char str2[20] = "Friend"; printf("Value of str2 = %s\n", str2 ); strcpy(str2, str1); printf("Copy str1 to str2 = %s", str2 ); return 0; }
Output :
Value of str2 = Friend Copy str1 to str2 = Welcome
strdup() – String Function
String का duplicate बनाता है |
Syntax for strdup()
strdup(string);
string – ये String है जिसका duplicate बनाया जाता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[] = "Hello World"; char *ptr; ptr = strdup(str); printf("Duplicate string : %s", ptr); return 0; }
Output :
Duplicate string : Hello World
strlen() – String Function
String की Length निकाली जाती है |
Syntax for strlen()
strlen(string);
string – ये एक normal string है, जिसकी length निकली जाती है |
strlen से निकला हुआ output integer value ही होती है ,ये किसी दूसरे integer variable में भी store करके रख सकते है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[30] = "Hello World"; int length ; printf("String : %s\n", str); length = strlen(str); printf("Length of str is %d", length); return 0; }
Output :
String : Hello World Length of str is 11
strlwr() – String Function
Uppercase के Characters को Lowercase में convert किया जाता है |
Syntax for strlwr()
strlwr(string);
string – ये वो string है जिसको lowercase में convert किया जाता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[50] = "HELLO WORLD"; int lwr ; printf("String : %s\n", str ); printf("Lowercase of str = %s", strlwr(str)); eturn 0; }
Output :
String : HELLO WORLD Lowercase of str = hello world
strncat() – String Function
दिए हुए number के जितने character है उनसे String को जोड़ा जाता है |
Syntax for strncat()
strncat(destination_string, source_string, size_t num);
destination_string – ये वो string जिसके साथ source string को जोड़ा जाता है |
source_string – ये वो string जिसके साथ destination string को बाद में जोड़ा जाता है |
size_t num – यहाँ पर जो integer value दी जाती है उतने character वो source string से लेता है |
Program में strncat(str1, str2, 2); ऐसा लिखा है , इसका मतलब ये है कि, ये 2 characters str2 से लेगा |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str1[20] = "Hello"; char str2[20] = " World"; strncat(str1, str2, 2); printf("String : %s\n", str1); return 0; }
Output :
String : Hello W
strncpy() – String Function
दिए हुए number के जितने character एक string से दूसरे string में copy किया जाता है |
Syntax for strncpy()
strncpy(destination_string, source_string, size_t num);
destination_string – ये वो parameter है जिसपर source के string की value copy की जाती है | अगर destination string पर कोई value भी हो तो वो overwrite हो जाती है |
source_string – ये वो parameter है जिसकी value destination पर copy की जाती है |
size_t num – यहाँ पर जो integer value दी जाती है उतने character वो destination string से लेकर source string पर copy कर देता है |
Program में strncpy(str1, str2, 2); ऐसा लिखा है , इसका मतलब ये है कि, ये 2 characters str2 से लेगा |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str1[20] = "Welcome"; char str2[20] = "Friend"; printf("Value of str2 = %s\n", str2 ); strncpy(str2, str1, 2); printf("Copy str1 to str2 = %s", str2 ); return 0; }
Output :
Value of str2 = Friend Copy str1 to str2 = Weiend
strnset() – String Function
दिए हुए number और दिए हुए character के हिसाब से string को replace करता है |
Syntax for strnset()
strnset(string, char ch, int c);
destination_string – ये एक normal string है |
char ch – ये वो character है जिससे string के हर character को replace किया जाता है |
int c – यहाँ पर जितना number है उतने character string से replace किया जाते है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[20] = "Hello World"; printf("Value of str = %s\n", str); strnset(str, '.', 2); printf("%s", str); return 0; }
Output :
Value of str = Hello World ..llo World
strrchr() – String Function
दिए हुए string से एक character का आखिरी occurrence के आगे का string pointer को return करता है |
Syntax for strrchr()
strrchr(string, int character);
string – ये एक normal string है |
int character – ये वो character है जिसका आखिरी occurrence के आगे का string pointer को return किया जाता है |
अगर strrchr() function को कोई character नहीं मिलता तो वो NULL character return करता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[20] = "Hello World"; char *ptr; ptr = strrchr(str, 'o'); printf("%s", ptr); return 0; }
Output :
orld
strrev() – String Function
String को उलटी दिशा से print करता है |
Syntax for strrev()
strrev(string);
string – ये एक normal string है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[20] = "Hello World"; strrev(str); printf("%s", str); return 0; }
Output :
dlroW olleH
strrstr() – String Function
दिए हुए String का आखिरी string occurrence के आगे का string pointer को return करता है |
Syntax for strrstr()
strrstr(string1, string2);
string1 – ये एक normal string है |
string2 – string1 में से ये string find करके उसका आखिरी occurrence pointer को return करता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[100] = "Hi How are you? Hi I am Fine"; char *ptr; ptr = strrstr(str, "Hi"); printf("%s", ptr); return 0; }
Output :
Hi I am Fine
strset() – String Function
दिए हुए String का आखिरी string occurrence के आगे का string pointer को return करता है |
Syntax for strset()
strset(string, int character);
string – ये एक normal string है |
int character – ये एक-एक character करके सभी characters को replace कर देता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[50] = "Hi How are you? Hi I am Fine"; strset(str, '$'); printf("%s", str); return 0; }
Output :
$$$$$$$$$$$$$$$$$$$$$
strstr() – String Function
दिए हुए String का आखिरी string occurrence के आगे का string pointer को return करता है |
Syntax for strstr()
strstr(string1, string2);
string – ये एक normal string है |
int character – string1 में से ये string find करके उसका पहला occurrence pointer को return करता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[100] = "Hi How are you? Hi I am Fine"; char *ptr; ptr = strstr(str, "Hi"); printf("%s", ptr); return 0; }
Output :
Hi How are you? Hi I am Fine
strupr() – String Function
Lowercase के Characters को Uppercase में convert किया जाता है |
Syntax for strupr()
strupr(string);
string – ये वो string है जिसको Uppercase में convert किया जाता है |
Source Code :
#include <stdio.h> #include <string.h> int main(){ char str[50] = "hello world"; int lwr ; printf("String : %s\n", str ); printf("Uppercase of str = %s", strupr(str)); return 0; }
Output :
String : hello world Uppercase of str = HELLO WORLD
14. C language Type Casting क्या है ?
Type Casting में एक variable को दूसरे variable में convert किया जाता है |
For example अगर किसी variable को integer से float या float से integer में convert किया जाता है, तो उसे Type Casting कहते है |
int | float |
Syntax for Type Casting
(data_type_name) expression
Source Code :
#include <stdio.h> int main(){ int a, b; float c; printf("Enter value of a : "); scanf("%d", &a); printf("Enter value of b : "); scanf("%d", &b); c = (float) a / b; printf("%f", c); return 0; }
Output :
Enter value of a : 15 Enter value of b : 6 2.500000
Float to Integer
char | int |
Source Code :
#include <stdio.h> int main(){ char c = 'a'; printf("ASCII value of %c is %d", c, c); return 0; }
Output :
ASCII value of a is 97
Type Casting Functions | Description |
---|---|
atof() | character data type को float-point(double) data type में convert किया जाता है | |
atoi() | character data type को int data type में convert किया जाता है | |
atol() | character data type को long data type में convert किया जाता है | |
itoa() | long data type को character data type में convert किया जाता है | |
ltoa() | long data type को character data type में convert किया जाता है | |
15. C language में Structure क्या है ?
- Structure ये एक अलग-अलग data types का collection होता है |
- अगर structure का इस्तेमाल करना हो तो ‘struct’ keyword का इस्तेमाल करते है |
- Structure ये array के जैसा ही होता है |
- Array similar data types का collection होता है और Structure different data type का collection होता है |
- Structure में किये हुए हर variable के decaration को ‘member’ कहते है |
- Structure हर एक member के लिए अलग-अलग memory allocate करता है |
Syntax for Structure Definition
struct structure_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; };
Example for Structure Definition
struct Employee{ int emp_id; char emp_name[30]; float salary; };
यहाँ पर example में structure का नाम ‘Employee’ लिया है और structure के तीन Members है जिनके अलग-अलग तीन data types है | एक ’emp_id’ के लिए integer है, एक ’emp_name’ के लिए character है, एक float है जो ‘salary’ के लिए है |
Structure Variable Declaration
Structure का variable declare करने के दो प्रकार है |
- जब Structure की definition लिखी जाती तब वहा पर भी Structure variable को लिखा जाता है |
- Structure के variable को main() function के अंदर भी किया जाता है |
Syntax for Structure Variable outside of Structure Definition
struct structure_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; }structure_variable(s);
Example for Structure Variable in main() Function
struct Employee{ int emp_id; char emp_name[30]; float salary; }info;
Syntax for Structure Variable in main() Function
struct structure_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; }structure_variable(s); int main(){ struct structure_name structure_variable_name; }
Example for Structure Variable in main() Function
struct Employee{ int emp_id; char emp_name[30]; float salary; }; int main(){ struct Employee info; }
Structure के Members या Elements को access कैसे किया जाता है ?
Syntax for Accesing Structure members
structure_variable_name . member_of_structure = value(optional);
Example for Accesing Structure members
info.emp_id = 10;
Structure Initilization
Structure Initialization के दो प्रकार है |
Type 1 :
struct Employee{ int emp_id; char emp_name[30]; float salary; }; int main(){ struct Employee info; info.emp_id = 34; strcpy( info.emp_name, "Raj Biradar"); info.salary = 20000.00; }
Type 2 :
struct Employee{ int emp_id; char emp_name[30]; float salary; }; int main(){ struct Employee info = {34, "Raj Biradar", 20000.00}; }
Full Example for Structure
Source Code :
#include <stdio.h> #include <string.h> struct Employee { int emp_id; char emp_name[30]; float salary; }info; int main(){ info.emp_id = 34; strcpy( info.emp_name, "Raj Biradar"); info.salary = 20000.00; printf( "Employee id is : %d\n", info.emp_id); printf( "Employee name is %s\n", info.emp_name); printf( "Employee salary is : %f", info.salary); return 0; }
Output :
Employee id is : 34 Employee name is Raj Biradar Employee salary is : 20000.000000
Structure working with size(sizeof)
Structure के member अलग-अलग memory allocate करता है और पूरा Structure का size उनके members के जितनी होती है |
Source Code :
#include <stdio.h> #include <string.h> struct Employee { int emp_id; char emp_name[20]; float salary; }; int main(){ struct Employee info; printf( "Size of Employee id is : %d bytes\n", sizeof(info.emp_id)); // size of emp_id printf( "Size of Employee name : %d bytes\n", sizeof(info.emp_name)); // size of emp_name printf( "Size of Employee salary is : %d bytes\n", sizeof(info.salary)); // size of salary printf( "Size of Employee structure : %d bytes", sizeof(info)); // size of Employee return 0; }
Ouutput :
Size of Employee id is : 4 bytes Size of Employee name : 20 bytes Size of Employee salary is : 4 bytes Size of Employee structure : 28 bytes
Structure Memory Representation
Memory Representation में देखे तो System 32-bit होने के कारण integer का size ‘4 Bytes’ होता है | character का size bracket में दिए हुए size जितना ही होता है और float का size 4 Bytes ही होता है |
Structure का size दिए हुए सभी Members के size जितना होता है | for eg. 4 (int) + 20 (char) + 4 (float) = 28 Bytes होता है |
16. C language में Union क्या है ?
- Union ये एक अलग-अलग data types का collection होता है |
- अगर union का इस्तेमाल करना हो तो ‘union’ keyword का इस्तेमाल करते है |
- Union ये structure के जैसा ही होता है |
- Union में किये हुए हर variable के decaration को ‘member’ कहते है |
- Union हर एक member के लिए अलग-अलग memory allocate नहीं करता है |
- Union के members एक ही memory location को share करते है |
- Union में जो member अपने size में बड़ा होता है, तो वो पूरे Union की size होती है |
Syntax Difference between Structure and Union Defintion
Syntax for Structure Definition
struct structure_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; };
Syntax for Union Definition
struct union_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; };
Syntax में सिर्फ struct और union keyword में फर्क है | Structure के members अलग-अलग memory allocate करते है | Union के members एक ही member की memory पर store होते है |
Example for Structure Definition
struct Employee{ int emp_id; char emp_name[30]; };
Example for Union Definition
union Student{ int stud_id; char stud_name[30]; };
Memory Representation
Structure | Union | |||||
Structure_name | Employee | Student | ||||
Member_name | emp_id | emp_name[30] | stud_id and stud_name[30] | Location | ||
Memory Address | 6356728 | 6356732 | 6356762 | |||
Member Size | 4bytes | 30bytes | 4bytes | 30bytes | ||
Total Size | 34bytes | 30bytes |
Union Variable Declaration
Structure का variable declare करने के दो प्रकार है |
- जब Union की definition लिखी जाती तब वहा पर भी Structure variable को लिखा जाता है |
- Union के variable को main() function के अंदर भी किया जाता है |
Syntax for Union Variable outside of Union Definition
struct Union_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; }Union_variable(s);
Example for Union Variable in main() Function
struct Employee{ int emp_id; char emp_name[30]; float salary; }info;
Syntax for Union Variable in main() Function
union Union_name{ data_type member 1; data_type member 2; ------------------ ------------------ data_type memeber n; }Union_variable(s); int main(){ union Union_name Union_variable_name; }
Example for Union Variable in main() Function
union Employee{ int emp_id; char emp_name[30]; float salary; }; int main(){ union Employee info; }
Full Example for Union
Source Code :
#include <stdio.h> #include <string.h> union Employee { int emp_id; char emp_name[30]; float salary; }info; int main(){ info.emp_id = 34; strcpy( info.emp_name, "Raj Biradar"); info.salary = 20000.00; printf( "Employee id is : %d\n", info.emp_id); printf( "Employee name is %s\n", info.emp_name); printf( "Employee salary is : %f", info.salary); return 0; }
Output :
Employee id is : 1184645120 Employee name is Employee salary is : 20000.000000
Union working with size(sizeof)
Union के member एक ही memory location में store होता है और पूरे Union का size जो सबसे बड़ा member होता है, वो size Union की होती है |
Source Code :
#include <stdio.h> #include <string.h> union Employee { int emp_id; char emp_name[20]; float salary; }; int main(){ union Employee info; printf( "Size of Employee id is : %d bytes\n", sizeof(info.emp_id)); // size of emp_id printf( "Size of Employee name : %d bytes\n", sizeof(info.emp_name)); // size of emp_name printf( "Size of Employee salary is : %d bytes\n", sizeof(info.salary)); // size of salary printf( "Size of Employee union : %d bytes", sizeof(info)); // size of Employee return 0; }
Ouutput :
Size of Employee id is : 4 bytes Size of Employee name : 20 bytes Size of Employee salary is : 4 bytes Size of Employee union : 20 bytes
17. C language में Typedef क्या है ?
Typedef ये C Programming के लिए बहुत ही महत्वपूर्ण keyword है | Typedef से मौजूदा data type को एक alias name(उपनाम) दिया जाता है | जिससे Programming करना और भी आसान हो जाता है |
Syntax for Typedef
typedef data_type alias_name ;
Example for Typedef
typedef int myint ;
Example for Typedef Declaration
typedef int myint ; myint a, b;
Normal Example for Typedef
Program में integer data type का alias name ‘myint’ लिया है | Program में integer जो काम करता है, वही काम ‘myint’ कर सकता है |
Note : अगर चाहे तो alias name का alias name भी programmer दे सकता है |
Source Code :
#include <stdio.h> int main(){ typedef int myint; //alias name of int is myint myint a, b; printf("Enter value of a : "); scanf("%d", &a); printf("Enter value of b : "); scanf("%d", &b); printf("Value of a : %d\n", a); printf("Value of b : %d", b); return 0; }
Output :
Enter value of a : 4 Enter value of b : 5 Value of a : 4 Value of b : 5
Example for Typedef With Structure
Source Code :
#include <stdio.h> typedef struct Employee{ int emp_id; char emp_name[20]; float salary; }info; int main(){ info Employee = {34, "Raj Biradar", 20000.00}; printf("Employee id : %d\n",Employee.emp_id); printf("Employee name : %s\n",Employee.emp_name); printf("Employee salary : %.2f",Employee.salary); return 0; }
Output :
Employee id : 34 Employee name : Raj Biradar Employee salary : 20000.00
18. C language Preprocessors क्या है ?
Preprocessor क्या होता है ?
Program के हर header area में #include <stdio.h> इस प्रकार के files को include करते है | इनकी शुरुआत ‘#’ से होती है | इन्हें ‘Preprocessor’ कहते है | Preprocessor को statement की तरह semicolon (;) नहीं दिया जाता |
Preprocessor ये एक Program है, जो Source Code compile होने से पहले ही execute होता है |
Normal Example for Preprocessor
#include <stdio.h> int main(){ printf("Hello"); return 0; }
यहाँ पर Preprocessors को अलग-अलग विभाग में विभाजित किया है |
Directive Types | Preprocessors |
---|---|
Macro | #define |
File Inclusion | #include |
Conditional Compilation | #if, #else, #ifdef, #endif, #ifndef, #elif |
Other Directives | #pragma, #undef |
macros identifiers होते है, Program में जहा पर identifier होता है, तो वो replace होकर वहा पर दी हुए value आ जाती है |
For Example #define
Source Code :
#include <stdio.h> #define PI 3.145 int main(){ printf("Value of PI : %f\n", PI); return 0; }
Output :
Value of PI : 3.145000 Overwrite value of PI : 3.140000
Example for #define function macro
Source Code :
#include <stdio.h> #define PI 3.145 #define Area(rad) PI*rad*rad int main() { int radius = 5; float area; area = Area(radius); printf("Area of circle is %f", area); return 0; }
Output :
Area of circle is 78.625000
Macro | Description | |
---|---|---|
_DATE_ | : | ये current date के string को return करता है | |
_FILE_ | : | ये current file name को उसके path के साथ return करेगा | |
_LINE_ | : | ये macro जिस line पर है उस line का number return करेगा | |
_STDC_ | : | अगर compiler ANSI Standard C का पालन करता है तो वो ‘1’ return करेगा | |
_TIME_ | : | ये current time के string को return करता है | |
Example for predefined macro
Source Code :
#include <stdio.h> int main(){ printf("Date : %s\n", __DATE__ ); printf("File : %s\n", __FILE__ ); printf("Line : %d\n", __LINE__ ); printf("STDC : %d\n", __STDC__ ); printf("Time : %s\n", __TIME__ ); return 0; }
Output :
Date : Dec 19 2016 File : C:\UD\Documents\predefined_macro.c Line : 7 STDC : 1 Time :16:38:22
- Header files को program में include करने के लिए #include का इस्तेमाल करते है |
- हर एक program में #include का सन्दर्भ होता है |
- Preprocessor दो प्रकार में include जाते है |
- #include
- #include “file_name”
- कुछ header files predefined होते है और कुछ header files user-defined भी होती है |
- Predefined header files : stdio.h, conio.h, math.h
- User-defined header file : myheader.h
- header files में functions होते है, जिस program में इन functions का इस्तेमाल करना हो तो header files को include करना पड़ता है |
- stdio.h header files : printf(), scanf()
- myheader.h header file : myfunction()
Example for #include
Source Code :
#include <stdio.h> #include <conio.h> void main(){ printf("Hello World!"); getch(); }
Output :
Hello World!
Conditional Compilation – #if
#if ये एक conditional preprocessor है , जिसके आगे expression या condition को लिखा जाता है | अगर दी हुई condition true हो तो वो नीचेवाला statement / code execute करता है |
Note :अगर Programmer CodeBlock के compiler में program बना रहा हो तो, उसे Program लिखते वक्त ही पता चलता है कि, कौनसा statement ‘true’ है और कौनसा ‘false’ |
Syntax for #if
#if condition statement(s); #endif
Example for #if
Source Code :
#include <stdio.h> #define num 1 int main() { #if (num==1) { printf("Number is equal to 1"); } #endif return 0; }
Output :
Number is equal to 1
Conditional Compilation – #else
अगर #if की condition ‘false” होती है तो #else का statement ‘true’ होता है |
Syntax for #else
#if condition statement(s); #else statement(s); #endif
Example for #else
Source Code :
#include <stdio.h> #define num 1 int main() { #if (num==0) { printf("Number is equal to 1"); } #else { printf("Number is equal to 1"); } #endif return 0; }
Output :
Number is equal to 1
Conditional Compilation – #elif
#elif ये else if का combination होता है | अगर #if की condition false हो तो, वो #elif के condition पर जाता है , अगर condition true होती तो उसका statement print होता है |
Syntax for #elif
#if condition statement(s); #elif condition statement(s); #else statement(s); #endif
Example for #elif
Source Code :
#include <stdio.h> #define num 15 int main(){ #if (num<10) { printf("Number is less than 10"); } #elif (num>10) { printf("Number is greater than 10"); } #else#if (num==10) { printf("Number is equal to 10"); } #endif return 0; }
Output :
Number is greater than 10
Conditional Compilation – #ifdef
#ifdef(if defined) पहले program में #define ये preprocessor लिखा है या नहीं ये check करता है | अगर #ifdef का macro और #define का macro same होता है तो, #ifdef का statement ‘true’ होता है |
Syntax for #ifdef
#ifdef macro statement(s); #endif
Example for #ifdef
Source Code :
#include <stdio.h> #define POSITIVE 5 int main() { #ifdef POSITIVE printf("Defined Positive value"); #else printf("Defined Negative Value"); #endif return 0; }
Output :
Defined Positive value
Conditional Compilation – #ifndef
#ifndef (if not defined) ये पहले #define के macro को check करता है, अगर #define का macro और #ifndef का macro अलग-अलग है तो, वो true return करता है |
Syntax for #ifndef
#ifndef macro statement(s); #endif
Example for #ifndef
Source Code :
#include <stdio.h> #define POSITIVE 5 int main() { #ifndef NEGATIVE printf("Defined Negative value"); #endif return 0; }
Output :
Defined Negative value
Conditional Compilation – #endif
जहा पर #if का इस्तेमाल होता है वहा पर #endif का इस्तेमाल होता |
Syntax for #endif
statement(s) of #if or #else; #endif
Example for #endif
Source Code :
#include <stdio.h> #define num 1 int main() { #if (num==1) { printf("Number is equal to 1"); } #endif return 0; }
Output :
Number is equal to 1
Syntax for #undef
#undef ये preprocessor #define किये हुए macro को undefine कर देता है |
#undef macro
1st Example for #undef
Source Code :
#include <stdio.h> #define num 1 #undef num int main(){ printf("num is %d\n", num); return 0; }
Output :
error: 'num' undeclared
2nd Example for #undef
Source Code :
#include <stdio.h> #define num 1 int main(){ printf("num is %d\n", num); #undef num #define num 2 printf("num is %d", num); return 0; }
Output :
num is 1 num is 2
19. C language File Handling क्या है ?
- Bit Fields ये Program की memory को बचाता है |
- Bit Fields Structure और Union में काम करता है |
Syntax for Bit Fields
struct_or_union structure_or_union_name{ data_type member 1: bit(s); data_type member 2: bit(s); data_type member n: bit(s); }structure_or_union variable;
Normal Program for Structure
अबतक Normal Structure के Program में Bit Field का इस्तेमाल नहीं किया है | इस Program में structure ने 8 bytes की memory consume की है |
Source Code :
#include <stdio.h> struct Numbers{ unsigned int a; unsigned int b; }value; int main() { value.a = 1; value.b = 6; printf("Size of a : %d bytes\n", sizeof(value.a)); printf("Size of b : %d bytes", sizeof(value.b)); return 0; }
Output :
Size of a : 4 bytes Size of b : 4 bytes Size of Numbers structure : 8 bytes
Program for Structure using Bit Fields
निचे दिए हुए Program ने अपना bit field रखा है | member ‘a’ के लिए सिर्फ 1 bit लिया है और ‘b’ के लिए 3 bits लिए है | पूरा structure सिर्फ 4 bits ही इस्तेमाल करेगा |
लेकिन Program के output में structure ने 4 bytes का इस्तेमाल किया है | हर 1 byte = 8 bits का होता है और यहाँ पर 4 bytes = 32 bits structure ने इस्तेमाल कर ली है |
Structure कम से कम 4 bytes ही consume कर लेता है , इससे कम memory consume नहीं की जाती | अगर Programmer चाहे तो और भी members declare कर सकता है |
for eg.
1 bits के 32 members Programmer 4 bytes में declare कर सकता है |
2 bits के 16 members Programmer 4 bytes में declare कर सकता है |
3 bits के 30 members Programmer 4 bytes में declare कर सकता है |
4 bits के 8 members Programmer 4 bytes में declare कर सकता है |
8 bits के 4 members Programmer 4 bytes में declare कर सकता है |
16 bits के 2 members Programmer 4 bytes में declare कर सकता है |
32 bits के 1 members Programmer 4 bytes में declare कर सकता है |
Source Code :
#include <stdio.h> struct Numbers{ unsigned int a : 1; unsigned int b : 3; }value; int main() { value.a = 1; value.b = 6; printf("Size of structure Numbers : %d bytes\n", sizeof(value)); return 0; }
Output :
Size of Numbers structure : 4 bytes
Bits की संख्या कैसे दे ?
Bits binary numbers पर काम करता है | अगर कोई integer value को देना हो तो सोचना चाहिए कि उसे कितने bits लगेंगे for eg. अगर यहाँ पर integer की value ‘6’ ले ली तो 4 का binary ‘110’ है मतलब binary की संख्या ‘3’ है इसीलिए integer की value ‘6’ के लिए 3 bits को set करे |
Bit Fields के साथ Structure Bits कैसे लेता है ?
Source Code :
#include <stdio.h> struct Numbers{ unsigned int a : 1; unsigned int b : 3; }value; int main() { value.a = 1; value.b = 6; printf("Size of structure Numbers : %d bytes\n", sizeof(value)); return 0; }
Output :
Size of Numbers structure : 4 bytes
-
- जिस function में वही function को call किया जाता है, उसे recursion कहते है |
- Recursion एक ऐसा process है , जो loop के तरह काम करता है |
- Recursion को एक satisfied condition लगती है, जिससे recursive function काम करना बंद कर दे |
- Recursive Function तबतक call होता रहता है, जबतक उसका satisfaction नहीं होता |
- अगर Recursive function का satisfaction नहीं हो तो ‘infinite looping’ की संभावना होती है |
Recursive function कैसा होता है ?
void recursive_function(){ //some code; recursive_function()(); //some code; } int main(){ //some code; recursive_function()(); //some code; }
Example for Recursion
Source Code :
#include <stdio.h> int main(){ int a,fact=0; printf("Enter Number : "); scanf("%d", &a); fact=factorial(a); printf("Factorial of %d is %d", a, fact); return 0; } int factorial (int n) { if (n == 0){ return 1; }else{ return (n * factorial(n-1)); } }
Output :
Enter Number : 4 Factorial of 4 is 24
Example for Addition of Two Numbers using Recursion
Source Code :
#include <stdio.h> int add(int, int); int main() { int num1,num2,sum; printf("Enter Two Values\n"); scanf("%d %d",&num1,&num2); sum = add(num1, num2); printf("sum of %d and %d : %d", num1, num2, sum); return 0; } add(int a, int b){ if(b==0){ return a; }else{ return (1+add(a,b-1)); } }
Output :
Enter Two Values 5 6 sum of 5 and 6 : 11
C Program को run करने के लिए Programmer अलग-अलग Compilers का इस्तेमाल करते है जैसेकि, Turbo C/C++, CodeBlock, Cfree और Dev C/C++ इत्यादी .
Compiler से program run कैसे होता है ?
Programmer पहले Source Code बनाता है, जिसका नाम Programmer कुछ भी रख सकता है, लेकिन .c extension/type लगाना अनिवार्य होता है | बाद में Preprocessor pre-process होता है |
Pre-process होने के बाद Compiler के द्वारा Program को compile किया जाता है, Compile होने से जो IDE Programmer इस्तेमाल कर रहा है उसके द्वारा जिस file का नाम .c file type के साथ रखा है , उस file के नाम के साथ .obj extension की
Object File तैयार होती है | बाद में Linker के साथ .lib library file तैयार होती है जो object file के साथ merge होती है | उसके बाद .exe executable file बनती है | जो हर Computer User अपने Computer में इस्तेमाल करता है |
Command Line Argument
Syntax for Command Line Arguments
int main( int argc, char *argv[])
Command Line के लिए main function में दो arguments होते है |
- argc
- argv[]
1. argc(Argument Counter)
- ये integer type का variable या argument है |
- इसमे arguments के total numbers main function को pass किये जाते है |
- Command line में file के नाम को भी वो argument लेता है
2. argv[](Argument Vector)
- ये character pointer type का argument होता है |
- ये actual arguments को main functionn को pass किये जाते है |
- ये सभी argument array बनाकर लेता है |
Command Line Arguments किसी भी IDE पर Compile या Run नहीं होता | Command Line Arguments सिर्फ Command Prompt पर Run होते है |
Example for Command Line Argument
Source Code :
command.c
#include <stdio.h> int main(int argc, char *argv[]){ int i; printf("Number of Argument %d\n", argc); for(i=1; i<argc; i++){ printf("Argument %d = %s\n", i, argv[i]); } }
Command Line से Program Run कैसे किया जाता है ?
पहले Command Prompt को open करे |
Command Prompt को Open करने के लिए Window+R Press करे | बाद में एक Run का Dialog Box खुल जायेगा उसमे ‘cmd’ नाम का Program डाले |
Command Prompt खुल जाएगा |
Drive को change करने के लिए जिस Drive पर जाना है उस Drive का नाम और उसके साथ ‘colon’ दे | for eg.E:, C:, D:
Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\Users\UD>E:
E:\>
Directory को change करने के लिए ‘cd’ type करे और जिस directory पर जाना है उसका path दे |
Microsoft Windows [Version 10.0.10586] (c) 2015 Microsoft Corporation. All rights reserved. C:\Users\UD>E: E:\>cd E:\UD\Documents E:\UD\Documents>
Source Code :
command.c
#include <stdio.h> int main(int argc, char *argv[]){ int i; printf("Number of Argument %d\n", argc); for(i=1; i<argc; i++){ printf("Argument %d = %s\n", i, argv[i]); } }
Program Command line से run करने से पहले IDE से run करे, अगर बिना error से program चले तो फिर Command Line से चलाये |
Output :
Microsoft Windows [Version 10.0.10586] (c) 2015 Microsoft Corporation. All rights reserved. C:\Users\UD>E: E:\>cd E:\UD\Documents E:\UD\Documents>command Hi! Hello Friends Number of Argument 4 Argument 1 : Hi! Argument 2 : Hello Argument 3 : Friends E:\UD\Documents>
Example for Addition two Numbers using Command Line Arguments
Source Code :
commandline.c
#include <stdio.h> int main(int argc, char * argv[]) { int i, sum = 0; if (argc != 3) { printf("Enter only Two Arguments."); exit (1); } printf("Addition = %d", sum); for (i = 1; i < argc; i++) sum = atoi(argv[1]) + atoi(argv[2]); // atoi is used to convert string to integer printf("%d", sum); }
Output :
Microsoft Windows [Version 10.0.10586] (c) 2015 Microsoft Corporation. All rights reserved. C:\Users\UD>E: E:\>cd E:\UD\Documents E:\UD\Documents>commandline 4 6 Addition = 010 E:\UD\Documents>