Unit-1 Programming in C Hindi
Unit-1 Programming in C Hindi
सी भाषा का इतिहास 1970 के दशक की शुरुआि का है जब बेल लैब्स में डेतिस रिची िे इस भाषा को
विकससि ककया था।
रिची यूतिक्स ऑपिे टटिंग ससस्टम के विकास पि काम कि िहे थे, औि उन्होंिे यूतिक्स ऑपिे टटिंग ससस्टम के
मुख्य components को सलखिे के सलए सी को एक ससस्टम प्रोग्रासमिंग भाषा के रूप में डडजाइि ककया था।
सी को एक high-level programming language के रूप में डडजाइि ककया गया था जो उपयोग कििे औि
समझिे में आसाि थी, जबकक अभी भी हाडडिेयि िक सीधे पहुिंचिे के सलए पयाडप्ि efficient and low-level थी।
सी के पहले version को "ए ससस्टम प्रोग्रासमिंग लैंग्िेज" कहा जािा था औि इसे 1972 में जािी ककया गया था।
भाषा िे िेजी से लोकवप्रयिा हाससल की औि इसका उपयोग यूतिक्स ऑपिे टटिंग ससस्टम औि अन्य ससस्टम
सॉफ्टिेयि सलखिे के सलए ककया गया।
1978 में , ब्रायि कतिडघि औि डेतिस रिची िे "द सी प्रोग्रासमिंग लैंग्िेज" िामक एक पुस्िक प्रकासशि की, जजसे
आज भी सी प्रोग्रासमिंग के सलए एक reference book के रूप में व्यापक रूप से उपयोग ककया जािा है । पुस्िक
िे भाषा के syntax and libraries को परिभावषि ककया औि efficient and readable code सलखिे के सलए
guidance प्रदाि ककए।
इि िषों में, सी में कई बदलाि हुए हैं औि इसे International Organization for Standardization (आईएसओ)
द्िािा standardized ककया गया है । C के सलए पहला Standard 1989 में प्रकासशि हुआ था औि इसे ISO/IEC
9899:1990 के िाम से जािा जािा था। िब से, Standard को कई बाि Updates ककया गया है , latest
version ISO/IEC 9899:2011 है ।
ससस्टम प्रोग्रासमिंग में इसके उपयोग के अलािा, सी का उपयोग applications की एक wide range में भी ककया
गया है , जजसमें गेम डेिलपमेंट, एम्बेडड
े ससस्टम शासमल हैं। इस भाषा का उपयोग दतु िया के कुछ सबसे लोकवप्रय
सॉफ़्टिेयि को सलखिे के सलए ककया गया है , जजसमें सलिक्स ऑपिे टटिंग ससस्टम औि लोकवप्रय िेब ब्राउजि,
Google Chrome शासमल हैं।
Important Note
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) जैसी िई सवु िधाओिं को शासमल ककया गया था।
2018 में C लैंग्िेज के एक औि िजडि को लािंच ककया गया जजसे C18 िाम टदया गया. आज
के समय में यूजि इसी िजडि का इस्िेमाल कि िहे हैं.
Character Set
कैिे क्टि याति अक्षि जो ककसी भी भाषा मे शब्दो को बिािे के सलए उपयोग होिे हैं। शब्दो से िाक्य बििे हैं जजिसे
उस शब्द का अथडपर्
ू ड मिलब पिा चलिा हैं। किंप्यट
ू ि लैंग्िेज एक भाषा हैं जजसका प्रयोग कि हम किंप्यट
ू ि को अपिी
आिश्यकिाओ के बािे मे बिा सकिे हैं। इससलए इस भाषा मे भी अन्य भाषाओिं की ििह ग्रामि (व्याकिर्) होिा हैं।
ककसी भी भाषा को सीखिे का सबसे पहला स्टे प इसके अक्षि समह
ू को जाििा हैं जजसे अिंग्रज
े ी मे कैिे क्टि सेट कहा
जािा हैं।
We know
Alphabets => Word => Sentence => Paragraph => Book
Similarly
Character Set => Token => Statement => Program => Software
Letters
Digit
Special Character
White Space
Letters: अँग्रेजी भाषा के अल्फाबेट A से Z औि a से z इसके Letters हैं जजिका प्रयोग प्रोग्राम सलखिे के सलए कििे
हैं। “C” Case sensitive language हैं। इससलए “C” a औि A दोिों को अलग-अलग लैटि की ििह ट्रीट कििी हैं। इि
Letters के जोड़िे से Identifiers, keyword, String आटद का तिमाडर् होिा हैं।
Digit : C Language मे डडजजट का भी प्रयोग होिा हैं, जो Identifiers numeric value के सलय उपयोग ककए जािे हैं |
यह सिंख्या मे केिल दस (0,1,2,3,4,5,6,7,8,9) ही होिे हैं पि इिका समह
ू बिाकि भी इसे प्रयोग कि सकिे है |
Special Character: C Language मे विशेष प्रकाि के कैिे क्टि होिे हैं, जजिका उपयोग प्रोग्रासमिंग मे विशेष स्थािो मे
ही ककया जािा हैं, आइए जाििे है C Language में कौि से Special Character प्रयोग होिे है |
Symbol Meaning
~ Tilde { Left brace
! Exclamation mark } Right brace
# Number sign [ Left bracket
$ Dollar sign ] Right bracket
% Percent sign : Colon
^ Caret “ Quotation mark
& Ampersand ; Semicolon
* Asterisk < Opening angle bracket
( Lest parenthesis > Closing angle bracket
) Right parenthesis ? Question mark
_ Underscore , Comma
+ Plus sign . Period
| Vertical bar / Slash
\ Backslash
` Apostrophe
– Minus sign
= Equal to sign
White Space: White Space को C Compiler इग्िोि कििा हैं, ककन्िु यह String Constant का भाग हैं जजसका
प्रयोग दो शब्दो को अलग कििे के सलए ककया जािा हैं। पििं िु याद िखे White Space का प्रयोग Identifiers औि
keyword के बीच मे िहीिं ककया जािा हैं।
Token
C language में compiler द्िारा िहचानी जाने िाली िबिे छोटी स्ितंत्र यूननट्ि को C टोकन्ि के रूि में
जाना जाता है ।
C language में token के 6 प्रकाि होिे हैं िथा इि token का औि lannguage के syntax का उपयोग कििे
हुए C प्रोग्राम्स को सलखा जािा है ।
Types of Tokens
सी लैंग्िेज में जब हम कोई प्रोग्राम सलखिे है िो प्रोग्राम के हि लाइि में कुछ स्टे टमें ट होिे है औि हि स्टे टमें ट में कुछ िडड होिे
हैं औि हि िडड का कुछ मिलब होिा है आसाि शब्दों में कहु िो हम प्रोग्राम को कई छोटे छोटे इकाइयों में बाँट कि सलखिे है
इिमे से सबसे छोटी इकाई Tokens कहलािी हैं.
Tokens सी लैंग्िेज की सबसे छोटी इकाई है जो सी लैंग्िेज में ककसी प्रोग्राम को बिािे के सलए सबसे ज्यादा उपयोग ककया जािा
है |
इसको हम एक उदाहिर् से समझिे है – जब हम इिंजग्लश में कोई Sentence सलखिे है िो िो Sentence कई सािे Word से
समलकि बिा होिा है औि हि Word का कुछ मिलब होिा है |
जजस ििह हम बबिा ककसी Word का उपयोग ककये कोई Sentence िहीिं बिा सकिे | ठीक उसी ििह C Language में भी हम
बबिा Tokens का उपयोग ककये कोई प्रोग्राम िहीिं बिा सकिे क्योकक Tokens सी लैंग्िेज की सबसे छोटी इकाई है जो ककसी
प्रोग्राम को बिािे के सलए बहुि ही महत्िपूर्ड है |
Tokens के प्रकार
Tokens छः प्रकाि के होिे है -:
1. Keywords
2. Identifiers
3. Constants
4. Strings
5. Special Symbols
6. Operators
आइये अब हम C Tokens In Hindi के इि सभी प्रकािों के बािे में एक एक किके डडटे ल में जाििे है -:
1. Keywords
सी लैंग्िेज में जब हम कोई प्रोग्राम सलखिे है िो प्रोग्राम के हि लाइि में कुछ िडड होिा है औि हि िडड का कुछ मिलब होिा है
िो ऐसे िडड जो पहले से defined है उसे Keyword या Reserved word या Predefined Word कहिे है |
2. Identifiers
आप अपिी डेली लाइफ में कई चीजें दे खिे होंगे जैसे कक काि, मोबाइल, घि, आपके दोस्ि जैसे िमेश ,सुिेश आटद | इि सभी को
आप एक अलग अलग िाम से जाििे होंगे | एक बाि सोचचए जिा ,अगि उिका िाम ि हो िो आप उिके बािे में बाि कैसे
किें गे | िो ऐसे में उिका िाम होिा बहुि आिश्यक है , इसी िाम को ही हम Identifiers कहिे हैं |
Identifies के द्िारा हम िभी को uniquely identify कर िाते है | िी लैंग्िेज में Variable, Function, Array, Structure
आदि का नाम िे ने के सलए Identifiers का उियोग ककया जाता है |
Identifiers यूजि डडफाइिंड होिा है | यूजि डडफाइिंड का मिलब उपयोगकिाड या यूजि तिधाडरिि कििा है कक Variable, Function,
Array, Structure आटद का िाम क्या होगा |
इिके िाम में ससफड uppercase letters, lowercase letters, underscore, औि ििंबसड होिे है | मगि दो Identifiers का िाम एक
जैसा िहीिं हो सकिा | साथ ही Keywords का उपयोग हम Identifiers के रूप में िहीिं कि सकिे |
3. String
String किै क्टि का एक Array है जो कक Null किै क्टि (\0) के साथ ख़िम होिा है | Null किै क्टि (\0) बिािा है कक String ख़िम
हो गया है | String को हमेशा डबल क्िोट्स (“ “) के साथ सलखा जािा है | जस्ट्रिं ग की साइज उसमे उपजस्थि Character की सिंख्या
पि तिभडि कििी है |
String को हम इि अलग अलग ििीको से डडफाइि कि सकिे है -:
4. Operator
मैथ्स में आपिे बहुि सािे Operator के बािे में पढ़ा होगा | Example के सलए जैसे की 2+4, इसमें 2 औि 4 ओपेििंडस या डेटा
कहलािे है औि + को हम ऑपिे टि कहिे है | िो Operator बेससकली कुछ ऑपिे शि पिफॉमड कििे है औि जो ऑपिे शि ऑपिे टि
पिफॉमड कििा है उसके सलए ऑपिे टि को कुछ डेटा या Operands की जरुिि होिी है | बबिा Operands के ऑपिे टि अपिा कोई
काम िहीिं कि सकिा |
C Language में भी Operator ऐसे ही कुछ ससिंबल होिे है जजसकी मदद से हम कुछ ऑपिे शि पिफॉमड कििे है | Operator
जजििे Operands पि कायड कििे है उसकी सिंख्या के आधाि पि Operator को दो भागो में बािंटा जा सकिा है -:
Unary Operators
Binary Operators
Unary Operators
ऐसे ऑपिे टि जजिको ऑपिे शि पिफॉमड कििे के सलए केिल एक ही Operands की जरुिि होिी है उसे Unary Operators कहिे
है | उदाहिर् के सलए increment औि decrement ऑपिे टि में ऑपिे शि पिफॉमड कििे के सलए केिल एक ही Operands की
जरुिि होिी है | increment operator (++), decrement operator (–) औि sizeof, (type)* आटद Unary Operator है |
Binary Operators
ऐसे ऑपिे टि जजिको कोई ऑपिे शि पिफॉमड कििे के सलए एक से ज्यादा Operands की जरुिि होिी है उसे Binary Operators
कहिे है |
Binary Operators ननम्न प्रकार के होते है -:
Arithmetic operators
Relational Operators
Logical Operators
Assignment Operators
Bitwise Operators
Increment/Decrement Operators
Conditional Operators
Special Operators
5. Constant
Constant िे होिे है जजिकी िैल्यू चें ज िहीिं होिी | एक बाि िैल्यू डडक्लेअि कििे के बाद उसमें कोई बदलाि िहीिं ककया जा
सकिा | Constant की िैल्यू कफक्स्ड होिी है इसी को हम सलटिल्स (Literals) भी कहिे है |
Constant को हम दो ििह से डडक्लेअि कि सकिे है -:
6. Special Character
सी लैंग्िेज में कुछ स्पेशल Symbols का उपयोग ककया जािा है जजसका अपिा एक विशेष अथड होिा है िथा जजिका ककसी औि
दस
ू िे उद्दे श्य के सलए उपयोग िहीिं ककया जा सकिा है |
तिम्िसलखखि Special Symbols का उपयोग C लैंग्िेज में ककया जािा है जजिका अपिा एक विशेष अथड है औि जजसे ककसी अन्य
उद्दे श्य के सलए उपयोग िहीिं ककया जा सकिा है |
Brackets[] -: Opening औि Closing ब्रैकेट्स [] का उपयोग Array एसलमें ट के िे फ़्रेन्स में ककया जािा है यह ससिंगल औि
मजल्टडीमें ससअल सबजस्िप्ट को इिंडीकेट कििा है |
Parentheses() -: पैिेंथेससस () का उपयोग सी लैंग्िेज में फिंक्शि कॉल औि फिंक्शि डडक्लेिेशि में ककया जािा है |
Curly Braces{} -: कली ब्रेसेस {} का उपयोग कोड को स्टाटड औि एन्ड कििे के सलए ककया जािा है | कली ब्रेसेस
{} कम्पाइलि को बिािा है कक कोड कहा से शुरू औि कहा से ख़िम होगा |
Comma (, ) -: Comma (, ) का उपयोग एक से ज्यादा स्टे टमें ट को अलग कििे के सलए ककया जािा है जैसे – फिंक्शि
कॉल में पैिामीटि को पथ
ृ क कििे में , Printf() द्िािा ककसी एक से ज्यादा िेरिएबल की िैल्यू को वप्रिंट कििे समय उि
िेरिएबल को पथ
ृ क कििे के सलए आटद कामों में |
Semicolon(;) -: सेमीकोलि(;) का उपयोग प्रोग्राम में ककसी स्टे टमें ट के समाप्ि हो जािे पि ककया जािा है सेमीकोलि
कम्पाइलि को बिािा है कक प्रोग्राम का िो स्टे टमेंट समाप्ि हो गया है |
Pre-processor (#) -: इसका उपयोग preprocessor directives के सलए ककया जािा है | ये ससिंबल Pre-processor को
बिािा है कक प्रोग्राम के इस लाइि में है डि फाइल का उपयोग ककया जािा है |
What is variable
िेरिएबल एक स्टोिे ज एरिया होिा है जजसका प्रयोग डेटा को स्टोि कििे के सलए ककया जािा है . variable डेटा को
contain ककये िहिा है जजसे प्रोग्राम execution के समय कभी भी बदला जा सकिा है .
िेरिएबल को declare कििे के बाद इसे एक िैल्यू दी जािी है . इस को िैल्यू बिाबि के चचन्ह (=) के द्िािा दी जािी
है . जैिे- x = 5; या a = 10;
कभी भी िेरिएबल का प्रयोग कििे से पहले इसे declare कििा पड़िा है .
उिाहरण के सलए मािा कक हमें ककसी छात्र का िाम िथा उसका िोल ििंबि िेरिएबल में स्टोि कििा है . इसके सलए
हम दो variables लेिे है एक िेरिएबल में छात्र का िाम स्टोि कििे है जबकक दस
ु िे िेरिएबल में िोल ििंबि स्टोि
कििे है .
Types of variable
िेरिएबल की अपिी एक सीमा या बाउिं ड्री होिो है जजसके बाहि िह कायड िहीिं कििा है इस सीमा को variable का
scope कहिे है . िेरिएबल अपिे स्कोप के आधाि पि दो प्रकाि का होिा है जो तिम्िसलखखि है :-
double pi = 3.14159;
Syntax
data_type variable_name;
जहािं data_type उस िेरिएबल का प्रकाि है जजसे आप घोवषि कििा चाहिे हैं, औि variable_name िह िाम है
जजसे आप िेरिएबल को दे िा चाहिे हैं।
int age;
Example 2
यटद आप floating-point value called salary को stored कििे के सलए सी प्रोग्रासमिंग में एक िैरिएबल घोवषि
कििा चाहिे हैं, िो आप तिम्ि कोड का उपयोग कि सकिे हैं:
float salary;
आप एक ही समय में Variable declaration and initialization भी कि सकिे हैं। ऐसा कििे के सलए, आप
तिम्िसलखखि ससिंटैक्स का उपयोग कि सकिे हैं:
Syntax
data_type variable_name = value;
जहािं value initial value है जजसे आप िेरिएबल को Specified कििा चाहिे हैं।
Example 1
उदाहिर् के सलए, 5 के Value के साथ x integer variable named को घोवषि कििे औि initialize कििे के सलए,
आप तिम्िसलखखि कोड का उपयोग कि सकिे हैं:
int x = 5;
Example 2
इसी प्रकाि, 3.14 के Value के साथ y िामक फ़्लोटटिंग-पॉइिंट िेरिएबल को declare and initiate कििे के सलए,
आप तिम्िसलखखि कोड का उपयोग कि सकिे हैं:
float y = 3.14;
Data Type का प्रयोग Variables को Program में Use करने िे िहले उिे Declare/Define करने में होता है
या यह बताने के सलए होता है कक Variable ककि प्रकार की Value Store करे गी
Examples:
int age;
char grade;
जबकक grade, Variable में char, Data type होने के कारण उिमें Character Value ही Store कर िकते है
अतः Variables को Declare करते िमय Data Types िे कर हम यह िुननश्श्चत करते है कक इिमें दिए गए
Data Types के आधार िर Value Store होगी
C Programming में Primary Data Types Basic Data types होते है श्जिका प्रयोग Variables को Define
करने मे करते है
ये Data Types Variables में Store होने िाले Value के प्रकार को और उि Values में होने िाले
Operations को ननधाषररत करता है
प्रत्येक primary data type के गुणों को िमझना अत्यंत आिश्यक है ताकक C मे Memory का प्रभािशाली
तरीके िे Use ककया जा िकें और िही ढं ग िे Data को Represent ककया जा िके
C में Primary data types Sets िाए जाते है श्जिे आगे ननम्न प्रकार िे िगीकृत ककया जा िकता है
Integral Types:
1) int:
इि data type का Use Variable में Numeric Values Store करने के सलए Use ककया जाता है इि प्रकार के
Data Type िाले Variable को Declare करने के सलए 'int' keywords का Use करते है
'int' Data Type में short, long और unsigned Modifiers का Use करते है इिमें short का Use छोटे Range
unsigned Modifier का Use integer Data Types के िाथ केिल Positive Value को Represent करने मे के
सलए होता है
Range: 0 to 4,294,967,295.
Size: 4 bytes or 32 bits
Format specifier: %u
Example:
unsigned int count_digits = 100;
2) char:
यह Data type variables को केिल एक character Store करने की अनुमनत िे ता है इिमें char keyword का
Use करके variable को declare ककया जाता है यह िामान्यत: Memory में 1 byte जगह लेता है
1) float:
float Data type का Use floating-point values को Store करने के सलए करते हैं इिमें Decimal numbers या
fractional values store ककए जाते है यह Memory में 4 bytes जगह लेता है तथा Decimal values के बडे
Range को Store करने के सलए उियक्
ु त है
2) double:
'double' , Data type भी float Data type के िमान है लेककन double Data type Decimal points के बाि 10
Digits तक Values store करने की अनुमनत िे ता है तथा Memory में 8 Byte जगह लेता है
3) long double:
'long double' , Data type, double और float िे ज्यािा decimal point िाले Values को Store करता है
ऊिर के िारे Data Types की Size compiler और System architecture िर भी ननभषर करता है
C language में void Data Type एक Empty Data Type है अथाषत उिमे कोई भी Value उिश्स्थत नही रहता
आि इि Data Type को िीधे एक Variable को Assign नही कर िकते है
इि Data Type का प्रयोग ऐिे Function के िाथ ककया जाता है जो कोई भी Value Return नही करता
अथाषत िह बबना Value Return करे ही कुछ कायष करता है
Example
void displayGreeting()
{
printf("Hello, Good Morning!\n");
}
ऊिर displayGreeting() Function कोई भी Value Return नही कर रहा है केिल एक Greeting Message
को ही Print कर रहा है
C में Derived data types, Basic Data Types (Fundamental Data Types) िे ही बने होते है . Fundamental
Data Types को समलाकर या उिमे Modify करके Derived Data Types का ननमाषण ककया जाता है
ये Data Types Primary Data Types जैिे int, float, char, double आदि िे Derived होते है और Data की
जदटल िंरचना के ननमाषण हे तु उिे िंगदित और प्रिसशषत करने के सलए एक तरीका प्रिान करते है
1) Array
C में array-derived data types का Use एक ही प्रकार के Data Type िाले Elements को Store करने के
सलए करते है
Array की प्रत्येक value को Access करने के सलए index का Use ककया जाता है . index एक Numeric
Value है जो Array में Elements के Position को बताता है Array की Size fixed होती श्जिे Array
Declaration के िमय ननधाषररत ककया जाता है
Example:
Meghraj Soni | VYT College Durg pg. 15
Array को Declare करना Variable Declare करने के िमान ही है बि Array में उिकी Size भी बताते है
int marks[10]
ऊिर के Example में int, एक Data Type है marks Array का नाम और Square Bracket में उिश्स्थत 10
Array की Size है
2) Pointer
Pointer Data Type अन्य Data Types िे अलग है क्योंकक अन्य Data Types, Variable की Value Store
करते है
जबकक Pointer अन्य Variables के Memory Address को Store करता है और िीधे ही Memory Address
के िाथ कायष करता है
Pointers को declare करने के सलए asterisk (*) Symbol, का Use ककया जाता है
Pointer, Memory Address में Variable की Value Access करने और Manipulate करने की िुपिधा िे ता है
Example:
int my_num = 78;
int *ptr = &my_num;
ऊिर के Code में my_num एक Variable है श्जि 78 Value Assign ककया गया है तथा &my_num में
Variable Address है श्जिे *ptr Pointer को Assign ककया गया है
3) Function
Function पिशेष कायष को करने के सलए Code का एक block होता है श्जिे बनाने के बाि Program में उिे
कही िे भी और
कई बार Call कर िकते है इिके द्िारा Return ककया गया Value का Type ककि प्रकार होगा िह
Function के Return Type िर ननभषर करता है
C में By default main() होते है जहां िे Program का Execution होता है यह function अन्य functions को
Call करता है
ऊिर के Code में sum function का नाम है श्जिके िो parameters, x और y है उिके बाि function की
Body
{ } के अंिर िह िोनों Parameters की Values को Add करके Result को Return कर रहा है अब इि
Defined function को Program में कही िर भी Call ककया जा िकता है
C language में User-defined data types, उन Data type को refer करता है जो language में ननसमषत होने के
बजाय Programmer द्िारा बनाए जाते हैं। इन Data type को िहले िे मौजूि Data types के Combination
का Use करके Define ककया गया है
1) Structure
जहां Array में एक ही प्रकार के Data Type िाले Elements को िंग्रदहत ककया जाता है िही Structure
user-defined data type आिको पिसभन्न Data Types िाले Variables को एक ही नाम के अंिर Group
करने की अनुमनत िे ता है
इिका प्रयोग पिसभन्न प्रकारों के Variables को समलाकर एक composite data types का ननमाषण करने के
सलए करते है
Example:
struct myBook {
char title[80];
char author[40];
float price [30];
int quentity;
int year;
};
ऊिर के Example में myBook एक Structure है श्जिके अंतगषत अलग अलग Data Types िाले Variables
जैिे title, author, price आदि को रखा गया है
जहां Structure Data Type आिको प्रत्येक member को Store करने के सलए अलग अलग Memory Space
िे ता है िही Union Data Type के िारे Members एक ही Memory space को Share करते है
Structure के िमान आि Union के Members को Access कर िकते है इिके सलए आिको Dot
Operator(.) का Use करना होता है
Example:
union items
{
char a;
int b;
float c;
};
3) Enumeration
Enumeration एक User Defined Data Type है जो आिको integer constants का Set बनाने की अनुमनत
िे ते है
Enumeration Data Type का ननमाषण करने के सलए enum keyword का Use ननम्न प्रकार िे ककया जाता है
Example:
enum Month {
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
Meghraj Soni | VYT College Durg pg. 18
ऊिर के कोड में Month नाम िे enum Declare ककए है जो Jan िे शुरू हुआ है उिे 1 Value Assign ककया है इििे अन्य
Months को 1 में Increment होकर Value Assign हो जायेगा जैिे Feb को 2 March को 3 और िैिे अन्य Months के Value
Add होते जायेगा
Example:
typedef int computerehub;
computerehub x = 46;
Example:
typedef int myInt;
myInt x = 42;
यहािं, हमिे टाइपडडफ़ का उपयोग किके myInt िामक एक िया डेटा प्रकाि परिभावषि ककया है । कफि हमिे
myInt प्रकाि का एक िेरिएबल x घोवषि ककया औि उसका Value 42 पि सेट ककया। हमिे x का Value वप्रिंट
ककया, जो 42 था।
Operators in C Language
1. ऑपिे टि एक ससिंबल होिा है जो Value या Variable को Operate कििा है । उदाहिर् के सलए: + एक ऑपिे टि है जो
सिंख्याओ को जोड़िा है । C programming में कई built-in operators होिे हैं|
2. Operators एक या एक से अचधक variable, constants या operands के साथ समलकि काम कििे हैं | Variable,
constant, operands, function औि operators इि सभी को एक साथ समला दे िे से एक expression बििा है |
3. Operands औि Operators को समलाकि Expression बििा है | Operands variables ही होिे हैं जो की Operators
के साथ समलकि कुछ operation perform कििे हैं|
Ex. A= B+C/D;
Arithmetic Operators
Relational Operators
Logical Operators
Assignment Operator
Bitwise Operators
Increment/Decrement Op
Ternary or Conditional Operators
Special Operator
Arithmetic operators +, -, *, /, %
Assignment operator =
Comma operator ,
Conditional operator ?:
Arithmetic operators
अथडमेटटक ऑपिे टि का उपयोग mathematical operations को perform कििे के सलए होिा है जैसे जोड़ (+),
घटाि (-), गुर्ा (*), विभाजि (/) औि मापािंक (%)
Operator Description
+ इस ऑपिे टि का उपयोग दो ऑपिें ड को जोड़िे के सलए ककया जािा है
– इस ऑपिे टि का उपयोग दो ऑपिें ड को घटािे के सलए ककया जािा है
* इस ऑपिे टि का उपयोग दो ऑपिें ड का गर्
ु ा कििे के सलए ककया जािा है
/ इस ऑपिे टि का उपयोग दो ऑपिें ड को डडिाइड कििे के सलए ककया जािा है
% इस ऑपिे टि का उपयोग दो ऑपिें ड के मापािंक विभाजि के सलए ककया जािा है
Relational operators
रिलेशिल ऑपिे टिों का उपयोग दो िैल्यू की िुलिा कििे के सलए ककया जािा है । इससलए इसे Comparison
operator भी कहा जािा है |
Operator Description
> इस operator को Greater than operator कहा जािा है | इसका इस्िेमाल First operand के value
को second operand के value से greater check कििे के सलए ककया जािा है | अगि First operand
का value second operand के value से बड़ा होिा है िो यह true
return कििा है जैसे (5 > 2) return true
< इस operator को Less than operator कहा जािा है | इसका इस्िेमाल First operand के value को
second operand के value से less than check कििे के सलए ककया जािा है |
अगि First operand का value second operand के value से छोटा होिा है िो यह true
return कििा है जैसे (3 < 4) return true
>= इस operator को Greater than equal to operator कहा जािा है | इसका इस्िेमाल First operand
के value को second operand के value से greater औि equal check कििे के सलए ककया जािा
है | अगि First operand का value second operand के value से बड़ा होिा है या बिाबि होिा है िो
यह true return कििा है जैसे (5 >= 5) return true
<= इस operator को Less than equal to operator कहा जािा है | इसका इस्िेमाल First operand के
value को second operand के value से Less औि equal check कििे के सलए ककया जािा है | अगि
First operand का value second operand के value से छोटा होिा है या बिाबि होिा है िो यह
true return कििा है जैसे (5 <= 5) return true
Logical Operators
C में िीि प्रकाि के Logical operator होिे है जब हमे दो किंडीशि में से ककसी एक को चि
ु िा हो िब हम
Logical Operator का प्रयोग कििे है | &&- and, ||- or, !- Not.
|| Logical OR (a || b) is true
Operator Description
= (Assign) Right Side के ऑपिें ड से left side ऑपिें ड में value specified किें ।
+= (Add then assign) right operand का Value left operand में जोड़िा है औि उसे result
specified कििा है ।
-= (Subtract then assign) Left ऑपिें ड से Right ऑपिें ड का Value घटािा है औि उसे result
specified कििा है ।
*= (Multiply then assign) right operand के Value को left से गुर्ा कििा है औि परिर्ाम right
को Specified कििा है ।
/= (Divide then assign) left operand के Value को right से विभाजजि कििा है औि result को
left को Specified कििा है ।
%= (Modulus then assign) left and right operands के Value का उपयोग किके modulus लेिा है
औि Result को left को Specified कििा है । left and right operands
के Value का उपयोग किके modulus लेिा है औि Result को left को
Specified कििा है ।
<<= (Left shift and assign) Left shift औि असाइिमें ट ऑपिे टि।
Bitwise Operator
C लैंग्िेज में बबटिाइज ऑपिे टि का प्रयोग bit लेिल के ऑपिे शि कििे के सलए ककया जािा है |
Increment and Decrement ऑपिे टि दोिों ही बहुि उपयोगी ऑपिे टि होिे हैं जो आमिौि पि कैलकुलेशि
को कम कििे के सलए उपयोग ककए जािे हैं, अथाडि ् ++ x औि x ++ का अथड है x = x + 1 अथाडि X में 1
value को बढ़ािा औि -x औि x– का अथड है x = x-1 अथाडि X में 1 Value को घटािा| लेककि ऑपिें ड के पहले
या बाद में सलखे गए ++ या −− के बीच थोड़ा अिंिि है । प्री-इन्िीमें ट में पहले 1 को ऑपिें ड में जोड़िा है औि
कफि रिजल्ट को बाईं ओि िेरिएबल को असाइि ककया जािा है , जबकक पोस्ट-इन्िीमें ट पहले लेफ्ट पि िैरिएबल
को िैल्यू असाइि कििा है औि कफि ऑपिें ड में 1 जोड़िा है ।
Operator Description
++ Increment operator – एक के बाद एक पूर्ाांक माि बढ़ािा है
−− Decrement operator – एक के बाद पर्
ू ाांक माि घटािा है
Syntax:
(condition) ? true-expression : false-expression;
Condition िाली जगह पि आप कोई भी boolean expression सलख सकिे हैं यािी ऐसी condition
जजसका result या िो true (1) आये या false (0).
अगि condition का result true आया िो first expression executed (return) होगा औि अगि condition
का result false आया िो second expression executed (return) होगा.
Special Operators
Operator Description
जब ककसी expression में एक से ज्यादा operators use होिे हैं िब operator precedence के द्िािा सभी
operators को priorities दी जािी है .
2 + 5 * 3 = 7 * 3 = 21 (wrong)
2 + 5 * 3 = 2 + 15 = 17 (right)
अगि हम operator precedence के rules को बबिा follow किें expression को solve किें गे िो हमािा
output भी ऊपि टदए first example की ििह गलि ही आएगा.
Operator Associativity
जब ककसी expression में same precedence िाले एक से ज्यादा operators use होिे हैं िब operator
associativity के द्िािा उि operators को evaluate कििे का order (left to right or right to left) िय
ककया जािा है .
Example:
5 * 3 + 8 / 2
Data input and output के सलए C language में stdio.h (Standard Input Output) header file दी गयी है
जजसमें बहुि सािे built-in input औि output functions टदए गए हैं.
1 #include<stdio.h>
C programming में सभी input औि output functions को 2 categories में divide ककया जािा है .
इन्हें formatted इिपुट आउटपुट फिंक्शि इससलए कहा जािा है क्योकक ये इिपुट आउटपुट ऑपिे शि पेफोम कििे के सलए
format Specifier(%d, %f) का use कििा है |
printf() function
printf() function एक आउटपुट formatted function है औि ये stdio.h header file में defined हैं इससलए
आपको इि functions को use कििे के सलए इस header file include कििा ही होगा.
जब भी आपको अपिे program में कोई message, variables या दोिों को ककसी खास format में user
के monitor (console) पि print (output) कििा हो िो आप इसके सलए printf() function use कि सकिे
हैं.
Note: print() जजििी character मॉतिटि पि वप्रिंट कििा है उििा int िैल्यू return कििा है |
1 printf("format-specifiers", variables);
2 printf("format-specifiers + Text Message", variables);
Printf Function Example Program:
1 #include <stdio.h>
2 int main()
3 {
4 int roll=125;
5 int age=24;
6 float cgpa=8.7;
7 char gen = 'M';
8
9 printf("%d", roll);
10 printf("\nYour Age : %d", age);
11 printf("\nRoll : %d, CGPA : %f and Gender : %c", roll, cgpa, gen);
12
13 return 0;
14 }
Output:
125
Your Age : 24
Explanation:
Line 10 औि 11 में हमिे message (text) औि उसके साथ ही variable को print किाया है .
जब भी आप इस ििह से print किाए िब format specifier का use text के बीच में उस जगह किें जहाँ
आपको अपिे variable की value print किािी हैं.
scanf() function
इसका scanf() एक इिपुट formatted function है . जब भी आप ककसी भी ििह का data user से
keyword के जरिए input लेिा चाहिे हैं िो आप scanf() function का use कि सकिे हैं.
Note: scanf() जजििी िेरिएबल के सलए िैल्यू इिपुट लेिा है उििा int िैल्यू return कििा है |
9 scanf("%d",&roll);
12
printf("Roll : %d, CGPA : %f and Gender : %c",roll,cgpa,gen);
13
14
return 0;
15
}
16
Explanation:
Line 9 पि हमिे ससफड 1 variable में input सलया है अगि आप 2 variable में input लेिा है िो आपको
2 बाि format specifier लगािा होगा जैसा हमिे line 11 पि ककया है .
हमिे अपिे example में 2 बाि scanf() function का use ककया है औि दोिों ही बाि उससे पहले printf()
function का use ककया है लेककि ये जरूिी िहीिं है . हमिे ऐसा ससफड अपिे program को user friendly
बिािे के सलए ककया है .
Meghraj Soni | VYT College Durg pg. 28
'c' प्रोग्रासमिंग में तिम्ि format specifier होिे है जैसे %
%d - int
%ld - long
%c - character
%s - string
%f - float
%lf - double
getchar() function का use keyboard से single character input लेिे के सलए ककया जािा है औि putchar()
function का use monitor पि single character output कििे के सलए ककया जािा है .
2 ch= getchar();
2 ch = getchar();
3 putchar(ch);
Format specifier ज्यादािि printf() औि scanf() function में use ककये जािे हैं|
Format specifier % operator के साथ start होिा है औि % operator के बाद कुछ
character add होिे हैं जो की data के type को represent कििे हैं|For Example: %d,
%c, %f. Format specifier को format string भी कहा जािा है |
Format
Type
Specifier
%c Used to print the character
%d Used to print the signed integer
%f Used to print the float values
%i Used to print the unsigned integer
%l Used to long integer
%lf Used to print the double integer
Used to print the unsigned int or unsigned long
%lu
integer
%s Used to print the String
%u Used to print the unsigned integer
Following are the few examples of format specifier:
Escape Sequences
Escape Sequences का use printf() function के साथ output को formatted कििे के सलए ककया जािा
है औि ये output screen पि show िहीिं होिे हैं.
Use \" to print double quote and \' for single quote
printf("Hello \t Viewers");
printf("Hello Viewers");
#include <stdio.h>
#define PI 3.14
int main()
{
int a = 8;
const float b = 7.333;
// PI = 7.33; //cannot do this since PI is a constant
printf(" tab character \t\t my backslash %f", PI);
// b = 7.22; //cannot do this since b is a constant
// printf("Hello World\n");
// printf("The value of a is %d and the value of b is %2.4f\n", a, b);
// printf("%18.4f this",b);
return 0;
}
Type Qualifiers in C
Type qualifiers are keywords that can be used to change a data type's behavior in the C
programming language. These qualifiers can be used to describe a variable or pointer's constancy,
volatility, restrictions, and others.
टाइप क्िासलफायि ऐसे कीिडड हैं जजिका उपयोग C प्रोग्रासमिंग भाषा में डेटा टाइप के व्यिहाि को बदलिे के सलए ककया
जा सकिा है । इि क्िासलफायि का उपयोग ककसी चि या पॉइिंटि की जस्थििा, अजस्थििा, प्रतिबिंध औि अन्य का िर्डि
कििे के सलए ककया जा सकिा है ।
1. Const: If any variable is declared as a const in the code and is initialized with a value, its value
cannot be furtherly modified in any part of the code. It results in a compile-time error if the
programmer attempts to modify the value of such variables, which are declared const.
Const: यटद ककसी िैरिएबल को कोड में Const के रूप में घोवषि ककया गया है औि उसे ककसी माि से आििं भ ककया गया है , िो
कोड के ककसी भी भाग में उसके माि को आगे सिंशोचधि िहीिं ककया जा सकिा है । यटद प्रोग्रामि ऐसे िैरिएबल के माि को सिंशोचधि
कििे का प्रयास कििा है , जजन्हें कॉन्स्ट घोवषि ककया गया है , िो इसके परिर्ामस्िरूप compile-time त्रुटट होिी है।
2. #include <stdio.h>
Output:
The code results in a compile time error since the user is trying to modify the value of const
variable 'y' after its initialization.
2. Volatile: The keyword "volatile" can be used to describe a variable whose value is subject to
sudden change. It is typically used for variables that can be accessed by hardware, updated by several
threads or processes, or both. The volatile qualifier informs the compiler that any reads or writes to
the variable should not be optimized away since the variable's value might change without the
program's permission.
Syntax:
1. volatile <data_type><variable_name>
3. Restrict: Use the restrict qualifier to specify that a pointer is an exclusive method of accessing a
specific object or area of memory. Assuming that no other pointer may access the same memory
region, enables the compiler to generate code that is more effective. In performance-sensitive code,
such as numerical algorithms, the restrict qualifier is often used.
4. _Atomic: When a variable may be read or written atomically, meaning without interference from
other threads or processes, it is indicated by this type of qualifier. It is frequently used in
multithreaded programming to provide synchronized and reliable data access.
1. _Atomic <data_type><identifier>
5. _Thread_local: When a variable has thread-local storage duration, which means that it lives
separately for each thread in a program, it is indicated by this type of qualifier. Having a private copy
of the variable for each thread in this way enables the storage of thread-specific information.
6. _Noreturn: When a function enters an infinite loop or ends the program in some other way (such
as by calling the exit() function), it is indicated by this type of qualifier that the function never
Meghraj Soni | VYT College Durg pg. 33
returns. Writing functions that carry out some clean-up or error handling before ending the program
can make use of this.
7. _Alignas: The alignment of a variable, which establishes its memory address boundary, is defined
by this type of qualification. It may help to improve memory access and lower cache The desired
alignment in bytes is specified as an input to the "_Alignas" qualifier.