[go: up one dir, main page]

100% found this document useful (2 votes)
6K views34 pages

Unit-1 Programming in C Hindi

Computer knowledge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
6K views34 pages

Unit-1 Programming in C Hindi

Computer knowledge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

History of C Language

सी भाषा का इतिहास 1970 के दशक की शुरुआि का है जब बेल लैब्स में डेतिस रिची िे इस भाषा को
विकससि ककया था।

रिची यूतिक्स ऑपिे टटिंग ससस्टम के विकास पि काम कि िहे थे, औि उन्होंिे यूतिक्स ऑपिे टटिंग ससस्टम के
मुख्य components को सलखिे के सलए सी को एक ससस्टम प्रोग्रासमिंग भाषा के रूप में डडजाइि ककया था।

सी को एक high-level programming language के रूप में डडजाइि ककया गया था जो उपयोग कििे औि
समझिे में आसाि थी, जबकक अभी भी हाडडिेयि िक सीधे पहुिंचिे के सलए पयाडप्ि efficient and low-level थी।

Photo: Dennis Ritchie (1941-2011)

सी के पहले 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 शासमल हैं।

Meghraj Soni | VYT College Durg pg. 1


आज, सी दतु िया में सबसे व्यापक रूप से उपयोग की जािे िाली प्रोग्रासमिंग भाषाओिं में से एक बिी हुई है औि
कई महत्िपूर्ड systems and technologies के विकास में महत्िपूर्ड भूसमका तिभािी है । सी प्रोग्रासमिंग का
इतिहास इसकी Proof of versatility, efficiency and longevity है , औि यह आधुतिक किंप्यूटि विज्ञाि की
आधािसशला बिा हुआ है ।

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) जैसी िई सवु िधाओिं को शासमल ककया गया था।

Meghraj Soni | VYT College Durg pg. 2


 2011 में C लैंग्िेज के िए िजडि को लािंच ककया गया जजसका िाम C11 था।

 2018 में C लैंग्िेज के एक औि िजडि को लािंच ककया गया जजसे C18 िाम टदया गया. आज
के समय में यूजि इसी िजडि का इस्िेमाल कि िहे हैं.

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


भाषा का नाम पिकसित िषष द्िारा पिकसित ककया गया

Algol 1960 International Group

BCPL 1967 Martin Richard

B 1970 Ken Thompson

Traditional C 1972 Dennis Ritchie

K&RC 1978 Kernighan & Dennis Ritchie

ANSI C 1989 ANSI Committee

ANSI/ISO C 1990 ISO Committee

C99 1999 Standardization Committee

Character Set

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

We know
Alphabets => Word => Sentence => Paragraph => Book

Similarly
Character Set => Token => Statement => Program => Software

Meghraj Soni | VYT College Durg pg. 3


जैस–े जब हम टहन्दी सीखिे हैं िो हमे सबसे पहले क, ख, ग, घ आटद पढ़ाया जािा हैं या अँग्रेजी सीखिे समय a, b,
c ठीक इसी प्रकाि C Language सीखिे से पहले आपको इसके Characters के बािे में जाििा जरूिी हैं। C
Language मे कैिे क्टि सेट को चाि भागो मे बािंटा गया हैं, जो तिम्िािस
ु ाि है

 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) ही होिे हैं पि इिका समह
ू बिाकि भी इसे प्रयोग कि सकिे है |

जैसे : 123, 345,764 आटद |

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

Meghraj Soni | VYT College Durg pg. 4


C language में token िामान्यतया कोई भी word, punctuation mark, symbol होता है ।

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 कहिे है |

Meghraj Soni | VYT College Durg pg. 5


इिका अपिा एक अलग महत्ि औि विशेषिा होिी है | चुकी Keywords, Predefined या Reserved होिे है इससलए इसका
उपयोग ककसी Variable के िाम के रूप में िहीिं ककया जा सकिा |
अगि हम ककसी Keyword का उपयोग ककसी Variable के िाम के रूप में कििे है िो इसका मलबि, हम उस कीिडड की मीतििंग
बदल िहे है जो की सी लैंग्िेज में अल्लोि (Allow) िहीिं है |
हि Keywords का अपिा एक तिजश्चि अथड है , औि इसका अथड िहीिं बदला जा सकिा है | सभी Keywords का अथड कम्पाइलि को
पहले से पिा होिा है इससलए कम्िाइलर को अलग से इि कीिडड का मिलब बिािे की जरुिि िहीिं होिी |
सी लैंग्िेज कुल 32 Keywords सपोटड कििी है जो की तिचे टदया गया है | Keywords को हम Lowercase Letter में ही सलखिे है
|
auto double int struct
break else long switch
case enum register typedef
char extern return union
const short float unsigned
continue for signed void
default goto sizeof volatile
do if static while
Keywords in C

2. Identifiers
आप अपिी डेली लाइफ में कई चीजें दे खिे होंगे जैसे कक काि, मोबाइल, घि, आपके दोस्ि जैसे िमेश ,सुिेश आटद | इि सभी को
आप एक अलग अलग िाम से जाििे होंगे | एक बाि सोचचए जिा ,अगि उिका िाम ि हो िो आप उिके बािे में बाि कैसे
किें गे | िो ऐसे में उिका िाम होिा बहुि आिश्यक है , इसी िाम को ही हम Identifiers कहिे हैं |
Identifies के द्िारा हम िभी को uniquely identify कर िाते है | िी लैंग्िेज में Variable, Function, Array, Structure
आदि का नाम िे ने के सलए Identifiers का उियोग ककया जाता है |
Identifiers यूजि डडफाइिंड होिा है | यूजि डडफाइिंड का मिलब उपयोगकिाड या यूजि तिधाडरिि कििा है कक Variable, Function,
Array, Structure आटद का िाम क्या होगा |
इिके िाम में ससफड uppercase letters, lowercase letters, underscore, औि ििंबसड होिे है | मगि दो Identifiers का िाम एक
जैसा िहीिं हो सकिा | साथ ही Keywords का उपयोग हम Identifiers के रूप में िहीिं कि सकिे |

Identifiers बिािे के कुछ तियम

 Identifiers का पहला अक्षि अल्फाबेट, औि अिंडिस्कोि ही होगा |


 इसमें केिल uppercase letters, lowercase letters, underscore, औि ििंबसड का ही उपयोग ककया जा सकिा हैं |
 Identifiers के िाम में व्हाइट-स्पेस िहीिं होिा चाटहए।
 ककसी कीिडड का उपयोग Identifiers के रूप में िहीिं ककया जा सकिा |
 Identifiers की लिंबाई 31 characters से ज्यादा िहीिं हो सकिी |
 आप जो भी Identifiers बिाये िो मीतििंगफुल होिा चाटहए |
 Identifiers का िाम ििंबसड से शुरू िहीिं हो सकिा |

3. String
String किै क्टि का एक Array है जो कक Null किै क्टि (\0) के साथ ख़िम होिा है | Null किै क्टि (\0) बिािा है कक String ख़िम
हो गया है | String को हमेशा डबल क्िोट्स (“ “) के साथ सलखा जािा है | जस्ट्रिं ग की साइज उसमे उपजस्थि Character की सिंख्या
पि तिभडि कििी है |
String को हम इि अलग अलग ििीको से डडफाइि कि सकिे है -:

Meghraj Soni | VYT College Durg pg. 6


1. char string[20] = {‘M’,’a’,’a’,’t’,’e’,’r’,’p’,’r’ ,’o’ ,’g’ ,’r’ ,’a’ ,’m’ ,’m’ ,’i’ ,’n’ ,’g’ ‘\0’};
2. char string[20] = “Masterprogramming”;
3. char string [] = “Masterprogramming”;
ऊपि टदए गए Examples में से पहले िाले Example में कम्पाइलि जस्ट्रिं ग को िै म में 20 बाइट मेमोिी Allocate किे गा जजसमे
String को Character के रूप रिप्रेजेंट ककया गया है | दस
ू िे िाले Example में भी कम्पाइलि जस्ट्रिं ग को िै म में 20 बाइट मेमोिी
Allocate किे गा औि िीसिे िाले Example में जस्ट्रिं ग को कम्पाइलि िि टाइम में मेमोिी Allocate किे गा |

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 को हम दो ििह से डडक्लेअि कि सकिे है -:

 Using const keyword


 Using #define pre-processor

कािंस्टें ट के प्रकाि ( Types of Constant)


Constant Example
Integer constant 4, 111, 110, 34, etc.

Meghraj Soni | VYT College Durg pg. 7


Floating-point constant 65.6, 67.8, 11.2, 2.0 etc.
Octal constant 011, 088, 022, etc.
Hexadecimal constant 0x1a, 0x4b, 0x6b, etc.
Character constant ‘a’, ‘b’, ‘c’, etc.
String constant “C”, “C++”, “Python”, “Java”, “.net”, etc.

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 कहिे है . िेरिएबल अपिे स्कोप के आधाि पि दो प्रकाि का होिा है जो तिम्िसलखखि है :-

Meghraj Soni | VYT College Durg pg. 8


1:- Global
2:- Local

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


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

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


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

C में Variables के उिाहरण


सी प्रोग्रासमिंग में , आप जजस डेटा को स्टोि कििा चाहिे हैं उसके आधाि पि आप विसभन्ि प्रकाि के िेरिएबल declare and use
कि सकिे हैं।
यहािं C में िेरिएबल के कुछ उदाहिर् टदए गए हैं:
Integer variables example

int age = 25;

Character variables example

char first_initial = 'J';

Floating-point variables example

float height = 1.75;

Double variables example

double pi = 3.14159;

Boolean variables example

bool is_raining = true;

Pointer variables example

int *ptr = &age;

C लैंग्िेज में Variables कैिे घोपषत करें ?


(How to Declare Variables in C ?)
आइए सी भाषा में िेरिएबल्स की घोषर्ा को syntax and examples के साथ समझें।

Syntax
data_type variable_name;

जहािं data_type उस िेरिएबल का प्रकाि है जजसे आप घोवषि कििा चाहिे हैं, औि variable_name िह िाम है
जजसे आप िेरिएबल को दे िा चाहिे हैं।

Meghraj Soni | VYT College Durg pg. 9


Example 1
उदाहिर् के सलए, यटद आप integer value named age को stored कििे के सलए एक variable घोवषि कििा
चाहिे हैं, िो आप तिम्िसलखखि कोड का उपयोग कि सकिे हैं:

int age;

Example 2
यटद आप floating-point value called salary को stored कििे के सलए सी प्रोग्रासमिंग में एक िैरिएबल घोवषि
कििा चाहिे हैं, िो आप तिम्ि कोड का उपयोग कि सकिे हैं:

float salary;

एक ही िमय में Variables को Declare और Initialize कैिे करें ?

आप एक ही समय में 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;

Meghraj Soni | VYT College Durg pg. 10


Data Types in C
C Programming मे Data Type, Variables द्िारा Store ककए गए Value के Type और Size को Define
करने के सलए आिश्यक है

Data Type का प्रयोग Variables को Program में Use करने िे िहले उिे Declare/Define करने में होता है
या यह बताने के सलए होता है कक Variable ककि प्रकार की Value Store करे गी
Examples:
int age;
char grade;

ऊिर int और char, Data types है तथा age और grade, Variables है


अब age Variable में int Data type होने के कारण उिमें Integer Value ही Store कर िकते है

जबकक grade, Variable में char, Data type होने के कारण उिमें Character Value ही Store कर िकते है

अतः Variables को Declare करते िमय Data Types िे कर हम यह िुननश्श्चत करते है कक इिमें दिए गए
Data Types के आधार िर Value Store होगी

C language में Data Types के प्रकार

Data Types को ननम्न Categories में बांटा गया है


A) Primary Data Types
1. Integer
2. Float (floating-point)
Meghraj Soni | VYT College Durg pg. 11
3. Double (double-precision floating-point)
4. Char (character)
5. Boolean

B) Derived Data Types


1. Array
2. Pointer
3. Function

C) User Defined Data Types


1) Structure
2) Union
3) Enumeration
4) typedef

Primary Data Types

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 के प्रकार

C में Primary data types Sets िाए जाते है श्जिे आगे ननम्न प्रकार िे िगीकृत ककया जा िकता है

Integral Types:
1) int:
इि data type का Use Variable में Numeric Values Store करने के सलए Use ककया जाता है इि प्रकार के
Data Type िाले Variable को Declare करने के सलए 'int' keywords का Use करते है

Range: -2147483648 to 2147483647


Size: 4 bytes (32 bits)
Format Specifier : %d
Example:
int salary;
int SID;

'int' Data Type में short, long और unsigned Modifiers का Use करते है इिमें short का Use छोटे Range

Meghraj Soni | VYT College Durg pg. 12


का Value और long का Use बडे Range का Value Store करने मे होता है

short int के सलए


Range: -32768 to 32767
Size: 2 bytes (16 bits)
Format specifier: %hd
Example
int short num1 = 1305;

long int के सलए


Range:-2147483648 to 2147483647 ( int के िमान)
Size: 4 bytes (32 bits)
Format specifier: %ld
Example
int long num2 = 44356L;

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 जगह लेता है

Range: 0 to 255 (unsigned) या -128 to 127 (signed)


Size: 1 byte (8 bits)
Format specifier: %c
Example:
char my_grade;
Play Video
3) Bool:
bool Data type, का Use boolean values को represent करने के सलए ककया जाता है इिमें boolean Values
के रूि में True या False, Yes या No होते है

Meghraj Soni | VYT College Durg pg. 13


Range: 0 (for false) और 1 (for true)
Size: 1 byte
Format specifier: %d
Example:
bool isRight = True;
Floating-Point Types:

1) float:
float Data type का Use floating-point values को Store करने के सलए करते हैं इिमें Decimal numbers या
fractional values store ककए जाते है यह Memory में 4 bytes जगह लेता है तथा Decimal values के बडे
Range को Store करने के सलए उियक्
ु त है

Range: 1.2E-38 to 3.4E38.


Size: 4 bytes or 32 bits
Format specifier: %f
Example:
float amount;

2) double:

'double' , Data type भी float Data type के िमान है लेककन double Data type Decimal points के बाि 10
Digits तक Values store करने की अनुमनत िे ता है तथा Memory में 8 Byte जगह लेता है

Range: 2.3e-308 to 1.7e+308.


Size: 8 bytes (64 bits)
Format specifier: %lf
Example:
double average = 8.9980054;

3) long double:
'long double' , Data type, double और float िे ज्यािा decimal point िाले Values को Store करता है

Range: 3.4E-4932 to 1.1E+4932


Size: 10 Bytes
Example:
long double bigDecimal_digits = 5.1887926567997765327846L;

ऊिर के िारे Data Types की Size compiler और System architecture िर भी ननभषर करता है

Meghraj Soni | VYT College Durg pg. 14


4) void:

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 कर रहा है

Derived Data Types

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 की
जदटल िंरचना के ननमाषण हे तु उिे िंगदित और प्रिसशषत करने के सलए एक तरीका प्रिान करते है

C मे Derived Data Types के प्रकार


ये ननम्न है

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 करता है

Meghraj Soni | VYT College Durg pg. 16


Example:
int sum(int x, int y)
{
return x + y;
}

ऊिर के Code में sum function का नाम है श्जिके िो parameters, x और y है उिके बाि function की
Body
{ } के अंिर िह िोनों Parameters की Values को Add करके Result को Return कर रहा है अब इि
Defined function को Program में कही िर भी Call ककया जा िकता है

User Defined Data Types

C language में User-defined data types, उन Data type को refer करता है जो language में ननसमषत होने के
बजाय Programmer द्िारा बनाए जाते हैं। इन Data type को िहले िे मौजूि Data types के Combination
का Use करके Define ककया गया है

C में User Defined data type के प्रकार

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 आदि को रखा गया है

Meghraj Soni | VYT College Durg pg. 17


2) Union
Union Data Type एक User Defined Data Type है जो आिको पिसभन्न Data Types िाले Variables को
एक ही Memory Address में Store करने की अनुमनत िे ता है

जहां 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 आिको Integer Value के िमह


ू को एक अथषिण
ू ष नाम िे ने की अनम
ु नत िे ते है जो Code को
िढ़ना और िमझना आिान बनाता है

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 होते जायेगा

4) typedef Data Type


typedef Data Type का Use पहले से बिे Data Type को एक िया िाम या उपिाम (alias) दे िे के सलए ककया
जािा है अब आप उस िए िाम का Use किके आप एक Variable को Declare किके उसे Value Assign कि
सकिे हैं

Example:
typedef int computerehub;
computerehub x = 46;

typedef actually में एक कीिडड है जो आपको मौजद


ू ा डेटा प्रकाि के सलए उपिाम बिािे की अिम
ु ति दे िा है ।
यह आपके कोड को अचधक readable and maintainable आसाि बिा सकिा है , खासकि complex data types
or function pointers से तिपटिे समय।

Example:
typedef int myInt;

myInt x = 42;

printf("%d\n", x); // Output: 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;

In above expression A, B, C, D are Operand and =, +, / are Operator.

Meghraj Soni | VYT College Durg pg. 19


Types of Operators in C

 Arithmetic Operators
 Relational Operators
 Logical Operators
 Assignment Operator
 Bitwise Operators
 Increment/Decrement Op
 Ternary or Conditional Operators
 Special Operator

Operator Name Operator Symbol

Arithmetic operators +, -, *, /, %

Relational operators >, <, ==, >=, <=, !=

Logical operators &&, ||, !=

Increment and decrement operator ++ and —

Assignment operator =

Bitwise operator &, |, ^, >>, <<, ~

Comma operator ,

Conditional operator ?:

Arithmetic operators

अथडमेटटक ऑपिे टि का उपयोग mathematical operations को perform कििे के सलए होिा है जैसे जोड़ (+),
घटाि (-), गुर्ा (*), विभाजि (/) औि मापािंक (%)

Operator Description
+ इस ऑपिे टि का उपयोग दो ऑपिें ड को जोड़िे के सलए ककया जािा है
– इस ऑपिे टि का उपयोग दो ऑपिें ड को घटािे के सलए ककया जािा है
* इस ऑपिे टि का उपयोग दो ऑपिें ड का गर्
ु ा कििे के सलए ककया जािा है
/ इस ऑपिे टि का उपयोग दो ऑपिें ड को डडिाइड कििे के सलए ककया जािा है
% इस ऑपिे टि का उपयोग दो ऑपिें ड के मापािंक विभाजि के सलए ककया जािा है

Relational operators

रिलेशिल ऑपिे टिों का उपयोग दो िैल्यू की िुलिा कििे के सलए ककया जािा है । इससलए इसे Comparison
operator भी कहा जािा है |

Operator Description

Meghraj Soni | VYT College Durg pg. 20


== इस operator को equal to operator कहा जािा है | इस operator का इस्िेमाल दो value
को equal check कििे के सलए ककया जािा है | अगि दोिों value equal होिी है िो यह
true return कििा है |

!= इस operator को Not equal to operator कहा जािा है | इसका इस्िेमाल दो operands को


equal िहीिं होिे के सलए check ककया जािा है | मिलब की इस operator का इस्िेमाल
दो operands के value को check कििे के सलए ककया जािा है अगि दोिों operands
का
value equal िहीिं होिा है िो यह true return कििा है |

> इस 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.

Operator Description Example

&& Logical AND (a && b) is false

|| Logical OR (a || b) is true

! Logical NOT (!a) is false

Meghraj Soni | VYT College Durg pg. 21


Assignment Operators
C में असाइिमें ट ऑपिे टि एक िेरिएबल को एक Value Specified कििे हैं। इस ऑपिे टि के left operand को
िेरिएबल कहा जािा है , औि right operand को िैल्यू के रूप में जािा जािा है। left ओि के िेरिएबल औि Right
ओि के Value में समाि डेटा प्रकाि होिा चाटहए; अन्यथा किंपाइलि एक Error टदखाएगा. सबसे आम असाइिमेंट
ऑपिे टि = है ।

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 औि असाइिमें ट ऑपिे टि।

>>= (Right shift and Right shift AND assignment operator.


assign)
&= (Bitwise AND assign) Bitwise AND assignment operator.

^= (bitwise exclusive OR बबटिाइज एक्सक्लूससि OR औि असाइिमें ट ऑपिे टि।


and assign)
|= (bitwise inclusive OR बबटिाइज समािेशी OR औि असाइिमें ट ऑपिे टि।
and assign)

Bitwise Operator

C लैंग्िेज में बबटिाइज ऑपिे टि का प्रयोग bit लेिल के ऑपिे शि कििे के सलए ककया जािा है |

Meghraj Soni | VYT College Durg pg. 22


Operator Description
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
<< left shift
>> right shift

Increment and Decrement Operator

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 – एक के बाद पर्
ू ाांक माि घटािा है

Conditional operator (ternary operator)

Conditional Op में two symbols ( ? ) औि ( : ) का use होिा है .

Syntax:
(condition) ? true-expression : false-expression;

variable = (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

C कुछ विशेष ऑपिे टिों को सपोटड कििा है |

Operator Description

Meghraj Soni | VYT College Durg pg. 23


sizeof() यह operator ककसी भी variable का size उसके data type के अिुसाि return कििा
है |
& यह operator variable के address को return कििा है |
* Pointer variable को denote कििे के सलए इस्िेमाल ककया जािा है |

ऑिरे टरों की प्राथसमकता(Operator Precedence)

ऑपिे टि Precedence सी प्रोग्रासमिंग की एक महत्िपूर्ड पिशेषता है जो एक Expression में शब्दों को समूटहि


कििी है औि कफि प्रदाि की गई Expression के आधाि पि Expression का Evaluation कििे का ििीका िय
कििी है ।

जब ककसी expression में एक से ज्यादा operators use होिे हैं िब operator precedence के द्िािा सभी
operators को priorities दी जािी है .

Operators priorities के आधाि पि ही ये िय ककया जािा है की expression को evaluate कििे िक्ि


ककस operator को पहले solve ककया जाएगा. आइए example के साथ समझिे हैं.

2 + 5 * 3 = 7 * 3 = 21 (wrong)

2 + 5 * 3 = 2 + 15 = 17 (right)

अगि हम operator precedence के rules को बबिा follow किें expression को solve किें गे िो हमािा
output भी ऊपि टदए first example की ििह गलि ही आएगा.

क्योंकक C language में multiply ( * ) की operator precedence addition ( + ) की operator precedence


से ज्यादा होिी है .

Operator Associativity
जब ककसी expression में same precedence िाले एक से ज्यादा operators use होिे हैं िब operator
associativity के द्िािा उि operators को evaluate कििे का order (left to right or right to left) िय
ककया जािा है .

Example:
5 * 3 + 8 / 2

Meghraj Soni | VYT College Durg pg. 24


ऊपि िाले expression में * औि / की operator precedence (priority) same होिी है इससलए अब यहाँ
हम इि operators की associativity दे खकि इस expression को solve किें गे.

सी में कुछ ऑपिे टिों की precedence दस


ू िों की िुलिा में अचधक है , जबकक कुछ की precedence कम है । यह
ऊपि से िीचे की ओि घटिा जािा है ।

तिम्ि िासलका C में ऑपिे टिों की precedence औि associativity को दशाडिी है ।

Category Operator Associativity

Postfix () [] -> . ++ - - Left to right


Unary + - ! ~ ++ - - (type)* & sizeof Right to left
Multiplicative */% Left to right
Additive +- Left to right
Shift << >> Left to right
Relational < <= > >= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %=>>= <<= &= ^= |= Right to left
Comma , Left to right

Input / output function in C


Users से communicate कििे के सलए हम (programmers) अपिे programs में input and output
functions की help लेिे हैं.

Data input and output के सलए C language में stdio.h (Standard Input Output) header file दी गयी है
जजसमें बहुि सािे built-in input औि output functions टदए गए हैं.

Meghraj Soni | VYT College Durg pg. 25


इि सभी input and output functions को use कििे के सलए आपको अपिे program के सबसे top में
stdio.h header file को include कििा होगा जजसका syntax मैंिे िीचे टदया है .

1 #include<stdio.h>

C programming में सभी input औि output functions को 2 categories में divide ककया जािा है .

1. फामेटेड इिपुट आउटपुट function ⇒


इिपुट िथा आउटपुट के सलए use ककये जािे िाले ऐसे function जजिमे इिपुट या आउटपुट होिे िाली value
का format भी define कििा आिश्यक होिा है उन्हें formated इिपुट आउटपुट function कहा जािा है |

जैसे scanf(), printf()

इन्हें 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 कििा है |

जैस:े int c = printf(“Hello”); // यहाँ Hello 5 character है , िो c=5 होगा|

Meghraj Soni | VYT College Durg pg. 26


Printf Function Syntax:

int printf(“Format Specifier”, var1, var2, …., varn);

Ex printf("Hello Students How are you");

Printf Function Syntax 2:

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

Roll : 125, CGPA : 8.7 and Gender : M

Explanation:

Line 4 से 7 िक हमिे अलग-अलग data types के variables को declare ककया है .

Line 9 में हमिे ससफड variable roll को print किाया है .

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 कि सकिे हैं.

Meghraj Soni | VYT College Durg pg. 27


scanf() इस प्रकाि की value इिपुट किाइ जािी है जजस ििह का डाटा टाइप होिा है , प्रत्येक डाटा टाइप का
formatted अथाडि टाइप specifier बिािा अतििायड होिा है |

Note: scanf() जजििी िेरिएबल के सलए िैल्यू इिपुट लेिा है उििा int िैल्यू return कििा है |

जैसे: int c = scanf(“%d%d”,&a,&b); // यहाँ a औि b दो इिपुट ले िहे हैं िो c=2 होगा |

Scanf Function Syntax:


int scanf(“Format Specifier”, &var1, &var2, …., &varn);

Scanf Function Example Program:


1
#include <stdio.h>
2
int main()
3
{
4
int roll;
5 float cgpa;
6 char gen;

8 printf("Enter Your Roll No. : ");

9 scanf("%d",&roll);

printf("Enter Your CGPA and Gender : ");


10
scanf("%f %c",&cgpa,&gen);
11

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

Unformatted इिपुट आउटपुट function ⇒


इिपुट िथा आउटपुट के सलए use होिे िाले ऐसे function , जजिमे इिपुट या आउटपुट होिे िाली value का
format define िही ककया जािा है उन्हें Unformatted इिपुट आउटपुट functions कहा जािा है |

जैसे getchar(); getche(); gets(); putchar(); puts();

getchar() यह एक unformatted इिपुट function है इस function का use एक character value


इिपुट कििे के सलए ककया है यह function एक character value इिपुट कि सकिा है इससलए इस
function में इिपुट होिे िाली value का format define कििे की आिश्यकिा िही होिी है

जैसे char a; a=getchar();

getchar() function का use keyboard से single character input लेिे के सलए ककया जािा है औि putchar()
function का use monitor पि single character output कििे के सलए ककया जािा है .

getchar() function syntax:


1 variable = getchar();

getchar() function example:


1 char ch;

2 ch= getchar();

putchar() function syntax:


1 putchar(variable);

putchar() function example:


1 char ch;

2 ch = getchar();

3 putchar(ch);

getchar() and putchar() function example program:

Meghraj Soni | VYT College Durg pg. 29


1 #include <stdio.h>
2 int main()
{
3 char ch;
4 printf("Enter Your Char : ");
5 ch = getchar();
6 printf("You Entered : ");
7 putchar(ch);
8
return 0;
9
}
10
11
Format specifier
Format specifier C programming में data को represent कििे का एक ििीका है जो
compiler को यह बिािा है की इस variable में ककस प्रकाि का value store है या कफि ककस
प्रकाि का value store होगा|

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:

 To print the integer value:

printf("\n The value of integer is %d", d);

 To print the float value:

printf("The value of float is %f", f);


Meghraj Soni | VYT College Durg pg. 30
 To print the character:

printf("\n The value of character is %c", c);

 To print the string:

printf("\n The value of string is %s", s);

Escape Sequences
Escape Sequences का use printf() function के साथ output को formatted कििे के सलए ककया जािा
है औि ये output screen पि show िहीिं होिे हैं.

Escape Sequences की शुरुआि backslash ( \ ) के साथ होिी है औि backslash के साथ 1 या 2


characters होिे हैं औि इिका use औि function पहले से fix होिा है .

Many programming languages supports the concept of Escape Sequence. An escape


sequence is a sequence of characters which are used in formatting the output. They are
not displayed on the screen while printing

Escape Sequence Description


\t Inserts a tab
\b Inserts a backspace
\n Inserts a newline.
\r Inserts a carriage return.
\f Inserts a form feed.
\’ Inserts a single quote character.
\” Inserts a double quote character.
\\ Inserts a backslash character.

 Print character backslash(\) using printf function

printf("\n C programming \m/ ");

 Prints a newline before and after the text

printf("\n This is my C program\n"); ·

 Use \" to print double quote and \' for single quote

printf("\n Welcome to \"The C Programming tutorial\"");

printf("\n Welcome to \'C programming series \'") ;

Meghraj Soni | VYT College Durg pg. 31


 To provide tab space between two words

printf("Hello \t Viewers");

 To add vertical tab character.

printf("Hello Viewers");

printf("\v Welcome to C Programming");

#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 प्रोग्रासमिंग भाषा में डेटा टाइप के व्यिहाि को बदलिे के सलए ककया
जा सकिा है । इि क्िासलफायि का उपयोग ककसी चि या पॉइिंटि की जस्थििा, अजस्थििा, प्रतिबिंध औि अन्य का िर्डि
कििे के सलए ककया जा सकिा है ।

These type qualifiers are as follows:

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>

Meghraj Soni | VYT College Durg pg. 32


3. int main() {
4. const int y=10;
5. printf("The value of const variable y is %d",y);
6. y=11;
7. printf("The value of variable after modification is %d",y);
8. return 0;
9. }

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.

An example code that declares a restrict-qualified pointer:

1. Void fun(int *restrict m, int *restrict n);

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.

Syntax to declare a variable:

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.

Meghraj Soni | VYT College Durg pg. 34

You might also like