Computer Programming Theory and Practicals (Comp
Computer Programming Theory and Practicals (Comp
લેખક
ડરો. ્સતયેન્દ્રમ્સંહ ચૌહરાણ
સહાયક પ્રોફેસર, ડિપાર્ટમેનર ઓફ કમ્પ્યુરર સાયનસ એનિ એનનજિનિયડરંગ,
માલનિયા િેશિલ ઇનન્રર્ યૂર ઓફ રેકિરોલરોજી,
જિયપયુર-302017, રાજિ્્ાિ
ુ રાદક
અનવ
ડરો. કરોટક પરે શ પ્મવણચંદ્ર
પ્રોફેસર, એનિ આચાય્ટ, કમ્પ્યુરર એનનજિનિયડરંગ નિભાગ,
િૉ એસ એનિ એસ એસ ગાંધી કરોલેજિ,
માજયુરા ગેર પાસે, સયુરત, ગયુજિરાત 3950001
ભરાષરા ્સિીક્ષક
પ્રો. જીજ્રા પટેલ
આનસ્રનર પ્રોફેસર, કરોમ્પ્યુરર સાયનસ એનિ એનજીનિયરીંગ નિભાગ,
ઈન્રટીર્યુર ઓફ રે કિરોલરોજી, નિરમા ્યુનિિનસસિરટી,
એસજી હાઇિે, અમદાિાદ – 382481, ગયુજિરાત, ભારત.
TRANSLATOR DETAILS
Dr. Kotak Paresh Pravinchandra, Prof & Principal, Computer Engineering Department, Dr S & SS Ghandhy
College, Nr majura Gate, Surat, Gujarat 3950001.
Email ID: [email protected]
July, 2024
ISBN : 978-93-6027-941-7
All rights reserved. No part of this work may be reproduced in any form, by mimeograph or any other
means, without permission in writing from the All India Council for Technical Education (AICTE).
Further information about All India Council for Technical Education (AICTE) courses may be obtained from the
Council Office at Nelson Mandela Marg, Vasant Kunj, New Delhi-110070.
Published by All India Council for Technical Education (AICTE), New Delhi.
Disclaimer: The website links provided by the author in this book are placed for informational, educational &
reference purpose only. The Publisher do not endorse these website links or the views of the speaker / content of
the said weblinks. In case of any dispute, all legal matters to be settled under Delhi Jurisdiction, only.
(iv)
એકનોલેજમે ટ
મૈ ી ૂણ બનાવવા અને કલા મક ર તે વ ુ સારો આકાર આપવા માટ અમે િન ઠા ૂવક વીકાર એ
છ એ.
હોત. ુ ં સહાયક બનવા બદલ મારા માતાિપતા અને મારા પ રવારનો ડો આભાર ય ત કરવા માં ુ
ં. ુ ં હંમેશાં માર સાથે રહવા અને મારા પર િવ ાસ રાખવા બદલ મારા ભાઈ િવ મનો આભાર પણ
ય ત કરવા માં ુ .ં છે વટ, આ ુ તક માર પ ની સોનાલી અને બાળકો થવી, સમથ અને િનયિતને
સમિપત છે .
આ ુ તક એઆઈસીટ ઇના સ યો, િન ણાતો અને લેખકોના િવિવધ ૂચનો ુ ં પ રણામ છે , મણે
તેમના મંત યો શેર કયા હતા અને આપણા દશમાં ઇજનેર િશ ણને વ ુ િવકિસત કરવા માટ િવચા ુ
ુ તકો, સમી ા લેખો, કાગળો, ફોટો ા સ, ટનોટ, સંદભ અને અ ય ૂ યવાન મા હતીએ ુ તક
સ યે િસહ ચૌહાણ
(v)
તાવના
હ ત ત તૈયાર કરવાની યા દરિમયાન, અમે િવિવધ માણ ૂત પાઠય ુ તકો યાનમાં લીધા
છે અને તે ુજબ ો, ન ધો, સમ યાઓ હલ કરવામાં આવી છે અને ૂરક સમ યાઓ વગેર વા
િવભાગો િવકસાવવામાં આવે છે . ુ દા ુ દા િવભાગો તૈયાર કરતી વખતે, વા તિવક િવ ના ઉદાહરણો
ારા આવર લેવામાં આવેલા િવષયો પાછળની ેરણા અને તે ક ટુ શનલ સમ યાના િનરાકરણમાં
શા માટ ઉપયોગી છે તેના પર પણ ભાર ૂકવામાં આ યો છે . ુ તકમાં તમામ કારની મ યમ અને
અ તન તરની સમ યાઓ આવર લેવામાં આવી છે અને આને ૂબ જ તા કક અને યવ થત ર તે
ર ૂ કરવામાં આવી છે . િવિવધ કારના િવ ાથ ઓને ભણાવવાના ઘણા વષ થી તે સમ યાઓના
ેડશનની ચકાસણી કરવામાં આવી છે .
જ રયાત જ
ુ બનાં ઉદાહરણો અને ઉદાહરણો ઉપરાંત, સંબિં ધત િવષયોની યો ય સમજણ માટ
દરક એકમમાં અસં ય ો ાિમગ કો સથી પણ આ ુ તક સ ૃ છે . આ ુ તકમાં, િવિવધ ો ાિમગ
ટ સ પણ હાઇલાઇટડ નો સના વ પમાં આપવામાં આવી છે . તેમાં સંબિં ધત ો ાિમગ ે ટક સ
અને િવ ડઓ વચનો માટની વ ુ લ સ શામેલ છે ો ાિમગ ઉદાહરણોને સમ વે છે . એક ૂરક
સામ ી, એક સમિપત િવ ડઓ યા યાન ેણી પણ બનાવવામાં આવી છે . તે માટની લક એકમના તે
આપવામાં આવી છે . વ મ
ુ ાં, "વ ુ ણો" શીષક હઠળ વપરાશકતાઓ માટ કટલીક આવ યક મા હતી
ઉપરાંત, અમે પ રિશ ટ અને પ રિશ ટ િવભાગમાં કટલીક આવ યક ૂળ ૂત મા હતી પ ટ કર છે .
યાં ધ
ુ ી હાલના ુ તકનો સવાલ છે , "ક ટુ ર ો ાિમગ: િથયર એ ડ ે ટક સ" સી લ વેજનો
ઉપયોગ કર ને ો ાિમગ ફં ડામે ટ સમાં સં ૂણ ાઉ ડગ દાન કરવા માટ છે . આ ુ તક
(vi)
એ જિનય રગ/ ડ લોમાના િવ ાથ ઓને 21મી સદ અને યાર પછ ની ગણતર ની સમ યાના
િનરાકરણ માટ ક ટુ ર ો ાિમગના ાનનો ઉપયોગ કરવા માટ તૈયાર કરશે. િવષય બાબતોને
રચના મક ર તે ર ૂ કરવામાં આવે છે થી એ જિનય રગની ડ ી િવ ાથ ઓને ક ટુ ર
ટકનોલો માં ૂબ જ મોખર રહ ને િવિવધ ે ોમાં અથવા રા ય યોગશાળાઓમાં કામ કરવા માટ
તૈયાર કર છે .
સ યે િસહ ચૌહાણ
(vii)
પ રણામ આધા રત િશ ણ
PO3. ઉકલોની રચના/િવકાસ: -ુ યા યાિયત ટકિનકલ સમ યાઓ માટ ઉકલોની રચના કરો અને
ચો સ જ રયાતોને પહ ચી વળવા માટ િસ ટમ ઘટકો અથવા યાઓની ડઝાઇનમાં સહાય
કરો.
(viii)
PO4. એ જિનય રગ ૂ સ, યોગ અને પર ણ: માણ ૂત પર ણો અને માપન હાથ ધરવા માટ
આ િુ નક ઇજનેર સાધનો અને યો ય તકનીક લા ુ કરો.
PO5. સમાજ, ટકાઉપ ં ુ અને પયાવરણ માટ ઇજનેર પ િતઓ: સમાજ, ટકાઉપ ,ું પયાવરણ અને
નૈિતક પ િતઓના સંદભમાં યો ય ટકનોલો લા ુ કરવી.
(ix)
કોસ પ રણામો
અ યાસ મના ત ધ
ુ ીમાં િવ ાથ ઓએ શીખવાની અપે ા રાખવામાં આવે છે :
CO-1 3 3 1 2 1 1 3
CO-2 3 2 2 3 1 1 3
CO-3 2 3 3 2 1 1 3
CO-4 2 3 3 3 1 1 3
CO-5 2 3 3 3 1 1 3
CO-6 2 2 3 3 1 2 3
(x)
િશ કો માટ માગદિશકા
વાજબી અવરોધની દર, તેઓએ બધા િવ ાથ ઓના ે ઠ લાભ માટ સમય પસાર કરવો
જોઈએ.
તેઓએ િવ ાથ ઓને ભેદભાવ કરવાની અ ય કોઈ સંભિવત અયો યતાને યાનમાં લીધા િવના
જ અ કુ િનધા રત માપદં ડ પર જ િવ ાથ ઓ ુ ં ૂ યાંકન કર ું જોઈએ.
તેઓએ સં થા છોડતા પહલા િવ ાથ ઓની શીખવાની મતાઓને ચો સ તર વધારવાનો
યાસ કરવો જોઈએ.
તેઓએ િુ નિ ત કરવાનો યાસ કરવો જોઈએ ક, બધા િવ ાથ ઓ પોતા ુ ં િશ ણ ૂણ કયા
પછ ણ
ુ વ ા ુત ાન તેમજ યો યતાથી સ જ છે .
તેઓએ હંમેશાં િવ ાથ ઓને તેમની િતમ કામગીર ની મતાઓ િવકસાવવા માટ ો સા હત
કર ું જોઈએ.
તેઓએ નવા અ ભગમને મજ ૂત બનાવવા માટ ૂથ કાય અને ટ મ વકની િુ વધા અને
ો સા હત કર ું જોઈએ.
તેઓએ આકારણીના દરક ભાગમાં ૂ સ વગ કરણ ુ ં પાલન કર ું જોઈએ.
(xi)
ૂમની ટ સોનોમી
િવ ાથ આ માટ
િશ ક તપાસ ુ ં આકારણીની શ
તર સ મ હોવો
જોઈએ રત
જોઈએ
િવ ાથ ઓ બનાવવાની ડઝાઇન કરો અથવા
બનાવો િમની ો ટ
મતા બનાવો
િવ ાથ ઓને યાયી
દલીલ કરો અથવા
ૂ યાંકન કરો ઠરવવાની સ પણી
બચાવો
મતા
િવ ાથ ઓની મતા તફાવત પાડો અથવા ો ટ/ યોગશાળા
િવ લે ષણ કરો
અલગ કરો અલગ કરો પ િત
િવ ાથ ઓ મા હતીનો
સંચાલન કરો અથવા ટકિનકલ ે ઝ ટશન/
લા ુ કરો ઉપયોગ કરવાની
દશાવો ડમો શન
મતા
િવ ાથ ઓ િવચારોને
સમ વો અથવા
સમજ ં ુ સમ વવાની ેઝ ટશન/સેિમનાર
વગ ૃ ત કરો
મતા
િવ ાથ ઓને યાદ કરવાની યા યાિયત કરો
યાદ રાખો (અથવા યાદ અથવા યાદ વઝ
રાખવાની) મતા કરો
(xii)
િવ ાથ ઓ માટ માગદિશકા
(xiii)
સં ેપો અને સં ાઓ
સં ેપોની યાદ
સામા ય શરતો
(xiv)
ચ ોની યાદ
સામા ય શરતો
સં ેપો સં ૂણ ફોમ સં ેપો સં ૂણ ફોમ
& એ પેરસ ડ # હશ ચ
` એપો ોફ < કોણ ક સ ખોલી ર ા છ એ
* એ ટર ક % ટકા સહ
\ બેક લેશ . સમયગાળો
^ કરટ + લસ સહ
> કોણ ક સ બંધ કર ર ા છ એ ? નચ
: કોલોન " અવતરણ ચ
, અ પિવરામ } જમણો ક સ
$ ડોલર સહ ] જમણો ક સ
= ચ ની બરાબર ) જમ ુ ં ક સ
! ઉ ગાર ચ ; સેમીકોલોન
{ ડાબો ક સ / આગળ લેશ
[ ડાબો ક સ ~ ટ ડ
( લે ટ ક સ _ નીચે લીટ કરો
- માઇનસ સહ | ઊભી પ ી
(xv)
આ ૃ િતઓની યાદ
આ ૃ િત 3.10 : ન
ુ રાવિતત જો-બી ુ િનવેદનનો લોચાટ 103
આ ૃ િત 3.11 : ન
ુ રાવિતત જો-અ ય િનવેદન ુ ં િનદશન 104
આ ૃ િત 3.17 : યાર પ
ુ નો લો આલેખ 112
આ ૃ િત 3.18 : યાર પ
ુ ની મદદથી ૦ થી ૪ ધ
ુ ી નંબરો છાપવા માટનો કાય મ 113
આ ૃ િત 3.19 : પ
ુ માટ લોચાટનો 114
આ ૃ િત 3.20 : પ
ુ માટ વાપર ને ૦ થી ૪ ધ
ુ ી નંબરો છાપવા માટનો કાય મ 115
(xviii)
એકમ 4 C માં એર અને િવધેયો
આ ૃ િત 4.1 :એર ઉદાહરણ 145
આ ૃ િત 4.2 : એરની રનટાઇમ શ આત 148
આ ૃ િત 4.3 : એરમાં મેમર ફાળવણી અને સરનામાંની ર ૂ આત 149
આ ૃ િત 4.4 : મેમર લેઆઉટ 150
આ ૃ િત 4.5 : િવઝ લ
ુ ાઇઝેશન અને ટકના ઘટકો 151
163
આ ૃ િત 4.13 :હરોળ અને તંભ- ુ ય મમાં 2-પ રમાણીય એર ( ચ ો) ર ૂ આત
165
આ ૃ િત 4.14 :િવધેયના કારો
169
આ ૃ િત 4.15 :નાનામાં નાના કાય ુ ં િનદશન
170
આ ૃ િત 4.16 :ઘન િવધેયની કામગીર ુ ં િનદશન
172
આ ૃ િત 4.17 :િવધેય કોલ ગની ૂ ય પ િત ારા કોલ ુ ં િનદશન
173
આ ૃ િત 4.18 :િવધેય કોલ ગની સંદભ પ િત ારા કોલ ુ ં િનદશન
175
આ ૃ િત 4.19 :કાટકોણ િ કોણના કણની લંબાઇ ગણવા માટનો કાય મ
176
આ ૃ િત 4.20 :કાટકોણ િ કોણના કણની લંબાઇ ગણવા માટનો કાય મ
179
આ ૃ િત 4.21 :િવધેયોમાં એરને પસાર કરવા ુ ં િનદશન
180
આ ૃ િત 4.22 :ઓટો વે રયેબલના ઉપયોગ ુ ં િનદશન
181
આ ૃ િત 4.23 :એ સટન ચલના વપરાશ ુ ં િનદશન
182
આ ૃ િત 4.24 : થર ચલના ઉપયોગ ુ ં િનદશન
(xix)
આ ૃ િત 4.25 :ર ટર ચલના ઉપયોગ ુ ં િનદશન 183
એકમ 5 ન
ુ રાવિતત અને ન
ુ રાવિતત ઉકલો
આ ૃ િત 5.1 :કારની ચાવી શોધવાની ન
ુ રાવિતત અને ુનરાવિતત ર ત 196
આ ૃ િત 5.2 : આધાર અને ુનરાવિતત કસની ર ૂ આત 197
આ ૃ િત 5.3 : ન
ુ રાવિતત કાય ુ ં િનદશન 198
આ ૃ િત 5.4 : ન
ુ રાવિતત કાયની તબ ાવાર કામગીર 199
આ ૃ િત 5.5 : છડ
ં ૂ ના ન
ુ રાવતન ુ ં િનદશન 200
આ ૃ િત 5.6 : માથાના ન
ુ રાવતન ુ ં િનદશન 200
આ ૃ િત 5.7 : ૃ ની ન
ુ રા ૃિ ુ ં િનદશન 201
આ ૃ િત 5.8 : ન
ુ રાવિતત ન
ુ રાવતન ુ ં િનદશન 202
(xx)
કો ટકોની યાદ
પાનાં નં.
48
ટબલ 2.2 : િવિવધ કારના રલેશનલ ઓપરટસ
53
ટબલ 2.3 : ૂળ ૂત બીટવાઇઝ ઓપરટસ
70
ટબલ 2.4 : ૂણાક અને લો ટગ પોઇ ટ ક વઝન પ ટ કરનાર
73
ટબલ 2.5 : સામા ય ર તે ઉપયોગમાં લેવાતી એ કપ િસ વ સ
77
ટબલ 2.6 : સીમાં ફાઈલના સંચાલનના પાયાના કાય
(xxi)
સમાિવ ટો
પાનાં નં
આ ખ
ુ iv
એકનોલેજમે ટ v
તાવના vi
પ રણામ આધા રત િશ ણ vii
કોસ પ રણામો vii
િશ કો માટ માગદિશકાઓ ix
િવ ાથ ઓ માટ માગદિશકા x
સં પ
ે ો અને ચ ો xiv
આ ૃ િતઓની યાદ xvi
તકસંગત 2
ૂવ-આવ યકતાઓ 3
એકમ પ રણામો 3
1.1 પ રચય 4
1.2 ક ુ ટગ ઉપકરણો 6
1.2.1 ફ સ ો ામ ક ટુ સ 6
1.2.2 સં હ થયેલ કાય મ ક ૂટર 7
1.2.3 ક ૂટર મેમર ર ૂ આત 9
(xxii)
1.3 ક ુટસ સાથે કવી ર તે વાતચીત કરવી 10
1.3.1 મશીન ભાષા 10
1.3.2 એસે બલી ભાષા 11
1.4 ો ામ ગ ભાષા 12
1.5.3 સી અને ઇ ટ ેટડ ડવલપમે ટ એ વાયનમે સ (આઇડ ઇ) માટ િવિવધ ઉપલ ધ ક પાઇલસ 17
1.6.1 ુ ય શ દો 20
1.6.2 ઓળખકતાઓ 21
1.6.3 િવભાજકો 21
કસરતો 34
ે ટકલ 37
વ ુ ણો 38
તકસંગત 41
(xxiii)
ૂવ-આવ યકતાઓ 42
એકમ પ રણામો 42
2.7.2 Escape મ 73
એકમ સારાંશ 80
કસરતો 83
ે ટકલ 87
વ ુ ણો 88
(xxiv)
તકસંગત 91
ૂવ-આવ યકતાઓ 92
એકમ પ રણામો 92
3.1 પ રચય 93
3.3.1 જો િવધાન 95
3.4 ન
ુ રાવતન િનવેદન 110
3.4.1 એ કં ોલ પ
ુ 111
3.4.3 ને ટડ ુપ 125
કસરતો 132
ે ટકલ 138
વ ુ ણો 139
તકસંગત 142
(xxv)
4.2 એર 145
4.6 બ પ
ુ રમાણીય એર 160
4.7.4 ફં શન કો લગ 171
4.8 સં હ વગ 184
કસરતો 187
ે ટકલ 191
વ ુ ણો 192
એકમ 5: ન
ુ રાવિતત અને ુનરાવિતત ઉકલો 194-216
એકમ િવિશ ટતાઓ 194
તકસંગત 194
(xxvi)
એકમ પ રણામો 195
કસરતો 210
ે ટકલ 213
વ ુ ણો 214
પ રિશ ટો
217
પ રિશ ટ - એ : માણ ૂત ુ તકાલયના કાય
CO અને PO ા ત કો ટક 227
અ ુ મ ણકા 226
(xxvii)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 1
કો ટુ રનો ઉપયોગ કર ને
1
d
સમ યા ંુ િનરાકરણ
ક ટુ ર ું ૂળ ૂત ાન;
વ ુ ુ ૂહલ અને સ ના મકતા પેદા કરવા અને સમ યા-િનરાકરણની મતામાં ુ ારો કરવા માટ
ધ
િવિવધ ઉદાહરણો સાથે િવષયોની ચચા કરવામાં આવી છે .
સંબિં ધત યવહા રક પછ , સામ ીના આધાર, યાં એક "વ ુ ણો" િવભાગ છે . આ િવભાગને
કાળ ૂવક ડઝાઇન કરવામાં આ યો છે થી આ ભાગમાં ૂર પાડવામાં આવેલી ૂરક મા હતી
ુ તકના વપરાશકતાઓ માટ ફાયદાકારક બને. આ િવભાગ ુ ય વે ારં ભક ૃિ , કટલાક રસ દ
ત યોના ઉદાહરણો, સમાનતા, ુ ય િનર ણો અને શોધ પર યાન ક ત કરતા િવષયના િવકાસના
ઇિતહાસ, સંબિં ધત િવષયોના િવકાસથી શ કર ને તા તરના સમય ુ ીની સમયરખાઓ, િવિવધ
ધ
પાસાઓ પર આપણા રો જદા વા તિવક વન અથવા / અને ઔ ો ગક ઉપયોગો માટ િવષય વ ુના
ઉપયોગો પર કાશ પાડ છે , પયાવરણીય, ટકાઉપ ,ું સામા જક અને નૈિતક ુ ાઓ પણ લા ુ પડ
છે તેને લગતા કસ ટડ , અને છે લે એકમની જ ાસા અને જ ાસાના િવષયો સાથે સંબિં ધત છે .
તકસંગત
ૂવ-આવ યકતાઓ
ૂળ ૂત ગ ણત
એકમ પ રણામો
ુ બ છે ઃ
આ એકમનાં પ રણામોની યાદ નીચે જ
U1-O1: સમ યાના િનરાકરણ અને ગણતર ની િવચારસરણી ું વણન કરો
U1-O2: ક ટુ ર અને તેના ઘટકના ૂળ ૂત ાન ું વણન કરો
U1-O3: ો ાિમગ ભાષાના િવિવધ પાસાઓ સમ વો
U1-O4: વા તિવક ુ િનયાની સમ યાઓ હલ કરવામાં ક ટુ ર ો ાિમગની ૂિમકાને સમજવી
U1-O5: C ો ાિમગ ફંડામે ટ સને સમજો
1.1 પ રચય
હવે ક ુ સ બધે જ છે . અહ , ક
ટ ુ રને મા
ટ લેપટોપ અથવા ડ કટોપ તર ક જ ઓળખવામાં
આવ ુ ં નથી, પરં ુ કોઈ પણ ઉપકરણ ક કટલીક ગણતર કર છે . કોઈપણ ક ુ ટગ ઉપકરણ બે
ુ ય કાય કર છે : ગણતર કરવી અને ગણતર ના પ રણામોને યાદ રાખ .ુ ં ટબલ અથવા ડ ક પર
બેઠ ું લા ણક ક ુ ર એક સેકંડમાં એક અબજ ગણતર ઓ કર છે . અમે તેમનો ઉપયોગ
ટ
ઝડપથી અને વ ુ સચોટ ર તે બ િુ વધ કાય કરવા માટ કર એ છ એ. દાખલા તર ક, આપણે
ક ુ ર અથવા
ટ માટફોનનો ઉપયોગ કર ને નની ટ કટ ઓનલાઇન અનામત રાખી શક એ
છ એ.
મોટા ભાગના માનવ ઇિતહાસ માટ, માનવ મગજની ગણતર ની ગિત અને ગણતર ઓના
પ રણામોને તે જ રકોડ કરવાની મતાને કારણે ગણતર મયા દત હતી. અમે આશા રાખીએ છ એ
ક આ ુ તક વાંચીને, તમે અ યાસ, કાય અને સં થાઓમાં તમને આવતી ઘણી સમ યાઓને હલ
કરવા માટ ક ુ શનલ
ટ િવચારસરણીનો ઉપયોગ કર ને આરામદાયક ુ વશો.
અ ભ
"ક ુ રાઇઝેશન" શ દ સામા ય ર તે સો ટવેર બનાવવા માટ ક
ટ ુ સના અસરકારક ઉપયોગનો
ટ
સંદભ આપે છે કોઈપણ ુ રાવિતત માનવ કાયને
ન વચા લત કર છે . ક ુ રનો ઉપયોગ
ટ
િવિવધ સમ યાઓ હલ કરવા માટ થાય છે ; તેથી, ક ુ ર િવ ાનના િવ ાથ પાસે
ટ આવ યક
ુ શળતા હોવી જોઈએ તેમાંની એક સમ યા-સમાધાન છે . એ ન ધ ુ ં મહ વ ૂણ છે ક ક ુ સ
ટ
વતં ર તે સમ યાઓ હલ કર શકતા નથી. આપેલી સમ યાને કવી ર તે ઉકલવી તે ગે આપણે
એક પછ એક પ ટ, ડગલે ને પગલે દશા-િનદશો આપવા જોઈએ. સમ યાના િનરાકરણમાં
ક ુ રની અસરકારકતા સમ યાની ચો સ અને યો ય ર તે યા યા કવી ર તે કરવામાં આવી છે
ટ
તેના પર આધાર રાખે છે , એ ગો રધમ તેને ઉકલવા માટ બનાવવામાં આવે છે , અને પછ
ો ાિમગ લ વેજ ારા અ ગો રધમનો અમલ કર છે . આમ, સમ યા ુ ં િનરાકરણ એ સમ યાને
ઓળખવાની, તેને ઉકલવા માટ અ ગો રધમ બનાવવાની અને પછ ો ાિમગ લ વેજનો ઉપયોગ
કર ને તેનો અમલ કરવાની યા છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 5
4. અ યથા, જો r બન- ૂ ય ૂ ય છે , તો પછ સં યા િવ ચ છે .
1.2 ક ુ ટગ ઉપકરણો
1.2.1 ફ સ ો ામ ક ટુ સ
યાર ક ુ ટગ ઉપકરણ ફ ત એક િવિશ ટ કાય કર છે , એટલે ક,
તેને અ ય કાય માટ ો ામ કર શકા ુ ં નથી. દાખલા તર ક,
ક ુ ેટર મા
લ ઉપલ ધ કગ ણત અથવા લો જક યાઓ જ
કર શક છે . તમે સં યાઓને ઇન ટ ુ તર ક આપો છો, અને યાર તમે આ ૃિત 1.3 ક ુ ેટરની
લ
'+' દબાવો છો યાર તે ઉમેરો કર છે . તેવી જ ર તે, ઉપલ ધ તમામ આ ૃિત
કામગીર કર શકાય છે . જો ક, તમે અ ય કોઈ ગણતર કર શકતા
નથી ક ુ ેટરમાં ઉપલ ધ નથી.
લ
1.2.2 સં હત ો ામ ક ટુ ર
સં હત ો ામ ક સે ટમાં, ક ુ ર ક
ટ ુ રને સં હત અથવા આપવામાં આવે ું કાય કર છે .
ટ
આ િુ નક ક ુ સ આ
ટ યાલ પર આધા રત છે . સં હત ો ા ડ ક ુ રની સૌથી સરળ
ટ લોક
આ ૃિત આ ૃિત 1.4માં દશાવી છે . તેમાં ણ ૂળ ૂત ઘટકો છે .
C. ઈન ટુ /આઉટ ટુ : ઇન ટુ એ ડટા છે ક ુ ર ઇન ટ
ટ ુ ડવાઇસ ારા બી ઉપકરણ અથવા
ુ ઉપકરણો એ એવા ઘટકો છે
કોઈપણ વપરાશકતા પાસેથી મેળવે છે . ઇન ટ ડટા એકિ ત કર છે
અને તેને ક ુ ર પર મોકલે છે . તેથી,
ટ ઉપકરણ ક ુ રને ઇન ટ
ટ ુ આપે છે તેને ઇન ટુ
ડવાઇસ કહવામાં આવે છે . ઉદાહરણ તર ક, ક બોડ, QR કોડ કનર, માઉસ, વગેર. ઓ ટકલ અને
ુ ઉપકરણો તર ક પણ ઓળખવામાં આવે છે કારણ ક
ડ ક ાઇ સને ઇન ટ ો ામ અને જ ર ડટા
ુ ય મેમર માં લોડ થાય છે .
2. બી નંબરમાંથી એક સં યા બાદ કર ર ા છ એ
3. બે નંબરો ઉમેર ર ા છ એ
4. એક સં યાને બી સં યા વડ ભાગી ર ા છ એ
5. બે સં યાઓનો ુ ાકાર કર ર ા છ એ
ણ
ુ /આઉટ ટ
દરક ગણતર ની સમ યા સાથે સંકળાયેલી મા હતી (ઇન ટ ુ ) કોઈ પણ કારની હોઈ શક છે
મ ક સં યાઓ, અ રો અથવા શ દો (શ
શ દમાળાઓ). ુ ાં, સં યાઓ િવિવધ
દમાળાઓ વ મ કારની હોઇ શક છે ,
મક ૂણાકો વા ક 0, 1, 2, 3, -1, -2, વગેર, અને અ ૂણાક ૂ યો 1.2, 0.6, અને તેથી વ .ુ અ યાસ
કરતા પહલા ક સીમાં િવિવધ કારના ડટાનો ઉપયોગ કવી ર તે કરવો. ચાલો આપણે પહલા સમ એ
કક ુ રમાં ડટા કવી ર તે સં હત થાય છે .
ટ
1.2 ક ુ ર સાથે
ટ ૂચનાઓના સેટની વાતચીત કવી ર તે કરવી?
1.3.1 યં ની ભાષા
ક ુ ર આ કટ ચરમાં ઇલે
ટ ોિનક સંકતો ારા ચા ુ કરવામાં આવેલા કટલાક અબજ ા ઝ ટરનો
સમાવેશ થાય છે . ા ઝ ટર ચા ુ અને બંધ છે થિતઓને ર ૂ કરવામાં આવે છે સંગી કો ારા,
અ ુ મે 1 અને 0 ારા. ક ટુ ર ારા મા સંગી-કોડડ ૂચનાઓ જ સમજવામાં આવે છે અને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 11
તે ુ ં પાલન કરવામાં આવે છે . તે અલગ ફોમટમાં આપવામાં આવેલી કોઈપણ ૂચનાઓ ુ ં પાલન
કરવામાં અસમથ છે . પ રણામે, આપણે સંગીમાં ક ુ ર
ટ ૂચનાઓ દાન કરવી આવ યક છે .
તેથી, આપણા તમામ ક ટુ ર ો ા સ સંગી ભાષામાં (0s અને 1s ની ેણી) માં લખાયેલા હોવા
જોઈએ.
ક ુ ર ુ ં સીપી ુ (CPU) મા
ટ તેને જ સમ શક તેમ હોવા છતાં, મશીન લ વેજમાં ો ામ
િવકસાવવો એ ય તઓ માટ યવહા ુ નથી. મશીન લ વેજના િવક પ તર ક, ક ુ ટગના
પહલાના દવસોમાં એસે બલી લ વેજનો િવકાસ કરવામાં આ યો હતો. એસે બલી લ વેજ
ૂચનાઓ ુ ં િતિનિધ વ કરવા માટ સંગી સં યાઓના થાને સં ા ૂ ચ, અથવા ૂ ા શ દોનો
ંક
ઉપયોગ કર છે . દાખલા તર ક, સં ા ૂ ચઓ ઉમેરો, ૂળઅને .mov એસે બલી ભાષામાં મોટભાગે
ઉમેરવાનો ઉ લેખ કર છે , ુ ાકાર, અને અ ુ મે મેમર માં િવિવધ થળોએ
ણ ૂ યો ુ ં થાનાંતરણ
કર .ુ ં
જો ક, CPU એસે બલી ભાષા કાય મો ચલાવી શક ુ ં નથી. એસે બલી લ વેજ ો ામને િવિશ ટ
ો ામ તર ક ઓળખાતા િવિશ ટ ો ામનો ઉપયોગ કર ને મશીન લ વેજ ો ામમાં પાંત રત
કરવામાં આવે છે એસે બલર. એસે બલી લ વેજ સામા ય ર તે મશીન લ વેજના ર લેસમે ટ તર ક
વપરાય છે . જો ક, એસે બલી લ વેજમાં હ પણ કટલીક ખામીઓ છે . તેને મશીન લ વેજની મ
ુ ા િવ
સીપી ન ૃત ાનની જ ર છે . એસે બલી ભાષામાં લખાયેલો સૌથી સીધો ો ામ પણ તમાર
અસં ય ૂચનાઓ લખવાની જ ર છે . એસે બલી લ વેજને નીચલા તરની ભાષા તર ક પણ
ઓળખવામાં આવે છે કારણ ક તે મશીન લ વેજ વી જ છે .
12 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
જો ક, એસે બલી લ વેજ સાથે પણ, માણસો માટ દરક ો ામને એસે બલી ભાષામાં લખવો સરળ
નથી. ક ુ સ મા
ટ સંગી ભાષા પર જ યા કર શક છે , યાર માનવો ે માં ૂચનાઓ
ુ છે . માનવી
પહ ચાડવામાં િન ણ ે , હ દ , તિમલ વગેર વી ુ દરતી ભાષાઓમાં સમ છે
અને સંવાદ સાધે છે . જો ક, માનવીય સમ શકાય તેવી ભાષાઓ છે સં દ ધ. દા.ત., "મ ૂ રબીન
વડ ટકર પર એક છોકર ને જોઈ" એ વા સં દ ધ છે . આ વા નો અથ એ ર તે કર શકાય છે ક
કાં તો કોઈ છોકર ને ટકર પર ટ લ કોપ સાથે જોવી અથવા કોઈ છોકર ને ટ લ કોપ પકડલી જોવી.
સારાંશમાં, ક ુ સ સાથે
ટ યાયન કરવા માટ ઉ ચ- તર ય ભાષા માટ ણ આવ યકતાઓ છે
તેથી બધી ો ાિમગ ભાષાઓ િવિવધ કાય માટ િવિવધ કારની ૂચનાઓ દાન કર છે . સી
ભાષામાં, આ બધી ૂચનાઓને ણ કારમાં િવભા જત કર શકાય છે .
1. કાર ઘોષણા ૂચના: આ ૂચનાઓનો ઉપયોગ સી ો ામમાં જ ર ચલો હર કરવા માટ થાય
છે .
થાય છે .
નીચેના િવભાગોમાં, આપણે C ભાષાના બંધારણો, લા ણકતાઓ, ડટાના કારો અને ૂચનાઓ
જોઈ ુ ં નો ઉપયોગ સમ યાના ઉકલ માટ થઈ શક છે .
સી ુ ીક
ો ાિમગ એ ઉ ચ- તર ય અને સામા ય હ ન ુ ર
ટ ો ાિમગ લ વેજ છે ને ડિનસ રચીએ
1972માં િવકસાવી હતી. તે ુ ય વે ઓપર ટગ િસ ટ સ લખવા માટ િસ ટમ ો ાિમગ લ વેજ તર ક
િવકસાવવામાં આવી હતી. સી (C) ભાષાની ાથિમક લા ણકતાઓમાં નીચા તરની મેમર એ સેસ,
ક વ ્ સનો મયા દત સેટ અને વ છ શૈલીનો સમાવેશ થાય છે , તેને ઓપર ટગ િસ ટ સ અથવા
ક પાઇલર ડવલપમે ટ વા િસ ટમ ો ા સ માટ યો ય બનાવે છે . ઉપરાંત, સી ો ાિમગ લ વેજ
કસ-સે સ ટવ છે , નો અથ એ છે ક ૂડ અને નાના ૂળા રોના અલગ અથ છે .
1.5.1 સી ો ામ ંુ અમલીકરણ
ક પાઇલર: આ પગલામાં, ક પાઇલર કોડમાં રહલી ૂલોને ચકાસે છે (FirstProgram.i). જો યાં કોઈ
ૂલો ન હોય, તો C ક પાઇલર તેને આની સાથે સં હ કર છે .ઓ જ ઓ ટ ફાઇલ તર ક
એ સટ સન. પ રણામે, FirstProgram.obj બનાવવામાં આવશે. આ.obj ફાઈલ ચલાવી શકાતી નથી.
લકર યા ચા ુ રાખે છે , .exe એ ટશન સાથે એ ઝે ટુ બલ ફાઇલ ુ ં િનમાણ કર છે .
લોડર: યાર પણ અમે કોઈ િવિશ ટ એ લકશનને ચલાવવાની ૂચના આપીએ છ એ યાર લોડર
કાય કર છે . લોડર આપેલ .exe ને લોડ કર છે (ફ ટ ો ામ.exe)ની ફાઇલ રમમાં. લોડ કયા પછ ,
ફાઇલ લોડર ો ામ ુ ં ારં ભક સરના ુ ં અપડટ કરશે અને CPU ને ણ કરશે.
1.5.3 સી અને ઇ ટ ેટડ ડવલપમે ટ એ વાયનમે સ (આઇડ ઇ) માટ િવિવધ ઉપલ ધ ક પાઇલસ
િવિશ ટ હાડવેર અને સો ટવેર વાતાવરણ માટ ક પાઇલ કરલા સી કોડને ઓ ટમાઇઝ કરવા માટ
િવિવધ ક પાઇલસ જ ર છે . દાખલા તર ક, એઓસીસી (AOCC) એએમડ (AMD) િસ ટ સ માટ
ઓ ટમાઇઝ કરવામાં આ ુ ં છે , યાર ઇ ટલ ારા આઇસીસી (ICC) ઇ ટલ િસ ટ સ માટ
ઓ ટમાઇઝ કરવામાં આ ું છે . આની મ જ, અ ય ક પાઇલસ િવિવધ ઓપર ટગ િસ ટ સ પર
યાન ક ત કર છે . એકોન સી, લાંગ, એમએસવીસી, ઓપન64, ટ સીસી, સીસી અને
િમન ડ ુ ઉપલ ધ ક પાઇલસમાંથી કટલાક છે .
આ ૃિત 1.7 કોડનો નેપશોટ:: ો ાિમગ માટ આઇડ ઇને લોક કરો
સમ ૂતી:
C ભાષામાં, અમે કોડની રખાઓ િવશેની મા હતી દાન કરવા માટ ટ પણીઓનો ઉપયોગ કર એ
છ એ. સંકલન યા દરિમયાન ક પાઇલર ટ પણી બો સની દર લખાયેલા ડટાને છોડ દ છે .
ટ પણીઓ બે ર તે કર શકાય છે : િસગલ-લાઇન ટ પણીઓ અને બ િુ વધ-લાઇન ટ પણીઓ.
આ િસગલ-લાઇન ટ પણી છે .
(Multiple-line comments )ઘણી બધી-લીટ ટ પણીઓ: અમે મ ટ-લાઇન ટ પણીઓ માટ તીક
/*... */ નો ઉપયોગ કર એ છ એ. યાર આપણે એક કરતા વ ુ લીટ અથવા ફકરાને છોડવાની
જ ર હોય યાર તેનો ઉપયોગ થાય છે .
/*આ છે
#include<stdio.h>
ુ -આઉટ ટ
ઇન ટ ુ િવધેય એ હડર ફાઇલ ારા સંચા લત થાય છે ને બોલાવવામાં આવે છે stdio.h.
ુ -આઉટ ટ
તેમાં ઇન ટ ુ િવધેયોની યા યા છે મ ક printf અને scanf વગેર.
int main ()
{
//instructions
return 0;
20 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
printf("Hello programmers!");
ઉપરની લીટ માં, આ કાય મમાં મા એક જ િવધાન છે : printf (). આ printf() િવધેય આમાં
ૂવ યા યાિયત થયેલ છે stdio.h હડર ફાઈલ, ક બમણા અવતરણમાં લખાયેલ અ રોને દશાવે છે
ુ
(" ") આઉટ ટ ન પર (મોિનટર).
1.6.1 ક વ ્ સ
1.6.2 ઓળખકતા
ઓળખકતા એ નામ અથવા ઓળખ છે નો ઉપયોગ ચલો, કાય , વગેરને ઓળખવા માટ થાય છે .
ૂળા રો અ ડર કોર (_) અને કોને જોડ ને ઓળખકતા બનાવવામાં આવે છે . તે કસ-સે સ ટવ છે ,
નો અથ એ છે ક અપરકસ અને લોઅરકસ ૂળા રોના અલગ અથ છે . ઓળખકતાનો થમ
અ ર અ ડર કોર અથવા ૂળા ર હોવો આવ યક છે . ૂવ- યા યાિયત અથવા આર ત શ દોનો
ઓળખકતા તર ક ઉપયોગ કર શકાતો નથી (દા.ત., લોટ, int, માટ, વગેર).
1.6.3 િવભાજકો
િવભાજકોનો ઉપયોગ એક ો ાિમગ ઘટક અથવા ત વને એક બી થી અલગ કરવા માટ થાય છે .
દાખલા તર ક, ઓળખકતાઓને ઓળખકતાઓથી અલગ કરવા, ક વ ્ સમાંથી ક વ ્ સ, એક
ઓળખકતાને બી થી અલગ કરવા, વગેર. તેઓ ે ફકરાઓમાં ઉપયોગમાં લેવાતા
િવરામ ચ ો વા લાગે છે .
દરક શ દ સફદ જ યા ારા અલગ પાડવામાં આવે છે , યાર િનવેદનોને અધિવરામનો ઉપયોગ
કર ને અલગ કરવામાં આવે છે (;) સી ો ાિમગમાં. સી ો ાિમગ ારા સપોટડ ુ લ ૧૪ િવભાજકો
છે . દાખલા તર ક: , ; : ' ' " { } જ યા વગેર.
1. #include <stdio.h>
2. int main(){printf(" Hello programmers!"); return 0;}
ઉપરો ત ઉદાહરણમાંનો કાય મ (આ ૃિત 1.9) સંદશાને દિશત કરવા માટ ઓછામાં ઓછા શ
િવભાજકોનો ઉપયોગ કર છે . "હલો ો ામરો!". તેમ છતાં, તે ઓ ં વાંચી શકાય તે ુ ં છે અને
ખરાબ ો ાિમગ ે ટસ તર ક ગણવામાં આવે છે . ો ામને સમ શકાય તે માટ આપણે યો ય
િવભાજકો (ખાડા અને જ યાઓ) નો સમાવેશ કરવો જોઈએ.
1. #include<stdio.h>
2. int main()
3. {
4. printf(“Hello programmers!”);
5. return 0;
6. }
1. આ ફા ૂમે રક થરાંકો
2. કડાક ય થરાંકો
a) અ ર કો ટ ટ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 23
b) શ દમાળા અચળ
કોઈ પણ અ ૂણાક ભાગ િવના કડાક ય ૂ યને ર ૂ કરવાને ૂણાક કહવામાં આવે છે . ઉદાહરણ
તર ક, 13, -13, 28, 54, -1248, અને અ ૂણાક ભાગ સાથેના કડાક ય ૂ યની ર ૂઆતને લોટ
કહવામાં આવે છે .
ઉદાહરણ તર ક 12.45, --34.12, 1.723.
3. ડટાના કારોઃસી ો ાિમગ લ વેજમાં, ડટાના કારો વે રયેબ સને મેમર સ પે છે . દરક ડટા
કાર ુ ં કદ મેમર ની મા ાના પમાં હોય છે . ડટાના કારોના આધાર, ચો સ મા ામાં મેમર અને
ઓપરશ સ વે રયેબ સને સ પવામાં આવે છે . અહ કટલાક ૂળ ૂત ડટા કારો છે :
char: તેનો ઉપયોગ એક અ રને સં હત કરવા માટ થાય છે . મોટા ભાગના ક પાઇલસમાં,
int: અ ર માટ મેમર ની જ રયાત એક બાઇટ હોય છે .
દરક ડટા કારની મેમર ની જ રયાત અલગ હોય છે . મેમર ની મા ાના આધાર, દરક ડટા
કારોમાં સં યાઓનો સં હ કરવા માટ એક િવિશ ટ ણ
ે ી હોય છે . મેમર ની મા ા અને તેની ર જ
સાથેના ડટા કારોની યાદ કો ટક 1.2માં આપવામાં આવી છે .
Format
Data Type No of Bytes Range
Specifier
-2147483648 to
long int (signed) %ld 4
2147483647
5. C માં વે રયેબલ ડ ફનેશન: યાર વે રયેબલ યા યાિયત કરવામાં આવે છે , યાર ક પાઇલરને
ાં અને કટલો સં હ ફાળવવો જોઇએ તેની મા હતી આપવામાં આવે છે . ડટા કાર પછ સમાન
કારના એક અથવા વ ુ ચલોના નામ આવે છે , ચલ યા યા બનાવે છે . વે રયેબલ
ડ લેરશનમાં નીચેની વા રચના છે :
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 25
type list_of_variables;
અ હયા, type( કાર) ડટાના કારને દશાવે છે ; દાખલા તર ક int, લોટ, અ ર, વગેર.
list_of_variables એ ચલો ુ ં નામ છે ; તે એક જ ચલ અથવા અ પિવરામ ારા અલગ પાડવામાં
આવેલા બ િુ વધ ચલોની યાદ હોઈ શક છે . કટલીક મા ય વે રયેબલ ડ લેરશન નીચે ુ બ છે ઃ
જ
int l, m, n;
float p, q, r, s;
double i,j;
char x;
હોઈ શક છે .
તર ક ગણવામાં આવે છે ).
C માં (Variable )ચલ ઘોષણા: વે રયેબલની ઘોષણા ક પાઇલરને ખાતર આપે છે ક ચો સ કાર
અને નામ સાથે ુ ં ચલ અ ત વમાં છે . વે રયેબલ ડ લેરશન ક પાઇલરને ઉપલ ધ મા હતી સાથે
આગળ વધવાની મં ૂર આપે છે . સી ભાષામાં, તમામ ચલોને તેના ઉપયોગ પહલાં હર કરવા
આવ યક છે . ચલ યા યાનો અથ સંકલન સમયે જ હોય છે ; ક પાઇલરને ો ામને લક કરતી
વખતે વા તિવક ચલ યા યાની જ ર હોય છે . ચલ ઘોષણા અને યા યા ુ ં ઉદાહરણ આ ૃિત
1.11માં આપવામાં આ ુ ં છે .
તફાવત b/w ચલ ઘોષણા અને યા યા: યાર વે રયેબલનો ઉપયોગ કરતા પહલા તેને થમ
વખત ર ૂ કરવામાં આવે છે અથવા હર કરવામાં આવે છે , યાર તેને વે રયેબલ ડ લેરશન
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 27
#include<stdio.h>
int main()
{
char x12 = 'H'; // declaration and definition of variable 'x12'
float y; // This is also both declaration and definition as 'y'
// is allocated memory and assigned some garbage value.
int _z, _xy73, v; // multiple declarations and definitions
printf("%c", x12); // printing the value of the variable
return 0;
}
આ ક પાઇલરની સાથે ૂવ-અમલમાં ુ ાયેલા ફં શ સનો સેટ ઉપલ ધ છે . તેઓ કોઈપણ િવિશ ટ
ક
કાય કરવા માટ વપરાય છે .
દા.ત. printf(), scanf(), strcpy(), વગેર.
1.6.6 ઓપરટસ
એક િવિશ ટ કાર ુ ં તીક એક િવિશ ટ કાય કર છે . સી ો ાિમગ ભાષામાં ૪૪ ઓપરટરો ઉપલ ધ છે .
દા.ત. +, -, / %, વગેર.
1. #include<stdio.h>
2. /* Program execution start from the main function */
3. int main()
4. {
5. int number1; /* variable number1 defined as an integer*/
6. int number2; /* variable number2 defined as an integer*/
7. int result; /* variable result stores addition of first and
second number */
8. printf(“Enter first number \n”);
9. scanf(“%d”, &number1); /* reads first number inputted by user*/
10. printf(“Enter second number \n” );
11. scanf(“%d”, &number2); /* reads second number inputted by
user */
12. result= number1 + number2 ; /*assignment of addition of number1
and number2 to result*/
13. printf( “Addition is %d\n”, result); /* print result*/
14. return 0; /*indicates the successful execution of the
program */
15. } /*termination of the main function */
ો ામ એ ઝે ુ ન
શ ુ ય ફં શનથી શ થાય છે . ડાબો ક સ { (લાઇન 4) ુ ય િવધેયના
અવકાશની શ આતને ચ ત કર છે , જમણા ક સ } (લાઇન 15) પર સમા ત થાય છે . લીટ 5-7
ચલ યા યાઓ યા યાિયત કર છે . નામ નંબર 1, નંબર 2 અને પ રણામ એ ચલોની ઓળખકતા
(નામ) છે . વે રયેબલ એ મેમર માં એક થાન છે નો ઉપયોગ ો ામ માટ ૂ ય રાખવા માટ થઈ
શક છે . ચલ સં યા1, સં યા2, અને પ રણામ એ બધા જ કારના ઇ ટ છે , ૂણાક ૂ યો ધરાવે
છે . ચલોને ડટા કાર સાથે યા યાિયત કરવા આવ યક છે , યારબાદ સીધા જ જમણા ક સ પછ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 29
ુ રવામાં આવે છે
તેના નામ ારા અ સ ુ યના શર રને શ કર છે . ચલ યા યા (રખાઓ 5-7)ને
એક જ િવધાનમાં જોડ શકાય છે , નીચે દશા યા ુ બ છે :
જ
એકમ સારાંશ
ક ટુ શનલ િથ કગ
o ઘોષણા મક ાન. િનવેદનો ત ય છે . દા.ત., ૨, ૪, અને ૬ એ બેક સં યાઓ છે .
o અિનવાય ાન. ુ વ
ૂચનાઓનો સ ૂહ અ ક ુઓ કવી ર તે કરવી તે િવશેની
મા હતી આપે છે .
િવભાગ 1.2 ક ટુ સ
ક ૂટરોના કારો
o ચો સ ો ામ થયેલ ક ૂટર. ક ુ ટગ ઉપકરણ ફ ત એક િવિશ ટ કાય કર
છે , એટલે ક, તે અ ય કાય માટ ો ામ કર શકા ુ ં નથી, દા.ત., ક ુ ેટર.
લ
o સં હત ો ામ કર ંુ ક ટુ ર. સં હત ો ામ ક સે ટમાં, ક ુ ર ક
ટ ુ રને
ટ
સં હત અથવા આપવામાં આવે ું કાય કર છે . તમામ સં હત ો ા ડ
ક ુ રમાં CPU, મેમર અને ઇન ટ
ટ ુ /આઉટ ટ
ુ ઉપકરણોનો સમાવેશ થાય છે .
o ક ટુ ર મેમર ઓગનાઇઝેશન . ક ુ રની મેમર
ટ ૂબ જ નાના એકમોમાં
િવભા જત થાય છે ને બાઇટ કહવામાં આવે છે . એક જ અ ર અથવા નાની
સં યા એક જ બાઇટમાં સં હત થાય છે . મેમર ના દરક બાઇટને એક અન ય
સરનામાં ારા ઓળખી શકાય છે .
િવભાગ 1.3 ક ૂટર સાથે યાયન કવી ર તે કરવો
ક ુ ર
ટ ભાષા સમ છે તે ભાષામાં આપણે એક કાય ( ૂચનાઓ) આપવી પડશે. ક ુ ર
ટ
સંગી ભાષા 0s અને 1s ને સમ છે .
મશીન ભાષા. ક ુ ર આ કટ ચરમાં તેને મળતા ઇલે
ટ ોિનક િસ નલ ારા ચા ુ કરવામાં
આવેલા કટલાક અબજ ા ઝ ટસનો સમાવેશ થાય છે (0 ઓફ (લો વો ટજ) અને 1 ઓન
(હાઇ વો ટજ) ુ ં િતિનિધ વ કર છે . તેથી, ક ુ સ
ટ સંગી ભાષામાં લખાયેલા ો ામને
સમ છે (0s અને 1s ની ણ
ે ી).
એસે બલી ભાષા. એસે બલી લ વેજ ૂચનાઓ ુ ં િતિનિધ વ કરવા માટ સંગી
સં યાઓના થાને સં ા ૂ ચ, અથવા ૂ ા શ દોનો ઉપયોગ કર છે . દાખલા તર ક,
ંક
સં ા ૂ ચઓ ઉમેરો, ૂળ, mov વગેર. આ એસે બલર એસે બલી ભાષાને મશીન ભાષામાં
પાંત રત કર છે .
32 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
કસરતો
ખાલી જ યાઓ ભરો
34 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
5. હડર ફાઈલ ___ આના માટના કાય મમાં સમાિવ ટ છે printf, scanf કામગીર ઓ.
3. સંપાદકો/આઈડ ઈ 4. િ ટફ 5. stdio.h
બ ુિવધ પસંદગી ો
2. ક પાઇલર ુ ં કાય ુ ં છે ?
a. ુ ો કોડને ક
ડ ુ ર ો ામમાં પાંત રત કર ર ા છે
ટ
3.CPU ના ુ ય ઘટકો આ છે :
a. ર ટસ, ALU, મોિનટર b. િનયં ણ એકમ, ALU, હાડ ડ ક
સી. ક ોલ િુ નટ, એ.એલ. .ુ d. ુ ય મેમર , ALU, િનયં ણ એકમ
ુ ક ુ ં હશે:
4. નીચેના કોડ નપેટ ુ ં આઉટ ટ
#include<stdio.h>
int main ()
{
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 35
a. ઉ ચ- તર b. નીચલા તર ુ ં
1. ડ 2. બી 3. સી 4. એ 5. એ 6. a
સી ો ામ ંુ સંકલન.
(a.) ( "%d", a );
(b.) ( "%d", a + a + a );
(c.) ( "a=" );
(d.) ( "b=%d", a*a );
(e.) ( "%d = %d", a + b, b + a );
(f.) /*( "a + b + a = %d", b + a + b ); */
(g.) ( "\n\n\n\n" );
ે ટકલ
વ ુ ણો
GNU ક પાઇલર કલે શન (gcc) ની મદદથી C ો ામને કવી ર તે ચલાવવો
38 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
ક ૂટરોનો ઇિતહાસ
ક ુ સ પહલાં એક સમય હતો, તેમ છતાં તે હવે માનવ
ટ વનનો એક અ ભ ભાગ છે . ક ટુ સનો
ઇિતહાસ અને ગિત ણવા ું આપણને ક ટુ ર ઉ પાદનમાં જ ટલતા અને સ ના મકતાને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 39
સમજવામાં મદદ કર શક છે . ક ુ સને તેમની પેઢ , કદ, કાય અને ઉપયોગના આધાર બ િુ વધ ર તે
ટ
વગ ૃત કર શકાય છે . ક ુ રની ચાર પેઢ ઓ અ ત વમાં છે . 1940-1958ના
ટ થમ પેઢ ના
ક ુ સમાં મેમર માટ સ કટર અને મે ને ટક
ટ સની ડઝાઇન તૈયાર કરવા માટ વે ૂમ ટ ૂ સનો
ઉપયોગ કરવામાં આ યો હતો. આ ક ુ સ આખો ઓરડો બાંધવામાં લઈ ગયા હતા અને (કદ અને
ટ
ળવણીને કારણે) તે ુ ં સંચાલન કર ુ ં મ ુ ં પડ ુ ં હ .ુ ં યાર બાદ, બી પેઢ ના ક ુ સ (1959-
ટ
1964) ા ઝ ટર પર આધા રત હતા, ને એટ એ ડટ (AT& T) ની બેલ લે સમાં િવકસાવવામાં
આ યા હતા. એક જ ા ઝ ટર લગભગ ૪૦ વે ુ ટ ુ સને બદલી નાખી હતી.
મ થમ પેઢ ના
ક ૂટરોની સરખામણીએ તે નાના, ઝડપી અને ભરોસાપા હતા. આ સમય દરિમયાન, ફો ાન અને કોબો
વી ઉ ચ- તર ય ભાષાઓ િવકસાવવામાં આવી હતી. ો ામની ૂચનાઓને મેમર માં સં હત
કરવામાં આવી હતી, મે ને ટક મથી મે ને ટક કોર ટકનોલો માં પાંત રત થતી હતી. આ પેઢ ના
ારં ભક ક ુ સ અ ુ ઉ ોગ માટ બનાવવામાં આ યા હતા.
ટ
ુ ાં, ક
વ મ ુ રની
ટ ી પેઢ 1965 થી 1970 ુ ી શ થાય છે . ઇ ટ ેટડ સ ક સ
ધ
(આઇસી(IC))નો તેના પાયા તર ક ઉપયોગ કર ને ી પેઢ ના ક ુ સ િવકસાવવામાં
ટ
આ યા હતા. િસ લકોન ચ સ પર લગાવવામાં આવેલા સમાન ા ઝ ટર પરં ુ નાના, ક ુ ર અને
ટ
ઇિતહાસ િવશે
નો ઉપયોગ કરવામાં આ યો હતો, ક ુ રની ગિત અને અસરકારકતામાં ન ધપા
ટ
વ ુ વાંચો
વધારો કર છે . ચોથી પેઢ ની શ આત 1971માં થઈ હતી. આ માઈ ો ોસેસર આધા રત
ક ુ સ છે . આપ ુ ં તા કા લક વાતાવરણ ચોથી પેઢ ના ક
ટ ુ સથી ભર ું છે . આ
ટ
પેઢ માં સેમીક ડ ટર મેમર મ ક રોમ, રમ વગેરનો ઉપયોગ થતો હતો. આ પેઢ માં
ન ધપા ર તે નાના કદના અને વ ુ મતાવાળા ક ુ સ ઉપલ ધ હતા. ક
ટ ુ રની
ટ
પાંચમી પેઢ આ ટ ફિશયલ ઇ ટ લજ સ (એઆઈ) હોઈ શક છે . તે ક ુ રને માણસની
ટ
મ વત છે . િવગતવાર વાંચવા માટ, ૃપા કર ને QR કોડ ુ ઓ.
40 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ
2
d
આઉટ ટુ
એકમ િવિશ ટતાઓ
ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
ૂ ી માટ
એકમ દરક િવષયની સમ ત ૂઆર કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કારની કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ ,
આઉટ ટુ -આધા રત ો, ાયો ગક કસરતો, વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે
સંદભ અને ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .
તકસંગત
ૂવ-આવ યકતાઓ
ૂળ ૂત ગ ણત
એકમ પ રણામો
ન ધ: ૂળ ૂત ગ ણતમાં C માં િવિવધ િવિશ ટ તીકોનો ઉપયોગ કરવામાં આવતો નથી. ટકા
ુ ો ઓપરટર અને તારક ચ ને દશાવે છે (*)ને
(%)ની િનશાની મોડ લ ુ ાકાર ઓપરટર દશાવે
ણ
છે . C માં, જો આપણે બે ઓપર ડનો ુ ાકાર કરવા માંગતા હોઈએ તો p અને q, તો પછ તે આ
ણ
ર તે લખ ું જોઈએ p*q; એટલે ક, તેને ુ ાકાર કારકની જ ર પડ છે (*), યાર બીજગ ણતમાં,
ણ
ુ ાકાર ફ ત લખીને કર શકાય છે pq પરં ,ુ C ભાષા અથઘટન કર છે pq એક ઓળખકતા
ણ
તર ક. તેથી, ો ાિમગ લ વેજમાં પ ટપણે ઓપરટસને 2 કામગીર કરવાની જ ર પડ છે .
દાખલા તર ક:
var1=5;// It is the right expression
while
5=var1; // It is wrong because 5 has no identifiable memory address, so it can’t be an lvalue
and it generates an error “lvalue required”.
46 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
ચ અથ ઉદાહરણો
ન ધ: સી ભાષામાં, ઓપરટર '=' નો ઉપયોગ ૂ ય સ પવા માટ થાય છે , અને '==' નો ઉપયોગ
બે ૂ યોની ુલના કરવા માટ થાય છે , યાર ૂળ ૂત ગ ણતમાં, '=' નો ઉપયોગ બંને હ ુઓ
માટ થાય છે (સ પણી અને સરખામણી).
આ ૃિત 2.1 કગ ણત અને સ પણી ઓપરટરો ુ ં િનદશન દશાવે છે . અ હયા, લીટ 7 વપરાશકતા
પાસેથી બે ૂણાક સં યાઓ વાંચે છે . લાઇન 8, 10, 12, 14, અને 16 અ ુ મે સરવાળા, બાદબાક ,
ુ ાકાર, ભાગાકાર અને મોડ લ
ણ ુ ો કામગીર કર છે ; સ પણી ઓપરટર પ રણામોનો સં હ કર છે
add_res, sub_res, mul_res, div_res, અને mod_res વે રયેબ સ, અ ુ મે. લાઇન 9,
1. #include<stdio.h>
2. int main()
3. {
4. int var1, var2; //variables to be read from the user
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 47
18. return 0;
19. }
20.
ુ :
આઉટ ટ
Note: The arithmetic (except modulo) operator behavior depends on the types of the operand. If
both operands are integers, then the results will be an integer. If one of the operands is float
type (real number), then the output will be a float type.
48 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
Example:
var= 33/2; //Here divisor and dividend both are integers so the output will be 16 instead of
16.5.
var= 33.0/2; // Here dividend is the float type (one of the operands is a float type,
then the output will be a float type), so here output will be 16.5..
ઓપરટર અથ
કરતાં ઓ ં- (<) અને ઓપરટર '>' ચકાસે છે ક ુ ં ડાબા ઓપર ડની કમત જમણા
તેના કરતાં વધાર- (>) ઓપર ડની કમત કરતા વધાર છે અને પા આપે છે 1, અ યથા
ઓપરટરો: વળતર 0.
ના કરતાં ઓ ં અથવા તેવી જ ર તે, '<' ચેક કર છે ક ડાબા ઓપર ડની કમત જમણા
બરાબર (<=) અને ( ઓપર ડની કમત કરતા નાની છે ક નહ અને પરત આપે છે 1,
કરતા વધાર અથવા અ યથા વળતર 0.
બરાબર>=)
ની બરાબર (==) અને ( ઓપરટર '==' પા આપે છે 1 યાર બંને ઓપર સ (ડાબે અને
ની બરાબર નથી!=) જમણે) સમાન (સમાન) હોય છે . જો નહ , તો તે પા ં આવે છે 0.
ઓપરટર: ઓપરટર '!=' પા આપે છે 1 યાર બંને ઓપર સ (ડાબે અને
જમણે) અલગ અલગ હોય છે (સમાન નથી). જો નહ , તો તે પા ં
આવે છે 0.
1. #include<stdio.h>
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 49
2. int main()
3. {
4. int var1, var2;
5. var1=23;
6. var2=32;
7. printf("Enter two numbers to check which relationship exists
between them:");
8. scanf("%d%d", &var1,&var2);
14. printf("%d is not equal to %d: the result is %d\n", var1, var2,
var2!=var1); // Not equal to operator
15. return 0;
16. }
ુ :
આઉટ ટ
Enter two numbers to check which relationship exists between them:23
45
23 is Greater-than 45: the result is 0
23 is Less-than 45: the result is 1
23 is Greater than or equal to 45: the result is 0
23 is Less than or equal to 45: the result is 0
23 equals to 45: the result is 0
23 is not equal to 45: the result is 1
D. લો જકલ ઓપરટરઃ સામા ય ર તે, લો જકલ ઓપરટસનો ઉપયોગ રલેશનલ ઓપરટસ સાથે
થાય છે . લો જકલ ઓપરટસનો ઉપયોગ બે િનવેદનોના સંયોજન માટ થાય છે . લો જકલ ઓપરટસ
પણ પ રણામોને સાચા તર ક પરત કર છે (1) અથવા ખો ુ ં (0).
ૂળ ૂત િવિવધ લો જકલ ઓપરટસ છે :
અને ઓપરટર (&&): અને ઓપરટરનો ઉપયોગ બે િનવેદનો (ઓપર સ)ને જોડવા માટ થાય છે .
જો બંને િવધાનો સાચા હોય, તો પછ અને ઓપરટર અ યથા સા ુ ં વળતર આપે છે , તે ખો ુ ં પા ં
આપે છે . આ ૃિત 2.3 તા કક ંુ િનદશન દશાવે છે . અને ઓપરટર.
1. #include<stdio.h>
2. int main()
3. {
4. int var1, var2;
5. var1= 20<30 && 40<50;
6. var2= 20<30 && 40>50;
7. printf("Result of the first expression is %d\n",var1);
8. printf("Result of the second expression is %d\n",var2);
9. return 0;
10. }
10.
OR ઓપરટર (||): આ અથવા ઓપરટરનો ઉપયોગ બે િનવેદનો (ઓપર સ)ને જોડવા માટ થાય
છે . જો કોઈ પણ એક િવધાન સા ુ ં હોય, તો પછ અથવા ઓપરટર અ યથા સા ુ ં વળતર આપે છે ,
તે ખો ુ ં પા ં આપે છે . આ ૃિત 2.5માં તા કક ંુ િનદશન દશાવવામાં આ ંુ છે . અથવા ઓપરટર.
1. #include<stdio.h>
2. int main()
3. {
4. int var1, var2;
5. var1= 20>30 || 40>50;
6. var2= 20<30 || 40>50;
7. printf("value of var1 is %d\n",var1);
8. printf("value of var2 is %d\n",var2);
9. return 0;
10. }
1. #include<stdio.h>
2. int main()
3. {
52 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
ઉપરો ત કોડમાં, લાઇન નંબર 6 થમ િનવેદન પર, ૨૦<૩૦, સા ુ ં છે , તેથી અથવા ઓપરટર બી
િનવેદનને અમલમાં ૂ ા િવના સા ુ ં વળતર આપે છે . આને કારણે, var1 ની કમત સમાન રહશે
(10).
ુ :
આઉટ ટ
Results of the expression is 1
Updated value of var1 is 10
1. #include<stdio.h>
2. int main()
3. {
4. int var1, var2;
5. var1= !(20>30); // 20>30 is false but due to not operator return
true
6. var2= !(20<30); // 20<30 is true but due to not operator return
false
7. printf("Result of !(20>30) is %d\n",var1);
8. printf("Result of !(20<30) is %d\n",var2);
9. return 0;
10. }
ુ :
આઉટ ટ
Result of !(20>30) is 1
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 53
Result of !(20<30) is 0
ઓપરટર અથ
Bitwise અને ઓપરટર ઓપરટર અને (&) પરત આવે છે 1 જો બંને બ સ છે 1, અ યથા, તે પા ં આવે છે
(&) 0.
Bitwise XOR ઓપરટર ઓપરટર XOR (^) પરત આવે છે 0 જો બંને બીટ સમાન હોય ( ાં તો 0 અથવા
(^) 1), અ યથા, તે પા ં આવે છે 1.
બીટવાઇઝ જમ ંુ િશ ટ આ જમણી shift (>>)ના ઓપરટર જમણા ભાગે ડાબા ઓપર ડના બ સ બદલી
ઑપરટર (>>) નાખે છે ; સા ુ ં ઓપર ડ થળાંતર કરવા માટના થળોની ુ લ સં યા કહ છે .
બીટવાઇઝ ૂરક કારક આ એક અનર ઓપરટર છે ; આ ઓપરટર િસગલ ઓપર ડ પર કરવામાં આવે છે .
(~) ઓપરટર '~' ઓપર ડના દરક ભાગને લપ કર છે . તેનો અથ એ છે ક 1 બને છે 0
અને 0 બને છે 1.
ઉદાહરણ તર ક, ધારો ક ધારો ક var1 અને var2 બાઇનર નંબર ધરાવે છે 00111 અને 01001
તે પછ અ ુ મે
54 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
var1 | var2 0 1 1 1 1
var1 & var2 0 0 1 0 1
var1 ^ var2 0 1 0 1 0
var1<<2 1 1 1 0 0
var1>>2 1 1 0 0 1
~var1 1 1 0 0 0
1. #include <stdio.h>
2. int main()
3. {
4. int var1,var2,var3;
5. printf("Enter two numbers to perform bitwise operations ");
6. scanf("%d%d",&var1,&var2);
7. var3= var1 | var2; // Bitwise OR operation
8. printf("The result of the bitwise OR operation between %d and %d
is: %d \n",var1,var2,var3);
9. var3= var1 & var2; // Bitwise AND operation
10. printf("The result of the bitwise AND operation between %d and
%d is: %d \n",var1,var2,var3);
11. var3= var1 ^ var2; // Bitwise XOR operation
12. printf("The result of the bitwise XOR operation between %d and %d
is: %d \n",var1,var2,var3);
13. var3= var1 <<2; // Bitwise left shift operation
14. printf("The result of 2 left shifts operation on %d is: %d \n",
var1,var3);
15. var3= var1 >>2; // Bitwise right shift operation
16. printf("The result of 2 right shifts operation on %d is: %d \n",
var1,var3);
17. var3= ~var1; // Bitwise complement operation
18. printf("The bitwise complement of %d number is: %d\n",var1,var3);
19. return 0;
20. }
ઉપરના કોડમાં, લીટ 6 વપરાશકતા પાસેથી બે ૂણાક સં યાઓ મેળવે છે , આમાં સં હત થાય
છે var1 અને var2 ચલો; માની લો ક તેઓ ૪ અને ૫ છે . લીટ માંક 7, 9, 11, 13, 15 અને 17
બીટવાઇઝ કર છે અથવા, અને, XOR, ડાબી િશ ટ, જમણી shiftઅને ૂરક, અ ુ મે. બીટવાઇઝ યા
ક પાઇલર કરતા પહલા ઓપર ડને બાઇનર નંબરમાં પાંત રત કરો (બીટની જ ર સં યા
ક પાઇલરમાં ક પાઇલરમાં બદલાય છે , ફ ત અહ સમજવા માટ આપણે ૮ બીટ લઇએ છ એ),
નો અથ છે 4 બને છે 00000100 અને 5 બને છે 00000101. હવે દરક બીટ અલગ-અલગ
બટવાઇઝ ઓપરશન કર છે ; ઉદાહરણ તર ક, બીટવાઇઝમાં અથવા યા (00000100 |
બનસ ાવાર બાદબાક (-):તે કોઈપણ ઓપર સની િનશાની બદલી નાખે છે . તેનો અથ એ
થયો ક નકારા મક હકારા મક બને છે અથવા હકારા મક નકારા મક બને છે .
ઉદાહરણ:
var1= 19;
ઉદાહરણ:
var1= +19;તેનો અથ એ છે ક હકારા મક 19 ને સ પવામાં આ ુ ં છે var1
ઉદાહરણ:
(var1) ુ ં માપ;અહ () ઓપરટરની સાઇઝ પરત કર છે ક કટલી બાઇટ ફાળવવામાં આવી
છે var1.
56 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
1. #include <stdio.h>
2. int main()
3. {
4. int var1,var2;
5. printf("Enter a number to perform unary operations ");
6. scanf("%d",&var1);
7. var2= -var1; // Unary minus operation
8. printf("The number %d becomes %d after the unary minus
operation\n",var1,var2);
9. var2= +var1; // Unary plus operation
10. printf("The number %d becomes %d after the unary plus
operation\n",var1,var2);
11. // addressof operation
12. printf("The address of %d is %d \n",var1,&var1);
15. return 0;
16. }
ઉપરનો કોડ દશાવે છે ક -, +, &અને માપ ુ ં બન-મૌ ખક યાઓ. ઉપરો ત કોડ ુ ં આઉટ ટ
ુ નીચે
દશાવેલ છે .
ુ :
આઉટ ટ
Enter a number to perform unary operations 12
The number 12 becomes -12 after the unary minus operation
The number 12 becomes 12 after the unary plus operation
The address of 12 is 1070816304
The number of bytes required to store 12 is 4
છે .
1. #include <stdio.h>
2. int main()
3. {
4. int var1,var2;
5. printf("Enter a number to perform pre-increment operation ");
6. scanf("%d",&var1);
25. return 0;
26. }
27.
ુ :
આઉટ ટ
Enter a number to perform pre-increment operation 5
The entered number is: 5
In post-increment operation, the number is printed, then incremented.
The number is: 6
The updated number is: 6
Enter a number to perform post-increment operation 5
The entered number is: 5
In post-increment operation, the number is printed, then incremented.
The number is: 5
The updated number is: 6
Enter a number to perform pre-decrement operation 5
The entered number is: 5
In a pre-decrement operation, the number is decremented and then
printed. The number is: 4
The updated number is: 4
Enter a number to perform post-decrement operation 5
The entered number is: 5
In post-decrement operation, the number is printed then decrement. The
number is: 5
The updated number is: 4
ઉદાહરણ:
var1= 23>12 ? 23 :12; //The value of var1 will be 23.
var2= 23<12 ? 23 :12// The value of var2 will be 12.
1. #include <stdio.h>
2. int main()
3. {
4. int var1, var2, var3;
5. var1= 23<19?23:19; // conditional part is false, so the expression
returns the right operand (19)
6. var2= 45>29?45:29; // conditional part is true, so the expression
returns the left operand (45)
7. printf("var1= %d\n",var1);
8. printf("var2= %d\n",var2);
9. return 0;
10. }
ુ :
આઉટ ટ
var1= 19
var2= 45
પાંતર બે ર તે કર શકાય છે :
મેળવે છે , યાર તે નીચલા ડટા કારને ઉ ચ ડટા કારમાં પાંત રત કર છે . આ ૃિત 2.12માં મેમર
1. #include<stdio.h>
2. int main()
3. {
4. int var1 = 19; // integer var1
5. char var2 = 'A'; // character var2
ુ :
આઉટ ટ
var1 = 84, var3 = 85.000000
(type) expression
1. #include<stdio.h>
2. int main()
3. {
4. double var1 = 1.7;
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 63
ભાગાકાર, સરવાળા અને બાદબાક ઓપરટર ૂ યાંકન કરશે. આપણે ચચા કર છે તેમ,
ઓપરટરની વત ૂક ઓપર ડના કારો પર આધાર રાખે છે , તેથી પગ ું 2 પર, 7/2પરત ફરશે 3
ની બદલે 3.5. અ ભ ય તના સં ૂણ અમલ પછ , પ રણામ આવશે 11; તેને વે રયેબલમાં ટોર
કરવામાં આવશે x, આ ૃિત 2.16માં
માં દશાવેલ છે .
ઉદાહરણ: ધારો ક એક સો ટવેર/એ લકશન/મશીન તમને દશની રાજધાની ું નામ જણાવવા માટ
બનાવવામાં આ ું છે , એટલે ક, તમે આપો છો (ઇન ટુ ) ું નામ અને મશીન જણાવશે ()આઉટ ટુ ) ું
પાટનગર નામ. મશીનને ઇન ટુ આપવા માટ િવિવધ સંભિવત ર તો ઉપલ ધ હોઈ શક છે . દાખલા
તર ક, તમે વોઈસ કમા ડ ારા (માઇ ોફોન ારા) અથવા જોડાયેલ ક બોડ ારા મશીનમાં ઇન ટુ
ટાઇપ કર ને મશીનને કહ શકો છો.
ફં શ સ ારા) છે . ક ુ સમાં,
ટ માણ ૂત ક બોડને ુ ઉપકરણ માનવામાં આવે છે ,
માણ ૂત ઇન ટ
અને મોિનટર ( ન) ને ુ ઉપકરણ માનવામાં આવે છે .
માણ ૂત આઉટ ટ
એકમ-1માં, અમે બે ૂળ ૂત ઉપયો ગતા કાય ર ૂ કયા printf અને scanf માણ ૂત ઇન ટ
ુ
ુ ડટા લેવા અને
ઉપકરણ (ક બોડ) માંથી ઇન ટ ુ ઉપકરણ (મોિનટર)
માણ ૂત આઉટ ટ ારા
ુ ડટા બતાવવા માટ. અમે સી
આઉટ ટ ુ અને આઉટ ટ
ો ાિમગમાં ઇન ટ ુ ની િવગતવાર ચચા
કર .ુ ં
ુ ુ ં ડા ુ ં અને જમ ુ ં વાજબીપ .ુ ં
3. આઉટ ટ
4. ચોકસાઇઓ અને ચો સ માપ ફાઇલ કરલ પહોળાઈઓ સાથે મા હતી દશાવી ર ા છ એ.
5. હ ઝાડિસમલ અને ઓ ટાલ બંધારણોમાં હ તા ર ન થયેલ ૂણાકોને દશાવી ર ા છે .
6. તરતા બ ુ ની સં યાઓને દશાંશ થાનોની િનિ ત સં યામાં ગોળાકાર કરવી.
7. કમતોના તંભને ગોઠવી ર ા છ એ, તેથી દશાંશ બ ુ ઓ બી ની ટોચ પર ખડકાયેલા રહ
છે .
format_control_string બંધારણ ુ ં વણન કર છે ક ુ છાપવામાં આવશે, અને
માં આઉટ ટ
additional_parameters માં પાંતરણ પ ટ કરણને ુ
અ લ ીને વૈક પક પ રમાણો છે
format_control_string. પાંતર પ ટ કરણમાં શ આતમાં ટકાવાર ની િનશાનીનો સમાવેશ થાય છે ,
યારબાદ તે પાંતર િન દ ટ કરવામાં આવે છે . એક બંધારણ િનયં ણ શ દમાળા ઘણા પાંતર
પ ટ કરણો ધરાવી શક છે .
1.32023 × 103
1.32023E+03
કમતો આની સાથે દશાવેલ છે E અથવા (e) જો તેમનો ઘાતક કરતા ઓછો હોય તો -4 ઘાતાંક ય
સંકત લપીમાં પાંત રત થયા પછ અથવા જો તેમનો ઘાતક છ ચોકસાઇ કો કરતા વધાર અથવા
સમાન હોય અને બાક ના ક સાઓમાં, ૂ ય પાંતર પ ટ કરણકતાનો ઉપયોગ કર ને છાપવામાં આવે
છે f. દશાંશ બ ુ હંમેશા તમામ તરતા બ ુ પ ટ કરનારાઓની ડાબી બા ુ એ ઓછામાં ઓછો એક ક
હોય છે . સં યાઓ 0.00000456, 456, 4.56, 45.60અને 4560000.0 તર ક દશાવવામાં આવે છે
૪.૫૬ઈ-૦૬, 456, 4.56, 45.6અને 4.56+e06 પ ટ કરનાર ' ને વાપર ર ા છે g'.
Conversion
Description
Specifier
Integer Numbers
l and h are length modifiers and indicate that long and short integers are shown
l or h
when placed before any integer conversion specifier.
Floating-point Numbers
આ ૃિત 2.19માં િવિવધ ૂણાક અને લો ટગ-પોઇ ટ પાંતરણ િન દ ટોના ઉપયોગ ુ ં વણન
કરવામાં આ ુ ં છે .
1. #include <stdio.h>
2. int main( )
3. { /* Integer conversion specifiers */
4. printf("%d \n", 254 );
5. printf("%d \n", -254 ); // prints a number along with the
minus sign
6. printf("%d \n", +254 ); // hides the plus sign and prints a
number only
7. printf("%i \n", 254 );
8. printf("%o \n", 254 );
9. printf(“%u \n", 254 );
10. printf("%u \n", -254 ); //-254 is converted to the unsigned
value 4294967042
11. printf("%X \n", 254 );
12. printf("%x \n”, 254 );
13. printf("%hd \n", 2500 );
14. printf("%ld \n", 2000000000 );
/* Floating-point conversion specifiers */
15. printf("%f \n", 9876543.21 );
16. printf("%e \n", 9876543.21 );
17. printf("%E \n", 9876543.219 );
18. printf("%E \n", -9876543.219 );
72 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
21. return 0;
22. }
આ ૃ િત 2.19 : િવિવધ ૂણાક અને તરતા- બ ુ પાંતરણ પ ટ કરનારાઓના ઉપયોગ ુ ં િનદશન કરો.
ુ :
આઉટ ટ
254
-254
254
254
376
254
4294967042
FE
fe
2500
250000000
9876543.210000
9.876543e+06
9.876543E+06
- 9.876543E+06
9.87654e+06
9.87654E+06
અને શ દમાળાઓ છાપવા માટ. char દલીલ '%c' એ પાંતરણ પ ટ કરનાર માટ જ ર છે c
ુ ાર s, યાં
યાર, '%s' એ પાંતરણ પ ટ કરનાર માટ જ ર છે s. પ ટ કરનાર અ સ ુ ી
ધ ૂય
1. #include <stdio.h>
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 73
2. int main()
3. {
4. char A = 'C' ;
5. char B[] = "C program";
6. printf(“%c\n”, A);
7. printf("%s\n", "C Program");
8. printf("%s\n", B);
9. return 0;
10. }
2.7.2 Escape મ
આપણે ઉપરના ો ામ પરથી જોઈ શક એ છ એ ક પા \n માં લખવામાં આ ુ ં હોવા છતાં ન
પર છાપવામાં આ ુ ં ન હ ુ ં printf િનવેદન. બેક લેશ (\)નો ઉપયોગ િ ફ ટટમે ટમાં થાય છે
તેને એ કપ કર ટર કહવામાં આવે છે . તેથી, એ કપ િસ વ સ એ પા ોનો મ છે બેક લેશથી શ
થાય છે અને યારબાદ કટલાક પા આવે છે . તેનો ઉપયોગ ન પર ુ ને ફોમટ
દિશત આઉટ ટ
કરવા માટ થાય છે . દાખલા તર ક \n એક નવી રખા દશાવે છે . આ નવા લીટ અ રનો ઉપયોગ
કસરને નીચેની લીટ ની શ આતમાં ખસેડવા માટ થાય છે . સામા ય ર તે ઉપયોગમાં લેવાતી
કટલીક એ કપ િસ વ સ કો ટક 2.5માં દશા યા ુ બ છે :
જ
ટબલ 2.5: સામા ય ર તે ઉપયોગમાં લેવાતી એ કપ િસ વ સ
\n ( New line) It moves the cursor to the start of the next line.
2.7.3 ે ની પહોળાઈઓ અને તેમાં ચોકસાઈ (Field widths and precision in )printf
1. #include <stdio.h>
2. int main( )
3. {
4. printf("%3d\n", 5 );
5. printf("%3d\n", 56);
6. printf("%3d\n", 567 );
7. printf("%3d\n", 5678 );
8. printf("%3d\n", -5 ); //minus sign takes one character
position in the field width
9. printf("%3d\n", -56 );
10. printf("%3d\n", -567 );
11. printf("%3d\n", -5678 );
12. return 0;
13. }
આઉટ ટુ :
5
56
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 75
567
5678
-5
-56
-567
-5678
આઉટ ટુ :
*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા વેશે છે -20, 20, 30, 40, 50, 060, અને
ુ તર ક
0x80 ઇન ટ
ુ ડવાઇસમાંથી ઇન ટ
ટા ડડ ઇન ટ ુ લેવા અને ટા ડડ આઉટ ટ
ુ ડવાઇસમાંથી આઉટ ટ
ુ લેવા
ુ અને આઉટ ટ
ઉપરાંત, ઇન ટ ુ ફાઇલો ારા આપી શકાય છે . વે રયેબ સમાં સં હત ડટા
કામચલાઉ હોય છે , કારણ ક ો ામની સમા ત પર ડટા ખોવાઈ ય છે . ફાઇલોનો ઉપયોગ ડટાને
કાયમી ધોરણે રાખવા માટ થાય છે . ક ૂટર િસ ટમ ગૌણ મેમર પર હાડ ડ કની મ ફાઇલોનો
સં હ કર છે . હવે પછ ના િવભાગમાં, આપણે ચચા કર ુ ં ક કવી ર તે C ો ામ ારા ફાઇલ
બનાવવામાં આવે છે અને તેની યા કવી ર તે કરવામાં આવે છે .
fclose(" file_ptr");
1. #include<stdio.h>
2. #include<stdlib.h>
3. int main()
4. {
5. int number;
6. File *fileptr;
/* Writing a number to a file */
7. fileptr = fopen(“/Users/CSE/Desktop/program_file.txt”, “w”);
//opening a file with write mode
8. printf(“Enter the number to added in a file”);
9. scanf(“%d”, &number);
10. fprintf(fileptr, “%d”, number); // writing a number to the
file
11. fclose(fileptr); //closing the file ‘program_file.txt’
pointing
by fileptr
12. return 0;
13. }
ઉપરનો કાય મ વપરાશકતા ારા દાખલ કરવામાં આવેલ નંબરને લખે છે અને ફાઇલમાં સં હ
કર છે program_file.txt. એકવાર અમે આ ો ામને અમલમાં ૂક એ, પછ ફાઇલમાં ઇન ટુ
કરલ નંબર હશે. હવે, હવે પછ નો ો ામ દશાવે છે ક કવી ર તે ફાઇલમાંથી નંબર વાંચવો અને
ો ામમાં તેનો ઉપયોગ કવી ર તે કરવો (આ ૃિત 2.24).
80 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
1. #include<stdio.h>
2. #include<stdlib.h>
3. int main()
4. {
5. int number;
6. File *fileptr;
/* Reading a number from a file */
7. fileptr = fopen(“/Users/CSE/Desktop/program_file.txt”, “r”);
//opening a file with read mode
8. fscanf(fileptr, “ %d”, &number); // reading a number from the
file
9. printf(“The number is %d” , number);
10. fclose(fileptr); //closing the file ‘program_file.txt’
pointing by fileptr
11. return 0;
12. }
આ ુ તર ક મોિનટર
ો ામ program_file.txt નંબર વાંચે છે અને આઉટ ટ ન પર તે જ નંબર
છાપે છે .
એકમ સારાંશ
C માં ઓપરટરો
● ૂણાકો માટ (સહ કરલ અને સહ ન થયેલ), અ ટકોણ ૂણાકો, અને હ ઝાડિસમલ
ૂ ા
ૂણાકો માટ. લાંબા અને ંક ૂણાકોને ુ ારકનો ઉપયોગ કર ને ર ૂ કરવામાં આવે છે
ધ
l અથવા h, ક વઝન પેિસ ફકર સાથે ૂવિનધા રત હોય છે .
● લો ટગ-પોઇ ટ નંબરો િવિવધ પાંતર પ ટકતાઓનો ઉપયોગ કર ને ર ૂ કરવામાં
આવે છે , મ ક e અને f ઘાતાંક ય અને લો ટગ-પોઇ ટ નોટશન માટ. પાંતરણ
પ ટ કરનાર g ઘાતક અથવા િનિ ત- બ ુ સંકત લપીમાં છાપવામાં આવે છે ,
ઘાતકના ૂ ય પર આધાર રાખે છે . જો ૂ ય ચોકસાઇ કરતા વધાર અથવા સમાન
હોય અને -4 કરતા ઓ ં હોય અથવા પછ આપણે ઘાતાંક ય સંકત લપી પસંદ કર એ
છ એ.
● અ રો અને શ દમાળાઓ આની મદદથી છાપવામાં આવે છે c અને s પટ
કરનારાઓ.
● એ કપ િસ વ સ ન પર દિશત આઉટ ટુ ને ફોમટ કરવા માટ વપરાય છે . બેક લેશ
(\)નો ઉપયોગ કરવામાં આવે છે printf િનવેદનને એ કપ કર ટર કહવામાં આવે છે .
● ે ની પહોળાઈ એ વા તિવક ે માપને ર ૂ કર છે ક યાં મા હતી છાપવી પડ છે .
જો છાપવા માટનો ડટા ે ની પહોળાઈ કરતા નાનો હોય તો ુ ત ડટાને યો ય ર તે
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 83
થાય છે .
કસરતો
બ િુ વધ પસંદગી ો
1. ુ વીકારવામાં આવે છે .
માણ ૂત કાય મ માટ__નો ઉપયોગ કર ને ઇન ટ
(a) ફાઇલો
84 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
ુ ( ૂણાક)
2. વપરાશકતા ઇન ટ ૂ ય મેળવવા માટ યો ય પ િત પસંદ કરો અને તેને xyz
ચલમાં સં હત કરો.
(a) scanf(%d, &xyz);
(b) scanf("%s", &xyz);
(c) scanf("%d", &xyz);
(d) scanf(%s, &xyz);
3. ચાલો આપણે ધાર લઈએ ક આપણે float વે રયેબલનો ઉપયોગ કય છે money સં હ કરવા
માટ money ભારતીય િપયામાં ક ને આપણે લાિસક નોટ ફોમટમાં દિશત કરવા માંગીએ
છ એ (દા.ત. ₹3.75). printf() ુ ં ક ુ ં િનવેદન યો ય ર તે દશાવશે ક money?
(a) printf("M)oney: ₹%d", money);
(b) printf(M)oney: ₹%f, money);
(c) printf("M)oney: ₹", %f, money);
(d) printf("M)oney: ₹%0.2f", money);
આઉટ ટુ -આધા રત ો
છે #include<stdio.h> )
A B
int main(){ int main(){
int int var1 main(){ int var2;
int int var1 = 8; printf("Enter an integer: ");
printf("Number=%d",var1+ scanf("%d", &var2);
(var1==8)); printf("Number = 4,%d",var2);
return 0; return 0;
}
C D
int main() int main()
{ {
float var1; int var1 = 5, var2;
int var22; var2 = var1;
printf("Enter var1: "); printf("var2 = %d, ", var2);
scanf("%f", &var1); var2 += var1;
printf("Enter var2: "); printf("var2 = %d, ", var2);
scanf("%d", &var2); var2 -= var1;
printf("var1 = %f\n", printf("var2 = %d, ", var2);
var1); var2 *= var1;
printf("var2 = %d", var2); printf("var2 = %d, ", var2);
var2 /= var1;
return 0; printf("var2 = %d, ", var2);
} var2 %= var1;
printf("var2 = %d", var2);
return 0;
}
E F
int main() int main()
{ {
int jkl = 10; int var1=2,var2=4,var3=6,var4;
printf("%d", klj); var4 =var3>var2>var1;
return 0; printf("%d",var4);
} return 0;
}
86 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ
G H
int main(){ int main(){
int t = 1, q = -1, r = 0, s; int p = 10;
s = ++t && ++q || r –; int q =6*2+5*4<p*3?6:4;
printf(“%d”,s); printf(“%d ”, q);
return 0; return 0;
} }
D. - 4. equality
E. ><>= <= 5. conditional
F. != == 6. relational
G. ?: 7. multiplicative
H. = -= /= += *= %= 8. additive
3. ખાલી જ યા ભરો
(a) ____ અને __ પાંતરણ પ ટ કરનારાઓનો ઉપયોગ અ રો અને શ દમાળાઓ છાપવા
માટ થાય છે .
(b) આ E, f અને e પાંતરણ પ ટ કરનારાઓ ચોકસાઇના ____ કો દશાવે છે .
ુ અને આઉટ ટ
(c) ઇન ટ ુ ફોમ ટગ માટ વપરાતા કાય __ અને __ છે
(d) હ તા ર કરલ દશાંશ ૂણાકો બતાવવા માટ __ અને ______ પાંતરણ પ ટ
કરનારાઓનો ઉપયોગ થાય છે .
(e) સમીકરણ ૧૦=બી; ___ ૂલ ુ ં કારણ બને છે .
(f) કગ ણત સમીકરણ ુ ં આઉટ ટ
ુ 7*3/(3+2*3/2)+9*(10/5) એ _______ છે
(g) લો કલ એ સ ેશન ુ ં આઉટ ટ
ુ ! ( x > 10 ) && ( y == 2 ) એ ________ છે , યાં x=10
અને y=2.
જવાબો:(અ).%cઅને %s (બ) . 6 (સી). scanf અને printf (ડ). %d અને %i(ઈ). ક પાઇલ સમય
ૂલ (એફ). 21 ( ). 1
ે ટકલ
iii) છ printfિનવેદનો.
4. સી લ વેજનો ઉપયોગ કર ને નીચેની પેટન દશાવો. (સંકત: વાપરો printf પેટનને છાપવા
માટ યો ય એ કપ િસ વ સ સાથેના િનવેદનો).
a) b)
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *
વ ુ ણો
એ જન તમને ચા સ બેબેજની દશામાં િનદશ કરશે, જો ક તેમણે કોડની થમ લાઇન બનાવી ન હતી.
એડા લવલેસે વષ ૧૮૮૩ માં ો ાિમગ માટ થમ ભાષા ુ ં િનમાણ ક ુ હ .ુ ં પાછળથી કટલીક ણીતી
ભાષાઓ ચ માં આવી.
1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૨). િપયસન
એ ુ શન ઇ ડયા .
ક
લેખક દરક એકમ માટ સહાયક િવ ડઓ વચનો બના યાં છે . એકમ ૨ માં
આવર લેવામાં આવેલા િવષયોને વ ુ સાર ર તે સમજવા માટ વાચકોને
વચનો જોવા માટ ો સા હત કરવામાં આવે છે . જો ક, સલાહ આપવામાં
આવે છે ક પહલા ુ
ક િુ નટને વાંચો અને પછ વી ડયો ુ ઓ. િવ ડઓ
વચનો આખા એકમને આવર ન શક પરં ુ ૂરક સામ ી તર ક ઉમેરવામાં
આવે છે .
91 | P a g e
3
d
ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
ૂ ી માટ
એકમ દરક િવષયની સમ ત ૂઆર કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કારની કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ ,
આઉટ ટુ -આધા રત ો, ાયો ગક કસરતો, વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે
સંદભ અને ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .
તકસંગત
ૂવ-આવ યકતાઓ
એકમ પ રણામો
3.1 પ રચય
ન ધનીય છે ક, આ એકમમાં, 'િનવેદનો' અને ' ૂચનાઓ' શ દ એકબી ની સાથે વપરાય છે અને
સમાન અથ દશાવે છે . િનયં ણ િવધાનોના કારો આ ૃિત 3.2માં દશા યા છે .
3.3.1 if િનવેદન
તે એક શરતી િનવેદન છે શરત સાચી પડ યાર અમલમાં ૂકવા માટ િનવેદન અથવા િનવેદનો
( યા)ના સ ૂહને પસંદ કર છે ; અ યથા, તે યાને છોડ દ છે . તે ો ાિમગ લ વેજ ારા સમિથત
સૌથી સરળ િનણય લેવા ુ ં િનવેદન છે . આ જો િનવેદન એ એક જ યાને પસંદ કરવા અથવા છોડ
96 | C માં િનયં ણ િવધાનો
િનવેદન. યાર આના શર રની જ ર હોય યાર આ ક સ જ ર હોય છે જો અમલમાં ૂકવા માટના
એક કરતા વ ુ િનવેદનો શામેલ છે . જો આ ક સ ૂરા પાડવામાં ન આવે, તો પછ ું થમ િનવેદન
જો અ ભ ય તને તે ુ ં શર ર માનવામાં આવે છે . ુ ં ઉદાહરણ જો આ િવધાન આ ૃિત 3.4માં
માં દશા ું
છે .
આઉટ ટુ :
Enter marks 50
You have passed an examination
આ ૃિત 3.5માં
માં તે ુ ં અથઘટન દશાવવામાં આ ુ ં છે . જો િનવેદન. જો અ ભ ય ત સાચા તર ક
ૂ યાંકન કર છે , તો પછ ફ ત િનવેદન 1 ને જ તેના શર ર તર ક ગણવામાં આવશે જો િનવેદન
આપે છે અને તેનો અમલ કર છે ; અ યથા,
યથા તેને છોડ દ છે . િનવેદન2 અને િનવેદન3 આનો ભાગ
નથી જો ટટમે ટ બોડ . તેથી, જો અ ભ ય ત સાચા અથવા ખોટા ુ ં ૂ યાંકન કર છે , તો તેઓ બંને
ૃ યોમાં અમલમાં ૂકવામાં આવે છે .
98 | C માં િનયં ણ િવધાનો
1. if (var1 == 10)
printf(“ value is 10”);
2. if(var1 == 10)
{
printf(“ value is 10 ”);
}
ન ધ.1 અને 2 બંને સાચા છે અને સમાન પ રણામ આઉટ ટુ આપે છે . પરં ુ ૂ ા
ો ામરો કોડને ંક
અને પ ટ રાખવા ું પસંદ કર છે . તેથી, જો તેમાં ફ ત એક જ વા હોય તો તેઓ શર રને
લખવા માટ 1 (ક સ િવના) પસંદ કર છે .
તે એક શરતી િનવેદન છે શરત સાચી પડ યાર અમલમાં ૂકવા માટ િનવેદન અથવા િનવેદનો
( યા)ના સ ૂહને પસંદ કર છે ; અ યથા, તે િનવેદનો ( યા)ના બી સેટને અમલમાં ૂક છે . આજો-
બી ુ ં િનવેદન બેમાંથી એક યાને પસંદ કર છે .ઉદાહરણ તર ક, જો કોઈ િવ ાથ બરાબર કરતાં
વ ુ કોર કર તો તે પાસ થઈ ય છે 40 પર ામાં ુ આપે છે . કોઈ િવ ાથ પર
ણ ામાં પાસ
થયો છે ક નાપાસ થયો છે ક નહ તે તપાસો.
આ જો-બી ુ ં િનવેદન શરતની તપાસ કર છે અને શરત સાચી પડ છે ક ખોટ તેના આધાર
કટલીક યાઓ કર છે . લોચાટ આ ૃિત 3.6માં દશા ુ ં છે . આપણે જોઈ શક એ છ એ ક િનણયના
તીકમાં એક અ ભ ય ત હોય છે સાચા અથવા ખોટા તર ક ૂ યાંકન કર શક છે . જો તે સા ુ ં
હોય, તો "તમે પર ામાં પાસ થયા છો" તે છાપવામાં આવે છે ; અ યથા, "તમે પર ામાં િન ફળ
ગયા છો" છાપવામાં આવે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 99
આઉટ ટુ :
Enter marks 35
You have failed an examination
હવે, આપણે હવે પછ ુ ં શરતી િવધાન, એટલે ક, શીખવા તરફ આગળ વધી .ુ ં if-else-if.
ન ધ:શરતી ઓપરટરની કામગીર (? :), એકમ II માં અ યાસ કરવામાં આવે છે , તે સમાન છે
જો.. બી ુ િનવેદન. ું તમે િ ટુ ઓપરટરનો ઉપયોગ કર ને સમાન કોડ લખવાનો યાસ
કર શકો છો?
િનવેદન છે , યાર અમલમાં ૂકવામાં આવે છે યાર કોઈ પણ શરત સાચી ન પડ. તેનો ઉપયોગ
બ િુ વધ પ ર થિતઓ ચકાસવા માટ થાય છે . ઉદાહરણ તર ક, આપણે િવ ાથ એ મેળવેલા ુ
ણ
ુ ાર િવભાગ ( થમ,
અ સ તીય અને ૃતીય) ની ગણતર કરવા માંગીએ છ એ.
ુ રવામાં આવે
આ if-else-if સીડ હંમેશા એકથી શ થાય છે જો શરત એ બ િુ વધ ારા અ સ
છે બી ુ જો ૂળ ૂત સાથે થિત અને ત થાય છે બી ુ િનવેદન. યાર કોઈપણ શરતો સાચી પડ
છે , યાર printf તેની સાથે સંકળાયે ું િનવેદન અમલમાં ૂકવામાં આવે છે . તે પછ , છે લા અ ય
િનવેદનને છોડ ને ો ામ એ ઝે ુ નનો
શ ત આવે છે . ુ ં એક ઉદાહરણ if-else-if સીડ
આ ૃિત 3.9માં દશાવી છે .
આઉટ ટુ :
Enter marks 67
67
First Division
કોઈ િવ ાથ પર ામાં પાસ થાય છે ક નાપાસ થાય છે ક નહ તે તપાસો અને તે કયા િવભાગ
ારા પર ા પાસ કર છે તેની ગણતર કરો.
ુ રાવિતત ુ ં વા
ન રચના જો-બી ુ ંિનવેદન નીચે દશાવેલ છે :
104 | C માં િનયં ણ િવધાનો
1. if (expression)
2. {
3. //enters the body when the expression evaluates to true
4. if (expression)
5. {
6. statements; // executes statements when the second expression evaluates to
true.
7. }
8. else
9. {
10. statements; // executes statements when the second expression evaluates to
false.
11. }
12. }
13. else
14. {
15. statements;
16. }
આઉટ ટુ :
Enter marks 77
First Division
3.1 યાર ો ામમાં બ ુિવધ જો િનવેદનો અને એક બી ુ ં િનવેદન હોય યાર ંુ થાય છે ?
કન QR
જવાબ માટ
ક પાઇલર ંૂ
ઝવણમાં કુ ાઈ શક છે ક જો
જો- ટટમે ટનો બાક નો ભાગ કોનો છે . તેને લતી અ ય
સમ યા તર ક ઓળખવામાં આવે છે , આ ૃિત 3.12માં દશાવવામાં આવી છે . સમ યા યાર ઉભી
થાય છે હોય. બી ુ ં બી ુ ં લ ું થઈ
યાર બી ુ ં એક િનવેદન બ િુ વધ જો િનવેદનોને અ ુ પ હોય ય
છે . તે ફ ત ુ રાવિતત જો-અ
ન અ ય િનવેદનોમાં જ થાય છે . આવા ક સાઓમાં, અ ય કલમ જો
િનવેદન હોય તો સૌથી દરની મા લક ની હોય છે .
106 | C માં િનયં ણ િવધાનો
ુ :
આઉટ ટ
Select operator (+, -,, /, *,%): *
Enter two numbers: 23 34
Multiplication is 782
હવે પછ , આપણે બી ન ન
કારનાં િનયં ણ િનવેદન, ુ રાવતન િવધાનોની ચચા નીચેના િવભાગમાં
કર .ુ ં
110 | C માં િનયં ણ િવધાનો
ૂપનો ઉપયોગ એક જ કાયને વારં વાર કરવા માટ થાય છે . દરક ૂપ ુ ં શર ર હોય છે માં ચો સ
કાય કરવા માટ ઘણી ૂચનાઓનો સમાવેશ થાય છે . ૂપ ુ ં શર ર આથી શ થાય છે {અને } સાથે ત
કરો. ૂપ તેની ુ રાવિતત કર છે યાં ધ
દર લખાયેલા િનવેદનોની સં યાને ન ુ ી થિત ખોટ ન હોય.
ૂપને કયા નામે ઓળખવામાં આવે છે મયા દત જો તે કોઈ ચો સ ુ રા ૃિ
ન પછ ચલાવવા ુ ં બંધ
કર છે . ુ છે અનંત જો તે તેના શર રની
પ દર લખેલા િનવેદનોને અમલમાં ૂકવા ુ ં ચા ુ રાખે છે .
ૂપનો ુ ય ફાયદો એ છે ક તે કોડ ુ ં કદ ઘટાડ છે .
એ ઝે ુ નની
શ થિત ૂપના અમલને િનયંિ ત કર છે . એ ઝે ુ નની
શ થિતને આધાર ૂપને
બે કારમાં િવભા જત કરવામાં આવે છે ઃ
1. વેશ િનયં ણ ુ
પ
a. સમય ુ
પ
b. માટ ુ
પ
3.4.1 એ કં ોલ ુ
પ
Initialization;
while(condition)
{
instructions;
Variable updating statement (Increment/Decrement);
}
Step 1: This is the initializing step. Here value will initialize to the loop variable.
Step 2: The while loop checks the condition. If the condition is true, the loop's body will
execute; otherwise, the loop will terminate.
Step 3: The statements written inside the body will execute. Also, the variable's value will update
and return to the condition check.
Step 4: The body of the while loop will execute until the condition is not false. The loop will
terminate when the condition is false, and the statements written after the loop will
execute.
આ ૃિત 3.18 : 0 થી 4 ધ
ુ ીની સં યાઓ છાપવા માટનો કાય મ સમય ુ
પ
આઉટ ટુ
var1= 0
var1= 1
var1= 2
var1= 3
var1= 4
માટ ુ . આ માટ
પ ૂપ એ પણ વેશ િનયં ણ ૂપનો એક કાર છે . તે સૌથી લોકિ ય ૂપ
ચર છે . આ ૂપ શર રને ચલાવતા પહલાની થિતની તપાસ કર છે . જો થિત સાચી હોય,
હોય તો
ૂપ ુ ં શર ર અમલમાં ૂકશે. જો શરત ખોટ હોય,
હોય તો ૂપ સમા ત થાય છે . નો લોચાટ માટ ૂપ
આ ૃિત 3.19માં દશાવેલ છે .
114 | C માં િનયં ણ િવધાનો
ની વા રચના માટ ુ
પ
for( Initialization ; Condition ; Updation)
{
Instructions // body of the loop
}
આ માટ ૂપને શર રથી અલગ ણ ભાગમાં િવભા જત કરવામાં આવે છે : ારં ભકતા, થિત અને
અપડશન. દરક ભાગને અધકોલોનો વડ અલગ પાડવામાં આવે છે (;).
આઉટ ટુ
var1= 0
var1= 1
var1= 2
var1= 3
var1= 4
ઉપર ુ ં ઉદાહરણ આમાંથી નંબરો છાપે છે 0 િત 4 નો ઉપયોગ કર ને માટ ૂપ. અહ લીટ 5 માં,
આપણે આનો ઉપયોગ કર એ છ એ માટ ૂપ. ારં ભકતા, થિત અને ચલ અપડ ટગ તેમના
સંબિં ધત ભાગોમાં કરવામાં આવે છે માટ ૂપ આરં ભનો ભાગ ચલનો આરં ભ કર છે var1 ારા 0;
ૂપ.
તે ફ ત એક જ વાર અને ૂપની શ આતમાં ચલાવવામાં આવે છે . આગળ, શરત var1<5 ચલાવે
છે , અને જો તે સા ુ ં હોય, તો ૂપ ુ ં શર ર ચલાવે છે . તે, અપડશન લોક ચાલશે, ક આની
કમતમાં વધારો કર છે var1 ારા 1(var1++). નો વાહ માટ યાં ુ ી ક ડશન લોક ખોટો ન
ધ
હોય યાં ુ ી
ધ ૂપ (ક ડશન→ ૂપ ુ ં બોડ → અપડશન→ક ડશન) ચા ુ રહશે.
ન ધ:
આ માટ ૂપને ખાલી ારં ભકતા, થિત અથવા અપડશન લો સ સાથે લખી શકાય છે . જો માટ
ૂપ કોઈપણ શરત િવના લખવામાં આવે છે , પછ તે ૂપ એ અનંત ૂપ છે .
116 | C માં િનયં ણ િવધાનો
ઉદાહરણ:
માટ( માટ ; ; )
{
printf("શરત વગર\n");
}
નીચેની કોડ િ ટ શરત વગર અનંત સમય.
do-while loop
આ ૂપ પહલા ૂપના શર રને ચલાવે છે અને પછ થિતની તપાસ કર છે . જો શરત સાચી હોય,
તો ૂપ બોડ ને ફર થી ચલાવવામાં આવે છે ; અ યથા ૂપ સમા ત થાય છે . ુ ં શર ર કરો- યાર
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 117
આ ૃિત 3.22 આમાંથી નંબરો છાપવા માટનો કાય મ 0 િત 4 નો ઉપયોગ કર ને કરો- યાર ુ
પ
આઉટ ટુ
var1= 0
var1= 1
var1= 2
var1= 3
var1= 4
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 119
Note: We can write a loop without the body; in this case, the next statement written after the
loop is considered the loop body statement. So, if we have only one statement inside the loop,
we can write it without the body.
Example:
for (int var1=0; var1<5; var1++)
printf(“loop with single statement\n”);
Similarly,
while(var1==0)
printf(“loop with single statement\n”);
and
do
printf(“loop with single statement\n”);
while(var1==0);while (var1==0);
આ િવરામ અને ચા ુ રાખો ૂ સને િનયંિ ત કરવા માટ ઉપયોગમાં લેવાતા િનવેદનો છે . તે બંને
બનશરતી િનવેદનો છે .
િવરામ િનવેદન
ુ
આ િવરામ માં બે હ ઓ માટ િનવેદનનો ઉપયોગ થાય છે C ભાષા. થમ, તે આના અમલને
અટકાવે છે કસ માં બદલો િનવેદન. બી ુ ,ં તે વતમાન અમલને અટકાવે છે અને િનયં ણને ૂપની
120 | C માં િનયં ણ િવધાનો
વા રચના
break;
આ ચા ુ રાખો િનવેદનનો ઉપયોગ ૂપમાં વતમાન ુ રા ૃિ ને છોડ દવા માટ થાય છે . યાર
ન
પણ ચા ુ રાખો ટટમે ટ એ ઝ ટુ કર છે , તે ૂપના વાહમાં િવ ેપ પાડ છે અને િનયં ણને
શર રના ત ુ ી મોકલે છે (})ની
ધ ની વતમાન ુ રા ૃિ
ન માટ જ.
જ તેથી, પછ લખાયેલા િનવેદનો
ચા ુ રાખો િનવેદનને અમલમાં ૂકવામાં આવશે નહ .
વા રચના
continue;
આઉટ ટુ
var1= 0
var1= 1
var1= 3
var1= 4
આઉટ ટુ
Enter the integer number to check the prime number 11
The given number is a prime number
26 માં, તે વપરાશકતાને અ ર માટ ૂછે છે 'y' અથવા 'Y' ચા ુ રાખવા માટ; જો વપરાશકતા
ઈન ુ સ 'y' અથવા 'Y', પછ લાઇન 27 માં થિત સાચી હશે, અને ૂપ આગામી ુ રા ૃિ
ન
માટ ચા ુ રહશે. ુ નો
પ ુ આપે
ત આવશે જો વપરાશકતા તેની જ યાએ અ ય અ રોને ઇન ટ
તો 'y' અથવા 'Y'.
આઉટ ટુ
Select operator (+, -, /, *, %): *
Enter two numbers: 23
2
Multiplication is 46
For the continue enter y or Y
y
Select operator (+, -, /, *, %): -
Enter two numbers: 23
45
Subtraction is -22
For the continue enter y or Y
n
Calculator terminated
3.4.3 ને ટડ ુ
પ
ુ રાવિતત
ન ૂપને વ ુ સાર ર તે સમજવા માટ, ચાલો આપણે વ ચે અિવભા ય સં યા છાપવા ુ ં
ઉદાહરણ લઈએ 1 અને 50. અમે આપેલ સં યા ચકાસવા માટ ત રક ૂપ (લાઇન ૮)નો
ઉપયોગ કય . જો નંબર અિવભા ય સં યા હોય, તો તે ન પર િ ટ થશે ( મ ક આપણે
આ ૃિતમાં જોઈ ૂ ા છ એ). બા ૂપ (રખા ૫) અિવભા યને ચકાસવા માટ એક પછ એક
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 127
આ ૃિત 3.28 : ન
ુ રાવિતત ૂપ ુ ં િનદશન
આઉટ ટુ
The prime number between 1 to 50 are
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
અ ય ઉદાહરણો:
લઇએ
ચાલો આપેલી સં યાના ફ ટો રયલની ગણતર કરવા માટ એક ઉદાહરણ લઇએ.
128 | C માં િનયં ણ િવધાનો
આઉટ ટુ
Enter an integer number: 5
Factorial of 5 is: 120
વા રચના
label: goto label;
... ...
... ...
goto label; label:
ઉદાહરણ
આઉટ ટુ
0 1 2 3 4 5
130 | C માં િનયં ણ િવધાનો
એકમ સારાંશ
પ રચય
સામા ય ર તે, સી ો ામમાં લખાયેલા િનવેદનો િમક મમાં અમલમાં ૂક છે (અ ુ મ માં
િનવેદનો લખાયા છે ).
કટલાક સી િનવેદનો છે ૂ આપતા નથી; તેના બદલે, તેઓ િનવેદનને
િમક અમલની મં ર
અમલમાં ૂકવા માટ િનયં ણને થાનાંત રત કર છે (અ ુ મમાંના એક િસવાય). તેને
િનયં ણ ું થાનાંતરણ કહ છે .
કોઈપણ C ો ામ લખવા માટ બે િનયં ણ િવધાનો છે : પસંદગી િનવેદનો અને ુ રાવતન
ન
િનવેદનો.
પસંદગી વા ો
તેઓ કાય મ અમલીકરણનો મ ન કરતા હોવાથી તેમને િનણય લેવાના િનવેદનો તર ક
પણ ઓળખવામાં આવે છે .
આ બે કારના છે ઃ જો-અ ય અને ૃ
વચ ટટમે ટ. જો-અ યથા િનવેદનને વ ુ વગ ત
કરવામાં આવે છે જો-અ યથા િનવેદન, જો-બી ુ ં િનવેદન, જો-અ ય-જો િનવેદન, અને જો-
અ યથા િનવેદનને માળો બનાવવામાં આવે છે .
જો-િનવેદન એ સૌથી સરળ િનણય લેવા ું િનવેદન છે અને તે એક જ યાને પસંદ કરવા
અથવા છોડ દવા માટ જવાબદાર છે .
જો-બી ુ ં િનવેદન બેમાંથી એક યાને પસંદ કર છે . યાર શરત સાચી પડ છે યાર તે
િનવેદનોના સ ૂહને અમલમાં ૂક છે ; અ યથા, તે િનવેદનોના બી સેટને અમલમાં ૂક છે .
જો-અ ય િનવેદનની કામગીર શરતી ઓપરટર (?:) િ ટુ ઓપરટર છે તેના વી જ
હોય છે .
જો 'ઇફ'ના શર રમાં એક જ વા અ ત વમાં હોય, તો ક સને ખોલવા ું અને બંધ કરવા ું
ટાળ શકાય છે .
જો-અ ય-જો િનવેદનને જો-અ ય-જો સીડ તર ક ઓળખવામાં આવે છે . જો-બી ુ -ં જો સીડ
હંમેશાં જો શરતથી શ થાય છે જો તે પછ બી ુ રવામાં આવે છે જો
ઘણા લોકો ારા અ સ
શરત અને ડફો ટ અ ય િનવેદન સાથે સમા ત થાય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 131
કસરતો
બ િુ વધ પસંદગી ો
ધારો ક ો ામર ૂપનો ઉપયોગ કર ને કટલીક ૂચનાઓ ચલાવવા માંગે છે , પરં ુ તે ખાતર
કરવા માંગે છે ક આ ૂચનાઓ ઓછામાં ઓછ એક વખત ચલાવવી જોઈએ. તેણે કયા ૂપનો
ઉપયોગ કરવો જોઈએ?
(a) ુ માટ
પ
(b) do- યાર ુ
પ
(c) યાર ુ
પ
(d) આ બ ુ ં
5. વીચમાં અિન છનીય કસને હ ડલ કરવા માટ કયા ક વડનો ઉપયોગ થાય છે ?
(a) કસ
(b) િવરામ
(c) બદલો
(d) ૂળ ૂત
{ {
int var1=3.4; int var = 97;
switch(var1) while ( var<= 104 ) {
{ printf( "%c", var );
case 1: printf(" 1"); if ( var % 5 == 0 )
case 3: printf("%d ",var1++); printf( "\n" );
case 6: printf(" 6"); else
default: printf(" Default"); printf( " " );
} var++;
switch(var1) }
{ return 0;
case 1: printf(" 1"); }
case 3: printf(" 3");
case 6: printf(" 6");
default: printf(" Value"); break;
}
return 0;}
E F
#include<stdio.h> #include <stdio.h>
int main() int main()
{ {
int var = 97; printf("%c ", 65);
for(var =0; var; var++) goto level1;
if(var<3) printf("%c ", 66);
printf("My Rules "); level1:goto level2;
printf("No Rules "); printf("%c ", 67);
return 0; level2:printf("%c ", 68);
} }
G H
#include <stdio.h> #include <stdio.h>
int main() int main()
{ {
int var1=97; int var1 = 1, var = 0;
for(; var1<101; var1++) while(printf("%d ",var1--)&&
{ var<5)
printf("%d", var1); {
for(int var2=var1; var2<=var1; if (var1==0)
var2++) var++;
{ var1++;
printf(": %c, ", var2); }
} printf("%d ", var1+var);
} return 0;
return 0; }
}
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 135
I J
#include<stdio.h> #include<stdio.h>
int main() int main()
{ {
int p; int p = 1, q = -1, r = 0, s;
if(p=3,4,5,6) s = ++p && ++q || r –;
printf("Computer "); if(s)
else printf(“Computer \n”);
printf(" Programming"); else if(r)
printf("%d\n",p); printf(“Programming \n”);
return 0; else
} printf(“Computer Programming
\n”);
return 0;
}
આઉટ ટુ -આધા રત ોના જવાબો
I. Computer 3 J. Programming
(b) યાર આપણે ચો સ િનવેદનોને ઓછામાં ઓછા એક વખત અમલમાં ૂકવાની જ ર હોય
યાર _
(c) માં માટ ુ જો ક ડશન લોક ખાલી હોય તો
પ ૂપ __
(d) ___ િવધાનોને બનશરતી જ પ ટટમે ટ તર ક પણ ઓળખવામાં આવે છે . તેઓ ો ામ ુ ં
િનયં ણ ફં શનની દર ગમે યાંથી ગમે યાં ખસેડ શક છે .
(e) __ ટટમે ટનો ઉપયોગ ૂપમાંથી બહાર નીકળવા માટ અથવા ચો સ િ◌ થિતમાં વીચ
ટટમે ટમાંથી બહાર નીકળવા માટ થાય છે .
જવાબો:
(a) ૂળ ૂત (b) do- યાર (c) અનંત (d) ગોટો (e) િવરામ
ુ સાથે અ ૂણ
3. નીચે આપેલા તેમના આઉટ ટ ુ મેળવવા માટ
ો ા સ છે . ઇ છત આઉટ ટ
યો ય કોડ લખીને ો ા સ ૂણ કરો.
A
1. #include<stdio.h>
2. int main()
3. {
4. for(int var1=0;var1<5;var1++)
5. {
6. printf("I love ");
7. ___________; // Fill in the blanks
8. }
9. printf("Programming");
10. return 0;
11. }
Output: I love Programming
B
1. #include<stdio.h>
2. int main()
3. {
4. switch(2)
5. {
6. case 1:
7. printf("No ");
8. case 2:
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 137
11. case 3:
12. printf("Coding ");
C
1. #include<stdio.h>
2. int main()
3. {
4. for(int var1=0;var1<5;var1++)
5. {
6. for(int var2=______; var2<5; var2++) // Fill in the blanks
7. printf("*");
8. printf("______");
9. }
10. return 0;
11. }
Output:
*****
****
***
**
*
D
1. #include<stdio.h>
2. int main()
3. {
4. int var1=_______; // Fill in the blanks
5. _____{ // Fill in the blanks
6. printf("Repeat ");
7. var1--;
8. }while(var1!=0);
9.
10. return 0;
11. }
Output: Repeat Repeat
138 | C માં િનયં ણ િવધાનો
જવાબો:
A. Line 7: break B. Line 13: prog: C. Line 6: var1 and line 8: \n
D. Line 4: 2 and line 5: do
ે ટકલ
1. ૂણાક સં યા દાખલ કરવા માટ વપરાશકતાને ૂછવા માટ કાય મ લખો અને નીચેની
યાઓ ચલાવો:
(a) એક સં યામાં હાજર હોય તેવા કોની ુ લ સં યા ગણો.
(b) સં યાના ઘટના કોનો સરવાળો ગણો.
(c) સં યાના એક દા કોનો સરવાળો ગણો.
(d) સં યાના બધા કોનો સરવાળો અને સરરાશ ગણો.
2. દાખલ કરલો નંબર ઋણ, હકારા મક ક ૂ ય છે ક કમ તે શોધવા માટ ને ટડ જો-બી ુ નો
ં
ઉપયોગ કર ને ો ામ લખો.
3. થોડા સમય અને ૂપ માટ બે સં યાઓના સીડ (સૌથી મોટા સામા ય ભાજક) શોધવા માટ
એક ુ સં યાઓ 46 અને 9 છે . બે સં યાઓની
ો ામ લખો. દાખલા તર ક, બે ઈન ટ સીડ ૧
છે .
4. આની મદદથી ણ નંબરોમાં મોટામાં મોટાને શોધવા માટ કાય મ લખો:
(a) જો અને તા કક અને (&&) ઓપરટર
(b) ુ રાવિતત જો-બી ુ િનવેદન
ન
(c)
5. નીચેની ભાતો દશાવવા માટ કાય મ લખો. આ ો ામમાં વપરાશકતા હરોળની ટએ
પેટનના કદને દાખલ કરશે, અને તેના આધાર, પેટન સમાયો જત થશે.
* ***** * *********
** **** *** *******
*** *** ***** *****
**** ** ******* ***
***** * ********* *
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 139
1 12345 1 1
12 1234 232 1 1
123 123 34543 1 2 1
1234 12 4567654 1 3 3 1
12345 1 567898765 1 4 6 4 1
1 5 10 10 5 1
વ ુ ણો
ચ નામ વણન
ુ /આઉટ ટ
ઇન ટ ુ સમાંતર જ ુ પગલાંઓને ર ૂ
ુ ચ ુ કોણ ઇન ટુ /આઉટ ટ
કરવા માટ વપરાય છે .
ુ રવા પડશે:
ઉપરો ત ઉદાહરણ માટ, આપણે નીચેના પગલાંને અ સ
1. વપરાશકતામાંથી નંબર લો
2. આપેલો નંબર બેક છે ક િવ ચ છે તે ચકાસવા માટ આપણે તેને ૨ વડ ભાગી ંુ (સી
સી ભાષામાં
ુ સ ઓપરટર રમાઇ ડર શોધવા માટ વપરાય છે ).
મોડ લ
જો આપણને રમાઇ ડર 0 મળશે, તો સં યા બેક હશે; અ યથા, તે િવ ચ હશે.
1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૩ અને કરણ
૪). િપયસન એ કુ શન ઇ ડયા .
ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
એકમ દરક િવષયને સમ વવા માટ QR કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ , આઉટ ટુ -
આધા રત ો, ાયો ગક કવાયતો વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે સંદભ અને
ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .
તકસંગત
4.1 પ રચય
અગાઉના એકમોમાં, અમે સી ો ાિમગમાં િવિવધ આ દમનો અ યાસ કય હતો, માં ડટા કારો
(ઇ ટ, લોટ, ડબલ અને ચાર), ૂચનાઓના કારો અને િનયં ણ િનવેદનોનો સમાવેશ થાય છે .
સમ ુ તકમાં, અમે ડટાને આમાંના એક ડટાના કારમાંના એકના એક ત વ તર ક યાનમાં
લી ુ ં હ .ુ ં તમામ યવહા ુ ઉદાહરણોમાં, અમે ઇન ટ
ુ અને આઉટ ટ
ુ ડટા રાખવા માટ વે રયેબ સ
લઈએ છ એ. જો ક, સો ટવેર/ ો ામ મોટા માણમાં ડટા પર કામ કર શક છે . નીચે ુ ં ઉદાહરણ
યાનમાં લો.
યાર તમે મોટ સં યામાં ત વો પર કામગીર કરવા માંગતા હો, યાર આ વ ુ જ ટલ બની શક છે ,
ધારો ક 1000000. દરક ડટા ત વ માટ ચલોની ઘોષણા અને સંચાલન કર ુ ં ૂબ જ ુ કલ હશે.
જો ક, જો તમે આપેલા ઉદાહરણમાં અવલોકન કરો, તો તમામ 200 ૂ યો એક જ કારના હોય
છે અને સમાન અથશા ધરાવે છે (એટલે ક, તમામ ૂ યો ચ ો ુ ં િતિનિધ વ કર છે ), આમ તેને
એક જ ચલ (ધારો ક ુ ) તર ક ર ૂ કર શકાય છે
ણ 200 ત વો ધરાવી શક છે અને ઍ સેસ
કરવાની કોઈક ર ત ય તગત ુ
ણ ું ૂ ય. યાં જ એક એર ો ાિમગમાં મદદ પ થાય છે . તેથી,
બી ર તે, આપણે 200 િવ ાથ ઓના ુ ને એક જ
ણ ૂણાકમાં સં હત કર શક એ છ એ એર,
વપરાશકતા ારા દાખલ કરવામાં આવેલા તમામ 200 ૂ યોનો સં હ કરવા માટ ૂપ લા ુ કરો,
અને પછ સરરાશની ગણતર કરો.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 145
તમને લાગે છે ક કયો િવક પ વ ુ સારો છે ? બીજો િવક પ, માં સમાન ડટા કારોને એક જ
ચલમાં સં હત કરવાનો અને પછ થી એર અ ુ મ ણકા ારા તેને એ સેસ કરવાનો સમાવેશ થાય
છે , તે વ ુ યવહા ુ છે . (તે
તેની ચચા આપણે નીચેના િવભાગમાં કર )ું .
4.2 એર (array)
એર એ આ ુ ં ૂથ છે ુ ગ
સ ં ત મેમર થાનો ક બધા પાસે છે એજ કાર. અમે એર ું નામ ૂુ
પાડ એ છ એ અને થાન નંબર એરમાં ચો સ થાન અથવા ત વનો સંદભ લેવા માટ એરમાં
િવિશ ટ ત વનો.
data_type array_name[size];
146 | C માં એર અને િવધેયો
double marks[10];
marks[૦] = 40.5;
marks[1] = 72.0;
..
..
marks[10] = 90.5;
અથવા એક આરં ભકતા યાદ એર ત વોને ારં ભ કરવા માટ એર ઘોષણા સાથે વાપર શકાય છે .
દાખલા તર ક
double marks[10]= {40. 5, 72.0, 35.0, 66.5, 10.5, 55.5, 62.0, 87.0, 54.0, 90.5};
Note: If an initializer list is used to initialize the elements of an array then size from
declaration can be omitted. For example, the above declaration and initialization can be
written as:
double Marks[ ] = {40. 5, 72.0, 35.0, 66.5, 10.5, 55.5, 62.0, 87.0, 54.0, 90.5};
In this case, the compiler identifies the size of an array by the size of the initializer list.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 147
Question 4.2What
What would happen if we put less number of values in the initializer list than
the size of an array (case 1)? Similarly, if we give more values in the initializer list than
the size of an array (case 2)?
double Marks[10] = {40. 5, 72.0, 35.0, 66.5, 10.5, 55.5, 62.0}; //Case 1
double Marks[10] = {40. 5, 72.0, 35.0, 66.5, 10.5, 55.5, 62.0, 87.0,
54.0, 90.5, 40.5}; //Case 2
કસ ૨
જવાબ માટ
QR કોડ
કન કરો
એરમાં ઘટકને વાપર ર ા છે . ચોરસ ક સની વ ચેનો અ ુ મ ણકા નંબર એરમાં કોઈ ચો સ
ત વને એ સેસ કરવા માટ થાનને પ ટ કર છે . ઉદાહરણ તર ક, જો તમે '72.0' (બીજો
બીજો ત વ)
વ નો
ઉપયોગ કરવા માંગતા હો, તો તમે િનવેદન લખી શકો છો અ ુ મ ણકા
ુ [1] (અ
ણ ૂ યથી શ થાય
છે તેથી, 72.0 થમ થાને છે ). એ જ ર તે, ણ
ુ [9] 90.5 પરત ફરશે.
Note: In C programming, if you try to access elements outside the size of the array, the
compiler
iler won’t give you an error; instead, you might get a garbage value. Therefore, it is the
responsibility of the programmer to check/use index numbers in Array carefully..
carefully.
ઉપરના ઉદાહરણમાં, રખા માંક 2 એર માપ માટ અચળ યા યાિયત કર છે . લીટ નંબર ૪ એ
બમણા ુ ' ને
કારનાં એર ' ણ હર કર છે . A માટ ૂપ (લાઇન નંબર 5) નો ઉપયોગ એરના
ારં ભકકરણને દશાવવા માટ થાય છે .
Programming Tip. It is a good practice to define array size as a macro constant. Whenever a
programmer wants to change
ange the size of an array, it has to change at only one place, and it will
be reflected throughout the program
2. ારં ભ થયેલ મા હતી સે મે ટ(Initialized data segment): ારં ભક ડટા સેગમે ટ, ડટા
સેગમે ટ તર ક પણ ઓળખાય છે , તે ક ુ રની વ
ટ ુ
અલ મેમર પેસનો એક ભાગ છે , નો
ઉપયોગ સી ો ામ ારા તમામ માટ ારં ભક ૂ યો (વે રયેબલ ડ લેરશનના સમયે
ો ામમાં શ કરવામાં આવેલા) સં હત કરવા માટ થાય છે . બા , વૈિ ક, થર અને અચળ
4. ટક (Stack): ટક સેગમે ટનો ઉપયોગ ગિતશીલ મેમર ફાળવણી માટ થાય છે . તે આ ૃિત
4.5માં દશા યા ુ બ, ઢગલાની િવ ુ
જ દશામાં િવકસે છે અને સંકોચાય છે . ટક સેગમે ટ ડટા
ટોર કરવા માટ ટક ડટા ચરનો ઉપયોગ કર છે , ફ ટ ઇન લા ટ આઉટ ( ફલો) અથવા
લા ટ ઇન ફ ટ આઉટ (LIFO) ુ ધમ ને અ સ
ણ ુ ર છે . ટકમાં ટોચ ુ ં પોઇ ટર હોય છે હંમેશા
તા તરમાં ઉમેરવામાં આવેલા ડટા તરફ િનદશ કર છે ).
ટકની ટોચ તરફ િનદશ કર છે (તા
ટોચના (પોઇ ટરનો) ઉપયોગ ટકના ડટાને ુ ારવા અથવા એ સેસ કરવા માટ થાય છે .
ધ
ટકમાં, ડટાને દાખલ કરવાને ુ ઓપરશન તર ક ઓળખવામાં આવે છે , અને ડટાને કાઢ
શ
ુ અને પોપ) કામગીર
નાખવાને પોપ ઓપરશન તર ક ઓળખવામાં આવે છે . બંને ( શ ટકની
ટોચ પરથી કરવામાં આવે છે . દરક ુ ઓપરશનમાં, ટોચ (પોઇ ટર) 1 નો વધારો થશે, અને
શ
પછ ડટાને ટોચ ારા િનદિશત થાન પર ૂકવામાં આવશે. પોપ યામાં, થમ ડટા ટકની
ટોચ પરથી ૂ ર થશે, પછ ટોચ (પો
પો ટર
ટર) 1 નો ઘટાડો થશે. ટકમાં એક કાર ુ ં ક ટનર હોય છે
152 | C માં એર અને િવધેયો
5. ઢગલો (Heap): તેનો ઉપયોગ રન ટાઇમ દરિમયાન મેમર ની ફાળવણી માટ થાય છે . િવધેયો
malloc(), calloc()અને realloc () હ પ સેગમે ટમાં મેમર ની ફાળવણી કરવા
માટ વપરાય છે . તે ટકની િવ ુ દશામાં વધે છે અને સંકોચાય છે .
વે રયેબલ નામ મેમર માં સં હત ૂ યનો સંદભ આપે છે , અને િનદશક તે મેમર ના સરનામાં
મેમર એ સ
(મે યાં વે રયેબલનો ડટા રાખવામાં આવે છે ) નો સંદભ આપે છે . તેથી આપણે કહ
શક એ ક ચલ સી ું જ સં હત કમત તરફ િનદશ કર છે , અને િનદશક પરો ર તે ચલની કમત
ૂચવે છે . પો ટરનો ઉપયોગ કર ને ચલની કમતનો સંદભ આપો તેને કયા નામે ઓળખવામાં
આવે છે પરો તા. આ ૃિત 4.6માં
માં ચલ અને િનદશક ુ ં િવઝ લ
ુ ાઇઝેશન દશાવવામાં આ ુ ં છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 153
data_type *pointer_name;
આઉટ ટુ
4.4.1 િનદશકમાં કગ ણત યા
મ ક આપણે ણીએ છ એ ક પોઇ ટરનો ઉપયોગ સરનામાંને સં હત કરવા માટ થાય છે ; તેથી
જ પોઇ ટસ પર ૂનતમ કગ ણત યાઓ કર શકાય છે . િનદશકમાં, મા ય કગ ણત
યાઓ છે :
1. પોઇ ટરમાં વધારો અને ઘટાડો: પોઇ ટર ઇ મે ટ અને ડ મે ટ ઓપરટસને ટકો આપે છે .
ઇ મે ટ ઓપરટર 1ને બદલે યો ય ૂ ય (ડટા કાર ુ ં કદ) ઉમેર ને આગામી સરનામાં પર
પોઇ ટર મોકલે છે . તેવી જ ર તે, ડ મે ટ ઓપરટર 1ને બદલે યો ય ૂ ય (ડટા ટાઇપ સાઇઝ)ની
બાદબાક કર ને અગાઉના સરનામાં પર પોઇ ટર મોકલે છે . આ િનદશન આ ૃિત 4.8માં દશા ુ ં છે .
2. િનદશકમાં ૂણાકનો સરવાળો અને બાદબાક : પોઇ ટરમાં ૂણાકનો સરવાળો અને બાદબાક પણ
આ ૃિત 4.8માં દશાવેલી ૃ અથવા ઘટાડાની યાની મ કામ કર છે .
સરનામાંમાં ઉમેરવામાં આવશે, અને િનદશક વતમાનથી ચોથા સરનામાં પર થાનાંત રત થશે.
એજ ર તે, જો આપણે પો ટરમાંથી ૪ બાદ કર એ, તો પો ટર ચોથા સરનામા પર પાછા ફરશે.
156 | C માં એર અને િવધેયો
આઉટ ટુ
Null િનદશક: આ પોઇ ટર પોઇ ટરની ઘોષણા દરિમયાન નલ ( ૂ ય) ૂ ય સ પીને બનાવી શકાય
છે .
દાખલા તર ક int *var ptr3; કોઇપણ સરનામાં અથવા ૂ ય કમતનો ારં ભ કયા વગર
યાસ કર એ છ એ, પરં ુ તે સેગમે ટ ફો ટ આપે છે કારણ ક તે કોઈ મેમર થાન તરફ િનદશ
કર ુ ં નથી.
આઉટ ટુ
char s_nme[size];
char bird[8];
4.5.1 શ દમાળાની શ આત
char bird[]= {‘P’, ‘E’, ‘A’, ‘C’, ‘O’, ‘C’, ‘K’, ‘\0’}; \\ null character is
explicitly mentioned
અ હયા, શ દમાળા ુ ં માપ પંખી ારં ભકની ૂ ચમાં હાજર પા ોના આધાર ક પાઇલર ારા
ઓળખી શકાય છે . આપણે ારં ભ દરિમયાન ૂ ય અ ર '\0' નો પ ટ પણે ઉ લેખ કરવો પડશે.
તેનાથી િવપર ત, યાર શ દમાળાને બેવડા અવતરણ ચ ોમાં શ કરવામાં આવે છે યાર
ક પાઇલર આપમેળે ત ુ ી
ધ ૂ ય અ ર ઉમેર છે .
યાર વપરાશકતા ચાલતા સમયે શ દમાળાનો ારં ભ કર છે , યાર scanf ફં શનનો ઉપયોગ
ુ લેવા માટ થાય છે . વા
વપરાશકતા પાસેથી ઇન ટ રચના નીચે આપેલ છે .
scanf("%s",array_name);
અહ , '%s' બંધારણ પ ટ કરનાર એ શ દમાળાઓ માટ વપરાય છે , અને '&' ની સાથે જોડવામાં
આવ ુ ં નથી array_name મ ક એર ુ ં નામ આધાર સરનામાં ુ ં િતિનિધ વ કર છે . તે ુ ં
ઉદાહરણ નીચે ુ બ છે :
જ
scanf(“%s”, bird);
આપણે સૌ ુ ને યાં
ણીએ છ એ તેમ, scanf() ઇન ટ ુ ી વાંચે છે
ધ યાં ુ ી તે ખાલી
ધ
જ યાઓનો સામનો ન કર. વા ોમાં ઘણી ખાલી જ યાઓ હોય છે . તેથી, બી ુ ં કાય મેળવે છે (), માં
ઉપલ ધ છે stdio.h ઇન ટુ તર ક વા ને વાંચવા માટ લાઇ ેર નો ઉપયોગ થાય છે . તે સફદ
જ યાઓને શ દમાળાના ભાગ પે વત છે . એ જ ર તે, puts () વા દશાવવા માટ વપરાય છે .
4.6 બ પ
ુ રમાણીય એર (Multidimensional
Multidimensional Array)
બ પ
ુ રમાણીય એર એ એક પ રાખવા માટ ઉપયોગમાં લેવાતા એરનો સં હ છે . બ પ
ુ રમાણીય
એર ુ ં સૌથી સરળ વ પ 2-D એર છે . કો ટકમાં કોઈ િવિશ ટ ત વને ઓળખવા માટ આપણે બે
પ રમાણો પ ટ કરવાની જ ર છે . થમ પ રમાણ ત વની હરોળ પ ટ કર છે , અને બી ુ ં ત વના
તંભને ર ૂ કર છે ( ૂળ ૂત ર તે). 2-D એરને હર કરવા માટની વા રચના નીચે બતાવેલ છે :
data_type arr_name[size_1][size_2];
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 161
દાખલા તર ક
int marks[3][4];
િનશાનીઓ એ લોટ કારનો 2-D એર છે . એર પાસે રાખેલા ત વોની સં યાની ગણતર એરના
બધા પ રમાણોને ુ ાકાર કર ને કરવામાં આવે છે . આ િનશાનીઓ એર 12 ત વો ધરાવે છે (3*4).
ણ
માક એરની ર ૂઆત આ ૃિત 4.11માં
માં દશાવી છે .
ુ એરના ઘટકને ઍ સેસ કરવા માટ, આપણે હરોળ નંબરને પ ટ કરવાની જ ર છે અને પછ
ણ
તંભ નંબર આવે છે . દાખલા તર ક marks[2][3]=65, marks[0][1]=15,
marks[1][2]=40
આઉટ ટુ
4.5 બ પ
ુ રમાણીય એર મેમર માં કવી ર તે સં હત થાય છે ?
એરની સારણા મક ર ૂઆત ો ામરની સરળતા માટ છે (આ ૃિત 4.11માં દશા યા ુ બ). જો ક,
જ ક
એર માં સં હત થયેલ છે હરોળ- ુ ય અથવા તંભ- ુ ય મ. માં હરોળ- ુ ય મમાં, ત વો રખીય
ુ બ ગોઠવાયેલા છે ,
ર તે હરોળ- જ યાર માં તંભ- ુ ય
યાર, મમાં, ત વો રખીય ર તે તંભ-વાર
-
ગોઠવાયેલા છે . બંને ર ૂઆતો આ ૃિત 4.13માં
4.13 દશાવી છે :
આ ૃિત 4.13 2-પ રમાણીય એર (િનશાનીઓ) હરોળમાં ર ૂઆત અને તંભ- ુ ય મમાં
164 | C માં એર અને િવધેયો
આપણે, મ ુ યો, ણતાં-અ ણતાં, ઘણી ુદ ુ દ બાબતો માટ ઘણા લોકો પર આધાર રાખીએ
છ એ. ુ શાળ હોવા છતાં, આપણે વનના બધા કાય વતં ર તે ૂણ કર શકતા નથી. દાખલા
તર ક, એક ય ત પોતાની કાર ુ ં સમારકામ કરવા માટ િમકિનકને બોલાવી શક છે , તેની લોન
કાપવા માટ માળ ની િનમ ૂક કર શક છે , અને દર મ હને ખા સામ ી પહ ચાડવા માટ
ક રયાણાની ુ કાન પર આધાર રાખી શક છે . તેવી જ ર તે, ક ુ ર
ટ ો ામ (અગાઉના કરણોમાં
અ યાસ કરવામાં આવેલા સરળ ો ા સ િસવાય) સમાન પ ર થિતનો સામનો કર છે ; તે યેક
કાય તેની પોતાની મેળે ૂ ું ન કર શક. તેના બદલે, તેને કાય ૂણ કરવા માટ ફં શ સ તર ક
ઓળખાતા ો ામ વી સં થાઓની જ ર પડ છે . આ િવભાગમાં ો ાિમગ ભાષામાં કાય ના
ઉપયોગની ચચા કરવામાં આવી છે .
1. કોડ ન કોડ ુ ં
ુ ઃઉપયોગીપ ુ ં (કોડ ુ રાવતન ટાળે છે )
ન
2. કાય મની વાંચન મતામાં વધારો કર છે
3. મોટ જ ટલ સમ યાઓને સરળ સમ યાઓમાં િવભા જત કર છે .
4. ૂલોની શ તા ઘટાડ છે .
કરવી? (૨) ફં શનની હરાત કવી ર તે કરવામાં આવે છે ? (૩) ફં શનને કવી ર તે કહવાય? આપણે
ફં શનની યા યાથી શ આત કર .ુ ં
િવધેયને યા યાિયત કર ર ા છે
યો ય વાંક ડયા ક સનો સામનો કરવામાં આવે છે યાર િનયં ણ થાનાંત રત થાય છે , અથવા તે
નીચેના િનવેદનને અમલમાં ૂક ને ૂણ કર શકાય છે .
return;
return expression;
િવધેય ઘોષણા
return_data_type function_name(argument_list);
ુ તર ક બે
નાનામાં નાના ફં શનની ફં શન ડ લેરશન જણાવે છે ક આ ફં શન ઇન ટ ૂણાક-
ુ તર ક
કારની દલીલો લે છે અને આઉટ ટ ૂણાક ૂ ય આપે છે . આ ૃિત 4.15માં દશાવેલી
દલીલની યાદ માં આપણે ચલ નામો પણ આપી શક એ. એ ન ધ ુ ં જોઈએ ક ફં શનની યા યા
અને ઘોષણાની થમ પં ત સમાન છે . યાર તે બંને અલગ પડ છે યાર સંકલન ૂલ થાય છે .
િવધેય કોલ ગ
ફં શનની ઘોષણા અને યા યા કવી ર તે કરવી તે આપણે પહલેથી જ જો ુ ં છે . કોઈ િવિશ ટ કાય
કરવા માટ આપણે આપણા સી ો ામમાં યા યાિયત ફં શનનો ઉપયોગ કવી ર તે કર શક એ?
તેનો ઉપયોગ કરવા માટ, આપણે ો ામમાં ફં શનને કોલ કરવાની જ ર છે . યાર કોઈ ફં શન
કહવામાં આવે છે યાર ો ામ ુ ં િનયં ણ ફં શનમાં થાનાંત રત થાય છે . તે કાયના શર રમાં
યા યાિયત કાય કર છે . કાય કયા પછ , તે કોલર ફં શનમાં પ રણામો પરત કર છે યાંથી તેને
બોલાવવામાં આ ુ ં છે . વા રચના નીચે ુ બ છે :
જ
func_name(argumnent_lst);
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 169
આઉટ ટુ
34
The smallest number is 23
આઉટ ટુ
1
8
27
64
125
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 171
4.7.4 ફં શન કો લગ
સી ો ાિમગ બે માગ ૂરા પાડ છે : ૂય ારા કોલ કરો અને ફં શન કો લગના સંદભ ારા કોલ
કરો. િવગતોમાં જતા પહલા, આપણે ણ ુ ં આવ યક છે વા તિવક અને ઔપચા રક દલીલો. ફં શન
કો લગ દરિમયાન દલીલો પસાર કરવામાં આવે છે તેને વા તિવક દલીલો તર ક ઓળખવામાં
આવે છે . કો લગ ફં શન આ દલીલોને યા યાિયત કર છે . વા તિવક દલીલોમાં મા હતીનો કાર
પ ટ કરવાની જ ર નથી. દાખલા તર ક
int smallest (int var1, int var2) //var1 and var2 are the formal arguments
{
//body of the smallest function
}
ૂ ય ારા કોલના ક સામાં વા તિવક દલીલો ૂ ય ઔપચા રકમાં નકલ કરવામાં આવે છે . થમ,
વા તિવક દલીલની નકલ કરવામાં આવે છે , અને પછ તે કહવાતા ફં શનમાં ઔપચા રક દલીલોને
પસાર કરવામાં આવે છે . જો ફં શને ઔપચા રક દલીલોમાં કોઇ ફરફાર કય હોય (એકની નકલ
કરવામાં આવી હોય), તો તે વા તિવક દલીલોમાં (કોલર ફં શનમાં હાજર) ફરફારોને િત બ બત
કર ુ ં નથી. તેનો ઉપયોગ યાર થાય છે યાર બોલાવવામાં આવેલ ફં શન કોલર ફં શનના ૂ યને
બદલવાનો ઇરાદો ધરાવ ુ ં ન હોય. આ ુ ં ઉદાહરણ આ ૃિત 4.17માં દશા ુ ં છે .
172 | C માં એર અને િવધેયો
આઉટ ટુ :
આમાં, વા તિવક દલીલો ુ ં સરના ુ ં ઔપચા રક દલીલોને આપવામાં આવે છે . વા તિવક દલીલના
સરનામાંની નકલ કરવામાં આવે છે અને ઔપચા રક દલીલોને પસાર કરવામાં આવે છે . કાય ફ ત
ઔપચા રક દલીલોની મદદથી કાય કર છે કારણ ક વા તિવક અને ઔપચા રક દલીલો બંને સમાન
મેમર થાનો તરફ િનદશ કર છે . તેથી, ફં શન કોલ દરિમયાન કરવામાં આવેલા કોઈપણ ફરફારો
કહવાતા ફં શનની વા તિવક દલીલોમાં િત બ બત થશે. કોલ-બાય-રફર
રફર સ પ િત વા તિવક
દલીલો ( ૂળ ની હરાફર કર શક છે . આ ુ ં ઉદાહરણ આ ૃિત 4.18માં દશા
ૂ ય)ની ુ ં છે .
આઉટ ટુ :
કાય ંુ બી ુ ં ઉદાહરણ
અ હયા, આપણે એક િવધેય બનાવીને કાટકોણ િ કોણના કણની લંબાઇની ગણતર કરવા ુ ં એક
ઉદાહરણ જોઇ ુ ં hypotenuse_cal િ કોણની બે બા ુ ઓને ઇન ટ
ુ તર ક લે છે અને આઉટ ટ
ુ
તર ક કણની લંબાઇ પાછ આપે છે . બે દલીલો (બે બા ુ ઓ) અને કણની લંબાઈ બેવડા કારની
હોવી જોઈએ. આ ો ામ ણ કાટકોણ િ કોણોની ગણતર કર છે . આ કાય મ આ ૃિત 4.19માં
દશા યો છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 175
આઉટ ટુ :
આ ૃિત 4.20માં
માં એક ઉદાહરણ દશા ુ ં છે ક િવધેયને હર કયા િવના જ તેની યા યા આપી
શકાય છે .
બો પ હશે. એક અલગ અ ભગમ એરને યા યાિયત કરવા અને તેને ફં શનમાંથી પસાર
કરવાનો છે . એર પસાર કરવાથી જ ટલતા ુ ં િનરાકરણ આવે છે ; હવે, ફં શનનો ઉપયોગ કોઈપણ
સં યાના વે રયેબ સ માટ થઈ શક છે .
function_name(array_name);
cal_average(arr);
દાખલા તર ક
દાખલા તર ક
દાખલા તર ક
આઉટ ટુ
ઉપરના ઉદાહરણમાં (આ ૃિત ૪.૨૨), var1 અને var2 અ ુ મે લાઇન 4 અને 5માં ઓટો
વે રયેબ સ તર ક યા યાિયત કરવામાં આવે છે . લીટ 4 માં, var1 ઓટો ક વડનો ઉપયોગ કર ને
યા યાિયત કરવામાં આવે છે , અને લાઇન 5 માં, var2 ૂળ ૂત ર તે ઓટો વે રયેબલ તર ક
યા યાિયત કરો. આપણે ણીએ છ એ તેમ, ઓટો વે રયેબ સની ૃ યતા લોકની દર હોય છે ,
તેથી તે બહાર એ સેસ કર શકાતી નથી functionTo_auto કાય.
આઉટ ટુ
ઉપરો ત ઉદાહરણમાં (આ ૃિત 4.23), var1 અને var2 બા ચલો છે ો ામના અમલ
દરિમયાન ગમે યાંથી ુ ભ છે . આ ચલોને અ ુ મે લાઇન 2 અને 7માં
લ માં હર કરવામાં આ યા છે .
આઉટ ટુ
static વે રયેબલ ડટા સેગમે ટ મેમર માં સં હત થાય છે અને ૂળ ૂત ર તે, 0 ારા ારંભ
કરવામાં આવે છે .
ઉપરો ત ઉદાહરણમાં (આ ૃિત 4.24), countFunc િવધેય varcount ચલને થર (લાઇન 12માં)
હર કરવામાં આવે છે . અહ આપણે નામ આ ુ ં હ ુ ં countFunc અ ુ મે લીટ 4 અને 5માં
માં કાય
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 183
આઉટ ટુ
એકમ સારાંશ
પ રચય
C માં એર એ મા હતી સંરચનાનો એક કાર છે ક સમાન મા હતી કારનાં ઘટકોને પકડ રાખે
છે
એર: એર એ સ ં ત મેમર થાનો ું ૂથ છે ક
ુ ગ બધા પાસે સરખા કારનાં છે .
o એરમાં ઘટકને વાપર ર ા છે . એરમાં એક િવિશ ટ ત વ ચોરસ ક સની વ ચે
અ ુ મ ણકા નંબરનો ઉપયોગ કર ને એ સેસ કર શકાય છે .
o સમય એર આરં ભીકરણને ચલાવો, રનટાઇમની શ આતનો ઉપયોગ કર ને
વપરાશકતા ો ામના િવિવધ રન દર યાન કમતો દાખલ કર શક છે .
C માં મેમર સં થા
િનદશકો
અ રોના એર તર ક શ દમાળા
બ પ
ુ રમાણીય એર
િવધેયો
સં હ વગ
કસરતો
બ િુ વધ પસંદગી ો
ઉ ર
1. A 2. A 3. બી 4. એ 5. b
આઉટ ટુ -આધા રત ો
નીચેના કાય મો ુ ં આઉટ ટુ કટ ું હશે? (ધારો ક stdio.h લાઇ ેર દરક ો ામમાં સમાિવ ટ છે )
આઉટ ટુ :
A. 6, 65 B. 11 11 11 C. Cmue Pormig D. 4,4 E. var1=5, var2=5,var3=2 F. 7
G. Compilation Error H. 10
. ૧. ખાલી જ યા ભરો.
1. યાર ણ સબ ટનો ઉપયોગ કર ને એરને હર કરવામાં આવે છે યાર તેને __ એર
તર ક ઓળખવામાં આવે છે .
190 | C માં એર અને િવધેયો
ઉ ર
ઉ ર
a) printf("છ ો ઘટક એ %c", c[5]) છે ;
b) int g[5] ={1,1,1,1,1}; અથવા int g[ ] = {1,1,1,1,1};
c) માટ (int i=0; i<5;i++) { g[i] = g[i] +2; }
Q3. નીચે આપેલી કામગીર કરવા માટ એક િનવેદન લખોઃ (વે રયેબ સ var1 અને Var2 લોટ
કારના હોય છે અને var1ની શ આત 12.6 થાય છે .
a) લોટ કારના પો ટર fp ની ઘોષણા કરવી.
b) એફપીને var1 ુ ં સરના ુ ં સ પ .ુ ં
c) પોઇ ટર એફપી ારા િનદિશત ૂ યને છાપ .ુ ં
d) વીએઆર2 ુ ં સરના ુ ં એફપી પોઇ ટરને સ પ .ુ ં
e) પોઇ ટર એફપી ારા િનદિશત ૂ યને છાપ .ુ ં
f) પો ટર ચલમાં સં હ થયેલ સરના ુ ં છાપી ર ા છે .
ઉ ર
a) float *fp; b) fp =&var1
c) printf(“The value pointed by the Pointer fp is %f”, *fp );
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 191
વ ુ ણો
strcpy(str1,str2)
તે શ દમાળાની નકલ કર છે str2 શ દમાળામાં str1 અને
તેમાં પ રણામી શ દમાળા પાછ આપે છે str1.
strcat(str1,str2)
તે શ દમાળાને સંયો જત કર છે str1 શ દમાળા િત str2
અને પ રણામને શ દમાળામાં સં હત કર છે str1. ુ ં માપ
str1 પ રણામી શ દમાળાનો સં હ કરવા માટ ૂર ુ ં મો ુ ં હો ુ ં
જોઈએ; અ યથા, તે િવભાજન દોષમાં પ રણમશે.
strlen(str1)
તે શ દમાળાની લંબાઇની ગણતર કર છે str1. લંબાઇની
ગણતર કરતી વખતે આ િવધેયમાં ૂ ય અ ર '\0' નો સમાવેશ
થતો નથી.
strcmp(str1,str2)
તે બે તારની ુલના કર છે . આ િવધેય પા આપે છે
ની ુ નામાં ઓછ એ.એસ.સી.આઈ.આઈ.
લ એ ૂ ય ધરાવે છે str2.
strrev(str1)
તે શ દમાળાને ઉલટાવે છે str1.
strlwr(str1)
તે શ દમાળાને બદલે છે str1 લોઅર કસ માટ.
strupr(str1)
તે શ દમાળાને બદલે છે str1 ઉપલા ક સામાં.
1.ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૫, ૬ અને ૭).
િપયસન એ ુ શન ઇ ડયા .
ક
5
d
ુ રાવિતત ઉકલો
ન
ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
એકમ દરક િવષયને સમ વવા માટ QR કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ , આઉટ ટુ -
આધા રત ો, ાયો ગક કવાયતો વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે સંદભ અને
ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .
તકસંગત
ુ રાવતનના
ન કાર, ય ુ રાવતન અને પરો
ન ુ રાવતનના
ન કારની ચચા કર .ું આપણે
ઉદાહરણો સાથે િવિવધ કારના ય અને પરો ુ રાવતનની પણ ચચા કર એ છ એ.
ન
યારબાદ, અમે િનદશના મક સી ો ા સ સાથે ુ રાવતનના સંભિવત ઉકલોની ચચા કર એ
ન
છ એ. આ એકમમાં ુ રાવતનનો મા
ન ૂ ો પ રચય જ નથી, પરં ુ િવિવધ
ંક કારની સમ યાઓમાં
ુ રાવતનના અસરકારક ઉપયોગની દશા પણ
ન ૂર પાડ છે . આપેલા ઉદાહરણો વા તિવક-િવ ની
િવિવધ ગણતર સમ યાઓના ઉકલની તર ૃ ટ આપે છે . સારાંશમાં, આ એકમ જ ટલ
સમ યાઓને અસરકારક ર તે ઉકલવા માટ એક નવો અ ભગમ ર ૂ કર છે .
ૂવ-આવ યકતાઓ
એકમ પ રણામો
5.1 પ રચય
ઉદાહરણ.માની લો ક તમે સવાર એક ક ટ ડમાં ઓ ફસ જઈને કારની ચાવી શોધવા માટ તૈયાર
છો, પરં ુ તમને તે મળતી નથી. તે જ સમયે, તમા ંુ બાળક બહાર આવે છે અને કહ છે ક મ
કારની ચાવી એક બો સમાં પાવી દ ધી છે . તમને મો ુ ં થઈ ર ું છે અને તમને કારની ચાવી
જોઈએ છે .
તમે તરત જ બો સ ખોલો છો, પરં ુ તમને બો સની દર વ ુ એક બો સ મળે છે . બાળક કહ
છે , બો સમાં એક બો સ છે , અને તે ણતો નથી ક કયા બો સમાં ચાવી છે . તેથી હવે તમાર ક
શોધવા માટ એક ઉ મ અ ગો રધમનો િવકાસ કરવો પડશે.
ુ રાવિતત અને
ઉપરો ત સમ યા માટ અ ગો રધમ બનાવવાની બે ર તો છે : ન ુ રાવિતત.
ન
ચાલો આપણે લો ચાટનો ઉપયોગ કર ને બંને ર તો જોઈએ.
થમ અ ભગમ (આ ૃિત 5.1 (a)) સમ યાના ઉકલ માટ થોડા ૂપનો ઉપયોગ કર છે . અહ ૂપ
દરક ુ રા ૃિ માં બો સને ચકાસે છે ; જો તેની પાસે બી ુ ં બો સ હોય તો;
ન તો તે અક કાઢ છે અને તેને
ૂ ચમાં ઉમેર છે . યાર ૂપની કામગીર ની ચચા િવભાગ ૩.૪.૧ માં પહલેથી જ કરવામાં આવી છે .
બીજો અ ભગમ (આ ૃિત 5.1 (b)) ુ રાવિતત િવધેયનો ઉપયોગ કર છે , યાં તે બો સ ખોલે છે ,
ન
અને જો તેની પાસે બી ુ ં બો સ હોય, તો તે તેને ફર થી ખોલે છે . આ યા યાં ુ ી ચા ુ રહશે
ધ
યાં ુ ી ક શોખીન ન હોય.
ધ
આ ૃિત 5.3 : ન
ુ રાવિતત કામગીર ુ ં િનદશન
આઉટ ટુ
Enter a number to calculate factorial: 3
Factorial of 3 = 6
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 199
આ ૃિત 5.4 : ન
ુ રાવિતત કાયની તબ ાવાર કામગીર
ુ રાવતન (Recursion) ના
5.2 ન કારો
ુ રાવતનને બે
ન કારમાં િવભા જત કરવામાં આવે છે : ય ુ રાવતન અને પરો
ન
ુ રાવતન.
ન
ં ૂ ડ ના
છ ુ રાવતનમાં,
ન ુ રાવિતત કોલ
ન ટટમે ટ છે લે લખવામાં આવે છે . ં ૂ ડ ના
છ
ુ રાવતનમાં
ન ુ રાવિતત કોલ પછ અમલમાં
ન આ ૃિત
ૂકવા માટ ક ુ ં જ બાક રહ ુ ં નથી (આ
5.5માં દશા ુ ં છે ).
આ ૃિત 5.5 : છ
ં ૂ ડ ના ુ રાવતન ુ ં િનદ
ન િનદશન
આઉટ ટુ
3 2 1
B. માથા ંુ ુ રાવતન (Head Recursion)
ન
માથાના ુ રાવતનમાં
ન ુ રાવતન કોલ
ન ટટમે ટને થમ િવધાન તર ક લખવામાં આવે છે
(આ ૃિત 5.6માં દશા ુ ં છે ).
આઉટ ટુ
1 2 3
C. રખીય અને ૃ ંુ ુ રાવતન (Linear and tree recursion)
ન
રખા ૭ અને ૮ બ ન
ે ે ુ રાવિતત ર તે કાય કહવામાં આવે છે . (આ ૃિત ૫.૭માં દશાવેલ છે )
ન
આઉટ ટુ
3 2 1 1 2 1 1
ુ રાવિતત
D. ન ુ રાવિતત (Nested Recursion)
ન
યાર ુ રાવિતત િવધેય પ રમાણને પસાર કર છે
ન યાર ુ રાવિતત કોલને
ન ુ રાવિતત
ન
ુ રાવતન તર ક ઓળખવામાં આવે છે .
ન
ુ રાવિતત અને
202| ન ુ રાવિતત ઉકલો
ન
આ ૃિત 5.8 : ન
ુ રાવિતત ુ રાવતન ુ ં િનદશન
ન
આઉટ ટુ
Result= 85
આઉટ ટુ
10 8 6 4 2
5.3.1 ફ ટો રયલ
ફ ટો રયલ એ એક ૂળ ૂત સમ યા છે ુ રાવતન
ન ારા હલ થાય છે . તેમાં, આપણે
ુ રાવિતત િવધેય બનાવીએ છ એ ક
ન બે સં યાઓના ુ ાકારની ગણતર કર છે . અહ ,
ણ થમ
ઓપર ડ એ ા ત કરલ નંબર હશે, અને બી ુ ં ઓપર ડ ુ રાવિતત ર તે ઓળખાતા ફં શન
ન
(નંબર -1 ારા બોલાવવામાં આવતા ુ રાવિતત ફં શન)
ન શન ારા પરત કરવામાં આવશે.
ુ રાવિતત અને
204| ન ુ રાવિતત ઉકલો
ન
ડુ ોકોડ ( ન
ુ રાવિતત): (Pseudocode
Pseudocode (recursive)
ડુ ોકોડ ( ન
ુ રાવિતત):
આ ૃિત 5.12માં
માં સી ો ાિમગ લ વેજનો ઉપયોગ કર ને ટાવર ઓફ હનોઇ ુ ં િનદશન દશાવવામાં
આ ુ ં છે . તેમાં, આપણે જોઈ શક એ છ એ ક રખા 7 ુ રાવિતત ર તે િવધેયને બોલાવે છે
ન
tower_Hanoi, એક પેગથી બી પેગમાં ડ કની હલચાલ કહ છે .
આઉટ ટુ
સંગી શોધ ૃ એ સોટ કરલા એરમાં ત વ શોધવા માટ એક અ ગો રધમ છે . આ તકનીકમાં, શોધ
ત વ એરના મ ય ત વ સાથે મેળ ખાય છે . જો તે મ યમ ત વ કરતા વધાર હોય, તો મ યની ડાબી
બા ુ ના ત વોની શ તા ૂ ય હશે, અને યાર પછ ની શોધ મ ય +1 અને છે લા ત વ વ ચે
કરવામાં આવશે. જો ત વ મ ય કરતા ઓ ં હોય,
હોય તો થમ અને મ ય-1 ત વો વ ચે નીચેની શોધ
હોય, તો ત વ મ યમ ત વને સમાન હશે, અને શોધ સમા ત
કરવામાં આવશે. જો બંને શરતો ખોટ હોય
ુ રાવિતત તકનીકનો ઉપયોગ કરવામાં આવે છે .
થઈ જશે. એરને મ યથી િવભા જત કરવા માટ, ન
તેથી, આપણે કહ શક એ ક સંગી શોધ તકનીક એ શોધ માટનો ુ રાવિતત આધાર ઉકલ છે .
ન
ઉદાહરણ તર ક, ધારો ક આપણી પાસે 7 ત વો ધરાવ ુ ં એક વગ ૃત એર છે અને આપણે 13
શોધવા માંગીએ છ એ. સંગી શોધનો ઉપયોગ કર ને શોધ
શો 13ની ા ફકલ ર ૂઆત આ ૃિત 5.13માં
દશાવી છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 207
એકમ સારાંશ
પ રચય
● યાર કોઈ ફં શન પોતાની તને ( ય ક પરો ર તે) કહ છે , યાર તેને સી ો ાિમગ લ વેજમાં
ુ રાવતન તર ક ઓળખવામાં આવે છે .
ન
● ુ રાવતન એ એક તકનીક છે
ન જ ટલ સમ યાઓને નાના પેટા સમ યાઓમાં તોડ નાખે છે .
ુ રાવતનના
ન કારો
● ુ રાવતનના બે
ન કાર છે , ય ુ રાવતન અને પરો
ન ુ રાવતન.
ન
● સી ંુ ુ રાવતન,
ન યાર કોઈ કાય પોતાની તને સીધેસી ુ ં બોલાવે છે યાર તેને ય
ુ રાવતન તર ક ઓળખવામાં આવે છે . તે વ મ
ન ુ ાં ચાર કારમાં વહચાયે ું છે : છ
ંૂ ડ ું
ુ રાવતન, માથા ુ ં ન
ન ુ રાવતન, રખીય અને ૃ ું ન
ુ રાવતન અને ને ટડ ુ રાવતન.
ન
o છ
ં ૂ ડ ના ુ રાવતનમાં, ન
ન ુ રાવિતત કોલ ટટમે ટ લખવામાં આવે છે આખર.
o માથાના ુ રાવતનમાં, ન
ન ુ રાવતનv કોલ ટટમે ટ થમ િનવેદન તર ક લખવામાં આવે છે .
o જો ુ રાવિતત િવધેય પોતાની
ન તને મા એક જ વાર બોલાવે છે , તો તેને રખીય ુ રાવતન
ન
કહ છે , અને જો તે એક કરતા વ ુ વખત ચલાવે છે , તો તેને ૃ ુ રાવતન તર ક ઓળખવામાં
ન
આવે છે .
o ુ રાવિતત
ન ુ રાવતનમાં,
ન ુ રાવિતત િવધેય
ન ુ રાવિતત કોલ તર ક પ રમાણને પસાર કર
ન
છે .
● માં પરો ુ રાવતન,એક કરતાં વ ુ કાય વ ળાકાર
ન ુ એકબી ને બોલાવે છે .
ુ રાવિતત ઉકલો
ન
કસરતો
બ િુ વધ પસંદગી ો
1. ુ રાવિતત કોલની મા હતી સં હત કરવા માટ, કયા ડટા માળખાનો ઉપયોગ કરવામાં આવે
ન
છે ?
(a) કતાર
(b) ટક
(c) એર
(d) આમાંથી કંઈ જ ન હ
2. પાયાની થિત િવના ુ ં ુ રાવિતત કાય __ બની
ન ય છે .
(a) સામા ય િવધેય
(b) અનંત ુ
પ
(c) મયા દત ુ
પ
(d) આમાંથી કંઈ જ ન હ
5. ુ રાવતનના સંદભમાં ક ુ ં સા ુ ં છે ?
ન
(a) ુ રાવતન સો
ન ુ ન
શ દાન કરવાની સરળ ર ત દાન કર છે
(b) ટક ડટા ચર ુ રાવિતત િવધેયને કોલ કરવા માટ વપરાય છે
ન
(c) ુ રાવતનને
ન ુ રાવિતત િવધેય કરતા વ ુ મેમર ની જ ર પડ છે
ન
(d) આ બ ુ ં
આઉટ ટુ -આધા રત ો
} }
C D
#include<stdio.h> #include<stdio.h>
int main() int recFun(int);
{ int main()
int var; {
var=recFun(10); int var=9;
printf(“%d”,var); printf(“%d”,recFun(var));
} }
int recFun(int var) int recFun(int var)
{ {
if(var>0) if(var>0)
{ return(var+recFun(var-
printf(“HI”); 2));
recFun(var--); else
} return 0;
else }
return 0;
}
E F
#include<stdio.h> #include<stdio.h>
void funRec(int var) int recFun(int var1, int var2)
{ {
if (var > 0) if(var1==0)
{ return 0;
funRec(var – 2); else
printf(“%d “,var); return recFun(var1/2, 2*var2)-
funRec(var – 2); var2;
} }
} int main()
int main() {
{ printf(“%d”,recFun(1,2));
funRec(4); return 0;
return 0; }
}
જવાબો:
(a) ુ રાવતન
ન (બ) છે ુ (c) પરો (ડ) ુ રાવિતત
ન (e) ૃ
ે ટકલ
1. ૂણાક સં યા દાખલ કરવા માટ વપરાશકતાને ૂછવા માટ કાય મ લખો અને ુ રાવતનની
ન
મદદથી નીચેની યાઓને ચલાવો:
(a) એક સં યામાં હાજર હોય તેવા કોની ુ લ સં યા ગણો.
(b) સં યાના બેક કોનો સરવાળો ગણો.
(c) નો સરવાળો ગણો ધ સં યાના એક -એક કડા.
(d) સં યાના બધા કોનો સરવાળો અને સરરાશ ગણો.
2. ુ રાવતનનો ઉપયોગ કર ને ફબોનાક
ન ણ
ે ી છાપવા માટ એક કાય મ લખો યાં છાપવાની
શરતોની સં યા વપરાશકતા ારા દાખલ કરવામાં આવશે.
3. ુ રાવતનનો ઉપયોગ કર ને, દાખલ કરલો નંબર પે લ ોમ છે ક નહ તે ચકાસવા માટ એક
ન
ો ામ લખો. (સંકત:23432 એક પે લ ોમ છે યાર 23231નથી)
4. C કાય મ બનાવો ક દશાંશ સં યાને બાઇનર માં પાંત રત કરવા માટ ુ રાવતન વાપર
ન
છે .
5. માપનાં એરને બનાવો n; નાં બધાં શ સંયોજનો શોધો m એરમાં ત વો અને તેમને છાપો.
ુ રાવિતત અને
214| ન ુ રાવિતત ઉકલો
ન
વ ુ ણો
અથવા
int main(int argcount, char ** argvalue)
{
/* કોડ... */
}
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 215
અહ argcount એ પસાર થયેલ દલીલોની ગણતર ને સં હવા માટ વપરાય છે , માં કાય મ ુ ં
નામ પણ સામેલ છે , અને argvalue આપેલ (પાસ) ડટાને સં હત કરવા માટ વપરાય છે . જો
આની કમત argcount 0 કરતા વધાર છે , પછ એર argvalue (માંથી argvalue[0] િત
માં
argvalue[argcount-1])માં ગ ુ ં પોઇ ટર હોય છે . એરનો થમ લોક કાય મ ુ ં નામ
સમાવે છે (argvalue[0]), અને અ ય લો સ માંથી argvalue[1] િત
argvalue[argcount-1] દાખલ થયેલ દલીલોની યાદ ને સમાવો.
સમાવો નીચેનો કોડ લન સ મશીન
પર ચલાવો.
આઉટ ટુ
The value of argcount is: 5
ુ રાવિતત અને
216| ન ુ રાવિતત ઉકલો
ન
1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૫). િપયસન
એ ુ શન ઇ ડયા .
ક
પ રિશ ટો
પ રિશ ટ-A
floor math.h Find out the largest integer number but less than the given
float number.
qsort stdlib.h ઝડપી સોટ કરો અલગો રધમની મદદથી આપેલ મા હતીને
મમાં કરો
strcpy string.h Copies the source string into the destination string
strchr string.h Finds the first occurrence of the given character in a string
strcmpi string.h Compares two given strings without care for the letter case.
strdup string.h Creates a new string, which is the duplicate of the given string
strlen string.h Finds the length (number of the characters) of the given string
strncpy string.h Copies up to n characters from the source string to the destination
strstr string.h Returns a pointer to the starting of the first occurrence of the second
string within the first string
fopen stdio.h Used to open or create a file with specific attributes like
‘a’, ‘w’, and ‘r’
fputs stdio.h Used to put lines of characters into the specific file
fseek stdio.h Used to shift file pointer location to the specific place
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 221
પ રિશ ટ-B
લાઇ ેર ઓ બનાવી ર ા છ એ
હવે લાઇ ેર વાપરવા માટ તૈયાર છે . આપણે દર યા યાિયત કરલા તમામ કાય નો ઉપયોગ કર
શક એ છ એ my_functions.lib ો ામમાં તેનો સમાવેશ કર ને લાઇ ેર . વપરાશકતા-
યા યાિયત લાઇ ેર નો સમાવેશ કરવા અને તેમના કાય નો ઉપયોગ કરવા માટના પગલાં
ુ બ છે .
નીચે જ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 222
a) એ સટ સન c કહો સાથે નવી ફાઇલને બનાવો fileName.c અને નીચેનો કોડ લખો.
#include "my_functions.h"
main( )
{
double resAdd, resMulti;
પ રિશ ટ-C
3. ડટલ, પી. ., એ ડ ડટલ, એચ.એમ. (2016). સી: ો ામ કવી ર તે કરવો; C++ની તાવના
સાથે. િપયસન.
4. આર. એસ. સલા રયા, ો ાિમગ ફોર ો લેમ સો વગ (ઓલ ઇ ડયા). ખ ા પ લિશગ
6. રચી, ડિનસ એમ., અને કિનગહાન, ાયનડ .ુ . The C ો ાિમગ. ભાષા ભારત,
ે ટસ હોલ, ૧૯૮૮.
8. યશવંત પી.કાનેટકર. ચાલો આપણે સી, આઠમી આ ૃિ (8મી આ ૃિ .). જો સ અને બાટલેટ
ુ સએ, 2008
પ લશસ, ઇ ક., એ
9. ગોટ ાઇડ, બાયરન એસ.. શો સ આઉટલાઇન ઓફ ો ાિમગ િવથ સી. ુ ાઇટડ કગડમ,
ન
CO અને PO ા ત કો ટક
આ કોસ માટ કોસ પ રણામો (સીઓ) કોસ ૂણ થયા પછ ો ામ પ રણામો (પીઓ) સાથે મેપ કર
શકાય છે અને આ ગેપ ુ ં િવ લેષણ કરવા માટ પીઓની ા ત માટ સહસંબધ
ં બનાવી શકાય છે .
પી.ઓ.ની ા તમાં તરના યો ય િવ લેષણ પછ , તરને ૂ ર કરવા માટ જ ર પગલાં લઈ શકાય
છે .
CO અને PO ા ત માટ ુ ં કો ટક
INDEX
A ુ ઃઉપયોગીતા 165
કોડ ન F
ઉમેરો 44 તંભ- ુ ય 163 ફ ટો રયલ 198, 203
L realloc () 117
O
ુ રાવતન 196
ન
LIFO 151
C માં ઓપરટસ ચોપડો (Register) 183
રખીય 163,201
અથવા ઓપરટર 42 રલેશનલ ઓપરટર 48
લોડર 16
બા ુ
પ 127 યાદ અપાવનાર 46
લૉ જકલ NOT 43
ુ રાવતન 196
ન
લૉ જકલ ઓપરટર 50
P ૂ ત 145
એર માં ર આ
M data_type પાછા ફરો 166
એરને પસાર કર ર ા છે 176
હરોળ- ુ ય 163
િનદશકો 152
મશીન ભાષા 10
malloc() 152 પછ ના-ઘટાડા 572
S
MATLAB 12 ૃ પછ ની 57 scanf 66, 28, 29
મેમર 7 પસંદગી િનવેદન 107
અ મતા 64
મેમર ફાળવણી 148 Semantic 13
ચોકસાઈ 73
મેમર સં થા 148 િવભાજકો 21
ૂવ-ઘટાડો 57
ુ ો ઓપરટર 44
મોડ લ ં ૂ ુ int (સહ થયેલ) 24
ૂવ- યા યાિયત િવધેય 27
બ ુપ રમાણીય એર 160 એકજ-લીટ ની ટ પણીઓ 19
ૂવ- યા યાિયત વા રચના 27
બ ુિવધ-લીટ ટ પણીઓ 19 ટક 151
ી ોસેસર 16
ટ ટ સ સેમે ટક 13
ાથિમક સમીકરણ 42
N ટ ટક 182
printf 66
નામકરણ િનયમો 26 stdio.h 16, 160
અ રો છાપી ર ા છે 66
ા ૃિતક ભાષા 12 સં હ વગ 179
શ દમાળાઓ છાપી ર ા છ એ 66
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 228
એર તર ક શ દમાળા 157 ુ લ
િવઝ અ ુ ડયો 14
સરવાળા ું માણ 44
W
બદલો(switch) 108
યાર ૂપ 112
વા રચના 13
જગલી
ં િનદશક 157
T
ંૂ
છડ ું ન
ુ રાવતન 200
ટિમનલName 129
િ ટુ ઓપરટર 60
લખાણ સે મે ટ 150
ૃ ુ રાવતન 201
ન
Turbo C 17
અનર ઓપરટર 55
અનર વ ા 57
હ તા ર ન થયેલ અ ર 24
હ તા ર ન થયેલ int 24