0% found this document useful (0 votes)
144 views256 pages

Computer Programming Theory and Practicals (Comp

Diploma study

Uploaded by

dkdoffice24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views256 pages

Computer Programming Theory and Practicals (Comp

Diploma study

Uploaded by

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

કમ્પ્ યૂટર પ્રોગ્રામિંગ: મિયરી અને પ્ેક્ટકલ્સ

લેખક
ડરો. ્સતયેન્દ્રમ્સંહ ચૌહરાણ
સહાયક પ્રોફેસર, ડિપાર્ટમેનર ઓફ કમ્પ્યુરર સાયનસ એનિ એનનજિનિયડરંગ,
માલનિયા િેશિલ ઇનન્રર્ યૂર ઓફ રેકિરોલરોજી,
જિયપયુર-302017, રાજિ્્ાિ

ુ રાદક
અનવ
ડરો. કરોટક પરે શ પ્મવણચંદ્ર
પ્રોફેસર, એનિ આચાય્ટ, કમ્પ્યુરર એનનજિનિયડરંગ નિભાગ,
િૉ એસ એનિ એસ એસ ગાંધી કરોલેજિ,
માજયુરા ગેર પાસે, સયુરત, ગયુજિરાત 3950001

ભરાષરા ્સિીક્ષક
પ્રો. જીજ્રા પટેલ
આનસ્રનર પ્રોફેસર, કરોમ્પ્યુરર સાયનસ એનિ એનજીનિયરીંગ નિભાગ,
ઈન્રટીર્યુર ઓફ રે કિરોલરોજી, નિરમા ્યુનિિનસસિરટી,
એસજી હાઇિે, અમદાિાદ – 382481, ગયુજિરાત, ભારત.

All India Council for Technical Education


Nelson Mandela Marg, Vasant Kunj,
New Delhi, 110070
BOOK AUTHOR DETAILS
Dr. Satyendra Singh Chouhan, Assistant Professor, Department of Computer Science and Engineering, Malaviya
National Institute of Technology Jaipur-302017, Rajasthan.
Email ID: [email protected]

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]

LANGUAGE REVIEWER DETAILS


Prof. Jigna Patel, Assistant Professor, Computer Science and Engineering Department, Institute of Technology
Nirma University, S G Highway, Ahmedabad – 382481, Gujarat, India.
Email ID: [email protected]

BOOK COORDINATOR (S) – Gujarati Version


1. Dr. Sunil Luthra, Director, Training and Learning Bureau, All India Council for Technical Education (AICTE),
New Delhi, India. Email ID: [email protected]
2. Reena Sharma, Hindi Officer, Training and Learning Bureau,All India Council for Technical Education (AICTE),
New Delhi, India. Email ID: [email protected]
3. Dr. Neela Multani, Assistant Professor, Graduate School of Management Studies, Gujarat Technological
University, Ahmedabad. Email ID: [email protected]

July, 2024

© All India Council for Technical Education (AICTE)

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.

Attribution-Non Commercial-Share Alike 4.0 International (CC BY-NC-SA 4.0)

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)
એકનોલેજમે ટ

લેખકો AICTE ના સ ાધીશોના આભાર છે , ખાસ કર ને ો. ટ . . સીતારામ, અ ય ;

ડૉ. અભય ર, વાઇસ-ચેરમેન; ો. રા વ ુ માર, સ ય-સ ચવ અને ડૉ. િુ નલ થ


ુ રા, િનયામક,

તાલીમ અને લિનગ રુ ો, કો ટુ ર ો ાિમગ: િથયર અને ે ટકલ પર ુ તકો કાિશત

કરવાના તેમના આયોજન બદલ. ુ તકના સમી ક ો (ડૉ.) ુ મ


ુ દ પ, ોફસર (એચએ ),

ગ ણત િવભાગ, ઇ ડયન ઇ ટટ ૂટ ઑફ ટ નોલો રક ના ૂ યવાન યોગદાનને િવ ાથ ઓ માટ

મૈ ી ૂણ બનાવવા અને કલા મક ર તે વ ુ સારો આકાર આપવા માટ અમે િન ઠા ૂવક વીકાર એ

છ એ.

ુ ં એમ. એન. આઈ. ટ . જય રુ ના મારા િવ ાથ ઓ, ખાસ કર ને વીણિસહ ઠા ુ ર, જતે પરમાર

અને અ દિત સીતાનો આભાર મા ુ ં ં ક તેમણે સતત સહકાર આ યો છે , ના િવના ુ તક ૂણ થ ું ન

હોત. ુ ં સહાયક બનવા બદલ મારા માતાિપતા અને મારા પ રવારનો ડો આભાર ય ત કરવા માં ુ

ં. ુ ં હંમેશાં માર સાથે રહવા અને મારા પર િવ ાસ રાખવા બદલ મારા ભાઈ િવ મનો આભાર પણ

ય ત કરવા માં ુ .ં છે વટ, આ ુ તક માર પ ની સોનાલી અને બાળકો થવી, સમથ અને િનયિતને

સમિપત છે .

આ ુ તક એઆઈસીટ ઇના સ યો, િન ણાતો અને લેખકોના િવિવધ ૂચનો ુ ં પ રણામ છે , મણે

તેમના મંત યો શેર કયા હતા અને આપણા દશમાં ઇજનેર િશ ણને વ ુ િવકિસત કરવા માટ િવચા ુ

હ .ું વી ૃ િત આ ે ના ફાળો આપનારાઓ અને િવિવધ કામદારોને આભાર છે , મણે કાિશત

ુ તકો, સમી ા લેખો, કાગળો, ફોટો ા સ, ટનોટ, સંદભ અને અ ય ૂ યવાન મા હતીએ ુ તક

લખતી વખતે અમને સ ૃ બના યા હતા.

સ યે િસહ ચૌહાણ

(v)
તાવના

"ક ટુ ર ો ાિમગ : િથયર ઍ ડ ે ટક સ' નામ ુ ં આ ુ તક ક ટુ ર ો ાિમગના િવિવધ


અ યાસ મોના મારા િશ ણના અ ભ
ુ વ ુ ં પ રણામ છે . આ ુ તક લખવાની શ આત
એ જિનય રગના િવ ાથ ઓ સમ ક ટુ ર ો ાિમગના ૂળ ૂત િસ ાંતો અને ગણતર ની
સમ યાઓના િનરાકરણ માટ સી લ વેજના ઉપયોગને ઉ ગર કરવાનો છે . યાપક કવરજના હ ુને
યાનમાં રાખીને તેમજ આવ યક ૂરક મા હતી દાન કરવા માટ, અમે એઆઇસીટ ઇ ારા ભલામણ
કરવામાં આવેલા િવષયોને સમ ુ તકમાં ૂબ જ યવ થત અને યવ થત ર તે સમાિવ ટ કયા છે .
આ િવષયના ૂળ ૂત યાલોને સરળમાં સરળ ર તે સમ વવાના ય નો કરવામાં આ યા છે .

હ ત ત તૈયાર કરવાની યા દરિમયાન, અમે િવિવધ માણ ૂત પાઠય ુ તકો યાનમાં લીધા
છે અને તે ુજબ ો, ન ધો, સમ યાઓ હલ કરવામાં આવી છે અને ૂરક સમ યાઓ વગેર વા
િવભાગો િવકસાવવામાં આવે છે . ુ દા ુ દા િવભાગો તૈયાર કરતી વખતે, વા તિવક િવ ના ઉદાહરણો
ારા આવર લેવામાં આવેલા િવષયો પાછળની ેરણા અને તે ક ટુ શનલ સમ યાના િનરાકરણમાં
શા માટ ઉપયોગી છે તેના પર પણ ભાર ૂકવામાં આ યો છે . ુ તકમાં તમામ કારની મ યમ અને
અ તન તરની સમ યાઓ આવર લેવામાં આવી છે અને આને ૂબ જ તા કક અને યવ થત ર તે
ર ૂ કરવામાં આવી છે . િવિવધ કારના િવ ાથ ઓને ભણાવવાના ઘણા વષ થી તે સમ યાઓના
ેડશનની ચકાસણી કરવામાં આવી છે .

જ રયાત જ
ુ બનાં ઉદાહરણો અને ઉદાહરણો ઉપરાંત, સંબિં ધત િવષયોની યો ય સમજણ માટ
દરક એકમમાં અસં ય ો ાિમગ કો સથી પણ આ ુ તક સ ૃ છે . આ ુ તકમાં, િવિવધ ો ાિમગ
ટ સ પણ હાઇલાઇટડ નો સના વ પમાં આપવામાં આવી છે . તેમાં સંબિં ધત ો ાિમગ ે ટક સ
અને િવ ડઓ વચનો માટની વ ુ લ સ શામેલ છે ો ાિમગ ઉદાહરણોને સમ વે છે . એક ૂરક
સામ ી, એક સમિપત િવ ડઓ યા યાન ેણી પણ બનાવવામાં આવી છે . તે માટની લક એકમના તે
આપવામાં આવી છે . વ મ
ુ ાં, "વ ુ ણો" શીષક હઠળ વપરાશકતાઓ માટ કટલીક આવ યક મા હતી
ઉપરાંત, અમે પ રિશ ટ અને પ રિશ ટ િવભાગમાં કટલીક આવ યક ૂળ ૂત મા હતી પ ટ કર છે .

યાં ધ
ુ ી હાલના ુ તકનો સવાલ છે , "ક ટુ ર ો ાિમગ: િથયર એ ડ ે ટક સ" સી લ વેજનો
ઉપયોગ કર ને ો ાિમગ ફં ડામે ટ સમાં સં ૂણ ાઉ ડગ દાન કરવા માટ છે . આ ુ તક

(vi)
એ જિનય રગ/ ડ લોમાના િવ ાથ ઓને 21મી સદ અને યાર પછ ની ગણતર ની સમ યાના
િનરાકરણ માટ ક ટુ ર ો ાિમગના ાનનો ઉપયોગ કરવા માટ તૈયાર કરશે. િવષય બાબતોને
રચના મક ર તે ર ૂ કરવામાં આવે છે થી એ જિનય રગની ડ ી િવ ાથ ઓને ક ટુ ર
ટકનોલો માં ૂબ જ મોખર રહ ને િવિવધ ે ોમાં અથવા રા ય યોગશાળાઓમાં કામ કરવા માટ
તૈયાર કર છે .

ં ુ િન ઠા ૂવક આશા રા ં ુ ંકઆ ુ તક િવ ાથ ઓને સી ો ાિમગ લ વેજનો ઉપયોગ કર ને


ો લેમ સો વગના ૂળ ૂત િસ ાંતો પાછળના િવચારો શીખવા અને તેની ચચા કરવા માટ ે રત
કરશે અને આ િવષયના ન ર પાયાના િવકાસમાં ચો સ પણે ફાળો આપશે. અમે તમામ ફાયદાકારક
ટ પણીઓ અને ૂચનો માટ આભાર છ એ ુ તકની ભાિવ આ ૃિ ઓના ધ
ુ ારણામાં ફાળો આપશે.
આ ુ તકને િશ કો અને િવ ાથ ઓના હાથમાં ૂકવામાં અમને ૂબ આનંદ થાય છે . ુ તકમાં આવર
લેતા િવિવધ પાસાઓ પર કામ કર ં ુ એ ખરખર ૂબ જ આનંદની વાત હતી.

સ યે િસહ ચૌહાણ

(vii)
પ રણામ આધા રત િશ ણ

પ રણામ આધા રત િશ ણના અમલીકરણ માટ થમ જ રયાત પ રણામ આધા રત અ યાસ મ


િવકસાવવાની અને િશ ણ ણાલીમાં પ રણામ આધા રત ૂ યાંકનને સમાવવાની છે . પ રણામ
આધા રત ૂ યાંકનમાંથી પસાર થઈને, ૂ યાંકનકારો ૂ યાંકન કર શકશે ક િવ ાથ ઓએ િનધા રત
ધોરણો, િવિશ ટ અને માપી શકાય તેવા પ રણામો ા ત કયા છે ક કમ. પ રણામ આધા રત િશ ણના
યો ય સમાવેશ સાથે કોઈ પણ તર હાર માની લીધા િવના તમામ શીખનારાઓ માટ લ ુ મ ધોરણ
ા ત કરવાની ચો સ િતબ તા હશે. પ રણામ આધા રત િશ ણની સહાયથી ચાલતા કાય મના
તે એક િવ ાથ નીચેના પ રણામો ધ
ુ ી પહ ચી શકશેઃ

ો ામ આઉટક સ (પીઓ) એ એવા િનવેદનો છે િવ ાથ ઓ પાસેથી ો ામમાંથી નાતક થયા


પછ ું ણવાની અપે ા રાખવામાં આવે છે અને ું કરવા માટ સ મ છે તે ુ ં વણન કર છે . આ
કૌશ ય, ાન, િવ લેષણા મક મતા અ ભગમ અને વત ૂક સાથે સંબ ંિધત છે િવ ાથ ઓ ો ામ
ારા ા ત કર છે . પીઓ (POs) અિનવાયપણે ૂચવે છે ક કાય મ દરિમયાન તેમના ારા ા ત
કરવામાં આવેલા િવષય-વાર ાનમાંથી િવ ાથ ઓ ું કર શક છે . મ ક, પીઓ એ જિનય રગ
ડ લોમા ે એ
ુ ટની યાવસાિયક ોફાઇલને યા યાિયત કર છે .

નેશનલ બોડ ઓફ એ ડટશન (એનબીએ)એ એ જિનય રગ ડ લોમા ે એ


ુ ટ માટ નીચેના સાત
પીઓ(PO)ની યા યા આપી છે ઃ

PO1. િવિશ ટ ણકાર ૂળ ૂત અને િશ તઃ ઇજનેર સમ યાઓ હલ કરવા માટ ૂળ ૂત ગ ણત,


િવ ાન અને ઇજનેર ફંડામે ટ સ અને ઇજનેર િવશેષતાના ાનને લા ુ કરો.

PO2. સમ યા િવ લેષણ: કો ડફાઇડ ટા ડડ પ િતઓનો ઉપયોગ કર ને -ુ યા યાિયત ઇજનેર


સમ યાઓને ઓળખે છે અને તે ુ ં િવ લેષણ કર છે .

PO3. ઉકલોની રચના/િવકાસ: -ુ યા યાિયત ટકિનકલ સમ યાઓ માટ ઉકલોની રચના કરો અને
ચો સ જ રયાતોને પહ ચી વળવા માટ િસ ટમ ઘટકો અથવા યાઓની ડઝાઇનમાં સહાય
કરો.

(viii)
PO4. એ જિનય રગ ૂ સ, યોગ અને પર ણ: માણ ૂત પર ણો અને માપન હાથ ધરવા માટ
આ િુ નક ઇજનેર સાધનો અને યો ય તકનીક લા ુ કરો.

PO5. સમાજ, ટકાઉપ ં ુ અને પયાવરણ માટ ઇજનેર પ િતઓ: સમાજ, ટકાઉપ ,ું પયાવરણ અને
નૈિતક પ િતઓના સંદભમાં યો ય ટકનોલો લા ુ કરવી.

PO6. ો ટ યવ થાપન: ો સ ુ ં સંચાલન કરવા અને -ુ યા યાિયત ઇજનેર ૃિ ઓ િવશે


અસરકારક ર તે યાયન કરવા માટ ટ મના સ ય અથવા નેતા તર ક ય તગત ર તે ઇજનેર
યવ થાપનના િસ ાંતોનો ઉપયોગ કરો.

PO7. આ વન િશ ણ: ય તગત જ રયાતો ુ ં િવ લેષણ કરવાની અને તકનીક ફરફારોના સંદભમાં


અપડટ કરવામાં ય ત રહવાની મતા.

(ix)
કોસ પ રણામો

અ યાસ મના ત ધ
ુ ીમાં િવ ાથ ઓએ શીખવાની અપે ા રાખવામાં આવે છે :

CO-1: ક ટુ રના ૂળ ૂત યાલો અને ો ાિમગ િસ ાંતોને સમ વો અને સમ વો.

CO-2: ક ટુ ર ો ાિમગ ારા સમ યા ુ ં સમાધાન શીખો.

CO-3: કોઈ એક આપેલી સમ યા ુ ં સમાધાન યાઓના -ુ યા યાિયત મ તર ક તૈયાર કરો.

CO-4: ટ સ (એ ગો રધ સ)ના મને સી ો ા સમાં ભાષાંતર કરો.

CO-5: સમ યાને િવધેયોમાં િવભા જત કરો અને સં ૂણ ો ામ ુ ં સં લેષણ કરો.

CO-6: સી ભાષાના ૂળ ૂત ો ાિમગ િસ ાંતો લા ુ કર ને ઇજનેર સમ યાઓના ઉકલો ડઝાઇન


કરો.

ો ામ આઉટક સ સાથે કોસ આઉટક સ ુ ં મેિપગ નીચે આપેલા મે સઅ સ


ુ ાર કરવામાં આવશે:

કાય મનાં પ રણામો સાથે અપે ત મેિપગ

કોસ પ રણામો (1- નબળો સહસંબધ


ં ; 2- મ યમ સહસંબધ
ં ; 3- મજ ૂત સહસંબધ
ં )

PO-1 PO-2 PO-3 PO-4 PO-5 PO-6 PO-7

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)
સં ેપો અને સં ાઓ

સં ેપોની યાદ

સામા ય શરતો

સં ેપો સં ૂણ ફોમ સં ેપો સં ૂણ ફોમ

ALU કગ ણત લો ક એકમ LIFO થમ આઉટમાં છે લો

AMD અ તન માઇ ો ઉપકરણો MCQs બ ુ િવધ પસંદગી ો

AOCC એએમડ ઓ ટમાઇ ઝગ C/C++ ક પાઇલર MSVC Microsoft Visual C++

CPU સે લ ોસેિસગ િુ નટ PCCM પોટબલ C ક પાઇલર મશીન

FIFO ફા ટ આઉટમાં થમ QR કોડ ઝડપી જવાબ કોડ

GCD મોટામાં મો ુ ં સામા ય ભાજક RAM ર ડમ-એ સેસ મેમર

IDE સંક લત િવકાસ વાતાવરણ TCC Tiny C ક પાઇલર

(xiv)
ચ ોની યાદ
સામા ય શરતો
સં ેપો સં ૂણ ફોમ સં ેપો સં ૂણ ફોમ

& એ પેરસ ડ # હશ ચ
` એપો ોફ < કોણ ક સ ખોલી ર ા છ એ
* એ ટર ક % ટકા સહ
\ બેક લેશ . સમયગાળો
^ કરટ + લસ સહ
> કોણ ક સ બંધ કર ર ા છ એ ? નચ
: કોલોન " અવતરણ ચ
, અ પિવરામ } જમણો ક સ
$ ડોલર સહ ] જમણો ક સ
= ચ ની બરાબર ) જમ ુ ં ક સ
! ઉ ગાર ચ ; સેમીકોલોન
{ ડાબો ક સ / આગળ લેશ
[ ડાબો ક સ ~ ટ ડ
( લે ટ ક સ _ નીચે લીટ કરો
- માઇનસ સહ | ઊભી પ ી

(xv)
આ ૃ િતઓની યાદ

એકમ 1 ક ૂટરોનો ઉપયોગ કર ને સમ યા ુ ં િનરાકરણ લાવ ં ુ પાનાં નં.

આ ૃ િત 1.1 : એક કપ ચા બનાવવાની રસીપી 6


આ ૃ િત 1.2 :ક ટુ શનલ ઉપકરણો ુ ં વગ કરણ 6
આ ૃ િત 1.3 :ક ુલેટરની આ ૃ િત 7
આ ૃ િત 1.4 : એક સં હત- ો ામ ક ટુ ર 7
આ ૃ િત 1.5 :ક ટુ ર મેમર ની સરળ ર ૂ આત 10

આ ૃ િત 1.6 :C કાય મ ુ ં અમલીકરણ 15

આ ૃ િત 1.7 :કોડનો નેપશોટ:: ો ાિમગ માટ IDE ને લોક કરો 18

આ ૃ િત 1.8 :C માં થમ કાય મ 18

આ ૃ િત 1.9 : ૂનતમ શ િવભાજકોનો ઉપયોગ કરતો કાય મ 22


22
આ ૃ િત 1.10 :યો ય જ યા સાથે લખાયેલ કાય મ
27
આ ૃ િત 1.11 :વે રયેબ સ હર કરવા અને યા યાિયત કરવા ુ ં ઉદાહરણ
29
આ ૃ િત 1.12 : C માં ઇન ટુ /આઉટ ટુ

એકમ 1 C માં ઓપરટસ અને ઇન ટુ -આઉટ ટુ

આ ૃ િત 2.1 : કગ ણત અને એસાઇ મે ટ ઓપરટસ ુ ં િનદશન 47


આ ૃ િત 2.2 : રલેશનલ ઓપરટસ ુ ં િનદશન 49

આ ૃ િત 2.3 : તા કક અને ઓપરટર ુ ં િનદશન 50

આ ૃ િત 2.4 : તા કક અને ઓપરટર ુ ં િનદશન 51


51
આ ૃ િત 2.5 : લો જકલ ઓઆર ઓપરટર ુ ં િનદશન
52
આ ૃ િત 2.6 : લો જકલ ઓઆર ઓપરટર ુ ં િનદશન
53
આ ૃ િત 2.7 : લો જકલ નોટ ઓપરટર ુ ં િનદશન
53
આ ૃ િત 2.8 : બીટવાઇઝ ઓપરટસ ુ ં િનદશન
56
(xvi)
આ ૃ િત 2.9 : બનસ ાવાર ઓપરટરો ુ ં િનદશન

આ ૃ િત 2.10 : અનર ઓપરટરની ૃ અને ઘટાડા ુ ં િનદશન 59


આ ૃ િત 2.11 : િ ટુ ઓપરટર ુ ં િનદશન 61
આ ૃ િત 2.12 : મેમર ના કદના વધતા મમાં ઉપરથી નીચે ધ
ુ ી ડટાના કારો 62
આ ૃ િત 2.13 : ગ ભત કારના પાંતરણ ુ ં િનદશન 62
આ ૃ િત 2.14 : પ ટ કારના પાંતરણ ુ ં િનદશન 63
આ ૃ િત 2.15 : ઓપરટરની અ તા અને સાંયો ગકતા 64
આ ૃ િત 2.16 : x=2+3*4-7/2 ુ ં ૂ યાંકન 65
આ ૃ િત 2.17 : x=2+3*4-7/2<6<12 ુ ં ૂ યાંકન 66
આ ૃ િત 2.18 : x=2+3*4-7/2<6<12 && 10<71/6 ુ ં ૂ યાંકન 67
આ ૃ િત 2.19 : િવિવધ ૂણાક અને લો ટગ-પોઇ ટ ક વઝનના ઉપયોગ ુ ં િનદશન કરો. 72
આ ૃ િત 2.20 : દોર અને અ ર પાંતરણ િન દ ટના ઉપયોગ ુ ં િનદશન 73
આ ૃ િત 2.21 : ે ની પહોળાઈ ુ ં િનદશન કર ુ ં 74
આ ૃ િત 2.22 : ૂણાક પાંતરણ િન દ ટ કરનારાઓ ુ ં િનદશન 76
આ ૃ િત 2.23 : ફાઈલ લખવા ુ ં િનદશન 79
આ ૃ િત 2.24 : ફાઈલને વાંચવા ુ ં િનદશન 80

એકમ ૩ િનયં ણ િવધાનો C માં

આ ૃ િત 3.1 :મ હનાના બધા કાયકાર દવસોના સરરાશ તાપમાનની ગણતર નો લોચાટ 94


આ ૃ િત 3.2 : િનયં ણ િનવેદનોના કારો 95
આ ૃ િત 3.3 : જો િવધાનનો લોચાટ 96

આ ૃ િત 3.4 : જો િવધાન ુ ં િનદશન 97

આ ૃ િત 3.5 : જો િવધાન ુ ં અથઘટન 97

આ ૃ િત 3.6 : નો લોચાટ જો.. બી ુ િનવેદન 99

આ ૃ િત 3.7 : ુ ં િનદશન જો.. બી ુ િનવેદન 99


101
(xvii)
આ ૃ િત 3.8 : જો-અ ય-જો િનવેદનનો લોચાટ 102
આ ૃ િત 3.9 : જો-જો-તો િવધાન ુ ં િનદશન

આ ૃ િત 3.10 : ન
ુ રાવિતત જો-બી ુ િનવેદનનો લોચાટ 103

આ ૃ િત 3.11 : ન
ુ રાવિતત જો-અ ય િનવેદન ુ ં િનદશન 104

આ ૃ િત 3.12 :અ ય લટકાવવા ુ ં િનદશન 106

આ ૃ િત 3.13 :અ ય લટકાવવા ુ ં િનદશન 106

આ ૃ િત 3.14 : વીચ ટટમે ટનો લોચાટ 107

આ ૃ િત 3.15 : વીચ ટટમે ટ ુ ં િનદશન 109

આ ૃ િત 3.16 :ગીતની લેલી ટને વગાડવા માટ લોચાટ 110

આ ૃ િત 3.17 : યાર પ
ુ નો લો આલેખ 112

આ ૃ િત 3.18 : યાર પ
ુ ની મદદથી ૦ થી ૪ ધ
ુ ી નંબરો છાપવા માટનો કાય મ 113

આ ૃ િત 3.19 : પ
ુ માટ લોચાટનો 114

આ ૃ િત 3.20 : પ
ુ માટ વાપર ને ૦ થી ૪ ધ
ુ ી નંબરો છાપવા માટનો કાય મ 115

આ ૃ િત 3.21 :કરો- યાર પ


ુ નો લોચાટ 117

આ ૃ િત 3.22 :કરો- યાર પ


ુ ની મદદથી ૦ થી ૪ ધ
ુ ી નંબરો છાપવા માટનો કાય મ 118
આ ૃ િત 3.23 : ેક ટટમે ટ ુ ં િનદશન 120
આ ૃ િત 3.24 :સતત િનવેદન ુ ં િનદશન 121
આ ૃ િત 3.25 :અિવભા ય નંબરને ચકાસવા માટ ુ ં ઉદાહરણ 123
આ ૃ િત 3.26 :કરો- યાર પ
ુ નો ઉપયોગ કર ુ ં ક ુલેટર 124
આ ૃ િત 3.27 : ન
ુ રાવિતત ૂપનો લોચાટ 126
આ ૃ િત 3.28 : ન
ુ રાવિતત પ
ુ ુ ં િનદશન 127
આ ૃ િત 3.29 :ફ ટો રયલની ગણતર કરવા માટનો કાય મ 128
આ ૃ િત 3.30 :goto ટટમે ટ ુ ં િનદશન 129
આ ૃ િત 3.31 :બેક અથવા એક સં યાને ચકાસવા માટ લોચાટ 140

(xviii)
એકમ 4 C માં એર અને િવધેયો
આ ૃ િત 4.1 :એર ઉદાહરણ 145
આ ૃ િત 4.2 : એરની રનટાઇમ શ આત 148
આ ૃ િત 4.3 : એરમાં મેમર ફાળવણી અને સરનામાંની ર ૂ આત 149
આ ૃ િત 4.4 : મેમર લેઆઉટ 150

આ ૃ િત 4.5 : િવઝ લ
ુ ાઇઝેશન અને ટકના ઘટકો 151

આ ૃ િત 4.6 : ચલ અને િનદશક ુ ં િવઝ ુલાઇઝેશન 153

આ ૃ િત 4.7 : િનદશક ુ ં િનદશન 154

આ ૃ િત 4.8 : િનદશકમાં કગ ણત યાઓ ુ ં િનદશન 156

આ ૃ િત 4.9 :િવિવધ કારના િનદશકો ુ ં િનદશન 157

આ ૃ િત 4.10 :વપરાશકતામાંથી શ દમાળા વાંચવા માટ ુ ં િનદશન 160

આ ૃ િત 4.11 :2-પ રમાણીય એરની ર ૂ આત ( ચ ો) 161

આ ૃ િત 4.12 :2-D એરને ારંભ કરવાની િવિવધ ર તો 162

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

આ ૃ િત 5.9 : પરો ુનરાવતનની ા ફકલ ર ૂ આત 202

આ ૃ િત 5.10 : પરો ુનરાવતન ુ ં િનદશન 203

આ ૃ િત 5.11 : હનોઈનો ટાવર 204


આ ૃ િત 5.12 : હનોઈના ટાવર ુ ં િનદશન 205
આ ૃ િત 5.13 : સંગી શોધની ા ફકલ ર ૂ આત 207
આ ૃ િત 5.14 : સંગી શોધ ુ ં િનદશન 208
આ ૃ િત 5.15 : કમા ડ લાઇન દલીલો ુ ં િનદશન
215

(xx)
કો ટકોની યાદ

પાનાં નં.

ટબલ 1.1 : ક વ સની યાદ 21

ટબલ 1.2 : જ ર મેમર અને િવિવધ કારની ડટા ર જ 24

ટબલ 2.1 : સી ભાષામાં એસાઇનમે ટ ઓપરટસ 46

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

ટબલની યાદ xxi

એકમ 1:ક ટુ રનો ઉપયોગ કર ને સમ યા ુ ં િનરાકરણ લાવવામાં સમ યા 1-40

એકમ િવિશ ટતાઓ 1

તકસંગત 2

ૂવ-આવ યકતાઓ 3

એકમ પ રણામો 3

1.1 પ રચય 4

1.1.1 ગણતર મક િવચારસરણી અને સમ યા ુ ં િનરાકરણ 5

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.3.3 ા ૃ િતક ભાષા 12

1.4 ો ામ ગ ભાષા 12

1.4.1 ૂચનોના કારો 14

1.5 C ો ાિમગ ભાષાનો પ રચય 15

1.5.1 C કાય મ ુ ં અમલીકરણ 15

1.5.2 ક પાઇલરની જ રયાત 17

1.5.3 સી અને ઇ ટ ેટડ ડવલપમે ટ એ વાયનમે સ (આઇડ ઇ) માટ િવિવધ ઉપલ ધ ક પાઇલસ 17

1.5.4 C માં થમ કાય મ 18

1.6 C ભાષાના ૂળ ૂત ઘટકો 20

1.6.1 ુ ય શ દો 20

1.6.2 ઓળખકતાઓ 21

1.6.3 િવભાજકો 21

1.6.4 કો ટ ટ, ડટા કારો અને વે રયેબ સ 22


1.6.5 ૂવ- યા યાિયત િવધેય અને વા રચના 27
1.6.6 ઓપરટરો 27
1.7 C માં ઇન ટુ /આઉટ ુટ ( ે ટસ ઉદાહરણ) 28
એકમ સારાંશ 30

કસરતો 34
ે ટકલ 37
વ ુ ણો 38

સંદભ અને ૂચવેલ વાંચન 40

એકમ 2: C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ 41-90


એકમ િવિશ ટતાઓ 41

તકસંગત 41

(xxiii)
ૂવ-આવ યકતાઓ 42
એકમ પ રણામો 42

2.1 C માં અ ભ ય તઓ અને ઓપરટરો 43

2.2 બાઇનર ઓપરટરો 44

2.3 બનઅસરકારક ઓપરટર 55

2.4 ટનર ઓપરટર 60

2.5 ગ ભત અને પ ટ- કાર ુ ં પાંતરણ 61

2.5.1 ગ ભત કાર ુ ં પાંતરણ 61

2.5.2 પ ટ કાર ુ ં પાંતરણ 63

2.6 સી ઓપરટસની અ તા અને સાંયો ગકતા 63

2.7 C ો ાિમગમાં ઇન ુટ અને આઉટ ુટ 67

2.7.1 િ ટ ફં શન સાથે આઉટ ુટ 68

2.7.1.1 ૂણાકો અને તરતા- બ ુ નંબરો છાપવા 69

2.7.2.2 છાપકામ શ દમાળાઓ અને અ રો. 72

2.7.2 Escape મ 73

2.7.3 ફ ડ પહોળાઈઓ અને િ ફમાં ચોકસાઈ 74

2.8 ક ફ િવધેયનો ઉપયોગ કર ને ઇન ટુ 75

2.9 ફાઈલોમાંથી ઈન ુટ અને આઉટ ટુ 77


2.9.1 ફાઈલ એટલે ?ુ ં 77

2.9.2 ફાઈલ યાઓ 78

એકમ સારાંશ 80

કસરતો 83

ે ટકલ 87

વ ુ ણો 88

સંદભ અને ૂચવેલ વાંચન 90

એકમ ૩: C માં િનયં ણ િવધાનો 91-140


એકમ િવિશ ટતાઓ 91

(xxiv)
તકસંગત 91
ૂવ-આવ યકતાઓ 92
એકમ પ રણામો 92
3.1 પ રચય 93

3.2 િનયં ણ િનવેદનો 94

3.3 પસંદગી ુ ં િનવેદન 95

3.3.1 જો િવધાન 95

3.3.2 જો-બી ુ ંિનવેદન 98

3.3.3 જો-અ યથા-જો િવધાન 100

3.3.4 ુનરાવિતત જો-બી ુ ંિવધાન 102

3.3.5 વીચ ટટમે ટ 107

3.4 ન
ુ રાવતન િનવેદન 110

3.4.1 એ કં ોલ પ
ુ 111

3.4.2 િનયં ણ ૂપમાંથી બહાર નીકળો 117

3.4.3 ને ટડ ુપ 125

3.4.4 ગો ુ ટટમે ટ 128

એકમ સારાંશ 130

કસરતો 132

ે ટકલ 138

વ ુ ણો 139

સંદભ અને ૂચવેલ વાંચન 140

એકમ 4:C માં એર અને િવધેયો 142-193


એકમ િવિશ ટતાઓ 142

તકસંગત 142

ૂવ-આવ યકતાઓ 143

એકમ પ રણામો 143

4.1 પ રચય 144

(xxv)
4.2 એર 145

4.2.1 એર ડ લેરશન એ ડ ઇિનિશયલાઇઝેશન 145

4.3 મેમર ઓગનાઇઝેશન ઇન સી 149

4.4 પો ટરો 152

4.4.1 િનદશકમાં કગ ણત યા 155

4.4.2 િનદશકોના કારો 156

4.5 શ દમાળા અ રોના એર તર ક 158

4.5.1 શ દમાળાની શ આત 158

4.5.2 વપરાશકતા તરફથી શ દમાળા વાંચવી 159

4.6 બ પ
ુ રમાણીય એર 160

4.7 િવધેય 164

4.7.1 ફં શ સના ઉપયોગના ફાયદા 164

4.7.2 કાય ના કારો 165

4.7.3 ફં શનની યા યા, સ વટ અને કો લગ 165

4.7.4 ફં શન કો લગ 171

4.7.5 િવધેયોમાં એરને પસાર કર ર ા છે 176

4.8 સં હ વગ 184

એકમ સારાંશ 184

કસરતો 187

ે ટકલ 191

વ ુ ણો 192

સંદભ અને ૂચવેલ વાંચન 193

એકમ 5: ન
ુ રાવિતત અને ુનરાવિતત ઉકલો 194-216
એકમ િવિશ ટતાઓ 194

તકસંગત 194

ૂવ-આવ યકતાઓ 195

(xxvi)
એકમ પ રણામો 195

5.1 પ રચય 196

5.2 ુનરાવતનના કારો 199

5.2.1 સી ુ ં ુનરાવતન 199


5.2.2 પરો ુનરાવતન 202
5.3 ુનરાવિતત ઉકલો 203
5.3.1 ફ ટો રયલ 203
5.3.2 હનોઈના ટાવસ 204
5.3.3 બાઇનર શોધ 206
એકમ સારાંશ 209

કસરતો 210

ે ટકલ 213

વ ુ ણો 214

સંદભ અને ૂચવેલ વાંચન 216

પ રિશ ટો

217
પ રિશ ટ - એ : માણ ૂત ુ તકાલયના કાય

પ રિશ ટ - બી : ુ તકાલયો બનાવવા 222

પ રિશ ટ- સી : ાયો ગક ધોરણે ૂચવેલા િવષયની યાદ 224

વ ુ શીખવા માટના સંદભ 226

CO અને PO ા ત કો ટક 227

અ ુ મ ણકા 226

(xxvii)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 1

કો ટુ રનો ઉપયોગ કર ને
1
d

સમ યા ંુ િનરાકરણ

એકમ િવિશ ટતાઓ

આ એકમ ારા આપણે નીચેનાં પાસાંઓની ચચા કર છે ઃ

 ક ટુ ર ું ૂળ ૂત ાન;

 ક ટુ શનલ િવચારસરણી અને સમ યા ું િનરાકરણ;


 ો ાિમગ લ વેજના પાસાઓ;
 ો ાિમગ લ વેજનો ઉપયોગ કર ને ક ટુ રને ૂચનાઓ આપવી;
 સી ભાષા અને તેના ઘટકનો પ રચય;
 સમ ૂતી સાથે ૂળ ૂત ો ાિમગ ઉદાહરણો;

વ ુ ુ ૂહલ અને સ ના મકતા પેદા કરવા અને સમ યા-િનરાકરણની મતામાં ુ ારો કરવા માટ

િવિવધ ઉદાહરણો સાથે િવષયોની ચચા કરવામાં આવી છે .

ુ ર ને બે કટગર માં ચ ત કરવામાં આવેલા


ૂમના વગ કરણના નીચલા અને ઉ ચ મને અ સ
ૂ ા અને લાંબા જવાબના
ંક કારોના ો મોટ સં યામાં આપવા ઉપરાંત, કટલીક કડાક ય
સમ યાઓ ારા સ પણીઓ, સંદભ ની યાદ અને ૂચવેલા વાંચન એકમમાં આપવામાં આ યા છે થી
કોઈ પણ ય ત ે ટસ માટ તેમાંથી પસાર થઈ શક. એ ન ધ ું અગ ય ું છે ક રસના િવિવધ િવષયો
પર વ ુ મા હતી મેળવવા માટ, િવિવધ િવભાગોમાં કટલાક ુ ર કો સ
આ ૂરા પાડવામાં આ યા છે ,
ને સંબિં ધત સહાયક ાન માટ કન કર શકાય છે .
2 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

સંબિં ધત યવહા રક પછ , સામ ીના આધાર, યાં એક "વ ુ ણો" િવભાગ છે . આ િવભાગને
કાળ ૂવક ડઝાઇન કરવામાં આ યો છે થી આ ભાગમાં ૂર પાડવામાં આવેલી ૂરક મા હતી
ુ તકના વપરાશકતાઓ માટ ફાયદાકારક બને. આ િવભાગ ુ ય વે ારં ભક ૃિ , કટલાક રસ દ
ત યોના ઉદાહરણો, સમાનતા, ુ ય િનર ણો અને શોધ પર યાન ક ત કરતા િવષયના િવકાસના
ઇિતહાસ, સંબિં ધત િવષયોના િવકાસથી શ કર ને તા તરના સમય ુ ીની સમયરખાઓ, િવિવધ

પાસાઓ પર આપણા રો જદા વા તિવક વન અથવા / અને ઔ ો ગક ઉપયોગો માટ િવષય વ ુના
ઉપયોગો પર કાશ પાડ છે , પયાવરણીય, ટકાઉપ ,ું સામા જક અને નૈિતક ુ ાઓ પણ લા ુ પડ
છે તેને લગતા કસ ટડ , અને છે લે એકમની જ ાસા અને જ ાસાના િવષયો સાથે સંબિં ધત છે .

તકસંગત

ક ટુ સ ારા સમ યા-િનરાકરણ પર ું આ ારં ભક એકમ િવ ાથ ઓને સમ યા-િનરાકરણ અને


ક ટુ શનલ િવચારસરણીનો ૂળ ૂત િવચાર મેળવવામાં મદદ કર છે . તે ક ટુ ર ું ૂળ ૂત ાન
આપે છે , તેના ઘટકોને ો ાિમગના ટકોણથી આપે છે , અને ો ાિમગ ારા ક ટુ રમાં સમ યા-
િનરાકરણ ુ શળતાને સમાિવ ટ કરવાના િવચારને સમ વે છે . સીધા ો ાિમગ લ વેજ પર જવાને
બદલે, આ કરણ વાચકને ક ટુ રનો ઉપયોગ કર ને ક ટુ શનલ સમ યાને હલ કરવા માટ
ો ાિમગ લ વેજની જ રયાતને પ ટ કર છે . તે ઉદાહરણો સાથે ો ાિમગ ભાષાના િવિવધ
પાસાઓને સમ વે છે . યારબાદ, તે સી ભાષાની ર ૂઆત અને તેની લા ણકતાઓને આવર લે છે .
આ ુ તક ક ટુ ર ો ાિમગ માટ સી લ વેજનો ઉપયોગ કરશે, તેમ છતાં આ િુ નટમાં આવર
લેવામાં આવેલો મોટાભાગનો ૂળ ૂત ભાગ તમામ ો ાિમગ લ વેજને લા ુ પડ છે .

ક ટુ ર િવ ાન ે માં ક ટુ ર ો ાિમગ એ ુ ય િવષય છે . કોઈપણ ક ટુ ર ો ાિમગનો


ઉપયોગ કર ને, કોઈ પણ ક ટુ રનો ઉપયોગ કર ને ગણતર ની સમ યાઓ હલ કર શક છે . ત ુ પરાંત,
તમામ સો ટવેર અને એ લકશનો િવિવધ ો ાિમગ ભાષાઓનો ઉપયોગ કર ને બનાવવામાં આવી છે .
આ ુ તકના યવહા રક ઉપયોગો, તમામ ક ટુ શનલ ઉપકરણો, સો ટવેર, વેબ એ લકશનો
વગેરને આવર લે છે ની સાથે કોઈ દિનક વનમાં યા િત યા કર છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 3

ૂવ-આવ યકતાઓ

ૂળ ૂત ગ ણત
એકમ પ રણામો

ુ બ છે ઃ
આ એકમનાં પ રણામોની યાદ નીચે જ
U1-O1: સમ યાના િનરાકરણ અને ગણતર ની િવચારસરણી ું વણન કરો
U1-O2: ક ટુ ર અને તેના ઘટકના ૂળ ૂત ાન ું વણન કરો
U1-O3: ો ાિમગ ભાષાના િવિવધ પાસાઓ સમ વો
U1-O4: વા તિવક ુ િનયાની સમ યાઓ હલ કરવામાં ક ટુ ર ો ાિમગની ૂિમકાને સમજવી
U1-O5: C ો ાિમગ ફંડામે ટ સને સમજો

ઈ છત MAPPING સાથેકોસપ રણામો


એકમ-1પ રણામો (1-નબ ંસહસંબધ ં ;3-મજ ૂતસહસંબધ
ં ;2-મ યમસહસંબધ ં )
CO-1 CO-2 CO-3 CO-4 CO-5 CO-6
U1- O1 2 3 2 - - -
U1-O2 3 2 2 2 - -
U1-O3 2 2 3 - - -
U1- O4 2 3 3 1 - -
U1-O5 2 2 2 3 - -
4 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

1.1 પ રચય

હવે ક ુ સ બધે જ છે . અહ , ક
ટ ુ રને મા
ટ લેપટોપ અથવા ડ કટોપ તર ક જ ઓળખવામાં
આવ ુ ં નથી, પરં ુ કોઈ પણ ઉપકરણ ક કટલીક ગણતર કર છે . કોઈપણ ક ુ ટગ ઉપકરણ બે
ુ ય કાય કર છે : ગણતર કરવી અને ગણતર ના પ રણામોને યાદ રાખ .ુ ં ટબલ અથવા ડ ક પર
બેઠ ું લા ણક ક ુ ર એક સેકંડમાં એક અબજ ગણતર ઓ કર છે . અમે તેમનો ઉપયોગ

ઝડપથી અને વ ુ સચોટ ર તે બ િુ વધ કાય કરવા માટ કર એ છ એ. દાખલા તર ક, આપણે
ક ુ ર અથવા
ટ માટફોનનો ઉપયોગ કર ને નની ટ કટ ઓનલાઇન અનામત રાખી શક એ
છ એ.

મોટા ભાગના માનવ ઇિતહાસ માટ, માનવ મગજની ગણતર ની ગિત અને ગણતર ઓના
પ રણામોને તે જ રકોડ કરવાની મતાને કારણે ગણતર મયા દત હતી. અમે આશા રાખીએ છ એ
ક આ ુ તક વાંચીને, તમે અ યાસ, કાય અને સં થાઓમાં તમને આવતી ઘણી સમ યાઓને હલ
કરવા માટ ક ુ શનલ
ટ િવચારસરણીનો ઉપયોગ કર ને આરામદાયક ુ વશો.
અ ભ
"ક ુ રાઇઝેશન" શ દ સામા ય ર તે સો ટવેર બનાવવા માટ ક
ટ ુ સના અસરકારક ઉપયોગનો

સંદભ આપે છે કોઈપણ ુ રાવિતત માનવ કાયને
ન વચા લત કર છે . ક ુ રનો ઉપયોગ

િવિવધ સમ યાઓ હલ કરવા માટ થાય છે ; તેથી, ક ુ ર િવ ાનના િવ ાથ પાસે
ટ આવ યક
ુ શળતા હોવી જોઈએ તેમાંની એક સમ યા-સમાધાન છે . એ ન ધ ુ ં મહ વ ૂણ છે ક ક ુ સ

વતં ર તે સમ યાઓ હલ કર શકતા નથી. આપેલી સમ યાને કવી ર તે ઉકલવી તે ગે આપણે
એક પછ એક પ ટ, ડગલે ને પગલે દશા-િનદશો આપવા જોઈએ. સમ યાના િનરાકરણમાં
ક ુ રની અસરકારકતા સમ યાની ચો સ અને યો ય ર તે યા યા કવી ર તે કરવામાં આવી છે

તેના પર આધાર રાખે છે , એ ગો રધમ તેને ઉકલવા માટ બનાવવામાં આવે છે , અને પછ
ો ાિમગ લ વેજ ારા અ ગો રધમનો અમલ કર છે . આમ, સમ યા ુ ં િનરાકરણ એ સમ યાને
ઓળખવાની, તેને ઉકલવા માટ અ ગો રધમ બનાવવાની અને પછ ો ાિમગ લ વેજનો ઉપયોગ
કર ને તેનો અમલ કરવાની યા છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 5

1.1.1 ગણતર ની િવચારસરણી અને સમ યા ંુ િનરાકરણ

ો ાિમગ લ વેજનો ઉપયોગ કર ને સમ યાના િનરાકરણની યામાં ડાઇિવગ કરતા પહલા (આ


ુ તકમાં, આપણે સી લ વેજને અ સ
ુ ર )ુ ં , ચાલો આપણે સૌ થમ ક ુ શનલ િવચારસરણીને

સમ એ. ાનને બે ભાગમાં િવભા જત કર શકાય છે : ઘોષણા મક ાન અને અિનવાય ાન.

A . ઘોષણા મક ાન : ઘોષણા મક ાન એ િનવેદનોનો સંદભ આપે છે હક કત છે . દા.ત., 2, 4, અને


6 એ બેક સં યાઓ છે . એ જ ર તે, 3, 5, અને 7 એ એક સં યા છે . જો ક, આ િનવેદનો હક કતો છે
અને તેમાં થો ુ ં ાન છે . પરં ુ તેમ છતાં, તે આપણને જણાવ ુ ં નથી ક મન વી સં યા િવ ચ છે ક
બેક છે ક કમ તે આપણે કવી ર તે ચકાસી શક એ.

B. આવ યક ાન: તે એ એક ૂચના (અથવા ૂચનાઓના સ ૂહ) ુ ં કંઈક છે , અથવા અનૌપચા રક


ર તે, આપણે કોલ કર શક એ રસીપી કટલીક વ ુઓ કવી ર તે કરવી તેની મા હતી આપે છે .
દાખલા તર ક, અનૌપચા રક ર તે, આપણે નીચેના પગલાંઓ હાથ ધર ને કોઈ સં યા િવ ચ છે ક
નહ તે ચકાસી શક એ છ એ.

1. એક મન વી નંબર લો, ચાલો કહ એ n.

2. સં યા n ને આના વડ ભાગો બે અને બાક ના ભાગ ુ ં અવલોકન કરો, ચાલો કહ એ r.

3. જો r એ ૦ ની બરાબર છે , તો પછ આપણે કહ શક એ ક સં યા બેક છે .

4. અ યથા, જો r બન- ૂ ય ૂ ય છે , તો પછ સં યા િવ ચ છે .

ઉપરો ત તબ ાવાર ૂચનાઓ હાથ ધર ને, આપણે ચકાસી શક એ છ એ ક કોઈ પણ સં યા બેક છે


ક િવ ચ . આ કારના ાનને અિનવાય ાન કહવામાં આવે છે , અને ક ુ ર િવ ાનમાં, આ

તબ ાવાર વણનને એક પછ એક કહવામાં આવે છે અલગો રધમ (અથવા ડુ ોકોડ). તે
ૂ ક
ક ુ માંથી રસીપી ુ ં છે ક જો યો ય ર તે કરવામાં આવે તો આખર તમને ઇ છત પ રણામ
મળશે.

ચાનો કપ બનાવવાની રસીપી ુ ં વ ુ એક વા તિવક િવ ુ ં ઉદાહરણ આ ૃિત 1.1માં આપવામાં


આ ુ ં છે .
6 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

1. ચાના વાસણમાં પાણી ૂકો


2. પાણીને ઉકાળો
3. તેમાં ચાની પ ીઓ ૂકો ચા-વાસણ
4. ટ -પોટમાં ૂ ધ ઉમેરો
5. ખાંડના કટલાક ુ કડા ઉમેરો
6. થોડા સમય માટ ઉકાળો
7. ચાના નરનો ઉપયોગ કર ને ચાને કપમાં રડ ુ ં

આ ૃિત 1.1 : એક કપ ચા બનાવવાની રસીપી

1.1 આપણે આ કાય ( ૂચનાઓનો સ ૂહ) ક ુ ટગ ઉપકરણને કવી ર તે આપી શક એ?

1.2 ક ુ ટગ ઉપકરણો

ક ુ ટગ ડવાઇસમાંથી કાય કરવાની બે ર તો છે . એક એ છે ક મશીન હાડવેરને એવી


ર તે િવકિસત કર ુ ં ક તે ચો સ કાય કરશે - ચો સ કાય મ ક ૂટરો. બી ર તે, મશીન
હાડવેર િવકાસ દરિમયાન ૂચનાઓને ઠ ક કરવાને બદલે, ક ુ ટગ ઉપકરણ િવગતો માટ
QR કોડ કન
વપરાશકતાઓ / ઓપરટરો પાસેથી આ ૂચનાઓ લે છે અને આપેલ ૂચનાઓના આધાર
કરો
આપેલ કાય કર છે - સં હલ કાય મ ક ૂટરો.

આ ૃિત 1.2 : ક ટુ શનલ ઉપકરણો ંુ વગ કરણ


કરણ.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 7

1.2.1 ફ સ ો ામ ક ટુ સ
યાર ક ુ ટગ ઉપકરણ ફ ત એક િવિશ ટ કાય કર છે , એટલે ક,
તેને અ ય કાય માટ ો ામ કર શકા ુ ં નથી. દાખલા તર ક,
ક ુ ેટર મા
લ ઉપલ ધ કગ ણત અથવા લો જક યાઓ જ
કર શક છે . તમે સં યાઓને ઇન ટ ુ તર ક આપો છો, અને યાર તમે આ ૃિત 1.3 ક ુ ેટરની

'+' દબાવો છો યાર તે ઉમેરો કર છે . તેવી જ ર તે, ઉપલ ધ તમામ આ ૃિત
કામગીર કર શકાય છે . જો ક, તમે અ ય કોઈ ગણતર કર શકતા
નથી ક ુ ેટરમાં ઉપલ ધ નથી.

1.2.2 સં હત ો ામ ક ટુ ર

સં હત ો ામ ક સે ટમાં, ક ુ ર ક
ટ ુ રને સં હત અથવા આપવામાં આવે ું કાય કર છે .

આ િુ નક ક ુ સ આ
ટ યાલ પર આધા રત છે . સં હત ો ા ડ ક ુ રની સૌથી સરળ
ટ લોક
આ ૃિત આ ૃિત 1.4માં દશાવી છે . તેમાં ણ ૂળ ૂત ઘટકો છે .

આ ૃિત 1.4 એક સં હત- ો ામ ક ુ ર


એ. સે લ ોસેિસગ િુ નટ (સીપી )ુ : તે ક ુ ર ુ ં મગજ છે


ટ ો ા સ ચલાવે છે . તે ો ામ
એ ઝે ુ નમાં િનણાયક
શ ૂિમકા ભજવે છે , ના િવના ો ામ ચલાવી શકાતો નથી. અમે કહ
શક એ છ એ ક યાર સીપી ુ ો ામમાંથી ા ત ૂચનાઓ કર છે યાર ો ામ ચલાવવામાં
આવે છે .
8 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

બી. મેમર : મેમર ને ક ુ રના વક પેસ તર ક જોઇ શકાય છે


ટ યાં ક ુ ર
ટ ો ામ/એ લકશન
અને અમલ માટ જ ર ડટાનો સં હ કર છે . દાખલા તર ક, શ દ એ લકશનનો ઉપયોગ કર ને
િનબંધ લખવો. તે કાયના અમલીકરણ દરિમયાન, િનબંધ અને વડ ોસેિસગ બંને એ લકશનો
મેમર માં સં હત કરવામાં આવશે.

C. ઈન ટુ /આઉટ ટુ : ઇન ટુ એ ડટા છે ક ુ ર ઇન ટ
ટ ુ ડવાઇસ ારા બી ઉપકરણ અથવા
ુ ઉપકરણો એ એવા ઘટકો છે
કોઈપણ વપરાશકતા પાસેથી મેળવે છે . ઇન ટ ડટા એકિ ત કર છે
અને તેને ક ુ ર પર મોકલે છે . તેથી,
ટ ઉપકરણ ક ુ રને ઇન ટ
ટ ુ આપે છે તેને ઇન ટુ
ડવાઇસ કહવામાં આવે છે . ઉદાહરણ તર ક, ક બોડ, QR કોડ કનર, માઉસ, વગેર. ઓ ટકલ અને
ુ ઉપકરણો તર ક પણ ઓળખવામાં આવે છે કારણ ક
ડ ક ાઇ સને ઇન ટ ો ામ અને જ ર ડટા
ુ ય મેમર માં લોડ થાય છે .

ુ એ વપરાશકતા અથવા અ ય ઉપકરણો માટ ક


આઉટ ટ ુ ર
ટ ારા ઉ પા દત ડટા છે .
ુ ડટા એ ગણતર ના નામો,
આઉટ ટ ુ
ા ફક છબીઓ અને પ રણામોની યાદ હોઈ શક છે . આઉટ ટ
ુ ઉપકરણો
ડટા આઉટ ટ ારા મોકલવામાં આવે છે . તે ક ુ રથી બી
ટ ક ુ ર અથવા

વપરાશકતાને ડટા મોકલે છે . ુ ઉપકરણો મોિનટર, િ
ૂળ ૂત આઉટ ટ ટર, વગેર છે . સીડ રકોડસ
અને ડ ક ુ ઉપકરણો છે કારણ ક તેઓ ક
ાઇ સ એ આઉટ ટ ુ ર
ટ ુ
ારા મોકલેલા આઉટ ટ
ડટાને સં હત કર છે .

CPU એ આ કારની યાઓને ચલાવવા માટ બનાવાયેલ છે :

1. મેમર માંથી ડટા વાંચી ર ા છ એ.

2. બી નંબરમાંથી એક સં યા બાદ કર ર ા છ એ

3. બે નંબરો ઉમેર ર ા છ એ

4. એક સં યાને બી સં યા વડ ભાગી ર ા છ એ

5. બે સં યાઓનો ુ ાકાર કર ર ા છ એ

6. કમતની ગણતર એ બી કમતને સમક છે

7. મેમર થાનો પર મા હતીને ખસેડ ર ા છ એ


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 9

ઉપરો ત ૂ ચ દશાવે છે ક સીપી ુ ફ ત ૂળ ૂત ડટા કામગીર ુ ં સંચાલન કર છે . જો ક, સીપી ુ તેની


તે કાય કર ુ ં નથી. ો ામ ુ ં યેય સીપી ન
ુ ે ુ ં કર ુ ં તે ગે ૂચના આપવા ુ ં છે . ૂચનાઓની આ
યાદ ના પ રણામે CPU કામગીર કર છે . કોઈ પણ ો ાિમગ ભાષામાં લખેલી આ ટપ- ુ - ટપ
ૂચનાઓને એક તર ક પણ ઓળખવામાં આવે છે કાય મ અથવા કાય મ.

ુ /આઉટ ટ
દરક ગણતર ની સમ યા સાથે સંકળાયેલી મા હતી (ઇન ટ ુ ) કોઈ પણ કારની હોઈ શક છે
મ ક સં યાઓ, અ રો અથવા શ દો (શ
શ દમાળાઓ). ુ ાં, સં યાઓ િવિવધ
દમાળાઓ વ મ કારની હોઇ શક છે ,
મક ૂણાકો વા ક 0, 1, 2, 3, -1, -2, વગેર, અને અ ૂણાક ૂ યો 1.2, 0.6, અને તેથી વ .ુ અ યાસ
કરતા પહલા ક સીમાં િવિવધ કારના ડટાનો ઉપયોગ કવી ર તે કરવો. ચાલો આપણે પહલા સમ એ
કક ુ રમાં ડટા કવી ર તે સં હત થાય છે .

1.2.3 ક ટુ ર મેમર ર ૂઆત

આપણે ણીએ છ એ તેમ, ક ુ સ


ટ સંગી ડટા ર ૂઆત (0s અને 1s) પર કામ કર છે . ક ુ રની

મેમર ને બાઇ સ તર ક ઓળખાતા નાના એકમોમાં િવભા જત કરવામાં આવે છે . એક જ અ ર અથવા
નાની સં યા એક જ બાઇટમાં સં હત થાય છે . કાય કરવા માટ, ક ુ રમાં બાઇ સની ઘણી બધી

િસ વ સ છે . મોટાભાગના આ િુ નક ક ુ સમાં અબજો બાઇ સ મેમર હોય છે .

મેમર ના દરક બાઇટને એક અન ય સરનામાં ારા ઓળખી શકાય છે . તે વા તિવક


ુ િનયામાં ઘરના સરનામાં ુ ં જ છે . ઘરોની સાથે અન ય સરનામાં જોડાયેલા હોય છે .
િવિવધ કારના ડટાને િવિવધ મેમર સાઇઝની જ ર પડ છે . ક ુ ર મેમર ની સરળ

વી ડયો
ર ૂઆત આ ૃિત 1.5માં દશાવી છે .
વચન
માટ QR
કોડ કન
કરો
10 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

આ ૃિત 1.5 : ક ટુ ર મેમર ુ ં સરળ િન પણ

હવે પછ નો એ છે ક આ ટપ- ુ - ટપ ો ામ કવી ર તે લખવો અથવા ક ટુ સ સાથે વાતચીત


કવી ર તે કરવી.

1.2 ક ુ ર સાથે
ટ ૂચનાઓના સેટની વાતચીત કવી ર તે કરવી?

1.3 ક ટુ ર સાથે સંવાદ કવી ર તે કરવો

હવે, એ છે ક ક ુ રને કાય ( ૂચનાઓનો સ ૂહ) કવી ર તે આપ .ુ ં અહ , બે પાસાં છે : હાડવેર


ટ ૂ
અને સો ટવેર ૂ. હાડવેરના ટકોણથી, અમે ઇન ટુ ઉપકરણો ારા કાય આપીએ છ એ. સો ટવેરના
ટકોણથી, આપણે ક ુ ર સમ
ટ તેવી ભાષામાં એક કાય આપ ુ ં પડશે. અમે પછ ના પ ર ે ય પર
ભાર ૂકવા જઈ ર ા છ એ. થમ, આપણે સમજ ુ ં જોઈએ ક ક ટુ સ ૂચનાઓને કવી ર તે સમ છે
અને માણસો કવી ર તે વાતચીત કર છે .

1.3.1 યં ની ભાષા

ક ુ ર આ કટ ચરમાં ઇલે
ટ ોિનક સંકતો ારા ચા ુ કરવામાં આવેલા કટલાક અબજ ા ઝ ટરનો
સમાવેશ થાય છે . ા ઝ ટર ચા ુ અને બંધ છે થિતઓને ર ૂ કરવામાં આવે છે સંગી કો ારા,
અ ુ મે 1 અને 0 ારા. ક ટુ ર ારા મા સંગી-કોડડ ૂચનાઓ જ સમજવામાં આવે છે અને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 11

તે ુ ં પાલન કરવામાં આવે છે . તે અલગ ફોમટમાં આપવામાં આવેલી કોઈપણ ૂચનાઓ ુ ં પાલન
કરવામાં અસમથ છે . પ રણામે, આપણે સંગીમાં ક ુ ર
ટ ૂચનાઓ દાન કરવી આવ યક છે .
તેથી, આપણા તમામ ક ટુ ર ો ા સ સંગી ભાષામાં (0s અને 1s ની ેણી) માં લખાયેલા હોવા
જોઈએ.

ો ામની ૂચનાઓ CPU ને ચો સ યાઓ હાથ ધરવા માટ િનદિશત કર છે . અહ એક


આદશ ુ ં ઉદાહરણ છે ો ામમાં હાજર હોઈ શક છે :
10110000
આ વપરાશકતા માટ ફ ત ૧ એસ અને ૦ ની શ દમાળા છે . જો ક, સીપી ુ માટ, તે કાય કરવાની
ૂચના છે . આ અસલી છે ઇ ટલ માઇ ો ોસેસર ુ ે માઇ ો ોસેસરમાં
ૂચના. તે સીપી ન ૂય
ખસેડવાની ૂચના આપે છે . જો ક, આ સીપી ુ (CPU) માટ ઓપર ટગ ૂચના છે .

1.3.2 એસે બલી ભાષા

ક ુ ર ુ ં સીપી ુ (CPU) મા
ટ તેને જ સમ શક તેમ હોવા છતાં, મશીન લ વેજમાં ો ામ
િવકસાવવો એ ય તઓ માટ યવહા ુ નથી. મશીન લ વેજના િવક પ તર ક, ક ુ ટગના
પહલાના દવસોમાં એસે બલી લ વેજનો િવકાસ કરવામાં આ યો હતો. એસે બલી લ વેજ
ૂચનાઓ ુ ં િતિનિધ વ કરવા માટ સંગી સં યાઓના થાને સં ા ૂ ચ, અથવા ૂ ા શ દોનો
ંક
ઉપયોગ કર છે . દાખલા તર ક, સં ા ૂ ચઓ ઉમેરો, ૂળઅને .mov એસે બલી ભાષામાં મોટભાગે
ઉમેરવાનો ઉ લેખ કર છે , ુ ાકાર, અને અ ુ મે મેમર માં િવિવધ થળોએ
ણ ૂ યો ુ ં થાનાંતરણ
કર .ુ ં

જો ક, CPU એસે બલી ભાષા કાય મો ચલાવી શક ુ ં નથી. એસે બલી લ વેજ ો ામને િવિશ ટ
ો ામ તર ક ઓળખાતા િવિશ ટ ો ામનો ઉપયોગ કર ને મશીન લ વેજ ો ામમાં પાંત રત
કરવામાં આવે છે એસે બલર. એસે બલી લ વેજ સામા ય ર તે મશીન લ વેજના ર લેસમે ટ તર ક
વપરાય છે . જો ક, એસે બલી લ વેજમાં હ પણ કટલીક ખામીઓ છે . તેને મશીન લ વેજની મ
ુ ા િવ
સીપી ન ૃત ાનની જ ર છે . એસે બલી ભાષામાં લખાયેલો સૌથી સીધો ો ામ પણ તમાર
અસં ય ૂચનાઓ લખવાની જ ર છે . એસે બલી લ વેજને નીચલા તરની ભાષા તર ક પણ
ઓળખવામાં આવે છે કારણ ક તે મશીન લ વેજ વી જ છે .
12 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

1.3.3 ુ દરતી ભાષા

જો ક, એસે બલી લ વેજ સાથે પણ, માણસો માટ દરક ો ામને એસે બલી ભાષામાં લખવો સરળ
નથી. ક ુ સ મા
ટ સંગી ભાષા પર જ યા કર શક છે , યાર માનવો ે માં ૂચનાઓ
ુ છે . માનવી
પહ ચાડવામાં િન ણ ે , હ દ , તિમલ વગેર વી ુ દરતી ભાષાઓમાં સમ છે
અને સંવાદ સાધે છે . જો ક, માનવીય સમ શકાય તેવી ભાષાઓ છે સં દ ધ. દા.ત., "મ ૂ રબીન
વડ ટકર પર એક છોકર ને જોઈ" એ વા સં દ ધ છે . આ વા નો અથ એ ર તે કર શકાય છે ક
કાં તો કોઈ છોકર ને ટકર પર ટ લ કોપ સાથે જોવી અથવા કોઈ છોકર ને ટ લ કોપ પકડલી જોવી.

સારાંશમાં, ક ુ સ સાથે
ટ યાયન કરવા માટ ઉ ચ- તર ય ભાષા માટ ણ આવ યકતાઓ છે

1. માનવ વી ( ુ દરતી) ભાષાને મળતી આવે છે : ઉપયોગમાં સરળતા માટ

2. ૃિતમાં અસં દ ધ: ૂચનાનો મા એક જ અથ

3. મ ય થી કરનાર (કાય મ/કાય મ): ભાષાને સમ શકાય તેવા ક ટુ ર ફોમટમાં


પાંત રત કર શક છે .

તેથી, ે વી ભાષા વી જ ો ાિમગ લ વેજની જ ર છે , દરક ૂચના માટ એક જ અથ


ધરાવે છે , અને તેને ક ટુ ર મશીન લ વેજમાં પાંત રત કર શકાય છે . ો ાિમગ ભાષાઓ ુ ં
િવગતવાર વણન હવે પછ ના િવભાગમાં આપવામાં આ ુ ં છે .

1.4 ો ાિમગ ભાષા

િવિવધ ો ાિમગ લ વેજ C, C++, વા, પાયથોન વગેર વા ક ુ સ સાથે


ટ યાયન કરવા માટ
ઉપરો ત ણ જ રયાતો ૂણ કર છે . યાં કોઈ આદશ ભાષા નથી (જો ક કટલીકને સૌથી ખરાબ
ગણી શકાય). િવિવધ એ લકશનો માટ, િવિવધ ભાષાઓ વ ુ સાર અથવા ખરાબ ર તે કાય કર છે .
દાખલા તર ક, મે સીસ અને વે ટર સાથે કામ કરવા માટ MATLAB એ એક ે ઠ ભાષા છે .
ો ા સ ક ડટા નેટવ સ ુ ં સંચાલન કર છે તે સીમાં અસરકારક ર તે લખી શકાય છે .
વેબસાઇ સ બનાવવા માટ, પીએચપી એક અસરકારક ભાષા છે . ત ુ પરાંત, પાયથોન એક ઉપયોગી
ુ ી ભાષા છે . આ
સામા ય હ ન ુ તક તમામ ો ાિમગ યાલોને સમજવા માટ સી ભાષા પર યાન
ક ત કર છે . કોઈપણ ો ાિમગ ભાષાના ણ પાસાં હોય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 13

1. વા રચના: વા રચના ન કર છે ક તીકો અને અ રો ુ ં સંયોજન કોઈ પણ ભાષામાં


સાર ર તે રચા ુ ં છે ક નહ . દાખલા તર ક, વા " વિમગ લાય ચલાવો"""એ વા રચનાની
ૃ ટએ સા ુ ં નથી. ે ભાષા આના વ પમાં વા રચનાને આધાર આપતી નથી
<verb><verb><verb>. તેવી જ ર તે, સી ભાષામાં, આ દમ +10 20 મા ય મમાં નથી; જો
ક, 10+20 એ મા ય મ છે .

2. ટ ટ સ સેમે ટક: વા રચનાના આધાર શ દમાળા મા ય છે ક નહ તે ચકાસવા માટ થર


અથશા જવાબદાર છે . ઉદાહરણ તર ક, "અમે િમ ો છ એ" એ આના વ પમાં
છે <noun><verb><અજ ક વ>, વા રચનાની ટએ સા ુ ં વા છે , પરં ુ તે સા ુ ં ે
વા નથી. કારણ ક "અમે"બ વ
ુ ચન છે અને યાપદ "એએમ" એકવચન છે . આ કારની ૂલને
થર અથ ૂણ ૂલ તર ક ઓળખવામાં આવે છે . સી ો ાિમગ લ વેજમાં, 2.34*'x' વા રચનાની
ટએ સા ુ ં છે , પરં ુ તે થર અથ ૂણ ૂલ આપે છે કારણ ક અ ૂણાક ૂ યને અ ર ારા
ુ ાકાર કર શકા ુ ં નથી.

3. િસમે ટ ક:ભાષાનો અથશા કોઈ થર અથ ૂણ ૂલો િવના તીકોની દરક વા રચના મક ર તે


સાચી શ દમાળા સાથે એક અથને જોડ છે . ુ દરતી ભાષાઓમાં વા નો અથ ં ૂ ળો અથવા

અ પ ટ હોઈ શક છે . દાખલા તર ક, "મને ટ સી કહો, મહરબાની કર ને" વા એ ુ ં હોઈ શક ક કાં
તો કોઈ ય ત ુ ં નામ એક ટ સી છે , અથવા તે ટ સી ારા ાંક જવા માંગે છે . સરળ ર તે કામ
કરતા ક ુ ર માટ યો ય અને પ ટ
ટ ૂચનાઓની જ ર હોય છે , તેથી જ ો ાિમગ લ વેજ
િુ નિ ત કર છે ક દરક ો ામનો એક જ અથ છે .

કોઈપણ ો ાિમગ લ વેજ સાથે, વા રચનાની ૂલો થવાની સંભાવના છે . જો ક, તેને હ ડલ કર ુ ં


સરળ છે કારણ ક તમામ ો ાિમગ લ વેજ (તેમના ક પાઇલસ) વા રચનાની ૂલો શોધી કાઢ છે અને
ો ામસને રપોટ કર છે . િસમે ટક ૂલોને િનયંિ ત કરવી ુ કલ છે કારણ ક ો ાિમગ ભાષા તેમને
ૂચવતી નથી. તે મોટ ભાગે ખરાબ તક/કામગીર ને કારણે થાય છે , ો ામર લખે છે . તેથી, તેમને
શોધવાની અને તેને ઠ ક કરવાની જવાબદાર ો ામરની છે .
14 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

1.4.1 ૂચનાઓના કારો

સામા ય ર તે, CPU િમક ર તે એક પછ એક ૂચનાઓ (કોઈપણ ો ાિમગ ભાષામાં લખેલી)


ચલાવે છે . આને એ ઝે ુ નનો
શ વાહ (અથવા િનયં ણનો વાહ) કહવામાં આવે છે . જો ક, કોઈ
ખાસ સમ યાને લગતી, િનયં ણ વાહ બદલાઈ શક છે . દાખલા તર ક, એક અને બેક સં યાઓને
ઓળખવા ુ ં ઉદાહરણ ુ ઓ (િવભાગ 1.2માં આપેલા ઉદાહરણ ુ ં ુ રાવતન કર ).
ન ું

1. એક મન વી નંબર લો, ચાલો કહ એ n.

2. સં યા n ને આના વડ ભાગો બે અને બાક ના ભાગ ુ ં અવલોકન કરો, ચાલો કહ એ r.

3. જો r એ ૦ ની બરાબર છે , તો પછ આપણે કહ શક એ ક સં યા બેક છે .

4. અ યથા, નંબર િવ ચ છે જો r એ ૂ ય ન હોય તેવી કમત છે .

આ ઉદાહરણમાં, CPU પગલાં 1 થી એ ઝે ુ ન શ કરશે. િનયં ણના સામા ય


શ વાહ સાથે, તે ટપ 2
પર જશે. જો ક, જો તમે ઉદાહરણ ુ ઓ, તો પગલા 3 (અથવા 4) ના અમલીકરણનો આધાર ટપ 2 ના
પ રણામ પર રહલો છે અને ફ ત એક જ પગ ું (3 અથવા 4) અમલમાં ૂકવામાં આવશે. ત ુ પરાંત,
કટલીક ૂચનાઓને એક કરતા વ ુ વખત અમલમાં ૂકવાની જ ર પડ શક છે , ઉદાહરણ તર ક, સં યા
100 વખત ઉમેરવી.

તેથી બધી ો ાિમગ ભાષાઓ િવિવધ કાય માટ િવિવધ કારની ૂચનાઓ દાન કર છે . સી
ભાષામાં, આ બધી ૂચનાઓને ણ કારમાં િવભા જત કર શકાય છે .

1. કાર ઘોષણા ૂચના: આ ૂચનાઓનો ઉપયોગ સી ો ામમાં જ ર ચલો હર કરવા માટ થાય

છે .

2. કગ ણત ૂચના: આ ૂચનાઓનો ઉપયોગ સી ો ાિમગમાં કગ ણત યાઓ કરવા માટ

થાય છે .

3. િનયં ણ ૂચના: આ કારની ૂચનાઓનો ઉપયોગ સી ો ામમાં િનવેદનોના વાહ અને

એ ઝે ુ ન મને િનયંિ ત કરવા માટ થાય છે .



ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 15

નીચેના િવભાગોમાં, આપણે C ભાષાના બંધારણો, લા ણકતાઓ, ડટાના કારો અને ૂચનાઓ
જોઈ ુ ં નો ઉપયોગ સમ યાના ઉકલ માટ થઈ શક છે .

1.5 C ો ાિમગ લ વેજનો પ રચય

સી ુ ીક
ો ાિમગ એ ઉ ચ- તર ય અને સામા ય હ ન ુ ર
ટ ો ાિમગ લ વેજ છે ને ડિનસ રચીએ
1972માં િવકસાવી હતી. તે ુ ય વે ઓપર ટગ િસ ટ સ લખવા માટ િસ ટમ ો ાિમગ લ વેજ તર ક
િવકસાવવામાં આવી હતી. સી (C) ભાષાની ાથિમક લા ણકતાઓમાં નીચા તરની મેમર એ સેસ,
ક વ ્ સનો મયા દત સેટ અને વ છ શૈલીનો સમાવેશ થાય છે , તેને ઓપર ટગ િસ ટ સ અથવા
ક પાઇલર ડવલપમે ટ વા િસ ટમ ો ા સ માટ યો ય બનાવે છે . ઉપરાંત, સી ો ાિમગ લ વેજ
કસ-સે સ ટવ છે , નો અથ એ છે ક ૂડ અને નાના ૂળા રોના અલગ અથ છે .

1.5.1 સી ો ામ ંુ અમલીકરણ

આ િવભાગ સી ો ામના અમલીકરણ ુ ં વણન કર છે . એ સટ સન સાથેની ફાઇલ '.c' એ એક ોત


ફાઇલ છે . યાર ક પાઇલર ોત ફાઇલ ુ ં ક પાઇલ કર છે , યાર દરક પગલા પર, તે નવી ફાઇલ
બનાવે છે . આ નવી ફાઇલો ુ ં નામ ોત ફાઇલ ુ ં જ છે પરં ુ તે ુ ં એ સટ સન અલગ છે . સી
ો ામનો સં ૂણ અમલ આ ૃિત 1.6માં દશાવવામાં આ યો છે .

આ ૃિત 1.6 ‘ C’ ો ામ ુ ં અમલીકરણ


16 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

કોડ સંપાદક: ો ામ લખવા ુ ં આ પહ ું પગ ું છે . અમને સંપાદક/આઈડ ઈની જ ર છે યાં


ો ામનો ોત કોડ લખી અને એક સાથે સં હત કર શકાય .c િવ તાર. .c એ ટશન
ક પાઇલરને સી ો ામ ફાઇલને ઓળખવામાં મદદ કર છે . ચાલો આપણે કહ એ ક યાં એક C
કાય મ ફાઇલ છે ને કહવામાં આવે છે FirstProgram.c. તે ો ામનો કોડ ધરાવતી ોત ફાઇલ
છે .

ી ોસેસર: િ ુ તર ક અને ટ પણીઓને


ોસેસર સોસ કોડ લે છે (FirstProgram.c) ઇન ટ ૂ ર કર
છે , સમાિવ ટ ફાઇલ અને મે ોઝ, વગેરને િવ ૃત કર છે . ી ોસે ડ ફાઇલ આની સાથે સં હત થાય
છે . ુ ં (FirstProgram.i) ુ ં િવ તરણ કરો અને ક પાઇલરને મોકલો.

ક પાઇલર: આ પગલામાં, ક પાઇલર કોડમાં રહલી ૂલોને ચકાસે છે (FirstProgram.i). જો યાં કોઈ
ૂલો ન હોય, તો C ક પાઇલર તેને આની સાથે સં હ કર છે .ઓ જ ઓ ટ ફાઇલ તર ક
એ સટ સન. પ રણામે, FirstProgram.obj બનાવવામાં આવશે. આ.obj ફાઈલ ચલાવી શકાતી નથી.
લકર યા ચા ુ રાખે છે , .exe એ ટશન સાથે એ ઝે ટુ બલ ફાઇલ ુ ં િનમાણ કર છે .

લી કર : ચાલો આપણે પ ટતા કર ને ારં ભ કર એ ક લાઇ ેર ફં શ સ એ સી સો ટવેરનો ઘટક


છે , કોઈ ચો સ સી ો ામ નથી. પ રણામે, ક પાઇલર કોઈ પણ કાય, સ હત કવી ર તે કર છે
તેનાથી અ ણ છે printf અને scanf, ખરખર કામ કર છે . આ કાય ની યા યાઓ સંબિં ધત
ુ તકાલયોમાં રાખવામાં આવી છે , ને જોડવી આવ યક છે . લકર ક વડ #include વાંચે છે , તે
હડર ફાઇલને જોડ છે , િ કોણાકાર ક સની દર લખાયેલ છે (<stdio.h>) ઓ ટવ ફાઇલ
સાથે.આહડર ફાઈલો ુ /આઉટ ટ
મ ક ઈન ટ ુ િવધેયને ૂ ુ પાડ છે printf, scanf, વગેર. એકવાર
લકર તમામ લાઇ ેર કાય ને ઓ ટવ ફાઇલ સાથે લક કર છે , પછ ો ામને આમાં
પાંત રત કરવામાં આવશે ..exe ફાઈલ. આથી, એ ઝે ટુ બલ ફાઈલ થમ ો ામ.exe જનરટ
થશે.

લોડર: યાર પણ અમે કોઈ િવિશ ટ એ લકશનને ચલાવવાની ૂચના આપીએ છ એ યાર લોડર
કાય કર છે . લોડર આપેલ .exe ને લોડ કર છે (ફ ટ ો ામ.exe)ની ફાઇલ રમમાં. લોડ કયા પછ ,
ફાઇલ લોડર ો ામ ુ ં ારં ભક સરના ુ ં અપડટ કરશે અને CPU ને ણ કરશે.

CPU: આ પગલામાં, CPU લોડડ એ ઝે ટુ બલ ફાઇલમાંથી તમામ ૂચનાઓ લે છે અને તેમને


ચલાવે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 17

1.3 આપણને ક પાઇલરની શી જ ર છે ?

1.5.2 ક પાઇલરની જ ર યાત

ક પાઇલર એ એક સાધન છે મ ુ ય (વપરાશકતાઓ) અને ક ટુ સ વ ચે મ ય થી તર ક કામ કર


છે . ક પાઇલર ોત કોડને સમ ુ ા દત કર શક
શક છે અને તેને મશીન (નીચલા તરના) કોડમાં અ વ
છે . સી એ એક ઉ ચ- તર ય ભાષા છે મ ુ ય સમ શક છે . માણસો (વપરાશકતાઓ) ક ટુ રને
ઉ ચ- તર ય ભાષામાં આદશો મોકલે છે . પરં ,ુ ક ટુ ર મા મશીન (નીચલા તરની) ભાષાને જ
સમ છે . તેથી, આ તરને ૂ ર કરવા માટ આપણને એક ક પાઇલરની જ ર છે , ઉ ચ- તર ય
ભાષાને નીચલા તરની ભાષામાં પાંત રત કર છે .

1.5.3 સી અને ઇ ટ ેટડ ડવલપમે ટ એ વાયનમે સ (આઇડ ઇ) માટ િવિવધ ઉપલ ધ ક પાઇલસ

1. C ક પાઇલરો: સી ભાષા માટ ૫૦ થી વ ુ ક પાઇલસ ઉપલ ધ છે . સૌથી તા તરના ક પાઇલસ


2017 (એએમડ ારા એઓસીસી)ના છે , પરં ુ કટલાક 1970ના દાયકામાં (બેલ લે સ ારા
પીસીસીએમ) બનાવવામાં આ યા હતા.

િવિશ ટ હાડવેર અને સો ટવેર વાતાવરણ માટ ક પાઇલ કરલા સી કોડને ઓ ટમાઇઝ કરવા માટ
િવિવધ ક પાઇલસ જ ર છે . દાખલા તર ક, એઓસીસી (AOCC) એએમડ (AMD) િસ ટ સ માટ
ઓ ટમાઇઝ કરવામાં આ ુ ં છે , યાર ઇ ટલ ારા આઇસીસી (ICC) ઇ ટલ િસ ટ સ માટ
ઓ ટમાઇઝ કરવામાં આ ું છે . આની મ જ, અ ય ક પાઇલસ િવિવધ ઓપર ટગ િસ ટ સ પર
યાન ક ત કર છે . એકોન સી, લાંગ, એમએસવીસી, ઓપન64, ટ સીસી, સીસી અને
િમન ડ ુ ઉપલ ધ ક પાઇલસમાંથી કટલાક છે .

2. આઇડ ઇઃ આઈડ ઈ એ એક એ લકશન છે અ ય એ લકશનોના િવકાસને સરળ બનાવે છે .


તેઓ સામા ય ર તે ડવલપસના કાયને સરળ બનાવવા અને કોડ એ ડટસ, ડબ ગગ સહાય,
ક પાઇલસ, ઓટો કોડ ૂણતા અને અ ય ઘણા સ હત િવિવધ કારની યવહા રક િુ વધાઓ ઓફર
ુ માં વધારો કરવા માટ ડઝાઇન કરવામાં આ યા છે . યાં અસં ય C છે અને
કર ને તેમના આઉટ ટ
C++ IDEs ુ કલી િવના ુ લ
ો ાિમગ કરવા માટ ઉપલ ધ છે . તેમાંથી કટલાક છે િવઝ અ ુ ડયો,
ઈ લપ સ, ડવ સી++, એ સકોડ, કોડ:: લો સ, ટબ સી, કોડલાઈટ, નેટબીન વગેર.
18 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

આ ૃિત 1.7 કોડનો નેપશોટ:: ો ાિમગ માટ આઇડ ઇને લોક કરો

થમ કાય મ (First Program)

ો ાિમગ ભાષા તેમાં ો ામ લખીને જ શીખી શકાય છે . C ભાષામાં થમ કાય મ આ છે :

1. /* First C program: Hello programmers!*/


2. #include<stdio.h>
3. int main()
4. {
5. printf("Hello programmers!");
6. return 0;
7. }

આ ૃિત 1.8 સી માં થમ કાય મ

સમ ૂતી:

/* First C program: Hello programmers!*/


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 19

C ભાષામાં, અમે કોડની રખાઓ િવશેની મા હતી દાન કરવા માટ ટ પણીઓનો ઉપયોગ કર એ
છ એ. સંકલન યા દરિમયાન ક પાઇલર ટ પણી બો સની દર લખાયેલા ડટાને છોડ દ છે .
ટ પણીઓ બે ર તે કર શકાય છે : િસગલ-લાઇન ટ પણીઓ અને બ િુ વધ-લાઇન ટ પણીઓ.

(Single-line comments )એકજ-લીટ ની ટ પણીઓ છે ઉપયોગમાં લેવાય છે યાર ફ ત એક જ


લાઇનને છોડવાની જ ર હોય. િસગલ-લાઇન ટ પણી દશાવવા માટ ડબલ ફોરવડ લેશ (//)નો
ઉપયોગ થાય છે .

આ િસગલ-લાઇન ટ પણી છે .

(Multiple-line comments )ઘણી બધી-લીટ ટ પણીઓ: અમે મ ટ-લાઇન ટ પણીઓ માટ તીક
/*... */ નો ઉપયોગ કર એ છ એ. યાર આપણે એક કરતા વ ુ લીટ અથવા ફકરાને છોડવાની
જ ર હોય યાર તેનો ઉપયોગ થાય છે .

/*આ છે

બ ુિવધ લીટ ટ પણીઓ. */

#include<stdio.h>

#include માણ ૂત લાઇ ર


ે ઓ અથવા હડર ફાઇલોના સમાવેશ માટ વપરાય છે . આ લાઇ ેર ઓ
ૂવ યા યાિયત કાય ની યા યાઓનો સં હ કર છે .

ુ -આઉટ ટ
ઇન ટ ુ િવધેય એ હડર ફાઇલ ારા સંચા લત થાય છે ને બોલાવવામાં આવે છે stdio.h.
ુ -આઉટ ટ
તેમાં ઇન ટ ુ િવધેયોની યા યા છે મ ક printf અને scanf વગેર.

int main ()

ુ ય કાય તમામ સી ો ા સ માટ વેશ બ ુ તર ક સેવા આપે છે . બધી ૂચનાઓ લખવી


જોઈએ અથવા દરનો સંદભ આપવો જોઈએ main( ) કાય.

{
//instructions
return 0;
20 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

ક સ {અને} િવધેય લોકનો અવકાશ પ ટ કર છે . ફં શન ો ામના અમલીકરણ પછ પરત


કરલા ૂ ય સાથે કહવાતા થળે પાછા ફરશે. ની ટએ ુ ય( ) ફં શન, ો ામ એ ઝે ુ ન

સમા ત કર છે અને તે વાતાવરણમાં પાછો ફર છે યાં ો ામ અમલમાં હતો. આ ુ ય () િવધેય
એક ૂણાક પા આપે છે કાય મની બહાર નીકળવાની થિત ુ ં િતિનિધ વ કર છે , યાં 0
સફળ બહાર નીકળવા ુ ં િતિનિધ વ કર છે .

printf("Hello programmers!");

ઉપરની લીટ માં, આ કાય મમાં મા એક જ િવધાન છે : printf (). આ printf() િવધેય આમાં
ૂવ યા યાિયત થયેલ છે stdio.h હડર ફાઈલ, ક બમણા અવતરણમાં લખાયેલ અ રોને દશાવે છે

(" ") આઉટ ટ ન પર (મોિનટર).

1.6 C ભાષાના ૂળ ૂત ઘટકો

C ો ાિમગ લ વેજમાં નીચેનાં મહ વનાં ત વો છે :


1. ુ ય શ દો
2. ઓળખકતાઓ
3. િવભાજકો
4. અચળ, ડટા કારો અને ચલો
5. ૂવ- યા યાિયત કાય અને વા રચના
6. ઓપરટરો

1.6.1 ક વ ્ સ

દરક ભાષામાં કટલાક શ દો હોય છે નો ઉપયોગ િનવેદન બનાવવા માટ થઈ શક છે . સી


ો ાિમગ લ વેજ કટલાક શ દોને તેના ચો સ અથ સાથે સપોટ કર છે , નો ઉપયોગ સી
ો ાિમગ ટટમે સ અથવા ૂચનાઓના િનમાણ માટ થાય છે . આ ખાસ શ દોને અનામત શ દો
અથવા ક વ ્ સ તર ક ઓળખવામાં આવે છે . સી ો ાિમગ લ વેજમાં 32 ક વ ્ સ છે , કો ટક
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 21

1.1માં દશા યા ુ બ છે . 32 ક વ ્ સમાંથી દરકને


જ ૂવ- યા યાિયત કરવામાં આ યા છે , અને
ક પાઇલર પહલેથી જ તેનો અથ ણે છે .

ટબલ 1.1 ક વ ્ સની યાદ

if else double int float struct break auto

long switch case enum register typedef char extern

return union const short unsigned continue for signed

void default goto sizeof volatile do static while

1.6.2 ઓળખકતા

ઓળખકતા એ નામ અથવા ઓળખ છે નો ઉપયોગ ચલો, કાય , વગેરને ઓળખવા માટ થાય છે .
ૂળા રો અ ડર કોર (_) અને કોને જોડ ને ઓળખકતા બનાવવામાં આવે છે . તે કસ-સે સ ટવ છે ,
નો અથ એ છે ક અપરકસ અને લોઅરકસ ૂળા રોના અલગ અથ છે . ઓળખકતાનો થમ
અ ર અ ડર કોર અથવા ૂળા ર હોવો આવ યક છે . ૂવ- યા યાિયત અથવા આર ત શ દોનો
ઓળખકતા તર ક ઉપયોગ કર શકાતો નથી (દા.ત., લોટ, int, માટ, વગેર).

1.6.3 િવભાજકો

િવભાજકોનો ઉપયોગ એક ો ાિમગ ઘટક અથવા ત વને એક બી થી અલગ કરવા માટ થાય છે .
દાખલા તર ક, ઓળખકતાઓને ઓળખકતાઓથી અલગ કરવા, ક વ ્ સમાંથી ક વ ્ સ, એક
ઓળખકતાને બી થી અલગ કરવા, વગેર. તેઓ ે ફકરાઓમાં ઉપયોગમાં લેવાતા
િવરામ ચ ો વા લાગે છે .

દરક શ દ સફદ જ યા ારા અલગ પાડવામાં આવે છે , યાર િનવેદનોને અધિવરામનો ઉપયોગ
કર ને અલગ કરવામાં આવે છે (;) સી ો ાિમગમાં. સી ો ાિમગ ારા સપોટડ ુ લ ૧૪ િવભાજકો
છે . દાખલા તર ક: , ; : ' ' " { } જ યા વગેર.

ન ધ: જો યો ય િવભાજકનો ઉપયોગ કરવામાં આવે, તો સમ સી ો ામ મા બે લાઇનમાં લખી


શકાય છે . આ ઉદાહરણ આ ૃિત 1.9માં દશા ુ ં છે .
22 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

1. #include <stdio.h>
2. int main(){printf(" Hello programmers!"); return 0;}

આ ૃિત 1.9 માં લ ત


ુ મશ િવભાજકોનો ઉપયોગ કર ને કાય મ

ઉપરો ત ઉદાહરણમાંનો કાય મ (આ ૃિત 1.9) સંદશાને દિશત કરવા માટ ઓછામાં ઓછા શ
િવભાજકોનો ઉપયોગ કર છે . "હલો ો ામરો!". તેમ છતાં, તે ઓ ં વાંચી શકાય તે ુ ં છે અને
ખરાબ ો ાિમગ ે ટસ તર ક ગણવામાં આવે છે . ો ામને સમ શકાય તે માટ આપણે યો ય
િવભાજકો (ખાડા અને જ યાઓ) નો સમાવેશ કરવો જોઈએ.

િવભાજકો સાથે યો ય ર તે લખાયેલા એ જ ો ામ િવશે િવચારો, અગાઉની આ ૃિ (આ ૃિત


1.10) કરતાં વાંચવા માટ વ ુ સરળ છે .

1. #include<stdio.h>
2. int main()
3. {
4. printf(“Hello programmers!”);
5. return 0;
6. }

આ ૃિત 1.10 માં યો ય જ યા સાથે લખાયેલો કાય મ

1.6.4 કો ટ ટ, ડટા ટાઈ સ અને વે રયેબ સ

અચળ એ એક ૂ ય અથવા ચલ છે ો ામની સં ૂણતા દરિમયાન યથાવત રહ છે . દા.ત.: 5,


25, 10, 'A', વગેર. C ભાષામાં, અચળને બે કારમાં વગ ૃત કરવામાં આવે છે :

1. આ ફા ૂમે રક થરાંકો
2. કડાક ય થરાંકો

1. આ ફા ૂમે રક કો ટ ટ: આપણે આ અચળનો ઉપયોગ કર ને ૂળા રો અને ૦-૯ સં યાઓ ુ ં


િતિનિધ વ કર શક એ છ એ. આ ફા ૂમે રક અચળને વ ુ બે કારમાં વગ ૃત કરવામાં આવે છે :

a) અ ર કો ટ ટ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 23

b) શ દમાળા અચળ

એક જ અવતરણમાં ર ૂ કરવામાં આવેલી કોઈપણ મા હતીને અ ર અચળ કહવામાં આવે છે


દા.ત., 'એ', 'એચ', 'એ સ', 'એમ', '#', '7', વગેર.

ડબલ વોટમાં ર ૂ કરવામાં આવેલી મા હતીને ગ કો ટ ટ કહવામાં આવે છે , ઉદાહરણ તર ક,


" દ હ ", " ો ાિમગ", વગેર. સી ો ાિમગ ભાષામાં ુ લ અ રોની સં યા ૨૫૬ છે .

2. ક ય અચળ (Numeric Constant): ૂ ય- કારની મા હતીને દશાવવા માટ કડાક ય


અચળનો ઉપયોગ કર શકાય છે . બે કારના કડાક ય અચળ ૂણાક અને તરતા હોય છે .

કોઈ પણ અ ૂણાક ભાગ િવના કડાક ય ૂ યને ર ૂ કરવાને ૂણાક કહવામાં આવે છે . ઉદાહરણ
તર ક, 13, -13, 28, 54, -1248, અને અ ૂણાક ભાગ સાથેના કડાક ય ૂ યની ર ૂઆતને લોટ
કહવામાં આવે છે .
ઉદાહરણ તર ક 12.45, --34.12, 1.723.

3. ડટાના કારોઃસી ો ાિમગ લ વેજમાં, ડટાના કારો વે રયેબ સને મેમર સ પે છે . દરક ડટા
કાર ુ ં કદ મેમર ની મા ાના પમાં હોય છે . ડટાના કારોના આધાર, ચો સ મા ામાં મેમર અને
ઓપરશ સ વે રયેબ સને સ પવામાં આવે છે . અહ કટલાક ૂળ ૂત ડટા કારો છે :
char: તેનો ઉપયોગ એક અ રને સં હત કરવા માટ થાય છે . મોટા ભાગના ક પાઇલસમાં,
int: અ ર માટ મેમર ની જ રયાત એક બાઇટ હોય છે .

float: તેનો ઉપયોગ ૂણાક કારના ડટાનો સં હ કરવા માટ થાય છે .


તેનો ઉપયોગ અ ૂણાક સં યાઓનો સં હ કરવા માટ થાય છે .
void:
તે કોઈ ડટા કારો બતાવ ુ ં નથી. તેનો અથ કોઈ ૂ ય નથી. ફં શ સ ક કંઇ પરત
કરતા નથી તે સામા ય ર તે ૂ ય ડટા કારનો ઉપયોગ કર ને પ ટ કરવામાં આવે છે .

દરક ડટા કારની મેમર ની જ રયાત અલગ હોય છે . મેમર ની મા ાના આધાર, દરક ડટા
કારોમાં સં યાઓનો સં હ કરવા માટ એક િવિશ ટ ણ
ે ી હોય છે . મેમર ની મા ા અને તેની ર જ
સાથેના ડટા કારોની યાદ કો ટક 1.2માં આપવામાં આવી છે .

ટબલ.1.2 જ ર મેમર અને િવિવધ કારના ડટાની ર જ


24 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

Format
Data Type No of Bytes Range
Specifier

char (signed) %c 1 128 to 127

unsigned char %c 1 0 to 255

int (signed) %d 2 or 4 -32768 to 32767

unsigned int %u 2 or 4 0 to 65535

short int (signed) %d 1 -128 to 127

unsigned short int %u 1 0 to 255

-2147483648 to
long int (signed) %ld 4
2147483647

unsigned long int %lu 4 0 to 4294967295

float %f 4 3.4E-38 to 3.4E+38

double %lf 8 1.7E-308 to 1.7E+308

4. વે રયેબ સ: સરળ શ દોમાં કહ એ તો, વે રયેબલ એ એક એ ુ ં થળ છે માં કટલીક મેમર નો


ઉપયોગ િવિવધ કારના ડટા ટોર કરવા માટ થાય છે . દરક કારના ડટાને મેમર ના ુ દા ુ દા
કદની જ ર પડ છે . વે રયેબલનો કાર ડટાના કારને આધાર ન કરવામાં આવે છે . આ કાર
ૂ યોની ણ
ે ી પણ ન કર છે તે મેમર માં રાખી શકાય છે અને ચલ કર શક તેવી
કામગીર ની ેણી.
ચલ નામ ૂળા રો, અ ડર કોર અને કો ુ ં સંયોજન હોઈ શક છે , પરં ુ તેની શ આત ાં તો
અ ડર કોર અથવા ૂળા રથી થવી જોઈએ. C ભાષા કસ-સંવેદનશીલ છે ; ઉપલા અને નીચલા
અ રોના ૂળા રો અલગ હશે.

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;

int l, m, n; ચલ ( variable) હર કર છે અને યા યાિયત કર છે અને ક પાઇલરને બનાવવા માટ


કહ છે int- કાર ચલ l, m, અને n. ક પાઇલર ચલ બનાવે છે l, m, અને n ૂણાક કારો તર ક અને
ૂણાક મા હતીનો સં હ કર છે .

એ જ ર તે, float p, q, r, s; ચાર ચલ હર કર છે અને યા યાિયત કર છે p, q, rઅને s float


કારનો. double i, j; બે ચલ હર કર છે અને યા યાિયત કર છે i અને j double કારો, અને
લીટ ની char x; એક ચલ હર કર છે અને યા યાિયત કર છે x character ના કાર .ુ ં

વે રયેબલ ડ લેરશનના સમયે એસાઇનમે ટ ઓપરટર (=)નો ઉપયોગ કર ને વે રયેબ સની


શ આત કરવામાં આવે છે . વે રયેબલ ઇિનિશયલાઇઝેશનની વા રચના નીચે ુ બ છે :

કાર name_of_variable = કમત;

કટલાંક ઉદાહરણો નીચે ુ બ છે :


int n=10, m=20; //defining and initializing n and m.


float p=0.5, q=1.141; // defining and initializing p and q.
char var= ‘h’ // The variable var holds the value
‘h’. A single quote (‘’) is used for
a character
26 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

ચલ (Variable ) નામકરણ િનયમો: ચલ ુ ં નામ એક જ ૂળા ર હોઈ શક ( મ ક a અને b)


અથવા વણના મક વ પમાં ( મ ક ુ , student_name, પગાર, વગેર).

નામકરણના ચલ િનયમો નીચે ુ બ છે :


 ચલ નામ અ ડર કોર (_) અથવા ૂળા રોથી શ કર શકાય છે .

 ચલ નામ ક સાથે શ કર શકા ુ ં નથી.

 ચલ નામમાં ૂળા રો (ઉપલા અને નીચલા ક સામાં), કો અને અ ડર કોર ુ ં સંયોજન

હોઈ શક છે .

 વે રયેબલ નામ કસ સે સ ટવ હોય છે (મા સ અને મા સ બંનેને અલગ-અલગ વે રયેબલ

તર ક ગણવામાં આવે છે ).

 ચલ નામ કોઈ જ યા સમાવી શક ુ ં નથી.

 વે રયેબલ નામની લંબાઈ પર કોઈ મયાદા નથી.


 ચલ નામ ક વ ્ સ ન હોઈ શક.

ચલ નામોના કટલાક મા ય ઉદાહરણોમાં x, મર, first_name, _amount, ુ 1, a2b, _xyz નો



સમાવેશ થાય છે .

અયો ય ઉદાહરણો: 1x, થમ નામ, a-b.

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;
}

આ ૃિત 1.11 ચલને હર કરવા અને યા યાિયત કરવા ુ ં ઉદાહરણ

1.6.5 ૂવ- યા યાિયત િવધેય અને વા રચના

આ ક પાઇલરની સાથે ૂવ-અમલમાં ુ ાયેલા ફં શ સનો સેટ ઉપલ ધ છે . તેઓ કોઈપણ િવિશ ટ

કાય કરવા માટ વપરાય છે .
દા.ત. printf(), scanf(), strcpy(), વગેર.

વા રચના: સી (C) ભાષાની ૂળ ૂત વા રચના એ છે ક દરક િવધાનનો ત અધિવરામ (;))


સાથે થવો જોઈએ.

1.6.6 ઓપરટસ
એક િવિશ ટ કાર ુ ં તીક એક િવિશ ટ કાય કર છે . સી ો ાિમગ ભાષામાં ૪૪ ઓપરટરો ઉપલ ધ છે .
દા.ત. +, -, / %, વગેર.

1.7 C માં ઇન ટુ /આઉટ ટુ ( ે ટસ ઉદાહરણ)


28 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

ુ ને વાંચે છે , પ રણામની ગણતર કર છે , અને મોિનટર પર


કાય મ ક બોડમાંથી વપરાશકતા ઇન ટ
ુ દશાવે છે .
આઉટ ટ માણ ૂત લાઇ ેર િવધેય scanf ક બોડ પર વપરાશકતા ારા દાખલ
કરવામાં આવેલા બે નંબરો મેળવવા માટ વપરાય છે . આ કાય મ આ ૃિત 1.12માં દશા યો છે .

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 */

આ ૃિત 1.12 ‘C’ માં ઇન ટ


ુ /આઉટ ટ

ો ામ એ ઝે ુ ન
શ ુ ય ફં શનથી શ થાય છે . ડાબો ક સ { (લાઇન 4) ુ ય િવધેયના
અવકાશની શ આતને ચ ત કર છે , જમણા ક સ } (લાઇન 15) પર સમા ત થાય છે . લીટ 5-7
ચલ યા યાઓ યા યાિયત કર છે . નામ નંબર 1, નંબર 2 અને પ રણામ એ ચલોની ઓળખકતા
(નામ) છે . વે રયેબલ એ મેમર માં એક થાન છે નો ઉપયોગ ો ામ માટ ૂ ય રાખવા માટ થઈ
શક છે . ચલ સં યા1, સં યા2, અને પ રણામ એ બધા જ કારના ઇ ટ છે , ૂણાક ૂ યો ધરાવે
છે . ચલોને ડટા કાર સાથે યા યાિયત કરવા આવ યક છે , યારબાદ સીધા જ જમણા ક સ પછ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 29

ુ રવામાં આવે છે
તેના નામ ારા અ સ ુ યના શર રને શ કર છે . ચલ યા યા (રખાઓ 5-7)ને
એક જ િવધાનમાં જોડ શકાય છે , નીચે દશા યા ુ બ છે :

int number1, number2, result;

જો આપણે યા યા સીધી જ થમ પછ ૂક એ તો printf િનવેદન, પછ તે વા રચનાની ૂલ ુ ં


કારણ બનશે. યાર ક પાઇલર િનવેદનને ઓળખ ુ ં નથી, યાર વા રચનાની ૂલ થાય છે .
ક પાઇલર ૂલભરલા િનવેદનોને ઉકલવા માટ ૂલ સંદશ અને લાઇન નંબર ઉ પ કર છે . આ
કારની ૂલો ભાષાના િનયમો ુ ં ઉ લંઘન કર ને ઉ પ થાય છે . આને ક પાઇલ-ટાઇમ એરસ પણ
કહવામાં આવે છે . લીટ ૮ સંદશને દશાવે છે મોિનટર પર થમ નંબર દાખલ કરો.

printf(“Enter first number \n”);

ુ લેવા માટ ુ ં િનવેદન.


આગળની લીટ 9 આનો ઉપયોગ કર છે scanf વપરાશકતા પાસેથી ઇન ટ
ુ ઉપકરણ (ક બોડ) માંથી ઇન ટ
ફં શન ક ફ ઇન ટ ુ ને વાંચે છે . આ scanf િવધેયને બે પ રમાણો છે ,
"%d" અને "નંબર૧ (n)".

scanf(“%d”, &number1); /* reads first number inputted by user */

બંધારણ પ ટ કરનાર, થમ પ રમાણ મા હતીના કારની પરખા આપે છે ક વપરાશકતાએ


દાખલ કરવી જોઈએ. "%d" એ પ ટ કર છે ક મા હતી ૂણાક હોવી જોઈએ. બી ુ ં પ રમાણ એ સ
ઓપરટર, એ પરસે ડ (&) થી શ થાય છે , યારબાદ વે રયેબલ નામ એટલે ક, &number1 મેમર માં
સરનામાંને યા યાિયત કર છે યાં નંબર1 (વે રયેબલ) સં હત થવો જોઇએ. યારબાદ વે રયેબલ
નંબર 1 ની કમત ક ુ ર ારા તે મેમર સરનામાંમાં રાખવામાં આવે છે . લીટ 10 બી
ટ નંબરને
દાખલ કરવા માટ સંદશ દશાવે છે , અને કસરને પછ ની લીટ ની શ આતમાં ખસેડવામાં આવે છે ,
વપરાશકતા પાસેથી ચલ નંબર 2 ની કમત લે છે , અને તેને મેમર થાન પર સં હત કર છે . લાઇન 12
વે રયેબ સની ુ લ સં યા1 અને નંબર2ની ગણતર કર છે , અને એસાઇનમે ટ ઓપરટર વે રયેબલ
પ રણામને ૂ ય સ પે છે .

result = number1 + number2 ; /*assignment of addition of number1 and


number2 to result */
30 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

+ ઓપરટર અને એસાઇનમે ટ (=) ઓપરટરને સંગી ઓપરટર તર ક ઓળખવામાં આવે છે


કારણ ક તેને ચલાવવા માટ બે ઓપર ડની જ ર પડ છે . નંબર 1 અને નંબર 2 + ઓપરટરના
ઓપર સ છે . પ રણામ અને સમીકરણ કમત નંબર૧ + નંબર૨ ના ઓપર સ છે = ઓપરટર.
એસાઇનમે ટ ઓપરટર જમણા હાથના ઓપર ડની કમત ડાબા હાથના ઓપર ડને સ પે છે . લીટ
13 કોલ ફં શન printf તેની દર લખેલો સંદશો દિશત કરવા માટ.

printf( “Addition is %d\n”, result); /* print result */

ુ પ રમાણો છે printf, "ઉમેરો છે %d\n"અને પ રણામ.


િવધેય માટ બે ઇન ટ થમ પ રમાણ એ
ુ સંદશાઓ દશાવે છે અને બંધારણ પ ટ કરનારને સમાવે
બંધારણ િનયં ણ શ દમાળા છે . તે અ ક
છે %d ૂણાક ુ ં છાપન ૂચવે છે . છાપવાની કમત બી પ રમાણ ારા પ ટ કરવામાં આવે છે .
આ ઉપરાંત, ગણતર ઓ પણ દર કર શકાય છે printf િનવેદનો. અગાઉના બે િનવેદનોને એક
િનવેદનમાં જોડવામાં આ યા હોઈ શક છે .

printf(“ Addition is %d \n ”, number1 + number2); /* print sum of


number1 and number2 */

લીટ 14 ૂચવે છે ક ો ામ સફળતા ૂવક અમલમાં ૂકવામાં આ યો છે . લીટ 15 પર, જમણી


કસ ૂચવે છે ક ફં શન મેઇન સમા ત થઈ ગ ુ ં છે .

આ એકમમાં, અમે સી ભાષાની લા ણકતાઓ અને ૂળ ૂત માળખાની ર ૂઆતનો અ યાસ કય .


બાક ના ુ તકમાં, આપણે દરક અ ભ ય તઓ અને ૂચનાઓના કારોને તેમની વા રચના,
અથશા અને ઉપયોગો સાથે આવર લઈ .ુ ં

એકમ સારાંશ

િવભાગ 1.1 પ રચય


 ક ુ ટગ ઉપકરણ. કોઈપણ ક ુ ટગ ઉપકરણ (ક ટુ ર) બે ુ ય કાય કર છે : ગણતર
કરવી અને ગણતર ના પ રણામોને યાદ રાખ .ુ ં
 સમ યા ંુ સમાધાન. સમ યા ુ ં િનરાકરણ એ સમ યાને ઓળખવા ુ ં છે , તેને ઉકલવા માટ
(તબ ાવાર ૂચનાઓ) અ ગો રધમ બનાવે છે , અને પછ ક ુ ર
ટ ો ામ બનાવવા
માટ તેનો અમલ કર છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 31

 ક ટુ શનલ િથ કગ
o ઘોષણા મક ાન. િનવેદનો ત ય છે . દા.ત., ૨, ૪, અને ૬ એ બેક સં યાઓ છે .
o અિનવાય ાન. ુ વ
ૂચનાઓનો સ ૂહ અ ક ુઓ કવી ર તે કરવી તે િવશેની
મા હતી આપે છે .
િવભાગ 1.2 ક ટુ સ
 ક ૂટરોના કારો
o ચો સ ો ામ થયેલ ક ૂટર. ક ુ ટગ ઉપકરણ ફ ત એક િવિશ ટ કાય કર
છે , એટલે ક, તે અ ય કાય માટ ો ામ કર શકા ુ ં નથી, દા.ત., ક ુ ેટર.

o સં હત ો ામ કર ંુ ક ટુ ર. સં હત ો ામ ક સે ટમાં, ક ુ ર ક
ટ ુ રને

સં હત અથવા આપવામાં આવે ું કાય કર છે . તમામ સં હત ો ા ડ
ક ુ રમાં CPU, મેમર અને ઇન ટ
ટ ુ /આઉટ ટ
ુ ઉપકરણોનો સમાવેશ થાય છે .
o ક ટુ ર મેમર ઓગનાઇઝેશન . ક ુ રની મેમર
ટ ૂબ જ નાના એકમોમાં
િવભા જત થાય છે ને બાઇટ કહવામાં આવે છે . એક જ અ ર અથવા નાની
સં યા એક જ બાઇટમાં સં હત થાય છે . મેમર ના દરક બાઇટને એક અન ય
સરનામાં ારા ઓળખી શકાય છે .
િવભાગ 1.3 ક ૂટર સાથે યાયન કવી ર તે કરવો
ક ુ ર
ટ ભાષા સમ છે તે ભાષામાં આપણે એક કાય ( ૂચનાઓ) આપવી પડશે. ક ુ ર

સંગી ભાષા 0s અને 1s ને સમ છે .
 મશીન ભાષા. ક ુ ર આ કટ ચરમાં તેને મળતા ઇલે
ટ ોિનક િસ નલ ારા ચા ુ કરવામાં
આવેલા કટલાક અબજ ા ઝ ટસનો સમાવેશ થાય છે (0 ઓફ (લો વો ટજ) અને 1 ઓન
(હાઇ વો ટજ) ુ ં િતિનિધ વ કર છે . તેથી, ક ુ સ
ટ સંગી ભાષામાં લખાયેલા ો ામને
સમ છે (0s અને 1s ની ણ
ે ી).
 એસે બલી ભાષા. એસે બલી લ વેજ ૂચનાઓ ુ ં િતિનિધ વ કરવા માટ સંગી
સં યાઓના થાને સં ા ૂ ચ, અથવા ૂ ા શ દોનો ઉપયોગ કર છે . દાખલા તર ક,
ંક
સં ા ૂ ચઓ ઉમેરો, ૂળ, mov વગેર. આ એસે બલર એસે બલી ભાષાને મશીન ભાષામાં
પાંત રત કર છે .
32 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

 ા ૃિતક ભાષા. ે , હ દ , તિમલ વગેર વી માનવીય સમ શકાય તેવી ભાષાઓ. જો


ક, તે ૃિતમાં સં દ ધ છે અને ઉ ચ- તર ય ો ાિમગ ભાષા તર ક તેનો ઉપયોગ કર
શકાતો નથી.
િવભાગ 1.4 ો ાિમગ ભાષાઓ
 ો ાિમગ ભાષાઓ. આ ઉ ચ- તર ય ો ાિમગ લ વેજ છે કોઇ પણ ો ાિમગ
લ વેજ છે વ ુ વપરાશકતા-મૈ ી ૂણ ો ાિમગ સંદભમાં ો ામના િવકાસને સ મ
બનાવે છે અને સામા ય ર તે ક ુ રના હાડવેર આ કટ ચરથી
ટ વતં હોય છે .
ત ુ પરાંત, ૃિતમાં અસં દ ધ છે .
 ો ાિમગ ભાષાના પાસાઓ
o વા રચના. વા રચના ન કર છે ક તીકો અને અ રો ુ ં સંયોજન કોઈ
પણ ભાષામાં સાર ર તે રચા ુ ં છે ક નહ . ક પાઇલર વા રચનાની ૂલો (જો
કોઈ હોય તો) ૂચવે છે .
o ટ ટ સ િસમે ટક. વા રચનાના આધાર શ દમાળા મા ય છે ક નહ તે
ચકાસવા માટ થર અથશા જવાબદાર છે .
o િસમે ટક. ભાષાના અથશા વા રચનાની ૂલો િવના વા રચનાની ટએ
મા ય તીકો સાથે અથને જોડ છે . િસમે ટક ુ
ૂલ અિન છનીય આઉટ ટ
ઉપ કર છે . ો ામમાં િસમે ટક ૂલને તપાસવાની જવાબદાર ો ામસની
છે .
 ૂચનાઓના કારો
o હરાતની ૂચના ટાઇપ કરો. આનો ઉપયોગ ો ામ (સી લ વેજ)માં જ ર
વે રયેબ સ હર કરવા માટ થાય છે .
o કગ ણતની ૂચના. આ ૂચનાઓનો ઉપયોગ સી ો ાિમગમાં કગ ણત
યાઓ કરવા માટ થાય છે .
o િનયં ણ ૂચના. આ કારની ૂચનાઓનો ઉપયોગ સી ો ામમાં િનવેદનોના
વાહ અને એ ઝે ુ ન મને િનયંિ ત કરવા માટ થાય છે .

િવભાગ 1.5 C ો ાિમગ લ વેજનો પ રચય
1972માં ડિનસ રચી ારા ઓપર ટગ િસ ટમ લખવા માટ િસ ટમ ો ાિમગ લ વેજ તર ક
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 33

િવકસાવવામાં આવી હતી.


 લો ઓફ સી ો ામ. Filename.c ી ોસેસરક પાઇલરobject

code(filename.obj) કડ કરનારફાઈલનામ.exeલોડરઆઉટ ટ
 ક પાઇલર. તે ો ામમાં રહલી ૂલોને ચકાસે છે (જો કોઈ હોય તો) અને ઉ ચ તરથી
નીચલા તરની ભાષામાં ભાષાંતર કરો.
 લકર. તે સમાિવ ટ લાઇ ેર ઓમાં યા યાિયત તમામ જ ર કાય ને જોડ છે .
 લોડર. એ ઝે ુ ન માટ
શ ો ામને ક ુ ર મેમર માં લોડ કરો.

 સી માટ ક પાઇલસ.એકોન સી, લગ, એમએસવીસી, ઓપન64, ટ સીસી, સીસી અને
િમન ડ ુ વગેર.
 ઇ ટ ેટડ ડવલપમે ટ એ વાયનમે ુ લ
સ (આઇડ ઇ) . િવઝ અ ુ ડયો, ઈ લપ સ,
ડવ સી++, એ સકોડ, કોડઃ: લો સ, ટબ સી, કોડલાઈટ, નેટબીન વગેર.
િવભાગ 1.6 C ભાષાના ૂળ ૂત ઘટકો
 ક વ ્ સ. િવિશ ટ અથ ધરાવતા શ દોને આર ત શ દો અથવા ક વ ્ સ તર ક
ઓળખવામાં આવે છે .
 ઓળખકતાઓ. આઇડ ટફાયર એ નામ અથવા ઓળખ છે નો ઉપયોગ ો ામના
વે રયેબ સ, ફં શ સ અથવા અ ય ઘટકોને ઓળખવા માટ થાય છે . તે ક વ ્ સની
ૂ ચમાંથી હોઈ શક ુ ં નથી.
 સતત: આ ફા ૂમે રક થરાંકો (દા.ત., 'એ', 'એ સ', "હલો" વગેર) કડાક ય થરાંકો (1,
2, 8, 567, વગેર)
 ડટાના કારો.char, int, float, void
 વે રયેબ સ. ચલ એ એક લેસહો ડર છે ની કટલીક મેમર નો ઉપયોગ િવિવધ કારના
ડટાનો સં હ કરવા માટ થાય છે (દા.ત., int a =10, અ હયા a એ એક ૂણાક કાર ચલ છે
ની કમત 10 છે )

કસરતો
ખાલી જ યાઓ ભરો
34 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

નીચેના િવધાનો માટ, ખાલી જ યા ભરો:

1. આ એકમમાં, આપણે ણ કારની ભાષાઓની ચચા કર હતી: __ _________and ___

2. ____________translates મશીન લ વેજમાં ઉ ચ- તર ય ભાષા છે .

3. _______________are સામા ય ર તે ો ામ લખવા માટ વપરાય છે .

4. સી ભાષામાં, ક બોડ ______________function માંથી ડટા વાંચવા માટ વપરાય છે .

5. હડર ફાઈલ ___ આના માટના કાય મમાં સમાિવ ટ છે printf, scanf કામગીર ઓ.

જવાબો: 1. મશીન લ વેજ, એસે બલી લ વેજ અને ઉ ચ તર ય ભાષાઓ. 2. ક પાઇલર

3. સંપાદકો/આઈડ ઈ 4. િ ટફ 5. stdio.h

બ ુિવધ પસંદગી ો

1. નીચેના િવક પોમાં, ક ુ ં એક ો ાિમગ ભાષા નથી?

એ. સી# બી. વા સી. સી. ડ . બાર

2. ક પાઇલર ુ ં કાય ુ ં છે ?

a. ુ ો કોડને ક
ડ ુ ર ો ામમાં પાંત રત કર ર ા છે

b. મશીન- તરની ભાષામાં ઉ ચ- તરની ભાષાને પાંતર કર ર ા છે

c. ઉ ચ- તર ય કાય મને બાઇનર કોમાં પાંત રત કર ર ા છ એ

d. ૂણાકને એસે બલી ભાષામાં પાંત રત કર ર ા છ એ

3.CPU ના ુ ય ઘટકો આ છે :
a. ર ટસ, ALU, મોિનટર b. િનયં ણ એકમ, ALU, હાડ ડ ક
સી. ક ોલ િુ નટ, એ.એલ. .ુ d. ુ ય મેમર , ALU, િનયં ણ એકમ

ુ ક ુ ં હશે:
4. નીચેના કોડ નપેટ ુ ં આઉટ ટ
#include<stdio.h>
int main ()
{
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 35

int main = 110;


printf("%d", main);
return 0;
}
a. વા રચના ૂલ ઉ પ કર છે . b. ક પાઇલ સમય ૂલ પેદા કર છે

c.. 110 d. ઉપરમાંથી એક પણ નહ

ુ ી અને ___ ો ાિમગ ભાષા છે .


5. સી એ સામા ય હ ન

a. ઉ ચ- તર b. નીચલા તર ુ ં

c. એસે બલી d. મશીન

6. નીચેનામાંથી કઇ ૂલ વા રચનાની ૂલ હઠળ આવે છે ?


a. int result= 10/ 'x'; b. int result= 10/2.3;
c. int result= 10+20; d. int result= 10 20;
બ ુિવધ પસંદગીના ોના જવાબો

1. ડ 2. બી 3. સી 4. એ 5. એ 6. a

ૂ ા અને લાંબા આ સર ટાઇપના


ંક ો

1. નીચેના કો ટકને સરખાવો.

મા હતી કાર પ ટ કરનાર ંુ બંધારણ કરો


A. char 1. %lf
B. float 2. %Lf
C. double 3. %c
D. long int 4. %hd
E. unsigned int 5. %f
F. int 6. %lu
G. short int 7. %u
H. Signed char 8. %c
I. long double 9. %li
J. unsigned long int 10. %d
36 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

2. અમા ય ચલને શોધો અને ૂલો સમ વો.


NEWCODE _NEW New-salary #MEDIAN
circle.822 fog in 2022 time over FLOAT
wORld qu#e$ue. Yours’sloss Area#4
2022_YMonth 1 old +Press new_*

3. હડર ફાઈલ એટલે ?ુ ં સી ો ા સમાં હડર ફાઇલોનો ઉપયોગ સમ વો.

4. ુ ં ુ ય () િવના 'સી' ો ામ ુ ં સંકલન કર શકાય? જો ના, તો શા માટ તે સમ વો.


5.સી ો ામમાં printf() અને scanf() ંુ છે ? એક ઉદાહરણ ારા સમ વો.

6. ુ ભાિષયા અને ક પાઇલર વ ચેનો તફાવત સમ વો. ઉપરાંત, ની ૂળ ૂત યા દોરો

સી ો ામ ંુ સંકલન.

7.િવધાનો વાંચો a) અને (b) તે સાચા છે ક ખોટા. તમા ું વાજબીપ ુ ં સમ વો.

a) મશીન ભાષાઓ સામા ય ર તે મશીન આધા રત હોતી નથી.


b) સી સામા ય ર તે મશીન- વતં હોવા ુ ં માનવામાં આવે છે .
8.નીચેની ર તે "Welcome to the Learning World" િ ટ કરો:
a) Welcome to the Learning World
b) Welcome
to
the
Learning
World
9. નીચેનામાંથી દરક માટ સા ુ ં િનવેદન લખો; જો કોઈ ૂલ ન હોય, તો "કોઈ ફરફાર નહ " લખો.
(a.) int main{}
(b.) print(“Hello Learner”);
(c.) int variable
(d.) intx=10 y=20;
(e.) print ("Hello!")
(f.) #include(stdio.h)
(g.) char chr = "x";
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 37

(h.) Printf("અ ર = %c" chr);


(i.) scan("%d", &xyz");
(j.) #include(stdio)

ુ માટ ચ ત કરો printf િનવેદનો; જો આઉટ ટ


10. નીચેનાં આઉટ ટ ુ ન હોય, તો "કંઈ ન હ" લખો.
ધારો ક a = 3 અને b = 4.

(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" );

ે ટકલ

1. કોડને ક પાઈલ કયા પછ વપરાશકતા પાસેથી બે ૂણાકો વીકારવા માટ ો ામ લખો, આ


ૂણાકોનો સરવાળો ગણો, અને આની મદદથી પ રણામ છાપો printf.

2. એક ૂણાક, એક અ ર, અને ક બોડ પર વપરાશકતા ારા એક તર ુ ં હોય તેને વીકારવા માટ


કાય મ લખો, આ કમતોને છાપો, આની મદદથી printf.

3. એક ો ામ લખો "Computer Programming: Theory and Practicals" ને બે લીટ માં િ ટ કર છે ,


મ ક થમ પં તમાં "Computer Programming::" અને બી પં તમાં “Theory and Practicals”

વ ુ ણો
GNU ક પાઇલર કલે શન (gcc) ની મદદથી C ો ામને કવી ર તે ચલાવવો
38 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

આપણે ણીએ છ એ તેમ, સી એ ઉ ચ- તર ય ભાષા છે , નો અથ છે , તમાર માનવ-સમ


સમ શકાય
તેવા ફોમટમાં લખાયેલા ોત કોડને મશીન-સમ
મશીન સમ ુ ા દત કરવાની જ ર
શકાય તેવા ફોમટમાં અ વ
છે . તેથી, a કાય મને ક પાઇલ કરવા માટ ક પાઇલરની જ ર છે . એન ુ ક પાઇલર કલે શન
( સીસી) એ સી ો ા સના સંકલન માટ ઉપલ ધ સૌથી લોકિ ય ક પાઇલસમાં ુ ં એક છે . તે
મફતમાં ઉપલ ધ છે .

અહ સીસીનો ઉપયોગ કર ને સી ો ામને ક પાઇલ કરવા અને ચલાવવાના પગલાં છે .

1. C કાય મ લખો અને તેની સાથે તેને સં હો .c િવ તાર. દાખલા તર ક fProgram.c


2. હવે, આ કાય મની મદદથી ક પાઇલ કરો gcc ટિમનલ/command આદશ
ો ટ પર આદશ.
દાખલા તર ક gcc fProgram.c -o fProgram
3. આદશ ારા કાય મ ચલાવો ./f ો ામ લન સ અને મેક મશીનો પર અને fPrograms
િવ ડોઝ મશીનો પર.

ક ૂટરોનો ઇિતહાસ
ક ુ સ પહલાં એક સમય હતો, તેમ છતાં તે હવે માનવ
ટ વનનો એક અ ભ ભાગ છે . ક ટુ સનો
ઇિતહાસ અને ગિત ણવા ું આપણને ક ટુ ર ઉ પાદનમાં જ ટલતા અને સ ના મકતાને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 39

સમજવામાં મદદ કર શક છે . ક ુ સને તેમની પેઢ , કદ, કાય અને ઉપયોગના આધાર બ િુ વધ ર તે

વગ ૃત કર શકાય છે . ક ુ રની ચાર પેઢ ઓ અ ત વમાં છે . 1940-1958ના
ટ થમ પેઢ ના
ક ુ સમાં મેમર માટ સ કટર અને મે ને ટક
ટ સની ડઝાઇન તૈયાર કરવા માટ વે ૂમ ટ ૂ સનો

ઉપયોગ કરવામાં આ યો હતો. આ ક ુ સ આખો ઓરડો બાંધવામાં લઈ ગયા હતા અને (કદ અને

ળવણીને કારણે) તે ુ ં સંચાલન કર ુ ં મ ુ ં પડ ુ ં હ .ુ ં યાર બાદ, બી પેઢ ના ક ુ સ (1959-

1964) ા ઝ ટર પર આધા રત હતા, ને એટ એ ડટ (AT& T) ની બેલ લે સમાં િવકસાવવામાં
આ યા હતા. એક જ ા ઝ ટર લગભગ ૪૦ વે ુ ટ ુ સને બદલી નાખી હતી.
મ થમ પેઢ ના
ક ૂટરોની સરખામણીએ તે નાના, ઝડપી અને ભરોસાપા હતા. આ સમય દરિમયાન, ફો ાન અને કોબો
વી ઉ ચ- તર ય ભાષાઓ િવકસાવવામાં આવી હતી. ો ામની ૂચનાઓને મેમર માં સં હત
કરવામાં આવી હતી, મે ને ટક મથી મે ને ટક કોર ટકનોલો માં પાંત રત થતી હતી. આ પેઢ ના
ારં ભક ક ુ સ અ ુ ઉ ોગ માટ બનાવવામાં આ યા હતા.

ુ ાં, ક
વ મ ુ રની
ટ ી પેઢ 1965 થી 1970 ુ ી શ થાય છે . ઇ ટ ેટડ સ ક સ

(આઇસી(IC))નો તેના પાયા તર ક ઉપયોગ કર ને ી પેઢ ના ક ુ સ િવકસાવવામાં

આ યા હતા. િસ લકોન ચ સ પર લગાવવામાં આવેલા સમાન ા ઝ ટર પરં ુ નાના, ક ુ ર અને

ઇિતહાસ િવશે
નો ઉપયોગ કરવામાં આ યો હતો, ક ુ રની ગિત અને અસરકારકતામાં ન ધપા

વ ુ વાંચો
વધારો કર છે . ચોથી પેઢ ની શ આત 1971માં થઈ હતી. આ માઈ ો ોસેસર આધા રત
ક ુ સ છે . આપ ુ ં તા કા લક વાતાવરણ ચોથી પેઢ ના ક
ટ ુ સથી ભર ું છે . આ

પેઢ માં સેમીક ડ ટર મેમર મ ક રોમ, રમ વગેરનો ઉપયોગ થતો હતો. આ પેઢ માં
ન ધપા ર તે નાના કદના અને વ ુ મતાવાળા ક ુ સ ઉપલ ધ હતા. ક
ટ ુ રની

પાંચમી પેઢ આ ટ ફિશયલ ઇ ટ લજ સ (એઆઈ) હોઈ શક છે . તે ક ુ રને માણસની

મ વત છે . િવગતવાર વાંચવા માટ, ૃપા કર ને QR કોડ ુ ઓ.
40 |કો ટુ રનો ઉપયોગ કર ને સમ યા ું િનરાકરણ

સંદભ અને ૂચવેલ વાંચનો


1. Lઅનડ વ ટ, આઈ. ટના. "ક ુ સ અને ો ાિમગનો પ રચય." (2004).

2. બી.એલ. ુ ને અને અિનતા શેઠ, ો ાિમગ ફોર ો લેમ સો વગ (2019)


3. https://nptel.ac.in/courses/106105171
4. https://nptel.ac.in/courses/106104074
5. https://ocw.mit.edu/courses/6-00-introduction-to-computer-science-and-programming-fall-
2008/
45 | P a g e

C માં ઓપરટરો અને ઇન ટુ -

2
d

આઉટ ટુ
એકમ િવિશ ટતાઓ

આ એકમ ારા આપણે નીચેનાં પાસાંઓની ચચા કર છે :


● C ભાષામાં િવિવધ ઓપરટરોનો વપરાશ;
● ઓપર સની સં યાના આધાર ઓપરટરો ું વગ કરણ
● ઓપરટરની ૂિમકાના આધાર વગ કરણ
● ઓપરટસની અ તા અને સાંયો ગકતા શીખવા માટ;
● િવિવધ ઓપરટસ પર સમ યાઓની ે ટસ કરો;
● C ભાષામાં ઇન ટુ અને આઉટ ટુ ;
● C ભાષામાં બંધારણ થયેલ ઇન ટુ અને આઉટ ટુ ;
● ફાઇલો મારફતે ઇન ટુ અને આઉટ ટુ ;

ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
ૂ ી માટ
એકમ દરક િવષયની સમ ત ૂઆર કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કારની કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ ,
આઉટ ટુ -આધા રત ો, ાયો ગક કસરતો, વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે
સંદભ અને ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .

તકસંગત

આ એકમમાં, અમે થમ એકમમાં શ થયેલા સી ો ાિમગના પ રચયને િવ ૃત કર એ છ એ. તે


સી ો ાિમગમાં માણ ૂત ઇન ટુ અને આઉટ ટુ થી શ થાય છે . ૂળ ૂત ઇન ટુ અને આઉટ ટુ
ુ ટ લટ ફં શ સના વા રચના અને અથશા ની ચચા કરવામાં આવી છે . આગળ, અમે સી
42 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

ભાષામાં ઉપલ ધ િવિવધ કારના ઓપરટરોની ચચા કર એ છ એ, ગણતર ની સમ યાને હલ


કરવા માટના ૂળ ૂત ત વો છે . યારબાદ, તે ફાઇલો ારા ઇન ટુ અને આઉટ ટુ નો સં ત
પ રચય આપે છે . જોક, બાક ના એકમો વાં યા પછ આ ભાગને પાછળથી આવર શકાય છે . તે
ૂણતા ખાતર અહ ઉમેરવામાં આવે છે . આ એકમ ારા, અમે બે ૂળ ૂત ોના જવાબ આપીએ
છ એ: (1) કવી ર તે ઇન ટુ લે ું અને સી ો ાિમગ લ વેજનો ઉપયોગ કર ને આઉટ ટુ કવી ર તે
બતાવ ?ું 2) િવિવધ કારના ઑપરટસને સાંકળતી કટલીક ગણતર ઓ કરતી અ ભ ય તઓ કવી
ર તે લખવી?

ૂવ-આવ યકતાઓ

ૂળ ૂત ગ ણત

એકમ પ રણામો

આ એકમનાં પ રણામોની યાદ નીચે ુ બ છે ઃ



U2-O1: ૂળ ૂત C ઓપરટરો ું વણન કરો
U2-O2: વણન કરો િવિવધ ઓપરટસની સહયોગીતા અને અ તા
U2-O3: સમ વ ું C ો ાિમગ ભાષામાં ફૉમટડ ઇન ટુ અને આઉટ ટુ
U2-O4: સમ યાના િનરાકરણમાં િવિવધ ઇન ટુ અને આઉટ ટુ પ િતઓ લા ુ કરો
U2-O5: લા ુ કરો િવિવધ ઓપરટરો જ ટલ સમ યાઓ હલ કરવા માટ

એકમ-1 અ યાસ મના પ રણામો સાથે અપે ત મેિપગ


(1- નબળો સહસંબધ
ં ; 2- મ યમ સહસંબધ
ં ; 3- મજ ૂત સહસંબધ
ં )
પ રણામો
CO-1 CO-2 CO-3 CO-4 CO-5 CO-6
U2- O1 3 3 3 - 3 1
U2- O2 1 1 2 2 1 -
U2- O3 2 1 3 1 2 1
U2- O4 - - 3 1 2 2
U2- O5 3 3 3 - 3 1
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 43

2.1 અ ભ ય તઓ અને સીમાં ઓપરટસ (Expressions and Operators in C)

થમ એકમમાં, અમે ો ાિમગ લ વેજમાં સામેલ િવિવધ કારની ૂચનાઓનો અ યાસ કય :


ટાઇપ ડ લેરશન, કગ ણત ૂચનાઓ અને િનયં ણ ૂચનાઓ. જ ટલ સમ યાને હલ કરવા માટ
િવિવધ કામગીર શામેલ હોઈ શક છે . આ કામગીર િવિવધ ઓપરટરોનો ઉપયોગ કર ને કરવામાં
આવે છે . તમે ગ ણતનો અ યાસ કરતી વખતે આ ઓપરટરોનો ઉપયોગ કય હોવો જોઈએ, મ ક
+, -, =, વગેર. ો ાિમગ લ વેજમાં, આપણે આ ઓપરટસનો ઉપયોગ િવિવધ ઓપર સ પર કર
શક એ છ એ. ઓપર સ સાથે મળ ને, તેમને બોલાવી શકાય છે અ ભ ય તઓ. સરળ
અ ભ ય તમાં એક જ અચળ ૂ ય, ઓળખકતા, અથવા શા દક શ દમાળા અથવા િવધેયનો
સમાવેશ થાય છે . ક સમાં બંધ આવા કારના સરળ અથવા બ િુ વધ અ ભ ય તને કહવામાં આવે
છે ાથિમક સમીકરણ.

ઉદાહરણ. ધારો ક કોઈ ો ામર કોઈપણ ચો સ વગના િવ ાથ ઓના પ રણામો ઉ પ કરવા


માટ એક ો ામ િવકસાવવા માંગે છે . તે માટ, તેણે મેળવેલા ુ લ ુ , ટકાવાર , વગેરની ગણતર

કરવી પડશે, માં કગ ણત ઓપરટરની જ ર પડશે, અને પ રણામો સં હત કરવા માટ, સ પણી
ઓપરટરની જ ર પડશે. ડ
ે શોધવા માટ, ો ામસને રલેશનલ ઓપરટસની જ ર પડશે. એક
કરતા વ ુ રલેશનલ ઓપરટરને જોડવા માટ તેને લો જકલ ઓપરટસની જ ર પડશે. આમ,
આપણે કહ શક એ ક વા તિવક વનની સમ યાઓના િનરાકરણ માટ િવિવધ કારના
ઓપરટરોની જ ર પડ છે . િવિવધ કારની સમ યાઓને ઉકલવા માટ C ો ાિમગ લ વેજ િવિવધ
કારના ઓપરટસને સપોટ કર છે , ની ચચા આપણે આ િવભાગમાં કર .ું

ઓપરટસ વે રયેબલ, કો ટ ટ વગેર વ ચે ચો સ કારની કામગીર કર છે . સી ભાષામાં,


ઓપરટસને યાપકપણે આ ર તે વગ ૃત કરવામાં આવે છે :
1. બાઇનર ઓપરટરો
2. બનઅ ુ મો
3. િ ુ અથવા શરતી ઓપરટરો

44 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

2.2 બાઇનર ઓપરટસ

ઓપરટરો બે ઓપર ડ અથવા ૂ યો વ ચે કામગીર કર છે તેમને સંગી ઓપરટસ તર ક


ઓળખવામાં આવે છે . તેમાં, દરક ઓપરટરને બરાબર બે ચલ, ૂ યો, વગેરની જ ર પડ છે , ને
કયા નામે ઓળખવામાં આવે છે ઓપર ડો.

સંગી ઓપરટરની વા રચના:

First_Operand ઓપરટર Second_Operand

બાઇનર ઓપરટરોના કારો:


એ. કગ ણત ઓપરટરો
બી. એસાઇનમે ટ ઓપરટસ
સી. રલેશનલ ઓપરટસ
ડ . લો જકલ ઓપરટસ
ઇ. બીટવાઇઝ ઓપરટસ

A. કગ ણત ઑપરટસ. કગ ણત યાઓ એ સરવાળા, બાદબાક , ુ ાકાર, ભાગાકાર અને



ુ સ
મોડ લ વી ૂળ ૂત ગણતર ની યા છે .
 ઉમેરો (+): આ કામગીર બે સં યાઓનો ઉમેરો કર છે .
 બાદબાક (-): આ યા બે સં યાઓ વ ચેનો તફાવત દશાવે છે .
 ુ ાકાર (*): આ
ણ યા બે સં યાઓના ુ ાકાર ુ ં કામ કર છે .

 િવભાગ (/): આ ઓપરશન તેના ઓપર સ ું િવભાજન કર છે . તેમાં, થમ ડાબા
ઓપર ડને જમણા ઓપર ડ ારા િવભા જત કરવામાં આવે છે .
 ુ ો ઓપરટર ( Modulo operator)%): તેમાં ડાબે અને જમણે એમ બે ઓપર ડ હોય છે .
મોડ લ
ડા ુ ં ઓપર ડ જમણા ઓપર ડ ારા િવભા જત થાય છે . િવભાજન પછ , બાક ની સં યા ક
ને વ ુ િવભા જત કર શકાતી નથી તે પ રણામ હશે. મોડ લ
ુ ો ઓપરટરનો ઉપયોગ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 45

એકમા ૂણાક સં યાઓના બાક ના ભાગને શોધવા માટ થઈ શક છે . તેનો અથ એ ક બંને


ઓપર સ ૂણાક વ પમાં હોવા જોઈએ.

ન ધ: ૂળ ૂત ગ ણતમાં C માં િવિવધ િવિશ ટ તીકોનો ઉપયોગ કરવામાં આવતો નથી. ટકા
ુ ો ઓપરટર અને તારક ચ ને દશાવે છે (*)ને
(%)ની િનશાની મોડ લ ુ ાકાર ઓપરટર દશાવે

છે . C માં, જો આપણે બે ઓપર ડનો ુ ાકાર કરવા માંગતા હોઈએ તો p અને q, તો પછ તે આ

ર તે લખ ું જોઈએ p*q; એટલે ક, તેને ુ ાકાર કારકની જ ર પડ છે (*), યાર બીજગ ણતમાં,

ુ ાકાર ફ ત લખીને કર શકાય છે pq પરં ,ુ C ભાષા અથઘટન કર છે pq એક ઓળખકતા

તર ક. તેથી, ો ાિમગ લ વેજમાં પ ટપણે ઓપરટસને 2 કામગીર કરવાની જ ર પડ છે .

B. એસાઇનમે ટ ઓપરટસઃ આ ઓપરટસ વે રયેબ સ અથવા આઇડ ટફાયસને ૂ ય સ પે છે .


યાર આ ઓપરટર અમલ કર છે , યાર તે જમણા ઓપર ડની કમત ડાબા ઓપર ડના એકને
સ પે છે . જમ ુ ં ઓપર ડ કાં તો અચળ અથવા ચલ હો ુ ં જોઈએ, પરં ુ ડા ુ ં ઓપર ડ મા એક
ચલ હો ુ ં જોઈએ (તે ારય અચળ હો ુ ં જોઈએ નહ ). આ ઓપરટરના અમલ પછ , ડાબા
ઓપર ડના ૂ યને જમણા ઓપર ડના ૂ ય ારા ઓવરરાઇટ કરવામાં આવે છે , કાં તો અચળ
ૂ ય અથવા અ ય ચલ ુ ં ૂ ય હોઇ શક છે . એસાઇનમે ટ ઓપરટસ કો ટક 2.1માં દશા યા છે .

ન ધ: ઓપર ડ સરનામાં (ક ની પાસે મેમર સરના ું છે ) ને આ તર ક ઓળખવામાં આવે છે


lvalue. ઉદાહરણ તર ક, વે રયેબ સ. ઓપર ડ ક સરનામાં આપી શકા ું નથી અથવા સં હ
કરવા માટ મેમર થાનની જ ર છે તે એક તર ક ણી ું છે rvalue. એલવે ુ ો ઉપયોગ

આરવે ુ તર ક પણ થઈ શક છે , પરં ુ તેનાથી ઊલ ું નહ . સ પણી ઓપરટર હંમેશાં ડાબા
ઓપર ડ તર ક એલવે ુ ી અપે ા રાખે છે .

દાખલા તર ક:
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 સ પણી ઓપરટરોને C ભાષામાં

ચ અથ ઉદાહરણો

= સ પણી var = 19; તેનો અથ એ છે ક આને સ પેલ ૂ ય var.

+= સરવાળો અને સ પણી var += var1; તેનો અથ એ છે ક var = var +


var1

-= તફાવત અને સ પણી var -= var1; તેનો અથ એ છે ક var = var -


var1

*= ોડ ટ અને સ પણી var *= var1; તેનો અથ એ છે ક var = var *


var1

/= િવભાગ અને સ પણી var /= var1; તેનો અથ એ છે ક var = var /


var1

%= યાદ અપાવનાર અને સ પણી var %= var1; તેનો અથ એ છે ક var = var %


var1

ન ધ: સી ભાષામાં, ઓપરટર '=' નો ઉપયોગ ૂ ય સ પવા માટ થાય છે , અને '==' નો ઉપયોગ
બે ૂ યોની ુલના કરવા માટ થાય છે , યાર ૂળ ૂત ગ ણતમાં, '=' નો ઉપયોગ બંને હ ુઓ
માટ થાય છે (સ પણી અને સરખામણી).

આ ૃિત 2.1 કગ ણત અને સ પણી ઓપરટરો ુ ં િનદશન દશાવે છે . અ હયા, લીટ 7 વપરાશકતા
પાસેથી બે ૂણાક સં યાઓ વાંચે છે . લાઇન 8, 10, 12, 14, અને 16 અ ુ મે સરવાળા, બાદબાક ,
ુ ાકાર, ભાગાકાર અને મોડ લ
ણ ુ ો કામગીર કર છે ; સ પણી ઓપરટર પ રણામોનો સં હ કર છે
add_res, sub_res, mul_res, div_res, અને mod_res વે રયેબ સ, અ ુ મે. લાઇન 9,

11, 13, 15 અને 17 કરવામાં આવેલી કામગીર ના પ રણામો દશાવે છે .

1. #include<stdio.h>
2. int main()
3. {
4. int var1, var2; //variables to be read from the user
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 47

5. int add_res, sub_res, mul_res, div_res, mod_res;


// variables used to store the results

6. printf("Enter two numbers to perform arithmetic operations: ");


7. scanf("%d %d",&var1, &var2); //read two integer numbers
8. add_res = var1 + var2; // Addition operation
9. printf("The addition of %d and %d is: %d \n",var1,var2,
add_res);

10. sub_res = var1 - var2; // Subtraction operation


11. printf("The subtraction of %d and %d is: %d \n",var1,var2,
sub_res);

12. mul_res = var1 * var2; // Multiplication operation


13. printf("The multiplication of %d and %d is: %d \n",var1,var2,
mul_res);

14. div_res = var1 / var2; // Division operation


15. printf("%d divided %d is: %d \n",var1,var2,div_res);

16. mod_res = var1 % var2; // Modulo operation


17. printf("The mod of %d and %d is: %d \n",var1,var2,mod_res);

18. return 0;
19. }
20.

આ ૃિત 2.1: કગ ણત અને સ પણી ઑપરટસ ુ ં િનદશન

ુ :
આઉટ ટ

Enter two numbers to perform arithmetic operations: 74 9


The addition of 74 and 9 is: 83
The subtraction of 74 and 9 is: 65
The multiplication of 74 and 9 is: 666
74 divided 9 is: 8
The mod of 74 and 9 is: 2

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 74 અને 9 માં વેશ કર છે .

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

C. રલેશનલ ઓપરટરઃ આ ઓપરટરો બે ઓપર ડ વ ચેનો સંબધ


ં બતાવે છે . તેનો ઉપયોગ
િનણય લેવાના કાય માટ પણ થાય છે . રલેશનલ ઓપરટસ શરતની ચકાસણી કર છે ; જો તે સા ુ ં
હોય, તો તે પા ં આવે છે 1, અ યથા વળતર 0. કો ટક 2.2 માં િવિવધ કારના રલેશનલ
ઓપરટસનો સમાવેશ થાય છે . રલેશનલ ઓપરટસ ુ ં િનદશન આ ૃિત 2.2માં દશા ુ ં છે .

ટબલ 2.2: રલેશનલ ઓપરટસના િવિવધ કારો

ઓપરટર અથ

કરતાં ઓ ં- (<) અને ઓપરટર '>' ચકાસે છે ક ુ ં ડાબા ઓપર ડની કમત જમણા
તેના કરતાં વધાર- (>) ઓપર ડની કમત કરતા વધાર છે અને પા આપે છે 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);

9. printf("%d is Greater-than %d: the result is %d\n", var1, var2,


var1>var2); // Greater-than operator

10. printf("%d is Less-than %d: the result is %d\n",var1, var2,


var1<var2); // Less-than operator

11. printf("%d is Greater than or equal to %d: the result is %d\n",


var1,var2,var1>=var2); //Greater-than or equal to operator

12. printf("%d is Less than or equal to %d: the result is %d\n",


var1, var2, var2<=var1); // Less than or equal to operator

13. printf("%d equals to %d: the result is %d\n", var1, var2,


var1==var2); // Equal to operator

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. }

આ ૃિત 2.2 : રલેશનલ ઓપરટરો ુ ં િનદશન

ુ :
આઉટ ટ
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

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 23 અને 45 દાખલ કર છે


50 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

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. }

આ ૃિત 2.3 : તા કક અને ઓપરટર ુ ં િનદશન


ુ :
આઉટ ટ
Result of the first expression is 1
Result of the second expression is 0

ન ધ: માં અને ઓપરટર, િનવેદનો ંુ ૂ યાંકન ડાબેથી જમણે શ થાય છે . જો પહ ં ુ િવધાન ખો ં ુ


હોય, તો પછ અને ઓપરટર બી િનવેદનને અમલમાં ૂ ા િવના ખો ં ુ વળતર આપે છે . યાર
પહ ં ુ િનવેદન સા ંુ હોય યાર બી ુ ં િનવેદન અમલમાં ૂકશે. આ ૃિત 2.4માં દશા યા ુ બ.

1.#include<stdio.h>
1.int main()
2.{
3. int var1, var2;
4. var1=10;
5. var2= 20>30 && ++var1; // ++var1 means var1=var1+1
6.printf("Results of the expression is %d\n",var2);
7.printf("Updated value of var1 is %d\n",var1);
8. return 0;
9. }
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 51

10.

આ ૃિત 2.4 : તા કક અને ઓપરટર ુ ં િનદશન


ઉપરો ત કોડમાં, લાઇન 5 થમ િનવેદનમાં, 20>30, ખો ુ ં છે , તેથી અને ઓપરટર બી િનવેદનને
અમલમાં ૂ ા િવના ખો ુ ં વળતર આપે છે . આને કારણે, ું ુ
ૂ ય var1 એ જ રહશે ()10). આઉટ ટ
નીચે આપેલ છે .
આઉટ ટુ :
Results of the expression is 0
Updated value of var1 is 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. }

આ ૃિત 2.5 : તા કક અથવા ઓપરટર ુ ં િનદશન


ુ :
આઉટ ટ
value of var1 is 0
value of var2 is 1

ન ધ: માં અથવા ઓપરટર, િનવેદનો ુ ં ૂ યાંકન ડાબેથી જમણે શ થાય છે . જો થમ વા સા ુ ં


હોય, તો પછ અથવા ઓપરટર બી િનવેદનને અમલમાં ૂ ા િવના સા ુ ં વળતર આપે છે .
યાર પહ ું િનવેદન ખો ુ ં હોય યાર બી ુ ં િનવેદન અમલમાં ૂકાશે. આ ૃિત 2.6માં દશા યા ુ બ.

1. #include<stdio.h>
2. int main()
3. {
52 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

4. int var1, var2;


5. var1=10;
6. var2= 20<30 || ++var1; // ++var1 means var1=var1+1
7. printf("Results of the expression is %d\n",var2);
8. printf("Updated value of var1 is %d\n",var1);
9. return 0;
10. }

આ ૃિત 2.6 : તા કક અથવા ઓપરટર ુ ં િનદશન

ઉપરો ત કોડમાં, લાઇન નંબર 6 થમ િનવેદન પર, ૨૦<૩૦, સા ુ ં છે , તેથી અથવા ઓપરટર બી
િનવેદનને અમલમાં ૂ ા િવના સા ુ ં વળતર આપે છે . આને કારણે, var1 ની કમત સમાન રહશે
(10).
ુ :
આઉટ ટ
Results of the expression is 1
Updated value of var1 is 10

NOT operator (!): તા કક નથી (!)નો અનર ઓપરટર છે . તે એક જ િનવેદન પર લા ુ પડ છે .


તા કક NOT operator િનવેદનના પ રણામોને ૂરક બનાવે છે . તેનો અથ એ છે ક જો િનવેદન સા ુ ં
હોય, તો પછ ઓપરટર NOT પછ , તે ખો ુ ં પા ં આપે છે . આ ૃિત 2.7માં તા કક ંુ િનદશન
દશાવવામાં આ ંુ છે . NOT operator .

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. }

આ ૃિત 2.7 : તા કક નોટ ઓપરટર ુ ં િનદશન

ુ :
આઉટ ટ
Result of !(20>30) is 1
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 53

Result of !(20<30) is 0

E. બીટવાઇઝ ઓપરટર. બીટવાઇઝ ઓપરટરો બીટ સાથે યવહાર કર છે . તેનો અથ એ ક આપેલ


ઓપર સને ુ ાર બ સની
સંગી વ પમાં પાંત રત કરવામાં આવે છે અને પછ કામગીર અ સ
ચાલાક કરવામાં આવે છે .

ૂળ ૂત બીટવાઇઝ ઓપરટસ કો ટક 2.3માં દશા યા છે . બીટવાઇઝ ઓપરટસ ુ ં િનદશન આ ૃિત


2.8માં દશા ુ ં છે .

ટબલ 2.3: ૂળ ૂત બીટવાઇઝ ઓપરટસ

ઓપરટર અથ

Bitwise અથવા ઓપરટર અથવા (|) પરત આવે છે 0 જો બંને બ સ છે 0, અ યથા, તે પા ં


ઓપરટર (|) આવે છે 1.

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. }

આ ૃિત 2.8 : બીટવાઇઝ ઓપરટરો ુ ં િનદશન

ઉપરના કોડમાં, લીટ 6 વપરાશકતા પાસેથી બે ૂણાક સં યાઓ મેળવે છે , આમાં સં હત થાય
છે var1 અને var2 ચલો; માની લો ક તેઓ ૪ અને ૫ છે . લીટ માંક 7, 9, 11, 13, 15 અને 17
બીટવાઇઝ કર છે અથવા, અને, XOR, ડાબી િશ ટ, જમણી shiftઅને ૂરક, અ ુ મે. બીટવાઇઝ યા
ક પાઇલર કરતા પહલા ઓપર ડને બાઇનર નંબરમાં પાંત રત કરો (બીટની જ ર સં યા
ક પાઇલરમાં ક પાઇલરમાં બદલાય છે , ફ ત અહ સમજવા માટ આપણે ૮ બીટ લઇએ છ એ),
નો અથ છે 4 બને છે 00000100 અને 5 બને છે 00000101. હવે દરક બીટ અલગ-અલગ
બટવાઇઝ ઓપરશન કર છે ; ઉદાહરણ તર ક, બીટવાઇઝમાં અથવા યા (00000100 |

00000101), ૦|૧ ઉ પ કર છે 1, ૦|૦ ઉ પ કર છે 0, ૧|૧ ઉ પ કર છે 1. િતમ પ રણામ


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 55

આવશે 00000101, છે 5. તેવી જ ર તે અ ય તમામ ઓપરશન કરવામાં આવશે. ઉપરો ત કોડ ુ ં


ુ નીચે દશાવેલ છે .
આઉટ ટ
આઉટ ટુ :
Enter two numbers to perform bitwise operations 4 5
The result of the bitwise OR operation between 4 and 5 is: 5
The result of the bitwise AND operation between 4 and 5 is: 4
The result of the bitwise XOR operation between 4 and 5 is: 1
The result of 2 left shifts operation on 4 is: 16
The result of 2 right shifts operation on 4 is: 1
The bitwise complement of 4 number is: -5

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 4 અને 5 દાખલ કર છે

2.3 અનર ઓપરટર

અનર ઓપરટરને ફ ત એક જ ઓપર ડ અથવા દલીલોની જ ર હોય છે . કટલાક ૂળ ૂત


બનસ ાવાર ઓપરટરો નીચે ુ બ છે .

 બનસ ાવાર બાદબાક (-):તે કોઈપણ ઓપર સની િનશાની બદલી નાખે છે . તેનો અથ એ
થયો ક નકારા મક હકારા મક બને છે અથવા હકારા મક નકારા મક બને છે .

ઉદાહરણ:
var1= 19;

var2= -var1તેનો અથ એ છે ક var2 = -19

 અનર લસ (+): તે એક અનર લસ ઓપરટર છે . તે સં યાની હકારા મક િનશાની ર ૂ કર


છે .

ઉદાહરણ:
var1= +19;તેનો અથ એ છે ક હકારા મક 19 ને સ પવામાં આ ુ ં છે var1

 () ંુ માપ ઓપરટર: આ ઓપરટર બાઇ સમાં ઓપર ડની સાઇઝ પરત કર છે .

ઉદાહરણ:
(var1) ુ ં માપ;અહ () ઓપરટરની સાઇઝ પરત કર છે ક કટલી બાઇટ ફાળવવામાં આવી

છે var1.
56 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

 ઓપરટર ંુ સરના ંુ (&): આ & ઓપરટરને એ પસ અને ઓપરટર તર ક પણ ઓળખવામાં


આવે છે . તે વે રયેબલને ફાળવવામાં આવેલી મેમર ુ ં સરના ુ ં પા ં આપે છે .

ઉદાહરણ: var1;તે ુ ં મેમર સરના ુ ં પા ં આપે છે var1.

આ ૃિત 2.9માં આ ંુ િનદશન દશાવવામાં આ ંુ છે . બનસ ાવાર ઓપરટરો.

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);

13. var2= sizeof(var1); // sizeof operation


14. printf("The number of bytes required to store %d is
%d\n",var1,var2);

15. return 0;
16. }

આ ૃિત 2.9 : અનર ઓપરટસ ુ ં િનદશન

ઉપરનો કોડ દશાવે છે ક -, +, &અને માપ ુ ં બન-મૌ ખક યાઓ. ઉપરો ત કોડ ુ ં આઉટ ટ
ુ નીચે
દશાવેલ છે .

ુ :
આઉટ ટ
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

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 12 દાખલ કર છે


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 57

 ડ મે ટ ઓપરટર (--):આ ઓપરટર વે રયેબલના ૂ યમાં 1નો ઘટાડો કર છે . ડ મે ટ


ઓપરટર િ -ડ મે ટ અથવા પો ટ-ડ મે ટ હોઈ શક છે .

 પો ટ ડ મે ટ ઓપરટર પહલા ચલના ૂ યનો ઉપયોગ કર છે અને પછ 1 ારા ચલના


ૂ યમાં ઘટાડો કર છે .
ઉદાહરણ:
var1=19;
var2= var1++;તેનો અથ એ છે ક થમ ું ૂ ય var1 ને સ પેલ છે var2 પછ ની
કમતમાં ઘટાડો કરો var1 ારા 1. નીચેના િવધાન પછ , આ ુ ં ૂય
var1 અને var2 અ ુ મે 18 અને 19 રહશે.

 ી ડ મે ટ ઓપરટર સૌ થમ 1 ારા ૂ યમાં ઘટાડો કર છે , પછ વે રયેબલના ૂ યનો


ઉપયોગ કર છે .
ઉદાહરણ:
var1=19;
var2= ++var1;તેનો અથ એ છે ક થમ 1 ારા var1 ઘટાડા ુ ં ૂ ય અને પછ var2 ને
સ પો. નીચેના િવધાન પછ , var1 અને Var2 ું ૂ ય અ ુ મે 18
અને 18 થશે.

 ઇ મે ટ ઓપરટર (++): આ ઓપરટરનો ઉપયોગ વે રયેબલના ૂ યમાં આના ારા વધારો


કરવા માટ થાય છે 1. ઇ મે ટ ઓપરટર િ -અથવા પો ટ-ઇ મે ટ હોઈ શક છે .

 પો ટ ઇ મે ટ ઓપરટર પહલા વે રયેબલના ૂ યનો ઉપયોગ કર છે અને પછ


વે રયેબલના ૂ યમાં 1નો વધારો કર છે .
ઉદાહરણ:
var1=19;
var2= var1++;તેનો અથ એ છે ક થમ વર1 ું ૂ ય સ પેલ છે var2 પછ ું ૂય
વધાર ુ ં var1 ારા 1. નીચેના િવધાન પછ , આ ુ ં ૂ ય var1 અને
var2 અ ુ મે 20 અને 19 રહશે.
58 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

 ીઇ મે ટ ઓપરટર તેનો ઉપયોગ કરતા પહલા ૂ યમાં ૧ નો વધારો કર છે .


ઉદાહરણ:
var1=19;
var2= ++var1;તેનો અથ એ છે ક થમ ું ૂ ય var1 ારા વધારો 1 અને પછ ને
સ પો var2. નીચેના િવધાન પછ , આ ુ ં ૂ ય var1 અને var2
અ ુ મે 20 અને 20 રહશે.

આ ૃિત 2.10માં બન-વધારા અને ઘટાડાના ઓપરટરોને દશાવતો સી ો ામ દશાવવામાં આ યો

છે .

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);

7. printf("The entered number is: %d\n",var1);


8. printf("In post-increment operation, the number is printed,
then incremented. The number is: %d\n", ++var1);
9. printf("The updated number is: %d\n\n",var1);

10. printf("Enter a number to perform post-increment operation ");


11. scanf("%d",&var1);
12. printf("The entered number is: %d\n",var1);
13. printf("In post-increment operation, the number is printed,
then incremented. The number is: %d\n", var1++);
14. printf("The updated number is: %d\n\n",var1);

15. printf("Enter a number to perform pre-decrement operation ");


16. scanf("%d",&var1);

17. printf("The entered number is: %d\n",var1);


18. printf("In a pre-decrement operation, the number is decremented
and then printed. The number is: %d\n", --var1);
19. printf("The updated number is: %d\n\n",var1);

20. printf("Enter a number to perform post-decrement operation ");


21. scanf("%d",&var1);
22. printf("The entered number is: %d\n",var1);
23. printf("In post-decrement operation, the number is printed then
decrement. The number is: %d\n", var1--);
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 59

24. printf("The updated number is: %d\n",var1);

25. return 0;
26. }
27.

આ ૃિત 2.10 : અનર ઓપરટસની ૃ અને ઘટાડા ુ ં િનદશન

ઉપરના ઉદાહરણમાં, રખા 8 િ -ઇ મે ટ યા કર છે થમ વે રયેબલના ૂ યમાં 1 નો


વધારો કર છે અને પછ તેનો ઉપયોગ કર છે printf િવધેય એ કમત દશાવે છે . લીટ 13 ૃ
બાદની યા કર છે , સૌ થમ આનો ઉપયોગ કર ને ચલની કમત દશાવે છે printf કાય કર
છે અને પછ તેને આના ારા િવ ૃત કર છે 1.
ઘટાડાની કામગીર કરવામાં પણ આ જ યા ુ ં પાલન કરવામાં આવે છે ; જો ક, ડ મે ટ
ઓપરશન વે રયેબલના ૂ યમાં 1 ારા ઘટાડો કર છે . ુ નીચે દશાવેલ છે .
િતમ આઉટ ટ

ુ :
આઉટ ટ
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

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 5 દાખલ કર છે


60 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

2.4 ટનર ઓપરટર


ઓપરટરને ણ ઓપર ડની જ ર પડ છે તેને િ ુ ઓપરટર તર ક ઓળખવામાં આવે છે .

શરતી ઓપરટર એ િ ુ ઓપરટર ુ ં ઉદાહરણ છે .

શરતી ઓપરટર (?:): શરતી ઓપરટર એ ઓપરટર છે ને ણ ઓપર સની જ ર હોય છે .


શરતી ઓપરટર ુ ં તીક છે '?:'. શરતી ઓપરટર ણ ભાગમાં િવભા જત થાય છે ઃ ડા ,ુ ં મ ય અને
જમ 'ુ ં ઉપયોગ કર ને?' અને ':' તીકો. ડા ુ ં ઓપર ડ શરત ુ ં િતિનિધ વ કર છે , મ ય અને
જમણા ઓપર સ સાચા અને ખોટા ભાગો ુ ં િતિનિધ વ કર છે . જો શરતી ભાગમાં અ ભ ય ત
સાચી પરત આવે છે , તો પછ વ ચેનો ભાગ ચાલશે, અને જમણો ભાગ છોડ દશે. જો અ ભ ય ત
ખોટ પરત આવે છે , તો પછ યો ય ઓપર ડ ચાલશે, અને વ ચેનો ભાગ છોડ દશે. િ ુ

ઑપરટર ુ ં િનદશન આ ૃિત 2.11માં દશા ુ ં છે .

શરતી ઓપરટરની વા રચનાઃ

conditional_operand ? middle_operand : right_operand

ઉદાહરણ:
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. }

આ ૃિત 2.11 : ટનર ઑપરટર ુ ં િનદશન


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 61

ુ :
આઉટ ટ
var1= 19
var2= 45

2.5 ગ ભત અને બા કારનાં પાંતરણો ( Implicit & Explicit)

એક ડટાના કારને બી કારમાં પાંત રત કર ુ ં એ કાર પાંતર તર ક ઓળખાય છે . કાર ુ ં

પાંતર બે ર તે કર શકાય છે :

1. Implicit કાર ુ ં પાંતરણ

2. Explicit કાર પાંતરણ

2.5.1 ગ ભત કાર ંુ પાંતરણ (Implicit type conversion)

આ ક પાઇલર ારા આપમેળે કરવામાં આવે છે . યાર ક પાઇલર બે ુ દા ુ દા કારના ઓપર સ

મેળવે છે , યાર તે નીચલા ડટા કારને ઉ ચ ડટા કારમાં પાંત રત કર છે . આ ૃિત 2.12માં મેમર

સાઇઝના સંદભમાં નીચેથી માંડ ને ચા ુ ીના ડટાના


ધ કારોની યાદ દશાવવામાં આવી છે .

ગ ભત કારના પાંતરણ ુ ં િનદશન આ ૃિત 2.13માં દશા ુ ં છે .

આ ૃિત 2.12 મેમર કદના વધતા મમાં ઉપરથી નીચે ુ ી ડટા


ધ કારો.
62 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

1. #include<stdio.h>
2. int main()
3. {
4. int var1 = 19; // integer var1
5. char var2 = 'A'; // character var2

6. // var2 implicitly converted to int. ASCII value of 'A' is 65


7. var1 = var1 + var2;

8. // var1 is implicitly converted to float


9. float var3 = var1 + 1.0;

10. printf("var1 = %d, var3 = %f", var1, var3);


11. return 0;
12. }

આ ૃિત 2.13 : ગ ભત કારના પાંતરણ ુ ં િનદશન

ઉપરો ત ઉદાહરણમાં, ગ ભત કાર ુ ં પાંતરણ લીટ 7 અને 9 માં કરવામાં આ ુ ં છે . કોડ ુ ં


ુ નીચે
આઉટ ટ ુ બ છે :

ુ :
આઉટ ટ
var1 = 84, var3 = 85.000000

2.5.2 બા કાર પાંતરણ (Explicit type conversion)


આ યામાં, વપરાશકતા ારા ડટાનો કાર બદલવામાં આવે છે . આમાં વપરાશકતા પ રણામને
ચો સ ડટા કારમાં ટાઇપકા ટ કર શક છે . આ યાને ટાઇપ કા ટગ તર ક પણ ઓળખવામાં
આવે છે . વા રચના નીચે ુ બ છે .

(type) expression

અહ અ ભ ય ત પ રણામ પા ં આપે છે અને કાર તેને િવિશ ટ ડટા કારમાં પાંત રત કર છે .


આ ૃિત 2.14માં આ ુ ં િનદશન દશાવવામાં આ ુ ં છે . પ ટ કાર ુ ં પાંતરણ.

1. #include<stdio.h>
2. int main()
3. {
4. double var1 = 1.7;
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 63

// Explicit conversion from double to int


5. int add = (int)var1 + 3;

6. printf("addition = %d", add);


7. return 0;
8. }

આ ૃિત 2.14 : પ ટ કારના પાંતરણ ુ ં િનદશન

લાઇન 5 માં, અ ભ ય ત ુ ં પ રણામ બમ ુ ં આવે છે , પ ટપણે આમાં પાંત રત થશે int.


ઉપરો ત કોડ ુ ં આઉટ ટ
ુ આ માણે છે :
ુ :
આઉટ ટ
addition = 4

ો ાિમગ ભાષાને અસં દ ધ બનાવવા માટ સીમાં ઓપરટરોનો એક અન ય અથ છે . ત ુ પરાંત, આ


ઓપરટરોનો ઉપયોગ કરવા માટ કટલાક િનયમો અને વા રચના છે . હવે, આપણે આ
ઓપરટરોની અ તા અને સાંયો ગકતાની ચચા કર .ુ ં
2.6 સી ઓપરટસની ાધા યતા અને સાંયો ગકતા
યાર એક અ ભ ય તમાં બ િુ વધ ઓપરટસ હોય છે , યાર ઓપરટસના અમલીકરણનો િનણય
તેમની અ તાના આધાર કરવામાં આવે છે . ઓપરટરોની અ તા જણાવે છે ક આપેલ ઓપરટરોને
પહલા અથવા પછ ચલાવવામાં આવે છે ક નહ . ઓપરટરની સાંયો ગકતા ઓપરશનના
અમલીકરણની દશા (ડાબેથી જમણે અથવા જમણેથી ડાબે) દશાવે છે . યાર સમાન અ તાવાળા બે
અથવા વ ુ ઓપરટરો સમાન અ ભ ય તમાં ભાગ લે છે યાર એસોિસએ ટિવટ તપાસ કરશે.
આ ૃિત 2.15 સી ઓપરટસની અ તા અને સાંયો ગકતા દશાવે છે .
64 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

આ ૃિત 2.15: અ તા અને ઓપરટસની સંલ નતા

2.1 ઓપરટસનો વંશવેલો કવી ર તે કાય કર છે ?

અ ભ ય તનો અમલ ( માં ઘણી કામગીર નો સમાવેશ થાય છે ) ઓપરટસની અ તા અને


સાંયો ગકતા પર આધાર રાખે છે . આ િવભાગમાં ઓપરટરોના વંશવેલાને સમજવા માટના
ઉદાહરણો શામેલ છે .

ઉદાહરણ: નીચેના સમીકરણ ુ ં ૂ યાંકન કરો અને ચલ ુ ં ૂયન કરો x.


x=2+3*4-7/2;
ઉકલ: અ ભ ય તને અમલમાં ૂકતા પહલા, ક પાઇલર ઓપરટરની ાથિમકતા અને
સાંયો ગકતાના આધાર ઓપરટરનો એ ઝે ુ ન િસ વ સ શોધી કાઢ છે . આ ઉદાહરણમાં,
શ ુ ાકાર

કારક (*)ની અ યો કરતાં સવ ચ અ તા ધરાવે છે , તેથી તે થમ ૂ યાંકન કરશે. તે પછ ,
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 65

ભાગાકાર, સરવાળા અને બાદબાક ઓપરટર ૂ યાંકન કરશે. આપણે ચચા કર છે તેમ,
ઓપરટરની વત ૂક ઓપર ડના કારો પર આધાર રાખે છે , તેથી પગ ું 2 પર, 7/2પરત ફરશે 3
ની બદલે 3.5. અ ભ ય તના સં ૂણ અમલ પછ , પ રણામ આવશે 11; તેને વે રયેબલમાં ટોર
કરવામાં આવશે x, આ ૃિત 2.16માં
માં દશાવેલ છે .

આ ૃિત 2.16: તે ુ ં ૂ યાંકન x=2+3*4-7/2

ઉદાહરણ: નીચેના સમીકરણ ુ ં ૂ યાંકન કરો અને ચલ ુ ં ૂયન કરો x.


x=2+3*4-7/2<6<12;
ઉકલ: ઓપરટર કરતા ઓછાની ાથિમકતા (<) ુ ં કગ ણત ઓપરટરો કરતા ની ુ ં હોય છે , તેથી
આપેલ અ ભ ય ત ું ૂ યાંકન ટપ 5 ુ ીના ઉપરના ઉદાહરણ
ધ ું જ હશે. ટપ 5 પર,
રલેશનલ ઓપરટર (કરતા ઓ )ં અમલ કરશે, અને ૧૧<૬ ખો ુ ં િનવેદન છે , પરત આવશે 0.
ટપ 6 પર, ૦<૧૨ એક સા ું િનવેદન હશે વળતર આપે છે 1. તેથી, િતમ પ રણામ આવશે 1,
વે રયેબલમાં ટોર કરવામાં આવશે x, આ ૃિત 2.17માં દશાવેલ છે .
66 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

આ ૃિત 2.17: તે ું ૂ યાંકન x=2+3*4-7/2<6<12

ઉદાહરણ: નીચેની અ ભ ય ત ું ૂ યાંકન કરો અને ચલ x ુ ં ૂયન કરો.


x=2+3*4-7/2<6<12 && 10<71/6;
ઉકલ: લો જકલ ઓપરટર અ ભ ય તને બે ભાગમાં િવભા જત કર છે ઃ ડા ું અને જમ .ું ૂ યાંકન
ડાબેથી જમણે કરવામાં આવે છે . આ અ ભ ય તને તા કકનો ઉપયોગ કર ને િવભા જત કરવામાં
આવી છે અને ઓપરટર (&&); માં અને ઓપરટર, જો થમ િનવેદન ખો ુ ં હોય, તો પછ અને
ઓપરટર બી િનવેદનને અમલમાં ૂ ા િવના ખો ુ ં વળતર આપે છે . આ ઉદાહરણમાં, ડાબા
ભાગ ુ ં પ રણામ છે 0આમ અને ઓપરટર પરત ફરશે 0 આ ૃિત 2.18માં
માં દશા યા ુ બ જમણા

ભાગને અમલમાં ૂ ા િવના. જો ડાબા ભાગ ુ ં ૂ ય સા ુ ં ( ૂ ય ન હોય) હોય તો જમણા ભાગ ું
ૂ યાંકન કરવામાં આવશે.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 67

આ ૃિત 2.18: ૂ યાંકન x=2+3*4-7/2<6<12 && 10<71/6

2.7 સી ો ાિમગમાં ઇન ટુ અને આઉટ ટુ

પહલા િુ નટમાં, અમને ક ુ ર ારા સમ યાના િનરાકરણનો પ રચય મ યો હતો. અમે


ટ ો ાિમગ
ભાષાઓના ફંડામે ટ સ અને સી ો ાિમગના પ રચયનો અ યાસ કય . કોઈ પણ સમ યાના ઉકલના
ુ અને આઉટ ટ
અ ભગમમાં ઇન ટ ુ એ ચાવી પ પાસાં છે .

ઉદાહરણ: ધારો ક એક સો ટવેર/એ લકશન/મશીન તમને દશની રાજધાની ું નામ જણાવવા માટ
બનાવવામાં આ ું છે , એટલે ક, તમે આપો છો (ઇન ટુ ) ું નામ અને મશીન જણાવશે ()આઉટ ટુ ) ું
પાટનગર નામ. મશીનને ઇન ટુ આપવા માટ િવિવધ સંભિવત ર તો ઉપલ ધ હોઈ શક છે . દાખલા
તર ક, તમે વોઈસ કમા ડ ારા (માઇ ોફોન ારા) અથવા જોડાયેલ ક બોડ ારા મશીનમાં ઇન ટુ
ટાઇપ કર ને મશીનને કહ શકો છો.

આમ, યાર ો ામર કોઈપણ ો ાિમગ ભાષામાં ો ામ લખે છે , યાર ુ


ો ામર તે કવી ર તે ઇન ટ
ુ કવી ર તે બતાવશે અથવા આપશે તે પ ટ કર ુ ં આવ યક છે . એકમ I માં, અમે
લેશે અને તે આઉટ ટ
ુ -આઉટ ટ
િવિવધ ઇન ટ ુ ઉપકરણોની ચચા કર છે . સી ુ
ો ાિમગ લ વેજમાં, અમાર પાસે ઇન ટ
ુ લેવાની અને આઉટ ટ
ડવાઇસ ારા ઇન ટ ુ ડવાઇસ ારા આઉટ ટ
ુ દશાવવાની િુ વધા ( બ ટ-ઇન
68 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

ફં શ સ ારા) છે . ક ુ સમાં,
ટ માણ ૂત ક બોડને ુ ઉપકરણ માનવામાં આવે છે ,
માણ ૂત ઇન ટ
અને મોિનટર ( ન) ને ુ ઉપકરણ માનવામાં આવે છે .
માણ ૂત આઉટ ટ
એકમ-1માં, અમે બે ૂળ ૂત ઉપયો ગતા કાય ર ૂ કયા printf અને scanf માણ ૂત ઇન ટ

ુ ડટા લેવા અને
ઉપકરણ (ક બોડ) માંથી ઇન ટ ુ ઉપકરણ (મોિનટર)
માણ ૂત આઉટ ટ ારા
ુ ડટા બતાવવા માટ. અમે સી
આઉટ ટ ુ અને આઉટ ટ
ો ાિમગમાં ઇન ટ ુ ની િવગતવાર ચચા
કર .ુ ં

ઇન ટુ અને આઉટ ટુ મ. ક ુ સમાં, દરક ઇન ટ


ટ ુ અને આઉટ ટ
ુ કામગીર સ તર ક
ઓળખાતા બાઇ સના ુ કામગીર દરિમયાન
મનો ઉપયોગ કર ને હાથ ધરવામાં આવે છે . ઇન ટ
ુ ડવાઇસ ( મ ક ક બોડ, માઉસ અથવા કનર)માંથી
બાઇ સ ઇન ટ ુ ય મેમર માં થાનાંત રત
ુ કામગીર દરિમયાન બાઇ સ
થાય છે . તેનાથી િવપ રત, આઉટ ટ ુ ય મેમર માંથી ઉપકરણમાં
થાનાંત રત થાય છે . યાર પણ કોઈ ો ામનો અમલ શ થાય છે યાર ણ વાહો આપમેળે
ુ અને આઉટ ટ
ો ામ સાથે જોડાયેલા હોય છે . ઇન ટ ુ મ ક બોડ અને ન સાથે સંકળાયેલ છે .
ૂલ વાહ, ીજો વાહ, ન સાથે સંકળાયેલ છે .

2.7.1 સાથે આઉટ ટુ printf િવધેય

મ ક આપણે એકમ 1 માં અ યાસ કય છે , દરકprintfિનવેદનમાં એકનો સમાવેશ થાય છે બંધારણ


િનયં ણ શ દમાળા બંધારણ ું વણન કર ર ા છે ક ુ છાપવામાં આવશે.
માં આઉટ ટ
િવધેયprintfનીચેની વા રચના ધરાવે છે .

printf( format_control_string, other parameters);

બંધારણ િનયં ણ શ દમાળાનો સમાવેશ કર છે શા દક અ રો, લેગો, ે ની પહોળાઈઓ, અને


પાંતરણ પ ટ કરનારાઓ, આ ફોમ પાંતરણ પ ટ કરણો ટકાવાર ચ સાથે સં ુ ત ર તે (%).
આ printfનીચે ુ ં બંધારણ કર છે :
1. લો ટગ-પોઇ ટ નંબરો માટ ઘાતાંક ય િતિનિધ વનો ઉપયોગ કરવો.
2. ચો સ ુ માં
થિતઓ પર શા દક અ રોને આઉટ ટ ૂક .ુ ં
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 69

ુ ુ ં ડા ુ ં અને જમ ુ ં વાજબીપ .ુ ં
3. આઉટ ટ
4. ચોકસાઇઓ અને ચો સ માપ ફાઇલ કરલ પહોળાઈઓ સાથે મા હતી દશાવી ર ા છ એ.
5. હ ઝાડિસમલ અને ઓ ટાલ બંધારણોમાં હ તા ર ન થયેલ ૂણાકોને દશાવી ર ા છે .
6. તરતા બ ુ ની સં યાઓને દશાંશ થાનોની િનિ ત સં યામાં ગોળાકાર કરવી.
7. કમતોના તંભને ગોઠવી ર ા છ એ, તેથી દશાંશ બ ુ ઓ બી ની ટોચ પર ખડકાયેલા રહ
છે .
format_control_string બંધારણ ુ ં વણન કર છે ક ુ છાપવામાં આવશે, અને
માં આઉટ ટ
additional_parameters માં પાંતરણ પ ટ કરણને ુ
અ લ ીને વૈક પક પ રમાણો છે
format_control_string. પાંતર પ ટ કરણમાં શ આતમાં ટકાવાર ની િનશાનીનો સમાવેશ થાય છે ,
યારબાદ તે પાંતર િન દ ટ કરવામાં આવે છે . એક બંધારણ િનયં ણ શ દમાળા ઘણા પાંતર
પ ટ કરણો ધરાવી શક છે .

2.7.1.1 ૂણાકો અને તરતા- બ ુ નંબરો છાપવા

એન ૂણાક એ સં યા છે અ ૂણાક ભાગ િવના લખવામાં આવે છે -ઉદાહરણ તર ક, -54, 9અથવા


254. કો ટક 2.4માં દશાવેલ ૂણાક કમત દશાવવા માટ ઘણાં બંધારણો છે . એ જ ર તે, એ. floating-
point સં યા અ ૂણાક ભાગ (દશાંશ બ ુ ) ધરાવે છે . દા.ત., 45.12, -567.334અથવા 0.0.
પ ટકતાનો ઉપયોગ કર ને તરતા- બ ુ નંબરને િનિ ત બ ુ સંકત લપીમાં ર ૂ કરવામાં આવે છે f
યાર પ ટકતાનો ઉપયોગ કર ને ઘાતાંક ય વ પમાં નોટશન e (અથવા E) (' ઘાતક'). નાનોકસ e
છાપો નાનોકસe અને E છાપો મોટાં અ રોE. તે ગ ણતના વૈ ાિનક સંકત લપીની સમક છે . દાખલા
તર ક, નંબર 1320.23 તર ક દશાવવામાં આવે છે .

1.32023 × 103

વૈ ાિનક સંકત લપીમાં, યાર

1.32023E+03

ક ુ ર િસ ટમ ારા એ સપોન ટ નોટશનમાં. પ ટ કરનારની મદદથી છાપવામાં આવેલી કમતો



e,f, અને E ૂળ ૂત ર તે દશાવે છે છ ચોકસાઇ કો અને યારબાદ દશાંશ બ ુ આવે છે .
70 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

લો ટગ-પોઇ ટ નંબરને એ સપોને શયલ અથવા ફ ડ-પોઇ ટ નોટશનમાં દશાવવામાં આવે છે ,


કોઇ પાછળના ૂ ય િવનાના મે નીટ ડુ ના ૂ ય પર આધાર રાખે છે . દાખલા તર ક

1.2023000 એ 1.2023 // તર ક છાપવામાં આવે છે માં કોઈ પાછળ ૂ ય નથી.

કમતો આની સાથે દશાવેલ છે E અથવા (e) જો તેમનો ઘાતક કરતા ઓછો હોય તો -4 ઘાતાંક ય
સંકત લપીમાં પાંત રત થયા પછ અથવા જો તેમનો ઘાતક છ ચોકસાઇ કો કરતા વધાર અથવા
સમાન હોય અને બાક ના ક સાઓમાં, ૂ ય પાંતર પ ટ કરણકતાનો ઉપયોગ કર ને છાપવામાં આવે
છે f. દશાંશ બ ુ હંમેશા તમામ તરતા બ ુ પ ટ કરનારાઓની ડાબી બા ુ એ ઓછામાં ઓછો એક ક
હોય છે . સં યાઓ 0.00000456, 456, 4.56, 45.60અને 4560000.0 તર ક દશાવવામાં આવે છે
૪.૫૬ઈ-૦૬, 456, 4.56, 45.6અને 4.56+e06 પ ટ કરનાર ' ને વાપર ર ા છે g'.

0.00000456 ની સં યા ઘાતાંક ય સંકત લપીમાં લખવામાં આવી છે કારણ ક ઘાતક (-6) -4


કરતા નાની છે , અને સં યા 4560000.0 પણ ઘાતાંક ય સંકત લપીનો ઉપયોગ કર છે કારણ ક
ઘાતક (6) એ ૂળ ૂત ચોકસાઇ (છ ચો સાંકો)ની બરાબર છે .

ુ માં પ રણમે છે e, યાર એક અપરકસ G મોટાં ક સાનાં આઉટ ટ


નાનોકસ g નાનાંકસનાં આઉટ ટ ુ માં
પ રણમે છે E (વ ચેના તફાવત ુ માં ગોળાકાર કરવામાં આવે છે
ટલો જ e અને E). નંબરને આઉટ ટ
યાર પાંતરણ પ ટ કરનારને વાપર ર ા હોય %e, %Eઅને %g, પરં ુ યાર પાંતર પ ટ કરનારને
વાપર ર ા હોય યાર ન હ %f.
ટબલ 2.4: ૂણાક અને તરતા- બ ુ પાંતરણ પ ટ કરનાર

Conversion
Description
Specifier

Integer Numbers

d Representing a signed integer.

Representing a signed integer (The specifier d and i have different


i
interpretations when used with scanf function)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 71

u Representing an unsigned integer.

o Representing an unsigned octal integer.

X or x Representing an unsigned hexadecimal integer.

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

f Representing fixed-point notation.

E or e Representing exponential notation.

Representing a number either in fixed or exponential notation, depending upon


G or g
the magnitude of the value.

આ ૃિત 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 માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

19. printf("%g \n", 9876543.21 );


20. printf("%G \n", 9876543.21 );

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

2.7.1.2 છાપકામ શ દમાળાઓ અને અ રો. યાં બે પાંતરણ પ ટકતાઓ છે , c અને s, અ રો

અને શ દમાળાઓ છાપવા માટ. char દલીલ '%c' એ પાંતરણ પ ટ કરનાર માટ જ ર છે c

ુ ાર s, યાં
યાર, '%s' એ પાંતરણ પ ટ કરનાર માટ જ ર છે s. પ ટ કરનાર અ સ ુ ી
ધ ૂય

અ ર ન મળે યાં ુ ી અ રો દશાવવામાં આવે છે ('\0'). નીચેનો કાય મ (આ ૃિત 2.20)


પ ટકતાનો ઉપયોગ કર ને અ ર અને શ દમાળા દશાવે છે :

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.20 : શ દમાળા અને અ ર પાંતરણ િન દ ટના ઉપયોગ ુ ં િનદશન


ુ :
આઉટ ટ
C
C Program
C program

2.7.2 Escape મ
આપણે ઉપરના ો ામ પરથી જોઈ શક એ છ એ ક પા \n માં લખવામાં આ ુ ં હોવા છતાં ન
પર છાપવામાં આ ુ ં ન હ ુ ં printf િનવેદન. બેક લેશ (\)નો ઉપયોગ િ ફ ટટમે ટમાં થાય છે
તેને એ કપ કર ટર કહવામાં આવે છે . તેથી, એ કપ િસ વ સ એ પા ોનો મ છે બેક લેશથી શ
થાય છે અને યારબાદ કટલાક પા આવે છે . તેનો ઉપયોગ ન પર ુ ને ફોમટ
દિશત આઉટ ટ
કરવા માટ થાય છે . દાખલા તર ક \n એક નવી રખા દશાવે છે . આ નવા લીટ અ રનો ઉપયોગ
કસરને નીચેની લીટ ની શ આતમાં ખસેડવા માટ થાય છે . સામા ય ર તે ઉપયોગમાં લેવાતી
કટલીક એ કપ િસ વ સ કો ટક 2.5માં દશા યા ુ બ છે :

ટબલ 2.5: સામા ય ર તે ઉપયોગમાં લેવાતી એ કપ િસ વ સ

Escape Sequence Description

\n ( New line) It moves the cursor to the start of the next line.

\t (Horizontal tab) It moves the cursor to one tab horizontal space.

\a (Alert) It generates a sound to alert the programmer about


the execution of a program.
74 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

\\ (Backslash) It displays the backslash character in the output.

\” (Double Quote) It displays a double quote character in the output.

સી ો ાિમગ ભાષામાં અ ય એ કપ િસ વ સ ઉપલ ધ છે . વ ુ વાંચવા માટ તમે QR કોડ કન


કર શકો છો.

2.7.3 ે ની પહોળાઈઓ અને તેમાં ચોકસાઈ (Field widths and precision in )printf

ે ની પહોળાઈ તે ે ના કદ ુ ં વણન કર છે યાં ડટા દિશત થાય છે . દિશત થયેલ મા હતી યો ય


ર તે યાયી ઠરશે જો ે ની પહોળાઈ છાપેલ મા હતી કરતા વધાર હોય. બધા પાંતરણ પ ટ
કરનારાઓ ે ની પહોળાઈઓના વપરાશને પરવાનગી આપે છે . નીચેનો કાય મ (આ ૃિત 2.21)નો
ઉપયોગ ે ની પહોળાઈ દશાવવા માટ થાય છે .

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. }

આ ૃિત 2.21 : ે ની પહોળાઈનો યાલ દશાવવો


ુ :
આઉટ ટ

આઉટ ટુ :
5
56
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 75

567
5678

-5
-56
-567
-5678

ુ ની ચોકસાઇને િનયંિ ત કર છે . ડટાના િવિવધ


ચોકસાઈ. આ ઉપરાંત, તા. printf ફં શન આઉટ ટ
વ પો માટ, ચોકસાઇની િવિવધ અસરો હોય છે . ચોકસાઈ યાર ૂણાક પાંતરણ પ ટ કરનારનો
ઉપયોગ કર ને બતાવેલ છે યાર બતાવવા માટના કોની ૂનતમ સં યાને યા યાિયત કર છે .
યાં ુ ી
ધ કડાઓની ુ લ સં યા ચોકસાઇને સમાન ન થાય યાં ુ ી છાપવા માટની કમતમાં

ૂ યો ઉમેરવામાં આવે છે . ચોકસાઈની કમત પાંતર પ ટ કરનાર અને ટકાવાર ચ વ ચે
લખવામાં આવે છે . આપણે એક જમાં ચોકસાઇ અને ફ ડ પહોળાઈ બંનેને જોડ શક એ છ એ
printf ે ની પહોળાઈને ચોકસાઇ ૂય ુ ર ને િનવેદન. દશાંશ બ ુ નો ઉપયોગ
ારા અ સ
ે ની પહોળાઈ અને ચોકસાઇ કમતને અલગ કરવા માટ થાય છે . તે ુ ં ઉદાહરણ નીચે દશા ુ ં છે :
printf("%8.2f", 321.54768);

ુ દશાવે છે 321.54દશાંશ બ ુ ની જમણી બા ુ એ બે


આઉટ ટ ક ધરાવતા આઠ કના ે માં.

2.8 scanf િવધેયનો ઉપયોગ કર ને ઇન ટુ


મ ક આપણે પહલેથી જ ૂળ ૂત વા રચનાનો અ યાસ કય છે scanf એકમ 1 માં. આ scanf
કમા ડ પાસે ફોમટ કં ોલ શ દમાળા છે માં શા દક અ રો અને પાંતર પ ટકતાઓનો સમાવેશ
ુ ડટાના બંધારણને યા યાિયત કર છે . ની ઇન ટ
થાય છે અને ઇન ટ ુ બંધારણ શ તાઓ scanf
િવધેય સમાવે છે
1. િવિવધ કારના ડટા દાખલ કરવા.
ુ ના
2. ઇન ટ વાહમાંથી ચો સ અ રો દાખલ કરવા.
ુ ના
3. ઇન ટ વાહમાંથી િવિશ ટ અ રોને બાકાત રાખ .ુ ં
વા રચના scanf િવધેય

scanf(format_control_string, other parameters);


76 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

ો ામ (આ ૃિત 2.22) િવિવધ ૂણાક પાંતરણ પ ટ કરણકતાઓનો ઉપયોગ કર ને ૂણાકોને


ુ તર ક વીકાર છે અને આઉટ ટ
ઇન ટ ુ તર ક અ ુ પ દશાંશ ૂણાકો દશાવે છે .
1. #include <stdio.h>
2. int main()
3. {
4. int x1;
5. int x2;
6. int x3;
7. int x4;
8. int x5;
9. int x6;
10. int x7;
11. printf("Enter the value of variables from x1 to x7 : " );
12. scanf("%d%o%x%u%i%i%i",&x1, &x2, &x3, &x4, &x5, &x6, &x7 );
13. printf("Entered value of variables displayed as decimal
integers are:\n");
14. printf("%d%d%d%d%d%d%d\n", x1, x2, x3, x4, x5, x6, x7);
15. return 0;
16. }

આ ૃિત 2.22 : ૂણાક પાંતરણ પ ટ કરનાર

આઉટ ટુ :

Enter the value of variables from x1 to x7 : -20


20
30
40
50
060
0x80
Entered value of variables displayed as decimal integers are:
-20 16 48 40 50 48 128

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા વેશે છે -20, 20, 30, 40, 50, 060, અને
ુ તર ક
0x80 ઇન ટ

દશાંશ, અ ટકો અને હ ઝાડિસમલ વ પોમાં ૂણાકોને પાંતર પ ટ કરનારનો ઉપયોગ કર ને


દાખલ કર શકાય છે %i. એજ ર તે, લો ટગ પોઇ ટ નંબરોનો ઉપયોગ કર ને દાખલ કર શકાય છે
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 77

e, E, f, gઅને G પાંતરણ પ ટ કરનારાઓ,


કરનારાઓ યાર શ દમાળાઓ અને અ રો વાપર ને દાખલ
થયેલ છે s અને c પાંતરણ પ ટ કરનારાઓ.
કરનારાઓ

2.9 ફાઈલોમાંથી ઈન ટુ અને આઉટ ટુ

ુ ડવાઇસમાંથી ઇન ટ
ટા ડડ ઇન ટ ુ લેવા અને ટા ડડ આઉટ ટ
ુ ડવાઇસમાંથી આઉટ ટ
ુ લેવા
ુ અને આઉટ ટ
ઉપરાંત, ઇન ટ ુ ફાઇલો ારા આપી શકાય છે . વે રયેબ સમાં સં હત ડટા
કામચલાઉ હોય છે , કારણ ક ો ામની સમા ત પર ડટા ખોવાઈ ય છે . ફાઇલોનો ઉપયોગ ડટાને
કાયમી ધોરણે રાખવા માટ થાય છે . ક ૂટર િસ ટમ ગૌણ મેમર પર હાડ ડ કની મ ફાઇલોનો
સં હ કર છે . હવે પછ ના િવભાગમાં, આપણે ચચા કર ુ ં ક કવી ર તે C ો ામ ારા ફાઇલ
બનાવવામાં આવે છે અને તેની યા કવી ર તે કરવામાં આવે છે .

2.9.1 ફાઈલ એટલે ?ંુ

ફાઇલ એ એક ોત છે યાં સો ટવેર હાડ ડ ક (ગૌણ સં હ ઉપકરણ) પર બાઇ સની ેણી તર ક


ણી
મા હતી /ડટાની બચત કર છે . ફાઇલમાં સં હત ડટા કાયમી છે . વપરાશકતા ફાઇલ પર િવિવધ
યાઓ ચલાવી શક છે , મ ક ફાઇલની દર ડટા બનાવવા,
બનાવવા ખોલવા, વાંચવા અને અપડટ
કરવા. C માં ફાઈલના સંચાલનના ૂળ ૂત કાય કો ટક 2.6 માં દશા યા છે :
ટબલ 2.6: સીમાં ફાઇલને હ ડલ કરવાના ૂળ ૂત કાય

Function Name Detail

fopen() It is used to open an existing file or create a new


file.

fclose() It is used to close a file

fprint() It is used to write data in a file

fscanf() It is used to read data from a file

ન ધ: તે સમજ ું જ ર છે ક ો ામમાં િવિવધ ફાઇલો સાથે વાતચીત કરતી


વખતે, આપણે ફાઇલ-ટાઇપ પોઇ ટરને યા યાિયત કર ું આવ યક છે . પો ટસ
78 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

િવશે વ ુ િવગતો માટ ૃપા કર ને QR કોડ ુ ઓ.

2.9.2 ફાઈલ યાઓ


1. અ ત વ ધરાવતી ફાઇલને બનાવો અથવા ખોલો(Create or open an existing file).
A fopen()િવધેય એ હાલની ફાઇલ અથવા નવી ફાઇલને ખોલવા માટ વપરાય છે . આ
િવધેય હડર ફાઈલમાં ઉપલ ધ છે stdio.h. ની વા રચના fopen() િવધેય નીચે ુ બ

છે :
file_ptr = fopen(“ filename”, “ mode”);

fopen() બે પ રમાણો ફાઇલનામ અને થિત લે છે ક યાં ફાઇલનામ એ ફાઇલ ુ ં નામ છે ક ને


ખોલવાની જ ર છે અને થિત ફાઇલના વપરાશની થિતને યા યાિયત કર છે . આ િવધેય ફાઇલ
િનદશક પરત કર છે .

fileptr = fopen(“/Users/CSE/Desktop/program_file.txt”, “w”)


// creating a file “program_file.txt”

● અહ , જો ફાઇલ હોય તો program_file.txt થાનમાં અ ત વ ધરાવ ુ નથી


/વપરાશકતાઓ/CSE/ડ કટોપ, પછ િવધેય નામવાળ ફાઈલ બનાવે છે

program_file.txt અને તેને લખવાના હ ઓ માટ ખોલે છે (ફાઇલની ઍ સેસની ર ત
છે "w"). ફાઇલ યાઓ માટ િવિવધ થિતઓ ઉપલ ધ છે મ ક, w, r, a, r+, a+, અને
w+.
● ધ "w"મોડ ો ામરને ફાઇલની સામ ીને સંપા દત કરવા અથવા બનાવવા માટ સ મ
કર છે .
● ધ "rમોડ ો ામરને ફાઇલની સામ ી વાંચવા માટ સ મ કર છે .
● ધ "aમોડ ો ામરને એપે ડ મોડમાં ફાઇલ ખોલવા માટ સ મ બનાવે છે .

2. ફાઈલ બંધ કરો(Close a file). A fclose () િવધેય ફાઇલને બંધ કર છે ક અ કુ


યાઓ માટ ખોલેલ હતી. ફાઇલને બંધ કરવા માટ, નીચેની વા રચનાનો ઉપયોગ થાય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 79

fclose(" file_ptr");

ાં file_ptr ફાઇલ સાથે જોડાયેલ ફાઇલ િનદશક છે ક ને બંધ કરવાની જ ર છે .


fclose (fileptr);

1. ફાઇલમાં મા હતીને વાંચવા અને લખવા માટ


િવધેયો fscanf()અને fprintf() ફાઇલમાં ડટા વાંચવા અને લખવા માટ વપરાય છે . આ
િવધેયો ુ ય વે આની ફાઇલ આ ૃિ ઓ છે scanf() અને printf(), અને બંનેને ફાઇલ તરફ
િનદશ કરતા પોઇ ટરની જ ર પડ છે . આ કાય મ દશાવે છે ક ફાઇલમાં નંબર કવી ર તે લખવો
(આ ૃિત 2.23માં દશાવેલ છે ).

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. }

આ ૃિત 2.23 : ફાઈલ લખવા ંુ િનદશન

ઉપરનો કાય મ વપરાશકતા ારા દાખલ કરવામાં આવેલ નંબરને લખે છે અને ફાઇલમાં સં હ
કર છે 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. }

આ િૃ ત 2.24 : ફાઈલ વાંચવા ંુ િનદશન

આ ુ તર ક મોિનટર
ો ામ program_file.txt નંબર વાંચે છે અને આઉટ ટ ન પર તે જ નંબર

છાપે છે .

એકમ સારાંશ

C માં ઓપરટરો

● C માં, જો આપણે બે ઓપર ડનો ુ ાકાર કરવા માંગતા હોઈએ તો p અને q, તો પછ



તે આ ર તે લખ ું જોઈએ p * q; એટલે ક, તેને ુ ાકાર કારકની જ ર પડ છે (*),

યાર બીજગ ણતમાં, ુ ાકાર ફ ત લખીને કર શકાય છે pqપરં ,ુ C ભાષા અથઘટન

કર છે pq એક ઓળખકતા તર ક. તેથી, ો ાિમગ લ વેજમાં પ ટપણે ઓપરટસને
કામગીર બ વવાની જ ર પડ છે .
● કગ ણતની કામગીર માં ઉપયોગમાં લેવાતા ઓપરટરો સંગી છે .
● બે ૂણાક ઓપર ડ એક ૂણાકમાં પ રણમે છે િવભાજન કામગીર ના ક સામાં
પ રણમે છે . દાખલા તર ક 11/5 પ રણામો 2.
● ુ ો ઓપરટરને આધાર આપે છે %,
C એ મોડ લ બે ૂણાક સં યાઓના િવભાજન પછ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 81

બાક ના ભાગ ું ૂ યાંકન કર છે . દાખલા તર ક, 12%5 માં પ રણામો 2 યાર શેષ


તર ક 12 ના ારા િવભા જત થાય છે 5. એ જ ર તે, 28%7 માં પ રણામો 0 બાક ના
તર ક.
● સીમાં, યાર સં યાને ૂ ય વડ િવભા જત કરવામાં આવે છે યાર તે ો ામને
તા કા લક સમા ત કરવા ું કારણ બને છે અને ક પાઇલ-ટાઇમ ૂલ પેદા કર છે .
ક પાઇલ ટાઇમ ૂલો ો ામને ચલાવવા માટ પરવાનગી આપતી નથી યાર રન-
ટાઇમ ૂલો ો ામને ચલાવવા માટ પરવાનગી આપે છે પરં ુ ખોટા પ રણામોમાં
પ રણમે છે .
● ો ાિમગની સરળતા માટ, સી કગ ણત અ ભ ય તઓ લખવા માટ િસગલ-લાઇન
ફોમટનો ઉપયોગ કર છે . દાખલા તર ક, "a ુ યા b" ું અથઘટન આ ર તે કર ું જોઈએ
a*b થી ઓપરટર અને ઓપર સ બંને સીધી એક જ લાઇનમાં રહ છે .
● ક સનો ઉપયોગ સી અને બીજગ ણતીય બંને પદોમાં સમાન છે . તે ૂળ ૂત ર તે
શરતોને એક સાથે ૂ બ કર છે .

● સી ભાષા બીજગ ણત ારા ુ રવામાં
અ સ આવે છે તે માણે કગ ણત
ુ ર છે .
અ ભ ય તઓની ગણતર કરવા માટ ઓપરટર અ તાના િનયમને અ સ
● ભાગાકાર, ુ ાકાર અને શેષ કામગીર ની અ તા સરવાળા અને બાદબાક ના

ઓપરટરો કરતા વધાર હોય છે . જો અ ભ ય તમાં બ ુિવધ ઓપરટરો હાજર હોય, તો
તેમ ું ૂ યાંકન કરવા માટ અ તાનો િનયમ લા ુ કરવામાં આવે છે .
● યાર અ ભ ય તમાં સમાન અ તા ધરાવતા એક કરતા વ ુ ઓપરટરનો સમાવેશ
થાય છે , યાર તેમ ું ડાબેથી જમણે ૂ યાંકન કરવામાં આવે છે - સાંયો ગકતા. કટલાક
ઓપરટસ જમણીથી ડાબી બા ુ ની સાંયો ગકતાને પણ અ સ
ુ ર છે .
● તમામ રલેશનલ ઓપરટસની અ તા સમાન હોય છે અને તે ડાબેથી જમણે
ુ ર છે . તેવી જ ર તે, એસાઇનમે ટ ઓપરટરની સાંયો ગકતા ડાબેથી
સાંયો ગકતાને અ સ
જમણે હોય છે અને તે રલેશનલ ઓપરટસ કરતા ઓછ અ તા ધરાવે છે .
● સમાનતા (==) અને સ પણી (=)ના ઓપરટરો ુ દા ુ દા હોય છે . સમાનતા ઓપરટર
રલેશનલ ઓપરટર કટગર માં આવે છે અને તેનો ઉપયોગ થમ અને બી
82 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

ઓપર સની સમાનતા તપાસવા માટ થાય છે . યાર એસાઇ મે ટ ઓપરટર


કગ ણત ઓપરટર કટગર માં આવે છે અને ડાબા હાથના ઓપર ડને જમણા હાથની
ઓપર ડ વે ુ સ પે છે .
C માં ઇન ટુ આઉટ ટુ
● દરક ઇન ટુ અને આઉટ ટુ કામગીર સ તર ક ઓળખાતા બાઇ સના મનો
ઉપયોગ કર ને કરવામાં આવે છે .
● printf િનવેદનમાં ફોમટ કં ોલ ગનો સમાવેશ થાય છે ફોમટ ું વણન કર છે
માં આઉટ ટુ છાપવામાં આવશે. તેમાં શા દક અ રો, લે સ, ફ ડ પહોળાઈઓ અને
પાંતરણ પ ટ કરનારાઓનો સમાવેશ થાય છે .
● ૂણાકોને િવિવધ પાંતર પ ટકતાઓનો ઉપયોગ કર ને ર ૂ કરવામાં આવે છે મ ક
ડ , આઈ, ુ ઓ, અને x
,

● ૂણાકો માટ (સહ કરલ અને સહ ન થયેલ), અ ટકોણ ૂણાકો, અને હ ઝાડિસમલ
ૂ ા
ૂણાકો માટ. લાંબા અને ંક ૂણાકોને ુ ારકનો ઉપયોગ કર ને ર ૂ કરવામાં આવે છે

l અથવા h, ક વઝન પેિસ ફકર સાથે ૂવિનધા રત હોય છે .
● લો ટગ-પોઇ ટ નંબરો િવિવધ પાંતર પ ટકતાઓનો ઉપયોગ કર ને ર ૂ કરવામાં
આવે છે , મ ક e અને f ઘાતાંક ય અને લો ટગ-પોઇ ટ નોટશન માટ. પાંતરણ
પ ટ કરનાર g ઘાતક અથવા િનિ ત- બ ુ સંકત લપીમાં છાપવામાં આવે છે ,
ઘાતકના ૂ ય પર આધાર રાખે છે . જો ૂ ય ચોકસાઇ કરતા વધાર અથવા સમાન
હોય અને -4 કરતા ઓ ં હોય અથવા પછ આપણે ઘાતાંક ય સંકત લપી પસંદ કર એ
છ એ.
● અ રો અને શ દમાળાઓ આની મદદથી છાપવામાં આવે છે c અને s પટ
કરનારાઓ.
● એ કપ િસ વ સ ન પર દિશત આઉટ ટુ ને ફોમટ કરવા માટ વપરાય છે . બેક લેશ
(\)નો ઉપયોગ કરવામાં આવે છે printf િનવેદનને એ કપ કર ટર કહવામાં આવે છે .
● ે ની પહોળાઈ એ વા તિવક ે માપને ર ૂ કર છે ક યાં મા હતી છાપવી પડ છે .
જો છાપવા માટનો ડટા ે ની પહોળાઈ કરતા નાનો હોય તો ુ ત ડટાને યો ય ર તે
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 83

યાયી ઠરવી શકાય છે .


● ચોકસાઈ દશાવવા માટના કોની સં યા પ ટ કર છે યાર તેની સાથે વપરાય છે g
પ ટ કરનાર. યાર તે ૂણાક પ ટ કરણકતા સાથે વપરાય યાર દશાવવાના
ઓછામાં ઓછા કોની સં યા પ ટ કર છે .
● ુ ફોમ ટગને પ ર ૂણ કરવા માટ થાય છે .
scanf ફં શનનો ઉપયોગ ઇન ટ

● ૂણાકોને પાંતરણ પ ટ કરનારનો ઉપયોગ કર ને દાખલ કર શકાય છે મ ક ડ,


આઈ, ુ ઓ, અને x
, ૂણાકો માટ (સહ કરલ અને સહ ન થયેલ), અ ટકોણ ૂણાકો,
અને હ ઝાડિસમલ ૂણાકો માટ. એજ ર તે, લો ટગ પોઇ ટ નંબરોનો ઉપયોગ કર ને
દાખલ કર શકાય છે ઈ, એફ, અને g પાંતરણ પ ટ કરનારાઓ, યાર
શ દમાળાઓ અને અ રો વાપર ને દાખલ થયેલ છે s અને c પાંતરણ પટ
કરનારાઓ.
ફાઈલો મારફતે ઈન ટુ -આઉટ ટુ
● ફાઇલ એ એક ોત છે યાં સો ટવેર હાડ ડ ક (ગૌણ સં હ ઉપકરણ) પર બાઇ સની
ેણી તર ક મા હતી /ડટાની બચત કર છે . ફાઇલોનો ઉપયોગ ડટાને કાયમી ધોરણે
રાખવા માટ થાય છે .
● ફાઇલની િવિવધ યાઓ છે મ ક ફાઇલ બનાવવી, ખોલવી, વાંચવી, અપડટ કરવી
અને બંધ કરવી.
● ફોપેન િવધેય એ હાલની ફાઇલ અથવા નવી ફાઇલને ખોલવા માટ વપરાય છે . fclose
િવધેય ફાઇલને બંધ કર છે ક અ કુ યાઓ માટ ખોલેલ હતી.
● fscanf અને fprintf ફં શ સનો ઉપયોગ ફાઇલમાં ડટાને વાંચવા અને લખવા માટ

થાય છે .

કસરતો

બ િુ વધ પસંદગી ો
1. ુ વીકારવામાં આવે છે .
માણ ૂત કાય મ માટ__નો ઉપયોગ કર ને ઇન ટ
(a) ફાઇલો
84 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

(b) ક ફ અને કમા ડ-લાઇન


(સી) બંને (એ) અને (બી)
(ડ ) ઉપરો તમાંથી એક પણ નહ

ુ ( ૂણાક)
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);

4. કગ ણત ઑપરટસની અ તાનો સાચો મ કયો છે (સવ ચથી સૌથી નીચો)?


(a) +, -, %, *, /
(b) %, *, /, +, –
(c) %, +, /, *, –
(d) %, +, -, *, /

5. નીચેનામાંથી ક ુ ં સા ુ ં C િવધાન છે સમીકરણને અ ુ પ છે p = bq4 +9?


(a) p = b * q * q * q * q * q + 9;
(b) p = b * q* q * q* ( q + 9 );
(c) p = ( b * q ) * q * * ( q + 9 );
(d) p = ( b * q ) * q* q + 9;
બ િુ વધ પસંદગીના ોના જવાબો (એમસી એ
ુ સ).
1. (c) 2. (c ) 3. (d) 4. (b) 5. (a)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 85

આઉટ ટુ -આધા રત ો

1. નીચેના કાય મો ુ ં આઉટ ટ


ુ લખો. (ધારો ક દરક કાય મ હડર ફાઈલ સમાવે

છે #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;
} }

આઉટ ટુ -આધા રત ોના જવાબો

A. 9 બી. ક = ૪,૫ સે. no1 = 2.000000 D. y = 5, y = 10, y = 5, y = 25, y = 5, y = 0


no2 = 3
E. ક પાઇલ-ટાઇમ ૂલ F. ૦ . 0 એચ. 4

ૂ ા અને લાંબા આ સર ટાઇપના


ંક ો
1.નીચેની સ પણીઓ અલગથી ૂણ કરવા માટ સી ટટમે ટ લખો.
(ક) બે ચલ યા યાિયત કરો x અને y લોટ કારના
(b) સં હ કમત 25 થી ચલ y.
(c) સં હ કમત ૧૦ થી ચલ x.
(d) ચલ બાદ કરો y ચલમાંથી x અને પ રણામને ચલમાં સં હત કરો p.
(ઈ) ા ત પ રણામને છાપો.
(f) છાપો 1000 અ ટકોણ વ પમાં આના ારા આગળ 0.
( ) 567.3579ની િ ટ પો ઝ ટવ સાથે (+) અને નકારા મક (-)ની ચોકસાઇ 3 કો સાથે
ઘાતાંક ય સંકત લપીનો ઉપયોગ કર ને સહ કરો.
(h) છાપો 34567 8- કના ે માં બાક છે .

2. નીચેની બાબતોને સરખાવો અને દરક ઓપરટરની સાંયો ગકતા પણ લખો


Operators Type
A. ++ (postfix) -- (postfix) 1. assignment
B. + - (type) ++ (prefix) -- (prefix) 2. unary
C. / * % 3. postfix
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 87

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

ે ટકલ

1. એક આઈટ ફમ છે આિસ ટ ટને કિમશનના આધાર ૂકવણી કર છે . આ કિમશન માિસક ુ લ


વેચાણના 25 ટકા છે , માં માિસક . 1200ની વધારાની રકમ છે . કિમશનની ગણતર કરવા માટ
સી ો ામ લખો અને તેને િ ટ કરો. ઉદાહરણ તર ક, એક સહાયક એક મ હનામાં 65000.00
િપયા ુ ં વેચાણ ક ુ હ .ુ ં ા ત થયે ું કિમશન 65000 + 1200ના 25 ટકા છે , . 17450.00 છે .
ુ /આઉટ ટ
ઇન ટ ુ ુ ં ઉદાહરણ નીચે આપેલ છે .
88 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

Enter sales in Rupee: 50000.00


Earning is: Rs. 13700.00

Enter sales in Rupee: 45040.00


Earning is: ₹12460.00

2. કગ ણત યાઓ ( મ ક સરવાળો, બાદબાક , ુ ાકાર, વગેર) વપરાશકતા ારા લેવાયેલી



બે સં યાઓ પર લા ુ કરવા માટ એક કાય મ લખો અને તેનાં પ રણામો છાપો.

3. આ જ લાઇનમાં 5 થી 10 ુ ીની સં યાઓને આની મદદથી દશાવોઃ


i) એક જ printf િનવેદન સાથે છ પ ટ કરણકતાઓ પણ છે .

ii) એ printf પ ટકતાઓ િવના ુ ં િનવેદન.

iii) છ printfિનવેદનો.

4. સી લ વેજનો ઉપયોગ કર ને નીચેની પેટન દશાવો. (સંકત: વાપરો printf પેટનને છાપવા
માટ યો ય એ કપ િસ વ સ સાથેના િનવેદનો).

a) b)
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *

વ ુ ણો

ો ાિમગ ભાષાઓનો ઇિતહાસ. આ િુ નક આઇટ ઉ ોગનો ાથિમક બ ડગ લોક એ ો ાિમગ


ભાષા છે . તે ૂચનાઓ અને િનદશોનો સં હ છે મ ુ ય કોઈ િવિશ ટ કાય હાથ ધરવા માટ ક ુ ર

દાન કર છે . પરં ુ ુ ં તમે ણો છો ક ો ાિમગ ભાષાઓના િવકાસમાં લાંબી અને રં ગીન ઘટના મ
છે ?

ક ુ ર ઉ ોગમાં ો ાિમગ માટ લગભગ પાંચસો ભાષાઓનો ઉપયોગ થાય છે ,


ટ દરક તેની અન ય
વા રચના અને મતાઓ ધરાવે છે . અને જો તમે ક ુ રના િપતા કોણ છે તે દાખલ કરો, તો સચ

ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 89

એ જન તમને ચા સ બેબેજની દશામાં િનદશ કરશે, જો ક તેમણે કોડની થમ લાઇન બનાવી ન હતી.
એડા લવલેસે વષ ૧૮૮૩ માં ો ાિમગ માટ થમ ભાષા ુ ં િનમાણ ક ુ હ .ુ ં પાછળથી કટલીક ણીતી
ભાષાઓ ચ માં આવી.

ઉ ચ- તર ય ો ાિમગ લ વેજનો પણ લાંબો ઇિતહાસ છે થમ ક ુ ર ુ ં વણન કર ને શ થાય



છે અને સો ટવેર બનાવવા માટના ડ ૂ સ સાથે સમા ત થાય છે . ારં ભક ો ાિમગ ભાષાઓ ૂબ
જ િવિશ ટ હતી અને વા રચના પર આધાર રાખતી હતી સમાન કકશ અને ગા ણિતક તક પર
આધા રત હતી. ક પાઇલર િથયર પર વીસમી સદ ના મ યમાં હાથ ધરવામાં આવે ું સંશોધન. અને,
ડવલપર ઉ ચ- તર ય ો ાિમગ લ વેજ ર ૂ કર છે , વ ુ ુ ભ વા
લ રચનાનો ઉપયોગ કર ને
ૂચનાઓ આપે છે .

1942 અને 1945 ની વ ચે, કોનરાડ સેએ લા કાલને િવકસાવી, થમ ઉ ચ- તર ય ો ાિમગ


ભાષા હતી. 1951માં, કોરાડો બોહમે સાથી ક પાઇલર (તેમના ડો ટરલ િનબંધ માટ) સાથે થમ ઉ ચ-

તર ય ભાષા િવકસાવી હતી. ફોર ાન, ફો ુ
લા ા સલેશનની રચના 1956માં આઇબીએમમાં કામ
કરતા એક ૂથ ારા હોન બેકસ (1956માં કાિશત)
કાિશત ના િનદશન હઠળ કરવામાં આવી હતી.

નીચેની મહ વની ભાષાઓ નીચેના વષ માં બનાવવામાં આવી હતી:


કાશન ંુ વષ નામ કાશન ંુ વષ નામ
1949 Assembly Language 1991 Python
1952 AUTOCAD 1991 Visual Basci
1957 FORTRAN 1993 R
1958 ALGOL 1995 .JAVA
1959 COBOL 1995 .PHP
1964 BASIC 1995 JavaScript
1970 PASCAL 1995 Rubby
1972 C 2000 C#
1972 .SQL 2006 PowerShell
1978 MATLAB 2009 GO
1983 Objective-C, C++ 2011 Cotlin
1990 Haskell 2014 Swift

વ ુ મા હતી માટ QR કોડ કન કરો


90 | C માં ઓપરટરો અને ઇન ટુ -આઉટ ટુ

સંદભ અને ૂચવેલ વાંચનો

1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૨). િપયસન
એ ુ શન ઇ ડયા .

2. ડિવડ ફ સ અને ડોન ફ સ (2011). હડ ફ ટ સી, ઓ'રઈલી મી ડયા, ઇ ક


3. https://nptel.ac.in/courses/106104128
4. https://nptel.ac.in/courses/106105171 (બી અને ી અઠવા ડયા માટનાં યા યાનો)

વ ુ વાંચન માટ ડાયનેિમક QR કોડ

લેખક દરક એકમ માટ સહાયક િવ ડઓ વચનો બના યાં છે . એકમ ૨ માં
આવર લેવામાં આવેલા િવષયોને વ ુ સાર ર તે સમજવા માટ વાચકોને
વચનો જોવા માટ ો સા હત કરવામાં આવે છે . જો ક, સલાહ આપવામાં
આવે છે ક પહલા ુ
ક િુ નટને વાંચો અને પછ વી ડયો ુ ઓ. િવ ડઓ
વચનો આખા એકમને આવર ન શક પરં ુ ૂરક સામ ી તર ક ઉમેરવામાં
આવે છે .
91 | P a g e

3
d

C C માં િનયં ણ િવધાનો

એકમ િવિશ ટતાઓ

આ એકમ ારા આપણે નીચેનાં પાસાંઓની ચચા કર છે :


● ો ાિમગમાં િનયં ણ િનવેદનોની જ રયાત;
● સીમાં િનયં ણ િનવેદનોના કારો;
● િવિવધ પસંદગી િવધાનોની વા રચના અને અથશા ;
● પસંદગીના િનવેદનો પર સમ યાઓની ે ટસ કરો: જો, જો... અ યથા, વચ કરો;
● િવિવધ ુ રાવતન િનવેદનોની વા
ન રચના અને અથશા ;
● ુ રાવતન િવધાનો પર સમ યાઓની
ન ે ટસ કરો: કારણ ક, યાર, કરો... સમય;
● ચા ુ રાખવા, તોડવા અને ગોટો ટટમે ટનો ઉપયોગ;

ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
ૂ ી માટ
એકમ દરક િવષયની સમ ત ૂઆર કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કારની કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ ,
આઉટ ટુ -આધા રત ો, ાયો ગક કસરતો, વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે
સંદભ અને ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .

તકસંગત

અમે ો ાિમગ ભાષામાં િનયં ણ િનવેદનોની જ રયાત સમ વીને આ એકમની શ આત કર એ


છ એ. અમે િનયં ણ િનવેદનોના કારો ું વણન કર એ છ એ. આગળ, િવિવધ કારના પસંદગી
92 | C માં િનયં ણ િવધાનો

િનવેદનોની વા રચના અને અથશા ની ચચા કરવામાં આવે છે , નો ઉપયોગ ગણતર ની


સમ યાના િનરાકરણ માટ થાય છે . યારબાદ, તે િવિવધ ુ રાવતન િનવેદનો અને તેમની

વા રચના અને અથશા ું વણન કર છે . અમે વ ુ સાર ર તે સમજવા માટ લોચા ્ સનો
ઉપયોગ કર ને પસંદગી અને ુ રાવતન િનવેદનોને સમ વીએ છ એ. તે
ન ો ાિમગ ભાષામાં
ઉપયોગમાં લેવાતા બનશરતી િનવેદનોને પણ સમ વે છે . આ એકમ ારા, આપણે ણ ૂળ ૂત
ોના જવાબ આપીએ છ એ: (1) સી ો ાિમગ ભાષામાં િવિવધ પસંદગી િનવેદનોનો ઉપયોગ
કવી ર તે અને ાર કરવો? "૨) ચો સ ટટમે ટને વારં વાર અમલમાં ૂકવા માટ ૂ સનો
ઉપયોગ કવી ર તે કરવો? ૩) વા તિવક ુ િનયાની સમ યાના ઉકલ માટ પસંદગી અને ુ રાવતન

િવધાનોનો સા ૂ હક ર તે કવી ર તે ઉપયોગ કરવો?

ૂવ-આવ યકતાઓ

ૂળ ૂત ગ ણત, એકમ-I, અને II

એકમ પ રણામો

આ એકમનાં પ રણામોની યાદ નીચે ુ બ છે ઃ



U3-O1: C નો ઉપયોગ કર ને સમ યા-િનરાકરણમાં િનયં ણ િનવેદનોની જ રયાત ું વણન કરો
U3-O2: વણન કરો િનયં ણ િનવેદનોના કારો
U3-O3: સમ વ ું પસંદગી િનવેદનોની વા રચના અને અથશા
U3-O4: સમ વ ું ૂિપગ િનવેદનોની વા રચના અને અથશા
U3-O5: C નો ઉપયોગ કર ને સમ યા-િનરાકરણમાં પસંદગી અને ુ ગ ટટમે ટ લા ુ કરો

એકમ-1 અ યાસ મના પ રણામો સાથે અપે ત મેિપગ


(1- નબળો સહસંબધ ં ; 3- મજ ૂત સહસંબધ
ં ; 2- મ યમ સહસંબધ ં )
પ રણામો
CO-1 CO-2 CO-3 CO-4 CO-5 CO-6
U3- O1 - 3 2 3 - -
U3- O2 1 3 2 2 - -
U3- O3 2 2 3 2 - 1
U3-O4 2 2 3 2 - 1
U3- O5 2 2 3 2 - 3
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 93

3.1 પ રચય

અગાઉના એકમોમાં, અમે શી યા ક ક ુ ર


ટ ો ાિમગ આપણને વા તિવક-િવ ની સમ યાઓ હલ
કરવામાં મદદ કર છે . સમ યાના ઉકલ માટ, ો ામર પાસે સં ૂણ સમજણ અને આયો જત
અ ભગમ (અ ગો રધમ) હોવો આવ યક છે . અ ગો રધમનો ચો સ મમાં અમલ કરવા માટ પગલાં
( યાઓ)નો મ જ ર છે . નીચે ુ ં ઉદાહરણ યાનમાં લો.
ઉદાહરણ.અમે મ હનાના સોમવારથી ુ વાર ુ ીના કાયકાર
ધ દવસોના સરરાશ તાપમાનની
ગણતર કરવા માંગીએ છ એ. આ સમ યાના ઉકલ માટ, આપણે મ હનાના તમામ કાયકાર
દવસો ું તાપમાન ન ધવાની જ ર છે . તે પછ , સરરાશ તાપમાનની ગણતર કરો અને તેને
વપરાશકતાને દિશત કરો.

આ સમ યા નીચેના માપદં ડોમાં કર શકાય છે ઃ


ુ તર ક એક અઠવા ડયાનો દવસ લો,
1. વપરાશકતા પાસેથી ઇન ટ
૨. અઠવા ડયાનો દવસ કામકાજનો દવસ છે ક નહ તે ચકાસો.
3. જો કામકાજનો દવસ હોય, તો તાપમાનની ન ધ કરો. અ યથા, નીચેની થિત માટ તપાસો
એટલે ક.
3.1 જો મ હનો ૂરો થઈ ગયો હોય (નીચેની થિત) સાચી હોય, તો સરરાશ તાપમાનની
ગણતર કરો અને તેને દશાવો.
3.2 જો આ થિત ખોટ પડ ય, તો આવતા અઠવા ડયાના દવસે ઓ.
4. આ યા મ હનામાં ટલા દવસો ુ ી ચાલતી રહ છે .

94 | C માં િનયં ણ િવધાનો

ઉપરો ત પગલાંઓની ા ફકલ ર ૂઆત


આ ૃિત 3.1માં દશાવી છે . હ રાના
આકાર ુ ં તીક િનણય લેવા ુ ં િનવેદન
છે , ને િનયં ણ િનવેદન તર ક પણ
ઓળખવામાં આવે છે , િનયં ણને એક
િનવેદનમાંથી બી િનવેદનમાં તબ દલ
કર છે (તે મબ િનવેદન ન પણ હોઈ
શક). આ એકમમાં, આપણે C ો ાિમગ
ભાષામાં િવિવધ િનયં ણ િનવેદનોનો
અ યાસ કર .ુ ં

ન ધ: આ ા ફકલ ર ૂઆતને લોચાટ


તર ક પણ ઓળખવામાં આવે છે . તે
આ ૃિત 3.1 : મ હનાના તમામ કામકાજના દવસોના
િવિવધ તીકોનો ઉપયોગ કર ને
સરરાશ તાપમાનની ગણતર કરવા માટનો લોચાટ
ક ટુ ર ો ા સના વાહને દશાવે
છે . મહરબાની કર ને વાંચો વ ુ ણો
લોચાટ િવશે વ ુ િવગતો માટનો
િવભાગ.

3.2 િનયં ણ િનવેદનો


સામા ય ર તે, સી ો ામમાં લખાયેલા િનવેદનો િમક મમાં અમલમાં ૂક છે (અ ુ મ માં
િનવેદનો લખાયા છે ). પરં ,ુ કટલાક સી િનવેદનો િમક અમલની મં ૂર આપતા નથી; તેના બદલે,
તેઓ િનવેદનને અમલમાં ૂકવા માટ િનયં ણને થાનાંત રત કર છે (અ ુ મમાંના એક િસવાય).
આને િનયં ણના થાનાંતરણ તર ક ઓળખવામાં આવે છે .
સી ો ાિમગ લ વેજમાં બે કારના ક ોલ ટટમે ટ હોય છે .
1. પસંદગી વા ો: જો, જો.. બી ુ , બદલો
2. ુ રાવતન વા
ન ો: માટ, સમય, કરો.. સમય
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 95

ન ધનીય છે ક, આ એકમમાં, 'િનવેદનો' અને ' ૂચનાઓ' શ દ એકબી ની સાથે વપરાય છે અને
સમાન અથ દશાવે છે . િનયં ણ િવધાનોના કારો આ ૃિત 3.2માં દશા યા છે .

આ ૃિત 3.2 : િનયં ણ િનવેદનોના કારો

3.3 પસંદગી ંુ િનવેદન


વા તિવક વનમાં, એવો સમય આવે છે યાર આપણે પસંદગીઓ કર એ છ એ, અને પછ આપણે
તે પસંદગીઓના આધાર આગળ ુ ં કર ુ ં તે ન કર એ છ એ. ો ાિમગ કરતી વખતે સમાન
ૃ યો થઈ શક છે યાં આપણે પસંદગીઓ કરવી જોઈએ અને કરલી પસંદગીના આધાર નીચેના
કોડ લોકને ચલાવ ુ ં જોઈએ. સી ભાષા બે કારની પસંદગી રચનાઓ ૂર પાડ છે . આ નીચે
ુ બ છે , જો-બી ુ ં િનવેદન અને બદલો િનવેદન. આને િનણય લેનારા િનવેદનો તર ક પણ

ઓળખવામાં આવે છે . આ િનવેદનો ો ામ એ ઝે ુ નનો
શ મ ન કર છે . આ જો-બી ુ ં
િનવેદનને આગળ આ તર ક વગ ૃત કરવામાં આ ુ ં છે જો િનવેદન, જો-બી ુ ં િનવેદન, if-else-
if િનવેદન, અને માળો બનાવેલ જો-બી ુ ં આ ૃિત 3.2માં દશા યા ુ બ ુ ં િવધાન.

3.3.1 if િનવેદન
તે એક શરતી િનવેદન છે શરત સાચી પડ યાર અમલમાં ૂકવા માટ િનવેદન અથવા િનવેદનો
( યા)ના સ ૂહને પસંદ કર છે ; અ યથા, તે યાને છોડ દ છે . તે ો ાિમગ લ વેજ ારા સમિથત
સૌથી સરળ િનણય લેવા ુ ં િનવેદન છે . આ જો િનવેદન એ એક જ યાને પસંદ કરવા અથવા છોડ
96 | C માં િનયં ણ િવધાનો

દવા માટ જવાબદાર છે . ઉદાહરણ તર ક, જો કોઈ િવ ાથ બરાબર કરતાં વ ુ કોર કર તો તે પાસ


થઈ ય છે 40 પર ામાં ુ આપે છે . કોઈ િવ ાથ પર
ણ ામાં પાસ થયો છે ક નહ તે તપાસો.

તેને િસગલ જો ટટમે ટનો ઉપયોગ કર ને ઉકલી શકાય છે કારણ ક તેમાં એક જ યા


(િનણય)નો સમાવેશ થાય છે . એક લોચાટ સ ચ જો આ િવધાન આ ૃિત 3.3માં દશા ુ ં છે .
િનણય ુ ં િતિનિધ વ કરવા માટ લોચાટમાં હ રાના તીકનો ઉપયોગ કરવામાં આવે છે . િનણયના
તીકમાં એક અ ભ ય ત શામેલ છે કાં તો સાચી અથવા ખોટ હોઈ શક છે . જો કોઈ અ ભ ય ત
ૂ યમાં પ રણમે છે , તો તે ખો ુ ં માનવામાં આવે છે , અને જો તે ૂ ય ન હોય તેવા ૂ યમાં પ રણમે
છે , તો તે સા ુ ં માનવામાં આવે છે . લોચાટ ડાકાર તીક સાથે શ થાય છે અને સમા ત થાય
છે .

આ ૃિત ૩.૩. ુ ં લોચાટ જો િનવેદન

ની વા રચના જો િનવેદન નીચે આપેલ છે .


1. if (expression )
2. {
3. set of statements; // statements executes when the expression evaluates to true.
4. }

આ જો િવધાનની અ ભ ય ત ુ લયન ૂ યમાં પ રણમે છે . તે સા ુ ં ક ખો ુ ં હોઈ શક. જો


અ ભ ય ત સાચી બને, તો પછ શર ર ુ ં શર ર જો િનવેદન અમલમાં ૂક છે ; અ યથા નહ . ુ લો
ક સ { (લાઇન ૨) અને લોઝ ેસ} (પં ત ૪) ના શર રના ારં ભ અને તને ચ ત કર છે જો
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 97

િનવેદન. યાર આના શર રની જ ર હોય યાર આ ક સ જ ર હોય છે જો અમલમાં ૂકવા માટના
એક કરતા વ ુ િનવેદનો શામેલ છે . જો આ ક સ ૂરા પાડવામાં ન આવે, તો પછ ું થમ િનવેદન
જો અ ભ ય તને તે ુ ં શર ર માનવામાં આવે છે . ુ ં ઉદાહરણ જો આ િવધાન આ ૃિત 3.4માં
માં દશા ું
છે .

આ ૃિત 3.4: તે ુ ં િનદશન જો િનવેદન

આઉટ ટુ :

Enter marks 50
You have passed an examination

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 50 દાખલ કર છે

આ ૃિત 3.5: તે ુ ં અથઘટન જો િનવેદન

આ ૃિત 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 (ક સ િવના) પસંદ કર છે .

3.3.2 જો-બી ુ ં ( if-else)િનવેદન

તે એક શરતી િનવેદન છે શરત સાચી પડ યાર અમલમાં ૂકવા માટ િનવેદન અથવા િનવેદનો
( યા)ના સ ૂહને પસંદ કર છે ; અ યથા, તે િનવેદનો ( યા)ના બી સેટને અમલમાં ૂક છે . આજો-
બી ુ ં િનવેદન બેમાંથી એક યાને પસંદ કર છે .ઉદાહરણ તર ક, જો કોઈ િવ ાથ બરાબર કરતાં
વ ુ કોર કર તો તે પાસ થઈ ય છે 40 પર ામાં ુ આપે છે . કોઈ િવ ાથ પર
ણ ામાં પાસ
થયો છે ક નાપાસ થયો છે ક નહ તે તપાસો.

આ જો-બી ુ ં િનવેદન શરતની તપાસ કર છે અને શરત સાચી પડ છે ક ખોટ તેના આધાર
કટલીક યાઓ કર છે . લોચાટ આ ૃિત 3.6માં દશા ુ ં છે . આપણે જોઈ શક એ છ એ ક િનણયના
તીકમાં એક અ ભ ય ત હોય છે સાચા અથવા ખોટા તર ક ૂ યાંકન કર શક છે . જો તે સા ુ ં
હોય, તો "તમે પર ામાં પાસ થયા છો" તે છાપવામાં આવે છે ; અ યથા, "તમે પર ામાં િન ફળ
ગયા છો" છાપવામાં આવે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 99

આ ૃિત3.6 ુ ં લોચાટ જો.. બી ુ િનવેદન


ની વા રચના જો.. બી ુ િનવેદન નીચે દશાવેલ છે :
1. if (expression)
2. {
3. set of statements;//statements executes when the expression evaluates to true
4. }
5. else
6. {
7. set of statements;//statement executes when the expression evaluates to false
8. }

અહ , આપણે જોઈ શક એ છ એ ક અ ય િનવેદન સાથે સંકળાયેલી કોઈ શરત નથી.


નથી આ િનવેદનો
ફ ત યાર જ અમલમાં ૂક છે જો શરત ખોટ પડ.
પડ ુ ં એક ઉદાહરણ જો.. બી ુ આ ૃિત 3.7માં
િવધાન દશા ુ ં છે .

આ ૃિત 3.7: ુ ં િનદશન જો.. બી ુ િનવેદન


100 | C માં િનયં ણ િવધાનો

આઉટ ટુ :
Enter marks 35
You have failed an examination

હવે, આપણે હવે પછ ુ ં શરતી િવધાન, એટલે ક, શીખવા તરફ આગળ વધી .ુ ં if-else-if.

3.3.3 if-else-if િનવેદન

આ શરતી િનવેદન એ આ ુ ં િવ તરણ છે જો.. બી ુ િનવેદન. તેને આના નામથી પણ ઓળખવામાં


આવે છે .if-else-if િનસરણી. અહ , અ ભ ય ત ુ ં ૂ યાંકન ઉપરથી નીચે ુ ી કરવામાં આવે

છે . જો તે સા ુ ં ૂ યાંકન કર છે , તો પછ અ ભ ય ત સાથે સંબિં ધત શર રને અમલમાં ૂકવામાં
આવે છે , અને બાક ની સીડ ની અવગણના કરવામાં આવે છે . બી ુ ં છે ું િનવેદન એ ૂળ ૂત

ન ધ:શરતી ઓપરટરની કામગીર (? :), એકમ II માં અ યાસ કરવામાં આવે છે , તે સમાન છે
જો.. બી ુ િનવેદન. ું તમે િ ટુ ઓપરટરનો ઉપયોગ કર ને સમાન કોડ લખવાનો યાસ
કર શકો છો?
િનવેદન છે , યાર અમલમાં ૂકવામાં આવે છે યાર કોઈ પણ શરત સાચી ન પડ. તેનો ઉપયોગ
બ િુ વધ પ ર થિતઓ ચકાસવા માટ થાય છે . ઉદાહરણ તર ક, આપણે િવ ાથ એ મેળવેલા ુ

ુ ાર િવભાગ ( થમ,
અ સ તીય અને ૃતીય) ની ગણતર કરવા માંગીએ છ એ.

િવભાજનની ગણતર કરવા માટનો લોચાટ આ ૃિત 3.8માં દશાવવામાં આ યો છે . લોચાટમાં


િનણય લેવાના ણ તીકો હાજર છે . થમ િનણય લેવા ુ ં તીક તપાસે છે ક ુ આનાથી મોટા

છે ક સમાન છે 60, પછ તે 'ફ ટ ડિવઝન' છાપે છે . શરત ખોટ પડ તો બી િનણય લેવાના
તીકમાં લખે ું પછ ુ ં પદ ચકાસવામાં આવે છે અને જો તે સા ુ ં બને તો બી ુ ં િવભાજન
છાપવામાં આવે છે . વળ , જો બી શરત ખોટ પડ ય તો, ી િવભાગની ી શરત
ચકાસવામાં આવે છે . જો બધી થિત ખોટ પડ ય, તો છે લી printf િનવેદન છાપવામાં આવે
છે , એટલે ક, િન ફળ ય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 101

આ ૃિત 3.8 ુ ં લોચાટ if-else-if િનવેદન

ની વા રચના if-else-if િનવેદન નીચે દશાવેલ છે :


1. if (expression)
2. {
3. set of statements;
4. }
5. else if (expression)
6. {
7. set of statements;
8. }
9. else if (expression)
10. {
11. set of statements;
12. }
13. .
14. .
15. .
16. else
17. {
18. set of statements;
19. }
102 | C માં િનયં ણ િવધાનો

ુ રવામાં આવે
આ if-else-if સીડ હંમેશા એકથી શ થાય છે જો શરત એ બ િુ વધ ારા અ સ
છે બી ુ જો ૂળ ૂત સાથે થિત અને ત થાય છે બી ુ િનવેદન. યાર કોઈપણ શરતો સાચી પડ
છે , યાર printf તેની સાથે સંકળાયે ું િનવેદન અમલમાં ૂકવામાં આવે છે . તે પછ , છે લા અ ય
િનવેદનને છોડ ને ો ામ એ ઝે ુ નનો
શ ત આવે છે . ુ ં એક ઉદાહરણ if-else-if સીડ
આ ૃિત 3.9માં દશાવી છે .

આ ૃિત 3.9 માં આ ુ ં િનદશન if-else-if િનવેદન

આઉટ ટુ :

Enter marks 67
67
First Division

હવે, આપણે છે લા શરતી િનવેદનની ચચા કર ,ુ ં ુ રાવિતત છે જો-બી ુ ંિનવેદન.


3.3.4 ુ રાવિતત જો-બી ુ ં િવધાન (The nested if-else statement)


ને ટગને િવિવધ ઉમેરવા તર ક યા યાિયત કરવામાં આવે છે જો-બી ુ ં ના શર રમાં િનવેદનો


જોઅને બી ુ .તેનો ઉપયોગ એક શરતની દરની ુ રાવિતત જો-
થિતને તપાસવા માટ થાય છે . ન
બી ુ ં િનવેદન જો િનવેદનની દર બી જો િનવેદનની દર હોય તો ૂક છે . ઉદાહરણ તર ક,

ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 103

કોઈ િવ ાથ પર ામાં પાસ થાય છે ક નાપાસ થાય છે ક નહ તે તપાસો અને તે કયા િવભાગ
ારા પર ા પાસ કર છે તેની ગણતર કરો.

લોચાટ આ ૃિત 3.10માં દશાવેલ છે . આપણે જોઈ શક એ છ એ ક થમ િનણય લેવા ુ ં તીક એ


તપાસ ુ ં છે ક કોઈ િવ ાથ પર ામાં પાસ થયો છે ક નહ . જો તે પસાર થાય છે , તો િનયં ણ
આગળના પર ય છે િનણય લેવા ુ ં િનવેદન, િવ ાથ એ થમ િવભાગ મેળ યો છે ક નહ તેની
ગણતર કરવી. જો હા, તો તે થમ િવભાગને છાપે છે ; અ યથા, તે ી િનણય લેવાના િનવેદનની
તપાસ કરશે બી િવભાગ માટ તપાસ કર છે . જો હા, તો તે બી િવભાગને છાપે છે ; અ યથા,
તે છે લા િનણય લેવાના િનવેદનની તપાસ કરશે, ી િવભાગ માટ તપાસ કર છે .

આ ૃિત 3.10 ુ રાવિતત જો-બી ુ ં િનવેદન


ુ ં લોચાટ ન

ુ રાવિતત ુ ં વા
ન રચના જો-બી ુ ંિનવેદન નીચે દશાવેલ છે :
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. }

આ ૃિત 3.11 : માળા ુ ં િનદશન જો-બી ુ ં િનવેદન


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 105

ુ ં શર ર જો સમાવી શક છે જો, બી ુ -જો અથવા if-else-if સીડ અને ુ ં શર ર બી ુ ને પણ


સમાવી શક છે જો-બી ુ ં િનવેદનો. તે યાદ રાખ ુ ં અગ ય ુ ં છે ક ફ ત એક જ લોક ાં તો ચલાવે
છે જો અથવા બી ુ , શરતોના આધાર. ાર જો લોક ચલાવે છે , આ બી ુ લોક છોડ દવામાં આવે
છે અને તેનાથી ઊલ ુ ં.

આઉટ ટુ :

Enter marks 77
First Division

ુ રાવિતત ુ ં ઉદાહરણ જો-બી ુ ંઆ ૃિત 3.11માં


ન 3.11 િવધાન દશા ું છે . જો કોઈ િવ ાથ પર ા પાસ
કર છે , તો િનયં ણ માં ય છે જો હોય તો શર ર અને ા ત કરલા ુ ના આધાર િવભાગની

ગણતર કર છે ; અ યથા, તે ચલાવે છે બી ુ ં છે બોડ , અને િ સ િન ફળ ય છે . તેના શર રની
દર આગળ ુ ં િનણય લેવા ુ ં તીક િવ ાથ ના િવભાગની તપાસ કર છે . અહ , અમે આનો
ઉપયોગ કય if-else-if િવ ાથ ના િવભાગની તપાસ કરવા માટ સીડ . તેથી, જો જોશરત સાચી
પડ છે , સંકળાયેલ printf િનવેદન અ યથા ચલાવે છે , િનયં ણ આમાં ય છે બી ુ જોશરત અને
તેને બી પડ, તો 'સેક ડ ડિવઝન' છાપવામાં આવે છે ;
િવભાગ માટ તપાસો. જો આ શરત સાચી પડ
અ યથા, ના શર ર બી ુ થડ
થડ ડિવઝન ચલાવે છે અને િ ટ કર છે .

3.1 યાર ો ામમાં બ ુિવધ જો િનવેદનો અને એક બી ુ ં િનવેદન હોય યાર ંુ થાય છે ?

કન QR
જવાબ માટ

ક પાઇલર ંૂ
ઝવણમાં કુ ાઈ શક છે ક જો
જો- ટટમે ટનો બાક નો ભાગ કોનો છે . તેને લતી અ ય
સમ યા તર ક ઓળખવામાં આવે છે , આ ૃિત 3.12માં દશાવવામાં આવી છે . સમ યા યાર ઉભી
થાય છે હોય. બી ુ ં બી ુ ં લ ું થઈ
યાર બી ુ ં એક િનવેદન બ િુ વધ જો િનવેદનોને અ ુ પ હોય ય
છે . તે ફ ત ુ રાવિતત જો-અ
ન અ ય િનવેદનોમાં જ થાય છે . આવા ક સાઓમાં, અ ય કલમ જો
િનવેદન હોય તો સૌથી દરની મા લક ની હોય છે .
106 | C માં િનયં ણ િવધાનો

આ ૃિત 3.12 : લતા અ યો ુ ં િનદશન

જો ક, અ ય જો િનવેદનને ક સની દર બંધ કર ને બી નો ભાગ બની શક છે . આ ૃિત 3.13માં,


બાક ની કલમ જો િવધાન હોય તો સૌથી બા ભાગ છે .

આ ૃિત 3.13 : અ ય લટકણ ુ ં િનદશન


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 107

આ ૃિત 3.14 ુ ં લોચાટ બદલો િનવેદન

3.3.5 વીચ િનવેદન

આ િનવેદન આનો એક િવક પ છે if-else-if િનસરણી. તેનો ઉપયોગ અ ભ ય તના ૂ યાંકન


ૂ ય સામે બ િુ વધ કામગીર ચલાવવા માટ થાય છે . ઉદાહરણ તર ક, વપરાશકતા પાસેથી બે
નંબરો લઈને ૂળ ૂત કગ ણત યાઓ કરવા માટ ક ુ ેટરની રચના કરો.

લોચાટ આ ૃિત 3.14માં દશા ુ ં છે . તે વપરાશકતા પાસેથી બે નંબરો લે છે અને તમામ


કગ ણત યાઓ દિશત કર છે ; પછ , વપરાશકતા નંબરો પર કરવામાં આવતી યાઓમાંથી
108 | C માં િનયં ણ િવધાનો

એકને પસંદ કર છે . યા ક વપરાશકતા પસંદ કર છે તે િવિવધ કસ કમતો સાથે બંધબેસે છે .


જો તે મેળ ખાય છે , તો કસ સાથે સંકળાયેલી કામગીર કરવામાં આવે છે ; અ યથા, તે પછ ના કસ
ૂ ય સાથે મેળ ખાય છે . જો તે કોઈપણ કસ સાથે મેળ ખાતો ન હોય તો ડફો ટ કસ ચલાવવામાં
આવે છે .

ની વા રચના બદલો િનવેદન નીચે દશાવેલ છે :


1. switch(expression)
2. {
3. case value 1: statements;
4. break;
5. case value 2: statements;
6. break;
7. ...
8. ...
9. case value n: statements;
10. break;
11. default: default statement;
12. }

તે અ ભ ય ત ુ ં ૂ યાંકન કર છે , તેને કસ ૂ ય સાથે મેળ ખાય છે , અને તે કસ ૂ ય સાથે


સંકળાયેલા િનવેદનોને અમલમાં ૂક છે . આની અભ ય ત આની હોઈ શક
છે અ રઅથવાint કાર. અ ભ ય તનો કાર અને કસ વે ુ હંમેશા સમાન હોવી જોઈએ. યાં
એકથી વ ુ કસ કમતો હાજર હોઈ શક છે બદલોિનવેદન. ેક ટટમે ટ વૈક પક છે , દરક કસ
ૂ યની સામે હાજર હોય છે . તે વીચ લોકના એ ઝે ુ નને સમા ત કર છે અને ક ોલને
શ વચ
બાડ માંથી ુ ય ો ામમાં તબ દલ કર છે . જો તે હાજર ન હોય, તો મેળ ખાતા કસ ૂય ારા
ુ રવામાં આવતા તમામ િનવેદનો
અ સ યાં ુ ી તે
ધ ક
ે ટટમે ટનો સામનો ન કર અથવા ો ામ
એ ઝે ુ નને
શ ૂણ ન કર યાં ુ ી અમલમાં
ધ ૂકવામાં આવશે. તે ુ ં ઉદાહરણ આ ૃિત 3.15માં નીચે
દશા ુ ં છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 109

આ ૃિત 3.15: ુ ં િનદશન બદલો િનવેદન

ુ :
આઉટ ટ
Select operator (+, -,, /, *,%): *
Enter two numbers: 23 34
Multiplication is 782

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 23 અને 34 દાખલ કર છે

3.2 ંુ તમે તે જ ઉદાહરણને હલ કરવાનો યાસ કર શકો છો અમે આ માટ લી ંુ હ ંુ if-


else-if નો ઉપયોગ કર ને સીડ બદલોિનવેદન?

હવે પછ , આપણે બી ન ન
કારનાં િનયં ણ િનવેદન, ુ રાવતન િવધાનોની ચચા નીચેના િવભાગમાં
કર .ુ ં
110 | C માં િનયં ણ િવધાનો

3.4 ુ રાવતન િનવેદન (Repetition Statement)



ચાલો આપણે એક ોતાનો િવચાર કર એ ઘણા ગીતો સાંભળવા માંગે છે . એ માટ એની પાસે બે
ર તા છે :

થમ ર ત: ોતા એક પછ એક ગીતો વગાડ શક છે , માં યાર પણ ૂ ુ ં ગીત ૂ ું થાય યાર


તેણે તે જ ન ુ ં ગીત વગાડ ુ ં પડ છે .
બી ર ત: ોતા બધા પસંદ કરલા ગીતોને લે લ ટમાં ઉમેર છે , અને એક ખેલાડ એક પછ એક
ગીતો વગાડ છે . ૂ ુ ં ગીત ૂ ું કયા પછ , ખેલાડ એક ન ુ ં ગીત ચલાવે છે ; યાં ુ ી લે લ ટ

સમા ત ન થાય યાં ુ ી આ
ધ યા ુ રાવિતત થાય છે .
ન ોતાઓ વારં વાર ગીતો વગાડવાની
ત દ લીધા િવના તેની સં ૂણ લે લ ટ સાંભળ શક છે . લોચાટ આ ૃિત 3.16માં દશાવેલ ૂપનો
ઉપયોગ કર ને ગીતો વગાડવાની બી ર તની યા દશાવે છે .

આ ૃિત 3.16 ગીતની લેલી ટ વગાડવા માટ લોચાટ

સી ો ાિમગ લ વેજમાં, ુ રાવતન િનવેદનોને


ન ૂિપગ અથવા ુ રાવતન િનવેદનો તર ક પણ

ઓળખવામાં આવે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 111

ૂપનો ઉપયોગ એક જ કાયને વારં વાર કરવા માટ થાય છે . દરક ૂપ ુ ં શર ર હોય છે માં ચો સ
કાય કરવા માટ ઘણી ૂચનાઓનો સમાવેશ થાય છે . ૂપ ુ ં શર ર આથી શ થાય છે {અને } સાથે ત
કરો. ૂપ તેની ુ રાવિતત કર છે યાં ધ
દર લખાયેલા િનવેદનોની સં યાને ન ુ ી થિત ખોટ ન હોય.
ૂપને કયા નામે ઓળખવામાં આવે છે મયા દત જો તે કોઈ ચો સ ુ રા ૃિ
ન પછ ચલાવવા ુ ં બંધ
કર છે . ુ છે અનંત જો તે તેના શર રની
પ દર લખેલા િનવેદનોને અમલમાં ૂકવા ુ ં ચા ુ રાખે છે .
ૂપનો ુ ય ફાયદો એ છે ક તે કોડ ુ ં કદ ઘટાડ છે .

એ ઝે ુ નની
શ થિત ૂપના અમલને િનયંિ ત કર છે . એ ઝે ુ નની
શ થિતને આધાર ૂપને
બે કારમાં િવભા જત કરવામાં આવે છે ઃ

1. વેશ િનયં ણ ુ

a. સમય ુ

b. માટ ુ

2. િનયં ણ ુ માંથી બહાર નીકળો



a. કરો- યાર ુ

3.4.1 એ કં ોલ ુ

ૂપ ૂપના શર રને ચલાવતા પહલા થિતની તપાસ કર છે તેને એ કં ોલ ૂપ તર ક


ઓળખવામાં આવે છે . આ સમય અને માટ ૂસએ વેશ િનયં ણ ૂપ છે .
સમય ૂપ. આ સમય ૂપ એ વેશ િનયં ણ ૂપનો કાર છે . આ ૂપમાં, થમ, શરત ચકાસવામાં
આવે છે , અને જો શરત સાચી હોય, તો ૂપની દર લખાયેલા િનવેદનો અમલમાં ૂકવામાં આવશે
અ યથા, ૂપ સમા ત કરવામાં આવશે. નો લોચાટ સમય ૂપ આ ૃિત 3.17માં દશાવેલ છે .
112 | C માં િનયં ણ િવધાનો

આ ૃિત 3.17 ના લોચાટ સમય પ



ુ ં વા રચના સમય ુ

Initialization;
while(condition)
{
instructions;
Variable updating statement (Increment/Decrement);
}

Steps involved in thewhile loop:

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.

ઉદાહરણ: ધારો ક આપણે 0 થી 4 નંબર છાપવા માંગીએ છ એ; આ કામ ૂપનો ઉપયોગ કર ને કર


શકાય છે , આ ૃિત 3.18માં દશા ુ ં છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 113

આ ૃિત 3.18 : 0 થી 4 ધ
ુ ીની સં યાઓ છાપવા માટનો કાય મ સમય ુ

ઉપર ુ ં ઉદાહરણ છાપે છે 0 ુ


િત 5 આઉટ ટ ન પરના નંબરો.
રો આમાં, રખા 5 ૂપ વે રયેબલ
(var1)નો ારં ભ કર છે . લાઇન 6 એ આ ુ ં વેશ ાર છે સમય ૂપ, યાં તે થિતની તપાસ કર છે .
જો શરત સાચી હોય, તો તે પાછ આવે છે 1, અને ૂપ ુ ં શર ર એ ઝ ટુ કરશે. લાઇન 9માં,
વે રયેબલ ુ ં ૂ ય અપડટ થશે, અને ૂપ ુ ં િનયં ણ લાઇન 6 પર પા ં જશે. યાં ુ ી શરત ખોટ

નહ હોય યાં ુ ીઆ
ધ યા ચા ુ રહશે. બતાવેલ ઉદાહરણ ુ ં આઉટ ટ
ુ નીચે આપેલ છે .

આઉટ ટુ
var1= 0
var1= 1
var1= 2
var1= 3
var1= 4

માટ ુ . આ માટ
પ ૂપ એ પણ વેશ િનયં ણ ૂપનો એક કાર છે . તે સૌથી લોકિ ય ૂપ
ચર છે . આ ૂપ શર રને ચલાવતા પહલાની થિતની તપાસ કર છે . જો થિત સાચી હોય,
હોય તો
ૂપ ુ ં શર ર અમલમાં ૂકશે. જો શરત ખોટ હોય,
હોય તો ૂપ સમા ત થાય છે . નો લોચાટ માટ ૂપ
આ ૃિત 3.19માં દશાવેલ છે .
114 | C માં િનયં ણ િવધાનો

આ ૃિત 3.19 ના લોચાટ માટ ુ


ની વા રચના માટ ુ

for( Initialization ; Condition ; Updation)
{
Instructions // body of the loop
}

આ માટ ૂપને શર રથી અલગ ણ ભાગમાં િવભા જત કરવામાં આવે છે : ારં ભકતા, થિત અને
અપડશન. દરક ભાગને અધકોલોનો વડ અલગ પાડવામાં આવે છે (;).

Steps involved in execution of the for loop:


Step 1: The execution of the loop starts from the initialization partthat initializes the loop
variable. This part executes only one time.
Step 2: After the initialization part, the condition part will execute. If the condition is true,
then the control of the loop will go inside the loop's body.
Step 3: The loop's body contains multiple instructions to perform a specific task. The loop's
body will execute when the condition block returns 1 (true). After executing the
loop's body, control will transfer to the updation block.
Step 4: In the updation block loop's variable will update, and the control goes to the condition
block. This process will continue until the condition is not false.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 115

ઉદાહરણ: ધારો ક આપણે 0 થી 4 નંબર છાપવા માંગીએ છ એ;


એ આનો ઉપયોગ કર ને કર શકાય છે
માટ ૂપ, આ ૃિત 3.20માં દશાવેલ છે .

આ ૃિત 3.20 માં 0 થી 4 ધ


ુ ીની સં યાઓ છાપવા માટનો કાય મ માટ ુ

આઉટ ટુ
var1= 0
var1= 1
var1= 2
var1= 3
var1= 4

ઉપર ુ ં ઉદાહરણ આમાંથી નંબરો છાપે છે 0 િત 4 નો ઉપયોગ કર ને માટ ૂપ. અહ લીટ 5 માં,
આપણે આનો ઉપયોગ કર એ છ એ માટ ૂપ. ારં ભકતા, થિત અને ચલ અપડ ટગ તેમના
સંબિં ધત ભાગોમાં કરવામાં આવે છે માટ ૂપ આરં ભનો ભાગ ચલનો આરં ભ કર છે var1 ારા 0;
ૂપ.
તે ફ ત એક જ વાર અને ૂપની શ આતમાં ચલાવવામાં આવે છે . આગળ, શરત var1<5 ચલાવે
છે , અને જો તે સા ુ ં હોય, તો ૂપ ુ ં શર ર ચલાવે છે . તે, અપડશન લોક ચાલશે, ક આની
કમતમાં વધારો કર છે var1 ારા 1(var1++). નો વાહ માટ યાં ુ ી ક ડશન લોક ખોટો ન

હોય યાં ુ ી
ધ ૂપ (ક ડશન→ ૂપ ુ ં બોડ → અપડશન→ક ડશન) ચા ુ રહશે.

ન ધ:
 આ માટ ૂપને ખાલી ારં ભકતા, થિત અથવા અપડશન લો સ સાથે લખી શકાય છે . જો માટ
ૂપ કોઈપણ શરત િવના લખવામાં આવે છે , પછ તે ૂપ એ અનંત ૂપ છે .
116 | C માં િનયં ણ િવધાનો

ઉદાહરણ:
માટ( માટ ; ; )
{
printf("શરત વગર\n");
}
નીચેની કોડ િ ટ શરત વગર અનંત સમય.

 જો આપણે અધિવરામ ૂક એ તો (;) ફોર ૂપ પછ ૂપ િસગલ-લાઇન ટટમે ટ બની ય છે .


તેનો અથ એ છે ક ૂપ યો ય ર તે અમલમાં આવશે, પરં ુ શર રની દર લખાયેલા તમામ
િનવેદનો ૂપની બહાર સારવાર કરવામાં આવશે અને વારં વાર અમલ કરશે નહ .
ઉદાહરણ:

માટ (int var1=0; var1<5; var1++);


{
printf(" ૂપ િવથ a semicolon\n");
}

નીચેનો કોડ છાપશે અધિવરામ સાથે ુ એકવાર, પરં ુ આ ુ ં


પ ૂ ય var1 ૂપને ચલા યા પછ
૫ હશે. કારણ ક ૂપ યાં ુ ી ચાલશે
ધ યાં ુ ી
ધ થિત ખોટ ન હોય, પરં ુ સેિમકોલોનને
કારણે, તે િસગલ લાઇન ટટમે ટ બની ય છે અને ૂપ બોડ ને એ ઝ ટુ કર ુ ં નથી.

3.4.2 િનયં ણ ૂપમાંથી બહાર નીકળો (Exit control loop)

ૂપ ક ૂપ બોડ ને ચલા યા પછ થિતની તપાસ કર છે તેને એ ઝટ કં ોલ ૂપ તર ક


ઓળખવામાં આવે છે . આ કરો- યાર ૂપ એ એ ઝટ કં ોલ ૂપ છે .

do-while loop
આ ૂપ પહલા ૂપના શર રને ચલાવે છે અને પછ થિતની તપાસ કર છે . જો શરત સાચી હોય,
તો ૂપ બોડ ને ફર થી ચલાવવામાં આવે છે ; અ યથા ૂપ સમા ત થાય છે . ુ ં શર ર કરો- યાર
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 117

ૂપ ઓછામાં ઓ ં એક વખત ચલાવે છે કારણ ક ૂપ કં ોલ ક ડશન ૂપના શર રના તે


ચકાસવામાં આવે છે . નો વાહ કરો- યાર ૂપ આ ૃિત 3.21માં દશાવેલ છે .

આ ૃિત 3.21 લોચાટ કરો- યાર ુ


ની વા રચના do-while loop


Initialization;
do
{
Instructions; //body of the loop
Updation; //increment/decrement operations
}while(condition);
118 | C માં િનયં ણ િવધાનો

Steps involved in the execution of the do-while loop:


Step 1: Initialize the loop’s variables before executing the loop.
Step 2: Loop starts from the do keyword; first, the loop’s body will execute.
Step 3: Loop’s variables are updated inside the body.
Step 4: The condition for the loop control is written inside the while, which executes after
the loop’s body. If the condition
condition is true, the loop’s body will execute again;
otherwise, the loop will terminate.

આ ૃિત 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”);

In this case, loop with single statement prints 5 times

Similarly,

while(var1==0)
printf(“loop with single statement\n”);

and
do
printf(“loop with single statement\n”);
while(var1==0);while (var1==0);

આ ૃિત 3.22માં દશાવેલા ઉદાહરણમાં નીચેના નંબરો છાપવામાં આ યા છે . 0 િત 4 નો ઉપયોગ


કર ને કરો- યાર ૂપ. અહ ૂપ ુ ં ચલ રખા 5 પર ારં ભ કર છે . ૂપ ુ ં શર ર ક વડ કયા પછ શ
થશે. આમ, થમ, શર ર ચલને ચલાવશે અને છાપશે var1 ન પરની કમત. લીટ 9 માં, ની
કમત var1 ારા વધારવામાં આવશે 1, અને તે આના તને પણ ચ ત કર છે કરો- યાર ૂપ.
તે શરત પછ યાર દર લખેલ છે તે ચલાવે છે . જો શરત સાચી હોય, તો ૂપ ુ ં શર ર ફર થી
એ ઝ ટુ થશે; અ યથા, ૂપ સમા ત થઈ જશે.

િવરામ અને ચા ુ રાખો ( break-continue)િનવેદનો

આ િવરામ અને ચા ુ રાખો ૂ સને િનયંિ ત કરવા માટ ઉપયોગમાં લેવાતા િનવેદનો છે . તે બંને
બનશરતી િનવેદનો છે .

િવરામ િનવેદન


આ િવરામ માં બે હ ઓ માટ િનવેદનનો ઉપયોગ થાય છે C ભાષા. થમ, તે આના અમલને
અટકાવે છે કસ માં બદલો િનવેદન. બી ુ ,ં તે વતમાન અમલને અટકાવે છે અને િનયં ણને ૂપની
120 | C માં િનયં ણ િવધાનો

બહાર મોકલે છે . તેથી, યાર પણ િવરામ ટટમે ટ એ ઝ ટુ કર છે , તે વતમાન ૂપને બંધ કર છે


અને ૂપ પછ તરત જ ો ામના િનયં ણ અથવા વાહને મોકલે છે .

વા રચના
break;

ઉદાહરણ: અહ આપણે અગાઉ ુ ં ઉદાહરણ િવ ૃત કર એ છ એ (આ ૃિત 3.22માં દશા ુ ં છે ). આમાં,


યાર પણ અમે ુ ં ૂ ય હોય યાર ેક ટટમે ટનો ઉપયોગ કર ને ૂપને સમા ત કર એ છ એ
ુ ી પહ ચે છે ,
var1 3 ધ આ ૃિત 3.23માં
માં દશાવેલ છે .

આ ૃિત 3.23 : break િનવેદન


ઉપરના ઉદાહરણમાં, અમે એકનો ઉપયોગ કય છે િવરામ ની દર ુ ં િનવેદન જો. તેથી, યાર જો
િનવેદનની શરત સાચી છે , િવરામ ચલાવશે. આ િવરામ િનવેદન ૂપને સમા ત કર છે અને
િનયં ણને ૂપની બહાર મોકલે છે . ઉપરો ત ઉદાહરણમાં, ખાસ કર ને, યાર var1 પર છે 3, ની
થિત જો સા ુ ં હશે, િવરામ ચલાવશે, અને ુ
ૂપ બંધ થઈ જશે. એટલા માટ 3 આઉટ ટ ન પર
છાપશે ન હ.
આઉટ ટુ
var1= 0
var1= 1
var1= 2
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 121

ચા ુ રાખો (continue) િનવેદન

આ ચા ુ રાખો િનવેદનનો ઉપયોગ ૂપમાં વતમાન ુ રા ૃિ ને છોડ દવા માટ થાય છે . યાર

પણ ચા ુ રાખો ટટમે ટ એ ઝ ટુ કર છે , તે ૂપના વાહમાં િવ ેપ પાડ છે અને િનયં ણને
શર રના ત ુ ી મોકલે છે (})ની
ધ ની વતમાન ુ રા ૃિ
ન માટ જ.
જ તેથી, પછ લખાયેલા િનવેદનો
ચા ુ રાખો િનવેદનને અમલમાં ૂકવામાં આવશે નહ .

વા રચના
continue;

ઉદાહરણ: અહ , આપણે અગાઉ ુ ં ઉદાહરણ અપડટ કર એ છ એ (આ ૃિત 3.23). આમાં, અમે ું ૂય


છોડવા માટ એક ો ામ લખીએ છ એ 2 યાર કાય મ તેમાંથી નંબરો છાપે છે 0 િત 4, આ ૃિત
3.24માં દશાવેલ છે .

આ ૃિત 3.24 : continue િનવેદન

ઉપરના ઉદાહરણમાં, અમે એકનો ઉપયોગ કય છે ચા ુ રાખો ની દર ુ ં િનવેદન જો. ાર var1


પર છે 2, ની થિત જો સા ુ ં પાછા ફરશે, આ ચા ુ રાખો િનવેદન અમલમાં ૂકશે, અને ૂપ ુ ં
િનયં ણ શર રના તમાં થાનાંત રત કરવામાં આવશે. તે પછ , ચલની કમત અપડટ થશે (માંથી
2 િત 3)ના અપડશન લોકમાં, અને આગામી ુ રાવતન શ
ન ુ
થશે. એટલા માટ 2 આઉટ ટ
ન પર છાપશે ન હ.
122 | C માં િનયં ણ િવધાનો

આઉટ ટુ
var1= 0
var1= 1
var1= 3
var1= 4

બી ુ ં ઉદાહરણ આ ૃિત 3.25માં


માં આપેલી સં યા અિવભા ય સં યા છે ક નહ તે ચકાસવા ુ ં છે . તે
લાઇન ૫ માં અિવભા ય નંબર ચકાસવા માટ વપરાશકતા પાસેથી ૂણાક નંબર લે છે . લાઇન 6
માં, અમે એક ારં ભ કર એ છ એ છાપ ની સાથે ચલ 0 કમત. આ ચલનો ઉપયોગ આપેલ સં યાને
તેના પોતાના કરતાં અ ય વડ િવભા જત કરવામાં આવી છે ક નહ તે ચકાસવા માટ થાય છે અને
1 ક નહ ; જો હા, તો પછ લાઇન 11 પર, અમે તેને આની સાથે અપડટ કર એ છ એ 1 અને
ને ૂપનો
ઉપયોગ કર ને ૂપને બંધ કરો િવરામ િનવેદન. ૂપને ચલા યા પછ , અમે તેની થિત ચકાસીએ
છ એ છાપ ચલ. જો તે રહ તો 0, આપેલ સં યા તેના પોતાના િસવાય અ ય સં યાઓ ારા
િવભા ય નથી અને 1, અને સંદશ આપેલ સં યા એ અિવભા ય સં યા છે ન પર િ ટ કરશે.
અ યથા, તે છાપશે ક આપેલ સં યા એ અિવભા ય સં યા નથી.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 123

આ ૃિત 3.25 અિવભા ય સં યા ચકાસવા માટ ુ ં ઉદાહરણ

આઉટ ટુ
Enter the integer number to check the prime number 11
The given number is a prime number

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 11 દાખલ કર છે

બી ુ ં ઉદાહરણ: ધારો ક આપણે એક ક ુ ેટર ડઝાઇન કરવા માંગીએ છ એ


લ કગ ણત
યાઓ યાં ુ ી કરશે
ધ યાં ુ ી વપરાશકતા બહાર નીકળવા ુ ં કહશે નહ . અહ અમે આવા

કારના ક ુ ેટર બનાવવા માટ કટલાક સરળ પગલાંને અ સ
લ ુ ર એ છ એ:

1. એક ક ુ ેટરની રચના કરો


લ સરળ કગ ણત કાય કર છે . (આ કામ વીચ ટટમે ટનો
ઉપયોગ કર ને કર શકાય છે , મ ક આપણે આ ૃિત 3.15માં ક ુ છે )
2. યારબાદ, વીચ ટટમે ટને ૂપની દર ૂકો.
124 | C માં િનયં ણ િવધાનો

આ ૃિત 3.26 : ક ુ ેટરનો ઉપયોગ કર ને do-while loop


ઉપરના ઉદાહરણમાં (આ ૃિત 3.26) આપણે એક ક ુ ેટર બનાવીએ છ એ


લ કગ ણતની યા
કર છે . સતત અમલ માટ, અમે તેને ૂપમાં ૂક એ છ એ.
એ અહ અમે આનો ઉપયોગ કય કરો- યાર
ુ કારણ કરો- યાર શરતને ચકા યા િવના ઓછામાં ઓ ં એક વખત
પ ૂચનાનો અમલ કર છે ,
અને અમે કગ ણતની કામગીર ઓછામાં ઓછ એક વખત કરવા માંગીએ છ એ.
એ લીટ 25 અને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 125

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

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 23 અને 2 દાખલ કર છે

3.4.3 ને ટડ ુ

યાર એક ૂપની દર લખવામાં આવે છે યાર બી ૂપને ુ રાવિતત


ન ૂપ તર ક
ઓળખવામાં આવે છે . તેને ૂપની દર ૂપ પણ કહવામાં આવે છે . કોઈપણ સં યાના ૂ સને
બી ૂપની દર યા યાિયત કર શકાય છે . માળાની ડાઈ આ હોઈ શક છે n. આ ૃિત 3.27માં
ુ રાવિતત
ન ૂપનો વાહ દશાવવામાં આ યો છે , યાં ત રક અને બા ૂપ કોઇ પણ ૂપ હોઇ
શક છે . યાર, માટ અને કરો- યાર).
126 | C માં િનયં ણ િવધાનો

આ ૃિત 3.27 માં ુ રાવિતત


ન ૂપનો લો ચાટ

અ ય ૂપ ધરાવતા ૂપને આ તર ક ઓળખવામાં આવે છે બા ુ , અને અ ય


પ ૂપની દર
લખાયેલા ૂપને આ તર ક ઓળખવામાં આવે છે ત રક ુ .

Outerloop
{
Body of the outer loop;
Innerloop
{
Body of the inner loop;
}
}

ુ રાવિતત
ન ૂપને વ ુ સાર ર તે સમજવા માટ, ચાલો આપણે વ ચે અિવભા ય સં યા છાપવા ુ ં
ઉદાહરણ લઈએ 1 અને 50. અમે આપેલ સં યા ચકાસવા માટ ત રક ૂપ (લાઇન ૮)નો
ઉપયોગ કય . જો નંબર અિવભા ય સં યા હોય, તો તે ન પર િ ટ થશે ( મ ક આપણે
આ ૃિતમાં જોઈ ૂ ા છ એ). બા ૂપ (રખા ૫) અિવભા યને ચકાસવા માટ એક પછ એક
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 127

સં યાઓ પસંદ કર છે . આ ુ આમાંથી


પ ુ રાવિતત થાય છે 2
ન િત 50 ( મ ક આપણે પહલેથી
જ ણીએ છ એ ક 1 એ અિવભા ય સં યા નથી,
નથી તેથી આપણે અહ
હ થી બા ૂપ શ કર એ છ એ
2). દરક બા ૂપ ુ રા ૃિ માં
ન ત રક ૂપ આ ૃિત 3.28માં
માં દશા યા ુ બ અ ુ પ સં યા

અિવભા ય સં યા છે ક નહ તે ચકાસે છે .

આ ૃિત 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 માં િનયં ણ િવધાનો

આ ૃિત 3.29 ઑ ટો રયલની ગણતર કરવા માટનો કાય મ

કોઈપણ સં યાના ફ ટો રયલની ગણતર કરવા માટ,


માટ આપણે સં યા કરતા ઓછા બધા ધન
ૂણાકોના ુ ાકારની ગણતર કરવી પડશે. તેથી અહ , આપણે આમાંથી
ણ ૂપ શ કર એ છ એ 1
િત num_var ાં num_var એ વપરાશકતા ારા દાખલ કરલ નંબર છે , અને ુ ચલ વ ચે

ુ ાકાર કરો (var1) અને fact_var. આ fact_var આના ારા શ થયેલ ચલ છે 1 અને તેનો

ઉપયોગ આ ૃિત 3.29માં
માં દશાવેલ દરક ુ રા ૃિ માં ઉ પાદનના પ રણામનો સં હ કરવા માટ

થાય છે .

આઉટ ટુ
Enter an integer number: 5
Factorial of 5 is: 120

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 5 દાખલ કર છે

3.4.4 goto િનવેદન


તે જ પ ટટમે ટ છે ો ામના િનયં ણને ફં શનની દર એક જ યાએથી બી જ યાએ
થાનાંત રત કર છે . આ goto િનવેદન ો ામના િનયં ણને ો ામમાં પહલેથી જ યા યાિયત
કરલા ચો સ લેબલ પર મોકલે છે . િનયં ણને થાનાંત રત કર ુ ં એ શરત પર આધા રત નથી
તેથી જ તેને બનશરતી જ પ ટટમે ટ તર ક પણ ઓળખવામાં આવે છે . આ લેબલ તે પહલાં
અથવા પછ યા યાિયત કર શકાય છે goto િનવેદન. ુ ં નામ લેબલ બદલી પણ શકાય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 129

વા રચના
label: goto label;
... ...
... ...
goto label; label:

ઉપરો ત વા રચનામાં, goto વાં યા પછ કાય મ િનયં ણને ચો સ લેબલમાં પ રવહન કર છે


goto લેબલ.

ઉદાહરણ

આ ૃિત 3.30 : goto િનવેદન

ઉપરો ત ઉદાહરણમાં (આ ૃિત 3.30) રખા 6માં


માં લેબલને આ ર તે યા યાિયત કરવામાં આ ુ ં છે .
અહ . ના અમલ પછ goto િનવેદન (લીટ
લીટ ૧૦ પર), એ ઝે ુ ન ુ ં િનયં ણ પ ટ થયેલ લેબલ

પર પ રવહન થશે અહ , યાં ુ ી ચા ુ રહશે
ધ યાં ુ ી જો િનવેદન પરત નહ આવે ખો ુ ં.

આઉટ ટુ
0 1 2 3 4 5
130 | C માં િનયં ણ િવધાનો

એકમ સારાંશ

પ રચય
 સામા ય ર તે, સી ો ામમાં લખાયેલા િનવેદનો િમક મમાં અમલમાં ૂક છે (અ ુ મ માં
િનવેદનો લખાયા છે ).
 કટલાક સી િનવેદનો છે ૂ આપતા નથી; તેના બદલે, તેઓ િનવેદનને
િમક અમલની મં ર
અમલમાં ૂકવા માટ િનયં ણને થાનાંત રત કર છે (અ ુ મમાંના એક િસવાય). તેને
િનયં ણ ું થાનાંતરણ કહ છે .
 કોઈપણ C ો ામ લખવા માટ બે િનયં ણ િવધાનો છે : પસંદગી િનવેદનો અને ુ રાવતન

િનવેદનો.
પસંદગી વા ો
 તેઓ કાય મ અમલીકરણનો મ ન કરતા હોવાથી તેમને િનણય લેવાના િનવેદનો તર ક
પણ ઓળખવામાં આવે છે .
 આ બે કારના છે ઃ જો-અ ય અને ૃ
વચ ટટમે ટ. જો-અ યથા િનવેદનને વ ુ વગ ત
કરવામાં આવે છે જો-અ યથા િનવેદન, જો-બી ુ ં િનવેદન, જો-અ ય-જો િનવેદન, અને જો-
અ યથા િનવેદનને માળો બનાવવામાં આવે છે .
 જો-િનવેદન એ સૌથી સરળ િનણય લેવા ું િનવેદન છે અને તે એક જ યાને પસંદ કરવા
અથવા છોડ દવા માટ જવાબદાર છે .
 જો-બી ુ ં િનવેદન બેમાંથી એક યાને પસંદ કર છે . યાર શરત સાચી પડ છે યાર તે
િનવેદનોના સ ૂહને અમલમાં ૂક છે ; અ યથા, તે િનવેદનોના બી સેટને અમલમાં ૂક છે .
 જો-અ ય િનવેદનની કામગીર શરતી ઓપરટર (?:) િ ટુ ઓપરટર છે તેના વી જ
હોય છે .
 જો 'ઇફ'ના શર રમાં એક જ વા અ ત વમાં હોય, તો ક સને ખોલવા ું અને બંધ કરવા ું
ટાળ શકાય છે .
 જો-અ ય-જો િનવેદનને જો-અ ય-જો સીડ તર ક ઓળખવામાં આવે છે . જો-બી ુ -ં જો સીડ
હંમેશાં જો શરતથી શ થાય છે જો તે પછ બી ુ રવામાં આવે છે જો
ઘણા લોકો ારા અ સ
શરત અને ડફો ટ અ ય િનવેદન સાથે સમા ત થાય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 131

 ને ટગને જો અને અ યના શર રમાં િવિવધ જો-અ ય િનવેદનો ઉમેરવા તર ક યા યાિયત


ુ રાવિતત જો-અ યનો ઉપયોગ એક શરતની
કરવામાં આવે છે . ન દરની થિતને ચકાસવા
માટ કરવામાં આવે છે .
 અ યને લાવવાની સમ યા ુ રાવિતત જો-અ ય િનવેદનોમાં ઉભી થાય છે
ન યાર યાં
બી ુ ં એક િનવેદન હોય છે બ ુિવધ જો િનવેદનોને અ ુ પ હોય છે . આવા ક સાઓમાં,
બી ુ ં જો િવધાન હોય તો સૌથી દરના ભાગનો ભાગ બની ય છે .
 વીચ ટટમે ટ એ જો-અ ય-જો સીડ નો િવક પ છે . તેનો ઉપયોગ અ ભ ય તના ૂ યાંકન
ૂ ય સામે બ ુિવધ કામગીર ચલાવવા માટ થાય છે .
 તે અ ભ ય ત ું ૂ યાંકન કર છે , તેને કસ ૂ ય સાથે મેળ ખાય છે , અને તે કસ ૂ ય સાથે
સંકળાયેલા િનવેદનોને અમલમાં ૂક છે . આ અ ભ ય ત અ ર અથવા ઇ ટ કારની હોઈ
શક છે .
ુ રાવતન વા
ન ો
 યાર આપણે વારં વાર એક જ કાય ( યા) કરવા માંગતા હોઈએ યાર ુ રાવતન

િવધાનોનો ઉપયોગ થાય છે . ૂ સનો ઉપયોગ ુ રાવતન િવધાનો તર ક થાય છે .

 દરક ૂપ ું શર ર હોય છે માં ચો સ કાય કરવા માટ ઘણી ૂચનાઓનો સમાવેશ થાય
છે . ૂપ તેની દર લખાયેલા િનવેદનોની સં યાને ુ રાવિતત કર છે
ન યાં ુ ી
ધ થિત
ખોટ ન હોય.
 ૂ સ બે કારના હોય છે ઃ એ -ક ો ડ અને એ ઝટ-ક ો ડ ૂ સ.
 ૂપ ક ૂપના શર રને ચલાવતા પહલા થિતની તપાસ કર છે તેને એ કં ોલ ૂપ
તર ક ઓળખવામાં આવે છે . યાર અને ૂ સ માટ વેશ િનયં ણ ૂપ છે .
 ૂપ માટ અને યાર ૂપ થમ શરત ચકાસે છે , અને જો શરત સાચી હોય, તો ૂપની દર
લખાયેલા િનવેદનોને અમલમાં ૂકવામાં આવશે અ યથા, ૂપ સમા ત કરવામાં આવશે.
 ફોર ૂપને શર રથી અલગ ણ લો સમાં િવભા જત કરવામાં આવે છે ઃ ારં ભકતા, થિત
અને અપડશન. દરક ભાગને અધિવરામ (;)) ારા અલગ કરવામાં આવે છે .
 ૂપ ક ૂપ બોડ ને ચલા યા પછ થિતની તપાસ કર છે તેને એ ઝટ કં ોલ ૂપ તર ક
ઓળખવામાં આવે છે . ુ - યાર ૂપ એ એ ઝટ ક ોલ ૂપ છે .
 આ ૂપ પહલા ૂપના શર રને ચલાવે છે અને પછ થિતની તપાસ કર છે . જો શરત સાચી
132 | C માં િનયં ણ િવધાનો

હોય, તો ૂપ બોડ ને ફર થી ચલાવવામાં આવે છે ; અ યથા, ૂપ સમા ત કરવામાં આવશે.


 ુ - યાર ૂપ ઓછામાં ઓ ં એક વખત ચલાવે છે કારણ ક ૂપ ક ોલ ક ડશન ૂપના
શર રના તે ચકાસવામાં આવે છે .
 િવરામ અને ચા ુ રાખ ું એ ૂ સને િનયંિ ત કરવા માટ ઉપયોગમાં લેવાતા િનવેદનો છે . તે
બંને બનશરતી િનવેદનો છે .
 ેક ટટમે ટનો ઉપયોગ ૂપના એ ઝે ુ નને રોકવા અને િનયં ણને
શ ૂપની બહાર
મોકલવા માટ થાય છે , ૂપ પછ લખાયેલા િનવેદનોને અમલમાં ૂક છે .
 ચા ુ િનવેદનનો ઉપયોગ ૂપમાં વતમાન ુ રા ૃિ ને છોડ દવા માટ થાય છે . યાર પણ

સતત િનવેદન અમલમાં આવે છે , યાર તે ૂપના વાહમાં િવ ેપ પાડ છે અને મા
વતમાન ુ રા ૃિ
ન માટ શર રના ત ુ ી િનયં ણ મોકલે છે .

કસરતો

બ િુ વધ પસંદગી ો

ધારો ક ો ામર ૂપનો ઉપયોગ કર ને કટલીક ૂચનાઓ ચલાવવા માંગે છે , પરં ુ તે ખાતર
કરવા માંગે છે ક આ ૂચનાઓ ઓછામાં ઓછ એક વખત ચલાવવી જોઈએ. તેણે કયા ૂપનો
ઉપયોગ કરવો જોઈએ?

(a) ુ માટ

(b) do- યાર ુ

(c) યાર ુ

(d) આ બ ુ ં

2. ચા ુ િનવેદનનો ઉપયોગ ૂપમાં થાય છે યાર ો ામર __ કરવા માંગે છે .


(a) િવિશ ટ િનવેદનોને છોડો
(b) ુ બંધ કરો

(c) ુ ને અવરોધે છે

(d) આમાંથી કંઈ જ ન હ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 133

3. ફં શનની દર ો ામ ક ોલને એક થળે થી બી જ યાએ ખસેડવા માટ કયા બનશરતી


િનવેદનનો ઉપયોગ કરાય છે ?
(a) do-while (b) if-else
(c) while (d) goto

4. બ િુ વધ પસંદગીઓના આધાર િનણય લેવા માટ ક ુ ં શરતી િનવેદન ઉપયોગી થશે?


(a) જો
(b) જો-બી ુ ં
(c) if-else-if
(d) આમાંથી કંઈ જ ન હ

5. વીચમાં અિન છનીય કસને હ ડલ કરવા માટ કયા ક વડનો ઉપયોગ થાય છે ?
(a) કસ
(b) િવરામ
(c) બદલો
(d) ૂળ ૂત

મ ટપલ ચોઇસ ો (એમસી )ુ ના જવાબો.


1. (બ) ૨. (અ) ૩. (ડ) 4. (C) 5. (ડ)

આઉટ ટુ -આધા રત ો. (નીચેના કાય મો ુ ં આઉટ ટુ કટ ું હશે?)


A B
#include<stdio.h> #include<stdio.h>
int main() int main()
{ {
if(-10) int var1 = 0;
printf("H"); for (var1=2.6; var1<7.3; var1++)
printf("I"); {
else; printf("%d ", var1);
printf("By"); }
printf("e"); return 0;
return 0; }
}
C D
#include<stdio.h> #include<stdio.h>
int main() int main()
134 | C માં િનયં ણ િવધાનો

{ {
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;
}
આઉટ ટુ -આધા રત ોના જવાબો

Answers of output-based Questions

A. Compile-time error B. 2 3 4 5 6 7 C. 3 6 Default Value D. a b c d


e f g h
E. No Rules F. A D G. 97: a, 98: b, 99: c, 100: d, H. 1 1 1 1 1 1 5

I. Computer 3 J. Programming

ૂ ા અને લાંબા આ સર ટાઇપના


ંક ો

1. િવધાનોને કોડ સાથે બદલો ક નીચે ુ ં આઉટ ટ


ુ િ ટ કર શક છે

માટ (var1=0; var1<50; var++)


{ િનવેદનો; }
(a) 5 10 15 20 25
(b) 2 3 5 7 11 13 17
(c) 0 3 6 9 12 15 18 21
(d) 1 11 21 31 41
2. ખાલી જ યાઓ ભરો
(a) વીચ ટટમે ટમાં, યાર વચ ટટમે ટમાં દાખલ કરલી પસંદગી કોઈપણ કસ સાથે મેળ
ખાતી ન હોય યાર ____________will ચાલે છે .
136 | C માં િનયં ણ િવધાનો

(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

9. printf("%s","I Love ");


10. goto prog;

11. case 3:
12. printf("Coding ");

13. case 4:___________ // Fill in the blanks


14. printf("Programming ");
15. }
16. return 0;
17. }
Output: I Love Programming

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

વ ુ ણો

લોચાટ. લોચાટ એ યાનો યો ય વાહ બતાવવાનો એક માગ છે . તે યાના અમલીકરણની


આ ૃિત મક ર ૂઆત છે . લોચાટમાં, બો સ કાયના અમલીકરણમાં સામેલ પગલાઓ ુ ં િતિનિધ વ
કર છે , અને તીર પગલાના અમલના મને ર ૂ કર છે . લોચાટમાં કાયના અમલીકરણમાં સામેલ
પગલાઓને ર ૂ કરવા માટના તીકોનો સમાવેશ થાય છે . સામા ય તીકો ુ ં વણન નીચે દશા ું
છે .

ચ નામ વણન

લોલાઇન લોલાઇન બે સંકતોને જોડવા માટ વપરાય છે . લોલાઇન


(તીર) ુ ં મા ુ ં યાના વાહ ુ ં િતિનિધ વ કર છે .

ટિમનલName તેનો ઉપયોગ યાના ારં ભક અને િતમ બ ુ ને


બતાવવા માટ થાય છે .

યા યાને બતાવવા માટ ઉપયોગમાં લેવા ુ ં લંબચોરસ


બો સ.

ુ /આઉટ ટ
ઇન ટ ુ સમાંતર જ ુ પગલાંઓને ર ૂ
ુ ચ ુ કોણ ઇન ટુ /આઉટ ટ
કરવા માટ વપરાય છે .

િનણય ડાયમંડ આકારનો ઉપયોગ લો ચાટમાં િનણયના પગલાને


ર ૂ કરવા માટ થાય છે .
140 | C માં િનયં ણ િવધાનો

ઉદાહરણ: ધારો ક આપણે એ તપાસવા માગીએ છ એ ક આપેલો નંબર બેક છે ક િવ ચ .

ુ રવા પડશે:
ઉપરો ત ઉદાહરણ માટ, આપણે નીચેના પગલાંને અ સ

1. વપરાશકતામાંથી નંબર લો
2. આપેલો નંબર બેક છે ક િવ ચ છે તે ચકાસવા માટ આપણે તેને ૨ વડ ભાગી ંુ (સી
સી ભાષામાં
ુ સ ઓપરટર રમાઇ ડર શોધવા માટ વપરાય છે ).
મોડ લ
 જો આપણને રમાઇ ડર 0 મળશે, તો સં યા બેક હશે; અ યથા, તે િવ ચ હશે.

વ ુ સાર ર તે સમજવા માટ આ પગલાં


ગલાંને લોચાટ ારા ર ૂ કર શકાય છે

આ ૃિત 3.31 બેક અથવા એક સં યાને ચકાસવા લોચાટ

સંદભ અને ૂચવેલ વાંચનો

1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૩ અને કરણ
૪). િપયસન એ કુ શન ઇ ડયા .

2. ડિવડ ફ સ અને ડોન ફ સ (2011). હડ ફ ટ સી, ઓ'રઈલી મી ડયા, ઇ ક


3. https://nptel.ac.in/courses/106104128
4. https://nptel.ac.in/courses/106105171 ( ી અને ચોથા અઠવા ડયા માટ યા યાનો)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 141

લેખક દરક એકમ માટ સહાયક િવ ડઓ વચનો બના યાં છે . િુ નટ ૩ માં


આવર લેવામાં આવેલા િવષયોને વ ુ સાર ર તે સમજવા માટ વાચકોને
વચનો જોવા માટ ો સા હત કરવામાં આવે છે . જો ક, સલાહ આપવામાં આવે
છે ક પહલા ુ તક એકમોને વાંચો અને પછ િવ ડઓઝ ુ ઓ. િવ ડઓ વચનો
આખા એકમને આવર લેતા નથી પરં ુ ૂરક સામ ી તર ક દાન કરવામાં
આવે છે .

વ ુ વાંચન માટ ડાયનેિમક QR કોડ


142 | C માં એર અને િવધેયો

4 C માં એર અને િવધેયો

એકમ િવિશ ટતાઓ

આ એકમ ારા આપણે નીચેનાં પાસાંઓની ચચા કર છે ઃ


● C માં િવિવધ એર અને િવધેયોનો વપરાશ
● એર ઘોષણા અને ારં ભ શીખવા માટ
● સીમાં ફં શન ડ લેરશન શીખવા માટ
● C માં ફં શન કો લગની િવિવધ ર તો શીખો
● ફં શનનો ઉપયોગ કરવાના ફાયદા
● C માં િવિવધ એર અને િવધેયો પર સમ યાઓનો અ યાસ કરો

ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
એકમ દરક િવષયને સમ વવા માટ QR કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ , આઉટ ટુ -
આધા રત ો, ાયો ગક કવાયતો વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે સંદભ અને
ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .

તકસંગત

આ એકમમાં, અમે ક ટુ ર ો ાિમગમાં એર અને ફં શન ર ૂ કર એ છ એ. યાર આપણે


ગણતર સમ યાઓ હલ કરવા માંગીએ છ એ માં ડટાનો મોટો સ ૂહ શામેલ છે યાર એર
ઉપયોગી છે
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 143

ત ુ પરાંત, ફં શ સનો ઉપયોગ ુ ા રટ અને


ો ામમાં મોડ લ ુ ઃઉપયોગીતા લાવવા માટ થાય છે .

તેથી, આ બંને યાલો સમ યાઓના જ ટલ સેટ માટ ક ટુ ર ો ા સ લખવામાં ફાયદાકારક છે .
ૂ તથી શ
આ એકમ C માં એરઝ અને ફં શ સની ર આ થાય છે , યારબાદ ઉદાહરણો આવે છે .
આગળ, તે એર, એર ડ લેરશન, અને સીમાં એરના ારં ભકકરણની ચચા કર છે , યારબાદ એરની
િવિવધ ુ રવામાં આવે છે . યારબાદ, તે મેમર ઓગનાઇઝેશનની ચચા કર છે
યાઓ ારા અ સ
અને સીમાં પોઇ ટસનો યાલ ર ૂ કર છે . તે સીમાં પા એર તર ક શ દમાળાની પણ ચચા કર છે .
એ પછ , તે ફં શન, તેના ફાયદાઓ અને િવિવધ કારની કામગીર ઓથી શ થાય છે . તે
િનદશના મક ઉદાહરણો અને ફાયદાઓ સાથે િવિવધ કાય ની વા રચનાને આવર લે છે . આ
એકમમાં સં હ વગ ના સં ત પ રચયની પણ ચચા કરવામાં આવી છે .
ૂવ-આવ યકતાઓ
એકમ-I, II, અને III
એકમ પ રણામો
ુ બ છે ઃ
આ એકમનાં પ રણામોની યાદ નીચે જ
U4-O1: C નો ઉપયોગ કર ને સમ યા-િનરાકરણમાં એર અને િવધેયની જ રયાત ું વણન કરો
U4-O2: વણન કરો C માં મેમર સં થા
U4-O3: સમ વ ું વા રચના અને એર C ો ાિમગનો વપરાશ
U4-O4: સમ વ ું સી ો ાિમગમાં ફં શનની વા રચના અને ઉપયોગ
U4-O5: C ની મદદથી સમ યા-િનરાકરણમાં એર અને િવધેય લા ુ કરો

અ યાસ મના પ રણામો સાથે અપે ત મેિપગ


એકમ- 1પ રણામો (1- નબળો સહસંબધ ં ; 3- મજ ૂત સહસંબધ
ં ; 2- મ યમ સહસંબધ ં )
CO-1 CO-2 CO-3 CO-4 CO-5 CO-6
U4- O1 - 3 2 3 - -
U4- O2 1 3 2 2 - -
U4- O3 2 2 3 2 - 1
U4- O4 2 2 3 2 - 1
U4- O5 2 2 3 2 - 3
144 | C માં એર અને િવધેયો

4.1 પ રચય

અગાઉના એકમોમાં, અમે સી ો ાિમગમાં િવિવધ આ દમનો અ યાસ કય હતો, માં ડટા કારો
(ઇ ટ, લોટ, ડબલ અને ચાર), ૂચનાઓના કારો અને િનયં ણ િનવેદનોનો સમાવેશ થાય છે .
સમ ુ તકમાં, અમે ડટાને આમાંના એક ડટાના કારમાંના એકના એક ત વ તર ક યાનમાં
લી ુ ં હ .ુ ં તમામ યવહા ુ ઉદાહરણોમાં, અમે ઇન ટ
ુ અને આઉટ ટ
ુ ડટા રાખવા માટ વે રયેબ સ
લઈએ છ એ. જો ક, સો ટવેર/ ો ામ મોટા માણમાં ડટા પર કામ કર શક છે . નીચે ુ ં ઉદાહરણ
યાનમાં લો.

ઉદાહરણ. એક ૃ ય યાનમાં લો યાં તમે વગમાં ૨૦૦ િવ ાથ ઓ માટ િવષયમાં સરરાશ


ુ ની ગણતર કરવા માટ કોઈ
ણ ો ામ િવકસાવવા માંગો છો. એક ર ત એ છે ક ઇ ટ (અથવા
ડબલ) ડટા કારના 200 વે રયેબ સ યા યાિયત કરવા અને પછ વે રયેબ સમાં ઇન ુ ડ
ૂ યોનો સં હ કરવા માટ 200 ક ફ () કામગીર હાથ ધરવી અને પછ આ વે રયેબ સ વ ચેની
સરરાશ શોધી કાઢવી.

યાર તમે મોટ સં યામાં ત વો પર કામગીર કરવા માંગતા હો, યાર આ વ ુ જ ટલ બની શક છે ,
ધારો ક 1000000. દરક ડટા ત વ માટ ચલોની ઘોષણા અને સંચાલન કર ુ ં ૂબ જ ુ કલ હશે.
જો ક, જો તમે આપેલા ઉદાહરણમાં અવલોકન કરો, તો તમામ 200 ૂ યો એક જ કારના હોય
છે અને સમાન અથશા ધરાવે છે (એટલે ક, તમામ ૂ યો ચ ો ુ ં િતિનિધ વ કર છે ), આમ તેને
એક જ ચલ (ધારો ક ુ ) તર ક ર ૂ કર શકાય છે
ણ 200 ત વો ધરાવી શક છે અને ઍ સેસ
કરવાની કોઈક ર ત ય તગત ુ
ણ ું ૂ ય. યાં જ એક એર ો ાિમગમાં મદદ પ થાય છે . તેથી,
બી ર તે, આપણે 200 િવ ાથ ઓના ુ ને એક જ
ણ ૂણાકમાં સં હત કર શક એ છ એ એર,
વપરાશકતા ારા દાખલ કરવામાં આવેલા તમામ 200 ૂ યોનો સં હ કરવા માટ ૂપ લા ુ કરો,
અને પછ સરરાશની ગણતર કરો.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 145

તમને લાગે છે ક કયો િવક પ વ ુ સારો છે ? બીજો િવક પ, માં સમાન ડટા કારોને એક જ
ચલમાં સં હત કરવાનો અને પછ થી એર અ ુ મ ણકા ારા તેને એ સેસ કરવાનો સમાવેશ થાય
છે , તે વ ુ યવહા ુ છે . (તે
તેની ચચા આપણે નીચેના િવભાગમાં કર )ું .

4.2 એર (array)

એર એ આ ુ ં ૂથ છે ુ ગ
સ ં ત મેમર થાનો ક બધા પાસે છે એજ કાર. અમે એર ું નામ ૂુ
પાડ એ છ એ અને થાન નંબર એરમાં ચો સ થાન અથવા ત વનો સંદભ લેવા માટ એરમાં
િવિશ ટ ત વનો.

આ ૃિત 4.1 એર ઉદાહરણ

આ ૃિત 4.1 માં ૂણાક એર તર ક ઓળખાતી ૂણાક એર દશાવવામાં આવી છે A, માં 11 નો


સમાવેશ થાય છે ઘટકો. તમે એર ુ ં નામ ૂક ને આમાંના કોઈપણ ત વોનો સંદભ લઈ શકો છો અને
માં ત વની
યારબાદ વગ ક સ ([])માં થિત નંબર ૂક શકો છો.
છો દરક એરમાં થમ ઘટક એ છે
ૂ ય ંુ ઘટક (એટલે ક, 0 નંબરની થિત ધરાવે છે ). અ ય ઓળખકતાઓની મ, એર નામ
કથી શ થઇ શક ું નથી અને તે મા અ રો,
રો સં યાઓ અને અ ડર કોર સમાવી શક છે .

4.1એર અ ુ મ ણકા ૦ થી કમ શ થાય છે ? 1 કમ નહ ?

4.2.1 એર ડ લેરશન એ ડ ઇિનિશયલાઇઝેશન

સી ભાષામાં, એરને નીચે ુ બ


જ હર કરવામાં આવે છે .

data_type array_name[size];
146 | C માં એર અને િવધેયો

અ ય કોઈપણ વે રયેબલ ડ લેરશનની મ, અમે ડટાનો કાર પ ટ કર એ છ એ (int, char,


float વગેર.) અને array_name (એક ઓળખકતા) અને માપ એર (એક ૂણાક અચળ) ું ક
એરમાં ત વોની સં યાને પ ટ કર છે . એર ુ ં નામ (એટલે ક, array_name)એ િુ નટ 1માં અ યાસ
કરલા મા ય ઓળખ નામ િનયમ ુ ં પાલન કર ુ ં જોઈએ. દાખલા તર ક 'િનશાનીઓ' એ કદ ૧૦ ું
ચ લત નામ છે માં ડટાટાઇપ ડબલ છે .

double marks[10];

એટલે ક, આપેલ એર 10 માક ૂ યો રાખી શક છે (10 િવ ાથ ઓને અ ુ પ હોઈ શક છે ). કોઈ પણ


ય તગત ચ ૂ યને અ ુ મ ણકા નંબર (0 થી 9) દાન કર ને એ સેસ કર શકાય છે . એર
અ ુ મ ણકાની મદદથી એક પછ એક કમતો ૂક ને આપણે એરને ારં ભ કર શક એ છ એ
(ભા યે જ વપરાયેલ).

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.

રનટાઇમ એર આરં ભકરણ. ઉપર જણાવેલા આરં ભને ક પાઇલ


પાઇલ-ટાઇમ
ટાઇમ ઇિનિશયલાઇઝેશન કહ
શકાય. યાર, જો આપણે વપરાશકતા પાસેથી ઇન ટુ લઈને એરને ારં ભ કરવા માંગતા હોઈએ,
હોઈએ
તો આપણે એ. તે ું એક સા ુ ં ઉદાહરણ આ ૃિત 4.2માં
ૂ સનો ઉપયોગ કર શક એ છ એ માં દશા ું છે .
148 | C માં એર અને િવધેયો

આ ૃિત 4.2 એરની રનટાઇમ શ આત

ઉપરના ઉદાહરણમાં, રખા માંક 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

એરમાં મેમર ફાળવણી અને સરનામાંની ર ૂઆત.


ત એકમ I માં, આપણે ક ુ રમાં મેમર

ૂ માં ચચા કર છે . ક
ચરની ંક ુ ર મેમર ને બાઇટ તર ક ઓળખાતા નાના એકમોમાં િવભા જત

કરવામાં આવે છે . દરક બાઇટ ુ ં એક અનો ું સરના ુ ં હોય છે . એર સતત ર તે ક ટુ રમાં સં હ
કર છે . એટલે ક, તમામ ત વો મેમર માં સતત થળોએ સં હત થાય છે . ઉદાહરણ તર ક, જો ૂણાક
કાર એરના થમ ત વ ું મેમર સરના ુ ં 2000 હોય, તો પછ ુ ં ત વ થાન 2004 સરનામાં પર
સં હત થશે ( ૂણાક 4 બાઇ સ પર કબજો કર છે એમ ધાર ને), અને તેથી વ .ુ તે ુ ં ઉદાહરણ
આ ૃિત 4.3માં દશા ું છે .

આ ૃિત 4.3 એરમાં મેમર ફાળવણી અને સરનામાની ર ૂઆત

એર અને ફં શનનો ઉપયોગ કર ને આગળની િવભાવનાઓની ચચા કરતા પહલા. સી ો ાિમગ


ભાષામાં મેમર લેઆઉટને સમજ ુ ં વ ુ સા ું છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 149

4.3 C માં મે મર ઓગનાઈઝેશન

આપણે ણીએ છ એ તેમ, ક ુ ર


ટ ો ામ સેક ડર ટોરજમાં સં હત થાય છે અને તેના
અમલીકરણ માટ તેને ાઇમેજ ટોરજ (રમ
રમ)માં લાવવો આવ યક છે . રમ સં હ મયા દત હોવાથી,
હોવાથી
ો ામર મયા દત જ યાનો કાય મ ર તે ઉપયોગ કરવો આવ યક છે . સીમાં મેમર લેઆઉટને
ણવાથી ો ામસને તેમના ક ટુ ર ો ામ ારા ઉપયોગમાં લેવાતી મેમર ની મા ા ન
કરવામાં મદદ મળે છે .

સીમાં મેમર લેઆઉટ પાંચ ૂળ ૂત ઘટકો


ઘટ ધરાવે છે ઃ ટ ટ સેગમે ટ, ઇિનિશયલાઇ ડ ડટા
સેગમે ટ, અનઇિનિશએટાઇ ડ ડટા સેગમે ટ,
ટ ટક અને હ પ. દરક ઘટક કોડના ુદ
દાા ુ દા
દા ભાગને
તેની િવિશ ટ વાંચન અને લખવાની પરવાનગી સાથે સં હત કર છે . મેમર લેઆઉટની આ ૃિત
આ ૃિત 4.4માં દશાવી છે .

આ ૃિત 4.4 મેમર લેઆઉટ

આપણે દરક ઘટકની િવગતવાર ચચા કર :ુ ં


150 | C માં એર અને િવધેયો

1. લખાણ સે મે ટ (Text segment): આ ઘટક સી ો ામ ુ ં સંકલન કર ને જનરટ થયેલી બાઇનર


ફાઇલની ૂચનાઓનો સં હ કર છે . તે મા વાંચી શકાય તેવી પરવાનગી ધરાવે છે ,
અ ણતાં ો ામમાં ફરફારને અટકાવે છે .

2. ારં ભ થયેલ મા હતી સે મે ટ(Initialized data segment): ારં ભક ડટા સેગમે ટ, ડટા
સેગમે ટ તર ક પણ ઓળખાય છે , તે ક ુ રની વ
ટ ુ
અલ મેમર પેસનો એક ભાગ છે , નો
ઉપયોગ સી ો ામ ારા તમામ માટ ારં ભક ૂ યો (વે રયેબલ ડ લેરશનના સમયે
ો ામમાં શ કરવામાં આવેલા) સં હત કરવા માટ થાય છે . બા , વૈિ ક, થર અને અચળ

ો ામમાં હર કરવામાં આવેલા વે રયેબ સ (સે શન 4.8માં ડક ડ) . તેમાં વાંચન-લેખનની


પરવાનગીઓ છે કારણ ક એ ઝે ુ ન દરિમયાન વે રયેબ સ ુ ં
શ ૂ ય બદલી શકાય છે .
ઉપરાંત, અચળ ચલો માટ મા વાંચવાની પરવાનગી, કારણ ક તેમ ુ ં ૂ ય સમ એ ઝે ુ ન

દરિમયાન સમાન રહ છે .

3. ારં ભ ન થયેલ મા હતી સે મે ટ(Uninitialized data segment): આ સેગમે ટ બધા ારં ભ ન


થયેલ નો સં હ કર છે વૈિ ક, થાિનક અને બા વે રયેબ સ ક ો ામમાં ારં ભ કરવામાં
આ યા ન હતા. તે ચલોને ૂ ય પર અને પોઇ ટરને ૂ ય પોઇ ટર પર ારં ભ કર છે . તેને bss
( ચ થી શ થતા લોક) સેગમે ટ તર ક પણ ઓળખવામાં આવે છે . તેમાં વાંચવા-લખવાની
પરવાનગી છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 151

આ ૃિત 4.5 િવઝ લ


ુ ાઇઝેશન અને ટકના
ટ ઘટકો

4. ટક (Stack): ટક સેગમે ટનો ઉપયોગ ગિતશીલ મેમર ફાળવણી માટ થાય છે . તે આ ૃિત
4.5માં દશા યા ુ બ, ઢગલાની િવ ુ
જ દશામાં િવકસે છે અને સંકોચાય છે . ટક સેગમે ટ ડટા
ટોર કરવા માટ ટક ડટા ચરનો ઉપયોગ કર છે , ફ ટ ઇન લા ટ આઉટ ( ફલો) અથવા
લા ટ ઇન ફ ટ આઉટ (LIFO) ુ ધમ ને અ સ
ણ ુ ર છે . ટકમાં ટોચ ુ ં પોઇ ટર હોય છે હંમેશા
તા તરમાં ઉમેરવામાં આવેલા ડટા તરફ િનદશ કર છે ).
ટકની ટોચ તરફ િનદશ કર છે (તા
ટોચના (પોઇ ટરનો) ઉપયોગ ટકના ડટાને ુ ારવા અથવા એ સેસ કરવા માટ થાય છે .

ટકમાં, ડટાને દાખલ કરવાને ુ ઓપરશન તર ક ઓળખવામાં આવે છે , અને ડટાને કાઢ

ુ અને પોપ) કામગીર
નાખવાને પોપ ઓપરશન તર ક ઓળખવામાં આવે છે . બંને ( શ ટકની
ટોચ પરથી કરવામાં આવે છે . દરક ુ ઓપરશનમાં, ટોચ (પોઇ ટર) 1 નો વધારો થશે, અને

પછ ડટાને ટોચ ારા િનદિશત થાન પર ૂકવામાં આવશે. પોપ યામાં, થમ ડટા ટકની
ટોચ પરથી ૂ ર થશે, પછ ટોચ (પો
પો ટર
ટર) 1 નો ઘટાડો થશે. ટકમાં એક કાર ુ ં ક ટનર હોય છે
152 | C માં એર અને િવધેયો

ટક મ તર ક ઓળખાય છે . ટક આ ટક મનો ઉપયોગ થાિનક વે રયેબ સ, કામચલાઉ


વે રયેબ સ, ફં શનમાં પસાર કરવામાં આવેલા પ રમાણો અને રટન એ સ (આ ૃિત 4.5 (a)માં
દશા યા માણે)ની કમતનો સં હ કરવા માટ કર છે . ુ ઓપરશનના સમયે, ટક ટક
શ મ
ન કોલના મ ુ ં પણ સંચાલન કર
બનાવે છે અને તેમાં સંબિં ધત ડટાનો સં હ કર છે . ટક ફં શન
છે . આનો અથ એ થયો ક જો આપણી પાસે ફં શન કો લગ (ફં
ફં શનની દર કહવામાં આવ ુ ં
ફં શન)ની ેણી હોય, તો છે લે બોલાવવામાં આવેલા ફં શનને થમ (LIFO વત ૂક) અમલમાં
ૂકવામાં આવશે, આ ૃિત 4.5માં
માં દશાવેલ છે .

5. ઢગલો (Heap): તેનો ઉપયોગ રન ટાઇમ દરિમયાન મેમર ની ફાળવણી માટ થાય છે . િવધેયો
malloc(), calloc()અને realloc () હ પ સેગમે ટમાં મેમર ની ફાળવણી કરવા
માટ વપરાય છે . તે ટકની િવ ુ દશામાં વધે છે અને સંકોચાય છે .

4.4 પોઈ ટસ વ ુ વાંચવા


ચવા
માટ કન કરો

પો ટસ એ ખાસ કારના ચલો છે નો ઉપયોગ ડટાને સં હત કરવા માટ


થાય છે યાં પોઇ ટરનો ડટા એ બી ચલ ુ ં સરના ુ ં છે . તેથી, આપણે કહ શક એ ક એ િનદશક
એ બી ચલના સરનામાંને સં હત કરવા માટ વપરાતા ચલનો કાર છે .

વે રયેબલ નામ મેમર માં સં હત ૂ યનો સંદભ આપે છે , અને િનદશક તે મેમર ના સરનામાં
મેમર એ સ
(મે યાં વે રયેબલનો ડટા રાખવામાં આવે છે ) નો સંદભ આપે છે . તેથી આપણે કહ
શક એ ક ચલ સી ું જ સં હત કમત તરફ િનદશ કર છે , અને િનદશક પરો ર તે ચલની કમત
ૂચવે છે . પો ટરનો ઉપયોગ કર ને ચલની કમતનો સંદભ આપો તેને કયા નામે ઓળખવામાં
આવે છે પરો તા. આ ૃિત 4.6માં
માં ચલ અને િનદશક ુ ં િવઝ લ
ુ ાઇઝેશન દશાવવામાં આ ુ ં છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 153

આ ૃિત 4.6 : ચલ અને િનદશક ું િવઝ લ


ુ ાઇઝેશન

આપણે ણીએ છ એ તેમ, વે રયેબલને ઉપયોગ કરતા પહલા યા યાિયત કર ુ ં જોઈએ.


જોઈએ િનદશક
પણ એક ચલ છે , તેથી આ અથમાં, ઉપયોગ કરતા પહલા િનદશકને યા યાિયત કર ું આવ યક
છે .

િનદશકને યા યાિયત કરવા માટ વા રચના

data_type *pointer_name;

સીમાં પો ટરનો ઉપયોગ કરતા પહલા, આપણે બે ઓપરટસને સમજવા જોઇએઃ

નો ઉપયોગ વે રયેબલ ુ ં સરના ુ ં મેળવવા માટ થાય


1. એ પરસે ડ (&) ઓપરટર: એ પરસે ડ (&)નો
છે . આ સરનામાનો ઉપયોગ વે રયેબલના ડટા ( ૂ ય)ને એ સેસ કરવા માટ થાય છે . ઉદાહરણ
તર ક, ધારો ક આપણી પાસે ચલ છે var અને varPtr િનદશક છે . આમ &var ુ ં સરના ું
આપે છે var ચલ, અને તેને આમાં સં હત કર શકાય છે varPtr (નીચે દશાવેલ છે ).

var Ptr= &var;

2. તારક ચ ુુઓ માટ થાય છે .


(*) ઓપરટર: એ ટ ર ક ઓપરટરનો ઉપયોગ બે હ ઓ
154 | C માં એર અને િવધેયો

િનદશક હર કરવા માટ: એ ટ ર ક ઓપરટરનો થમ ઉપયોગ પોઇ ટર હર કરવાનો છે .


પોઇ ટર વે રયેબલ ડ લેરશન દરિમયાન,
દરિમયાન એ ટ ર ક ઓપરટરને પોઇ ટરના નામની આગળ
પોઇ ટરને યા યાિયત કરવા માટ વા
લખવામાં આવે છે (પોઇ રચનામાં દશા યા ુ બ
જ બ).

માટ: એ ટ ર ક ઓપરટરનો બીજો ઉપયોગ સં હત


સં હલ સરનામાંની કમતને વાપરવા માટ
સરનામાંના ૂ યને એ સેસ કરવાનો છે . આપણે ણીએ છ એ તેમ, પોઇ ટરનો ઉપયોગ
વે રયેબલના સરનામાંને સં હત કરવા માટ થાય છે . તેથી પોઇ ટર ુ ં નામ હંમેશાં ચલના સરનામાં
તરફ િનદશ કર છે . વે રયેબલના ૂ યને એ સેસ કરવા માટ
માટ, ો ામરોએ એ ટ ર ક ઓપરટરનો
ઉપયોગ કરવો પડ છે , સંબિં ધત સરનામાં ુ ં ૂ ય પરત કર છે . તેને પણ કહવામાં આવે છે
ડ રફર સ ગ.

આ ૃિત 4.7 : િનદશક ુ ં િનદશન

ઉપરના ઉદાહરણમાં (આ ૃિત 4.7), રખા 5 varPtr એ ટ રકનો ઉપયોગ કર ને પોઇ ટર હર


કરવામાં આવે છે . લાઇન 6 માં, એ પસ અને ઓપરટરનો ઉપયોગ સરના ુ ં મેળવવા માટ થાય છે
var અને તેને આમાં સં હત કરો varPtr. લીટ 7, 8, 9, અને 10 ચલ અને િનદશકના સંદભમાં
પ રણામો દશાવે છે . અહ આપણે જોઈ શક એ છ એ ક varPtr અને &var એજ કમતો છાપો, અને
*varPtr અને var એજ કમતો છાપો.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 155

આઉટ ટુ

Value of the variable: 21


Address of the variable: 1723142460
Value of the pointer: 1723142460
After dereferencing: 21

4.4.1 િનદશકમાં કગ ણત યા

મ ક આપણે ણીએ છ એ ક પોઇ ટરનો ઉપયોગ સરનામાંને સં હત કરવા માટ થાય છે ; તેથી
જ પોઇ ટસ પર ૂનતમ કગ ણત યાઓ કર શકાય છે . િનદશકમાં, મા ય કગ ણત
યાઓ છે :

1. પોઇ ટરમાં વધારો અને ઘટાડો: પોઇ ટર ઇ મે ટ અને ડ મે ટ ઓપરટસને ટકો આપે છે .
ઇ મે ટ ઓપરટર 1ને બદલે યો ય ૂ ય (ડટા કાર ુ ં કદ) ઉમેર ને આગામી સરનામાં પર
પોઇ ટર મોકલે છે . તેવી જ ર તે, ડ મે ટ ઓપરટર 1ને બદલે યો ય ૂ ય (ડટા ટાઇપ સાઇઝ)ની
બાદબાક કર ને અગાઉના સરનામાં પર પોઇ ટર મોકલે છે . આ િનદશન આ ૃિત 4.8માં દશા ુ ં છે .

2. િનદશકમાં ૂણાકનો સરવાળો અને બાદબાક : પોઇ ટરમાં ૂણાકનો સરવાળો અને બાદબાક પણ
આ ૃિત 4.8માં દશાવેલી ૃ અથવા ઘટાડાની યાની મ કામ કર છે .

દાખલા તર ક, ધારો ક આપણે િનદશકમાં 4 ઉમેર એ છ એ; એટલે ક 4*(માપ (datatype))


ું

સરનામાંમાં ઉમેરવામાં આવશે, અને િનદશક વતમાનથી ચોથા સરનામાં પર થાનાંત રત થશે.
એજ ર તે, જો આપણે પો ટરમાંથી ૪ બાદ કર એ, તો પો ટર ચોથા સરનામા પર પાછા ફરશે.
156 | C માં એર અને િવધેયો

આ ૃિત 4.8 : કગ ણતની યાઓ ુ ં િનદશકમાં િનદશન

આઉટ ટુ

Value of the pointer: 1934329196


After increment: 1934329200
After adding 2: 1934329208
After decrement: 1934329204
After subtracting 2: 1934329196

3. બે પો ટર વ ચે બાદબાક : જો બે પો ટરના કારો સમાન હોય તો એકબી માંથી બાદબાક


કર શકાય છે .

4. િનદશકોની ુ ના: જો બે પો ટસના


લ કારો સમાન હોય તો તેની ુ ના કર શકાય છે .

4.4.2 િનદશકોના કારો

સી ો ાિમગમાં, ણ કારના પોઇ ટસ હોય છે .

રદબાતલ િનદશક: ડટા કાર િવનાના પોઇ ટરને ૂ ય બ ુ તર ક ઓળખવામાં આવે છે .


રદબાતલ ડટાના કારનો ઉપયોગ કર ને ૂ ય પોઇ ટર હર કરવામાં આવે છે . ૂ ય બ ુ ને
ુ ા િનદશક
સામા ય હ ન શક તર ક પણ ઓળખવામાં આવે છે . આ િનદશક કટલાક મેમર થાન તરફ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 157

િનદશ કર શક છે , નો અથ છે ક તે ચલના સરનામાં તરફ િનદશ કર શક છે . C ો ાિમગ


ભાષામાં, malloc() અને calloc() રદબાતલ કાર ુ ં સરના ુ ં પરત કરો.
કરો

દાખલા તર ક ૂ ય *var ptr1;

Null િનદશક: આ પોઇ ટર પોઇ ટરની ઘોષણા દરિમયાન નલ ( ૂ ય) ૂ ય સ પીને બનાવી શકાય
છે .

દાખલા તર ક int *var ptr2= NULL;

વાઇ ડ િનદશક: કોઈ ૂ ય િવનાના િનદશકને જગલી


ં િનદશક તર ક ઓળખવામાં આવે છે . વાઇ ડ
પો ટર ો ામ માટ ખતરનાક હોઇ શક છે . તે ો ામના શ ુ ં કારણ બની શક છે . ે ઠ થા એ
છે ક હર કરતી વખતે પોઇ ટરને ારં ભ કરવો
કરવો.

દાખલા તર ક int *var ptr3; કોઇપણ સરનામાં અથવા ૂ ય કમતનો ારં ભ કયા વગર

આ ૃિત 4.9 : િવિવધ કારના િનદશકો ુ ં િનદશન

ઉપરો ત ઉદાહરણમાં (આ ૃિત 4.9) ૂ યાવકાશ


યાવકાશ, ૂ ય અને જગલી
ં િનદશકોને અ ુ મે લીટ 4, 5
અને 6માં ુ માં, આપણે જોઈ શક એ છ એ ક
હર કરવામાં આ યા છે . આઉટ ટ ૂ ય બ ુએ
ૂળ ૂત ર તે કટલીક મેમર થત કર છે . લાઇન 9 માં, આપણે જગલી
ં િનદશકને અવગણવાનો
158 | C માં એર અને િવધેયો

યાસ કર એ છ એ, પરં ુ તે સેગમે ટ ફો ટ આપે છે કારણ ક તે કોઈ મેમર થાન તરફ િનદશ
કર ુ ં નથી.

આઉટ ટુ

void type pointer: 328965584


Null pointer: 0
Segmentation fault

4.5 શ દમાળા અ રોના એર તર ક

શ દમાળા એ ૂ ય અ ર '\0' ારા ત થયેલ અ રોનો મ છે . મ ક આપણે એકમ 1 માં શી યા


છ એ, સી ભાષા ગ ડટા કારને મં ૂર આપતી નથી. C ભાષા અ રોના 1-D (પ રમાણીય) એર
તર ક શ દમાળાને ટકો આપે છે . હવે, આપણે જોઈ ુ ં ક કવી ર તે શ દમાળાઓને હર કરવી અને
ારં ભ કરવો. ૂળ ૂત વા રચના નીચે ુ બ છે .

char s_nme[size];

ાં s_nme એ શ દમાળા નામ છે અને માપ શ દમાળા માપને ર ૂ કર છે . દાખલા તર ક ધ પંખી


એ શ દમાળા ુ ં નામ છે , ક ુ ાં વ ુ 10 અ રો સમાવે છે .
ૂ ય અ ર સ હત વ મ

char bird[8];

4.5.1 શ દમાળાની શ આત

ક પાઇલ સમયે શ દમાળાને શ કરવાની ૂળ ૂત વા રચના નીચે ુ બ છે :


char bird[]= “PEACOCK”;


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 159

આ શ દમાળા ચલનો ારં ભ કર છે પંખી િત "મોર." તે માપ ૮ ધરાવતા અ રોનો એર બનાવે


છે 'પી', 'ઈ', 'એ', 'સી', 'ઓ', 'સી', 'ક', અને '\0'. ઉપરો ત ારં ભકરણ આ ર તે
પણ લખી શકાય:

char bird[]= {‘P’, ‘E’, ‘A’, ‘C’, ‘O’, ‘C’, ‘K’, ‘\0’}; \\ null character is
explicitly mentioned

અ હયા, શ દમાળા ુ ં માપ પંખી ારં ભકની ૂ ચમાં હાજર પા ોના આધાર ક પાઇલર ારા
ઓળખી શકાય છે . આપણે ારં ભ દરિમયાન ૂ ય અ ર '\0' નો પ ટ પણે ઉ લેખ કરવો પડશે.
તેનાથી િવપર ત, યાર શ દમાળાને બેવડા અવતરણ ચ ોમાં શ કરવામાં આવે છે યાર
ક પાઇલર આપમેળે ત ુ ી
ધ ૂ ય અ ર ઉમેર છે .

4.5.2 વપરાશકતા તરફથી શ દમાળા વાંચવી

યાર વપરાશકતા ચાલતા સમયે શ દમાળાનો ારં ભ કર છે , યાર scanf ફં શનનો ઉપયોગ
ુ લેવા માટ થાય છે . વા
વપરાશકતા પાસેથી ઇન ટ રચના નીચે આપેલ છે .

scanf("%s",array_name);

અહ , '%s' બંધારણ પ ટ કરનાર એ શ દમાળાઓ માટ વપરાય છે , અને '&' ની સાથે જોડવામાં
આવ ુ ં નથી array_name મ ક એર ુ ં નામ આધાર સરનામાં ુ ં િતિનિધ વ કર છે . તે ુ ં
ઉદાહરણ નીચે ુ બ છે :

scanf(“%s”, bird);

આ ૃિત 4.10માં C ો ામ દશાવવામાં આ યો છે , વપરાશકતા પાસેથી શ દમાળા વાંચવા ુ ં


દશાવે છે ઃ
160 | C માં એર અને િવધેયો

આ ૃિત 4.10 વપરાશકતા પાસેથી શ દમાળા વાંચવા માટ ુ ં િનદશન

આઉટ ટુ (ઇન ટુ પીકોક છે એમ ધાર ને)

Enter the string PEACOCK


The value of a string is PEACOCK

4.4 જો કોઈ વપરાશકતા "મોર એક પ ી છે " વા દાખલ કરવા માંગે છે ?

આપણે સૌ ુ ને યાં
ણીએ છ એ તેમ, 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માં
માં દશાવી છે .

આ ૃિત 4.11માં 2-પ


પ રમાણીય એરની ર ૂઆત (િનશાનીઓ)

ુ એરના ઘટકને ઍ સેસ કરવા માટ, આપણે હરોળ નંબરને પ ટ કરવાની જ ર છે અને પછ

તંભ નંબર આવે છે . દાખલા તર ક marks[2][3]=65, marks[0][1]=15,
marks[1][2]=40

ન ધ: n-D એર બનાવવા માટ, આપણે એરને હર કરતી વખતે n-subscript (પ રમાણો) ને પ ટ


કર ુ જ જોઇએ. દાખલા તર ક લોટ મા સ[size_1][size_2]... [size_n];

2-D એરને દશાવવા માટ ું ઉદાહરણ આ ૃિત 4.12માં દશા ુ ં છે .


162 | C માં એર અને િવધેયો

આ ૃિત 4.12 2-D એરને ારં ભ કરવાની િવિવધ ર તો

આઉટ ટુ

The elements of marks1 array are:


10
15
20
25
30
35
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 163

The elements of marks2 array are:


10
15
0
20
25
0
Enter the values for marks[0][0] 1
Enter the values for marks[0][1] 2
Enter the values for marks[0][2] 3
Enter the values for marks[1][0] 4
Enter the values for marks[1][1] 5
Enter the values for marks[1][2] 6
The elements of marks3 array are:
1
2
3
4
5
6

4.5 બ પ
ુ રમાણીય એર મેમર માં કવી ર તે સં હત થાય છે ?

એરની સારણા મક ર ૂઆત ો ામરની સરળતા માટ છે (આ ૃિત 4.11માં દશા યા ુ બ). જો ક,
જ ક
એર માં સં હત થયેલ છે હરોળ- ુ ય અથવા તંભ- ુ ય મ. માં હરોળ- ુ ય મમાં, ત વો રખીય
ુ બ ગોઠવાયેલા છે ,
ર તે હરોળ- જ યાર માં તંભ- ુ ય
યાર, મમાં, ત વો રખીય ર તે તંભ-વાર
-
ગોઠવાયેલા છે . બંને ર ૂઆતો આ ૃિત 4.13માં
4.13 દશાવી છે :

આ ૃિત 4.13 2-પ રમાણીય એર (િનશાનીઓ) હરોળમાં ર ૂઆત અને તંભ- ુ ય મમાં
164 | C માં એર અને િવધેયો

4.7 િવધેય (Function)

આપણે, મ ુ યો, ણતાં-અ ણતાં, ઘણી ુદ ુ દ બાબતો માટ ઘણા લોકો પર આધાર રાખીએ
છ એ. ુ શાળ હોવા છતાં, આપણે વનના બધા કાય વતં ર તે ૂણ કર શકતા નથી. દાખલા
તર ક, એક ય ત પોતાની કાર ુ ં સમારકામ કરવા માટ િમકિનકને બોલાવી શક છે , તેની લોન
કાપવા માટ માળ ની િનમ ૂક કર શક છે , અને દર મ હને ખા સામ ી પહ ચાડવા માટ
ક રયાણાની ુ કાન પર આધાર રાખી શક છે . તેવી જ ર તે, ક ુ ર
ટ ો ામ (અગાઉના કરણોમાં
અ યાસ કરવામાં આવેલા સરળ ો ા સ િસવાય) સમાન પ ર થિતનો સામનો કર છે ; તે યેક
કાય તેની પોતાની મેળે ૂ ું ન કર શક. તેના બદલે, તેને કાય ૂણ કરવા માટ ફં શ સ તર ક
ઓળખાતા ો ામ વી સં થાઓની જ ર પડ છે . આ િવભાગમાં ો ાિમગ ભાષામાં કાય ના
ઉપયોગની ચચા કરવામાં આવી છે .

A િવધેય િનવેદનોના સ ૂહ તર ક યા યાિયત કર શકાય છે સા ૂ હક ર તે કટલાક કાય કર છે .


તે ઇન ુ સ લે છે , કાય કર છે અને પ રણામો પરત આપે છે . ો ામમાં કોલ કરતા પહલા
ફં શનની ઘોષણા કરવી આવ યક છે . આપણે ફં શનને ઘણી વાર બોલાવી શક એ છ એ. આપણે
અગાઉ જો ુ ં તેમ, કોઈ ફં શનનો ઉપયોગ કરવો એ સ પાયેલ કાય હાથ ધરવા માટ ય તને
રોજગાર આપવા ુ ં જ છે . ય ત સાથે ભળ ુ ં કટલીકવાર સરળ અને પડકારજનક હોય છે .
દાખલા તર ક, તમે િનયિમત કામગીર હાથ ધરો છો તેનો િવચાર કરો, મ ક દર બે મ હને
તમાર મોટરસાઇકલ ુ ં સમારકામ અગાઉની મ જ કર .ુ ં યાર સમય આવે છે , યાર તમે સેવા
ક ની ુ ાકાત લો છો અને તેની સેવા માટ િવનંતી કરો છો. ય તએ
લ ૂચનાઓ આપવાની જ ર
ુ વી છે .
નથી કારણ ક િમકિનક તેના કામમાં અ ભ યાર કાય ૂણ થઈ ય, યાર તમાર ણ
કરવાની જ ર નથી. તમે અપે ા રાખો છો ક િમકિનક બાઇક પર ટા ડડ મે ટન સ કરશે, અને તે
બ ુ ં જ હશે. એક સરળ સી ફં શન િમકિનકની મ જ કામ કર છે . ફં શનને પ િત, યા અથવા
િન ય મ તર ક પણ ઓળખવામાં આવે છે .

4.7.1 ફં શ સના ઉપયોગના ફાયદા

ફં શ સના ઉપયોગના ફાયદા નીચે ુ બ છે :



ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 165

1. કોડ ન કોડ ુ ં
ુ ઃઉપયોગીપ ુ ં (કોડ ુ રાવતન ટાળે છે )

2. કાય મની વાંચન મતામાં વધારો કર છે
3. મોટ જ ટલ સમ યાઓને સરળ સમ યાઓમાં િવભા જત કર છે .
4. ૂલોની શ તા ઘટાડ છે .

4.7.2 ફં શ સના કારો

આ ૃિત 4.14 : ફં શ સના કારો

સી ો ાિમગમાં ૂરા પાડવામાં આવેલા બે કારના ફં શ સ છે વપરાશકતા- યા યાિયત અને


લાઇ ેર િવધેયો (આ ૃિત 4.14માં દશાવેલ છે ). લાઇ ેર િવધેયો બ ટ-ઇન
ઇન ફં શ સ છે ચો સ
કાય કર છે અને માણ ૂત લાઇ ેર ઓમાં હાજર છે . હડર ફાઇલો આ ૂળ ૂત લાઇ ેર ઓને
સમાવવા માટ વપરાય છે . ો ામરોએ ુ તકાલયના કાય લખવાની જ ર નથી
નથી. સી ો ામ
િવિવધ કારના બ ટ-ઇન ફં શ સનો ઉપયોગ કર છે ટા ડડ સી લાઇ ેર માં હાજર હોય છે .
દાખલા તર ક printf() અને scanf()માં યા યાિયત કરવામાં આવે છે stdio.h લાઇ ેર ,
યાર cbrt() સં યાના ઘનની ગણતર કરવા માટ અને pow() કારણ ક નંબરનો ક ુ ટગ
પાવર આમાં યા યાિયત થયેલ છે math.h ુ તકાલય. વપરાશકતા- યા યાિયત િવધેયો કોડ
બનાવતી વખતે ો ામર ારા લખ ુ ં જ ર છે . આ કાય ને ો ામર ારા જ હર અને
યા યાિયત કરવાની જ ર છે .

4.7.3 ફં શનની યા યા, ઘોષણા અને કો લગ

યાિયત ફં શ સ કવી ર તે લખ ુ ં તે શીખી .ુ ં ક ટમ ફં શન


હવે, આપણે ક ટમ (વપરાશકતા- યા યાિયત)
લખતા પહલા, આપણે ણ ોના જવાબો ણવા જોઈએ.
જોઈએ (૧) ફં શનની યા યા કવી ર તે
166 | C માં એર અને િવધેયો

કરવી? (૨) ફં શનની હરાત કવી ર તે કરવામાં આવે છે ? (૩) ફં શનને કવી ર તે કહવાય? આપણે
ફં શનની યા યાથી શ આત કર .ુ ં

િવધેયને યા યાિયત કર ર ા છે

ફં શનની યા યા ફં શનના વા તિવક શર રને યા યાિયત કર છે . ફં શનમાં હડર અને બોડ નો


સમાવેશ થાય છે . ફં શનની યા યાની થમ લાઇનને ફં શન હડર કહવામાં આવે છે , માં ણ
ભાગનો સમાવેશ થાય છે : ડટાનો કાર, ફં શન ુ ં નામ અને દલીલની ૂ ચ. વા રચના નીચે
દશાવેલ છે .

return_data_type fun_name(arg_list) //function header


{
set of statements; // function body
}

● return_data_type - તે ૂ યના ડટા કારોને યા યાિયત કર છે કોઈ કાય શર રને


ચલા યા પછ પા ં આપે છે . ૂળ ૂત વળતરનો કાર int છે . કામગીર માટ હંમેશાં ૂય
પા ં આપ ુ ં જ ર નથી. કટલીકવાર, તે ક ુ ં જ પા ં આપ ુ ં નથી; આવા ક સાઓમાં,
રદબાતલ વળતરના કારનો ઉપયોગ કરવામાં આવે છે .
● fun_name - તે િવધેય ુ ં નામ પ ટ કર છે . તે મા ય ઓળખકતા હો ુ ં જોઈએ.
● arg_list - તે દલીલોની યાદ છે િવધેયને બોલાવવામાં આવે યાર ા ત અ પિવરામ
ારા અલગ પડ છે . યાર િવધેયને બોલાવવામાં આવે છે , યાર દલીલો ુ ં ૂ ય પસાર
કરવામાં આવે છે . જો ફં શનમાંથી કોઈ ૂ ય પસાર કરવામાં ન આવે તો દલીલની ૂચ
રદબાતલ છે .
● function_body - તેમાં િનવેદનોનો સ ૂહ છે ફં શનની કાય મતા ુ ં વણન કર છે .

િનયં ણને િવિવધ ર તે ( યાંથી ફં શન કહવામાં આ ુ ં હ ુ ં તે થળે પા )ં તર ક ઓળખાતા


ફં શનમાં પસાર કર શકાય છે . યાર ફં શન ક ુ ં જ પા ં આપ ુ ં નથી, યાર યાર ફં શનના
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 167

યો ય વાંક ડયા ક સનો સામનો કરવામાં આવે છે યાર િનયં ણ થાનાંત રત થાય છે , અથવા તે
નીચેના િનવેદનને અમલમાં ૂક ને ૂણ કર શકાય છે .

return;

યાર િવધેય ૂ ય પરત કર છે , યાર િનવેદન

return expression;

એ કમત પરત કરવા માટ વપરાય છે તે બ ુ ુ ી ક


ધ યાંથી તેને બોલાવવામાં આ ુ ં છે . અહ ,
અભ ય ત એ ૂ ય અથવા અ ભ ય ત હોઈ શક છે . દાખલા તર ક, એક ફં શન બેમાંથી સૌથી
નાની સં યા શોધી કાઢ છે અને નાનામાં નાની સં યા પરત કર છે .

int smallest(int var1 , int var2) //function definition


{
int small;
if(var1 > var2)
small = var2;
else
small = var1;
return small;
}

અહ , ઉપરના ઉદાહરણમાં, એક નાનામાં નાના િવધેયને યા યાિયત કરવામાં આ ુ ં છે , બે


સં યાઓમાં સૌથી નાની સં યા શોધે છે . આ ફં શન ૂણાક કારની બે દલીલો લે છે અને ફં શનના
બોડ ને એ ઝે ટુ કયા પછ ૂણાક ૂ ય આપે છે . ફં શનના બોડ ની દર હર કરવામાં આવે ું
વે રયેબલ, એટલે ક, ના ુ ં એ થાિનક વે રયેબલ છે . તે નાનામાં નાના ફં શનની દર ઓળખાય છે
માં તેને યા યાિયત કરવામાં આવે છે .
168 | C માં એર અને િવધેયો

િવધેય ઘોષણા

તેને ફં શન ોટોટાઇપ તર ક પણ ઓળખવામાં આવે છે . તે ક પાઇલરને ફં શન ારા પરત


કરવામાં આવતી મા હતીના કાર, ફં શનને ા ત થતી દલીલોની સં યા અને કારો, અને દલીલો
કયા મમાં દખાય છે તેની મા હતી આપે છે . ક પાઇલર ફં શન ોટોટાઇપને ચકાસીને ફં શન
કોલની ચોકસાઈની ખાતર કર છે . વા રચના નીચે ુ બ છે :

return_data_type function_name(argument_list);

ઉદાહરણ તર ક, ની કાય ઘોષણા નાનામાં ના ુ ં િવધેય નીચે દશાવેલ છે .

int smallest (int, int,int); િવધેય ોટોટાઇપ

ુ તર ક બે
નાનામાં નાના ફં શનની ફં શન ડ લેરશન જણાવે છે ક આ ફં શન ઇન ટ ૂણાક-
ુ તર ક
કારની દલીલો લે છે અને આઉટ ટ ૂણાક ૂ ય આપે છે . આ ૃિત 4.15માં દશાવેલી
દલીલની યાદ માં આપણે ચલ નામો પણ આપી શક એ. એ ન ધ ુ ં જોઈએ ક ફં શનની યા યા
અને ઘોષણાની થમ પં ત સમાન છે . યાર તે બંને અલગ પડ છે યાર સંકલન ૂલ થાય છે .

ન ધ: જો ફં શનની ઘોષણાના તે અધિવરામને છોડ દવામાં આવે તો ફં શનની ઘોષણા


વા રચનાની ૂલમાં પ રણમે છે .

િવધેય કોલ ગ

ફં શનની ઘોષણા અને યા યા કવી ર તે કરવી તે આપણે પહલેથી જ જો ુ ં છે . કોઈ િવિશ ટ કાય
કરવા માટ આપણે આપણા સી ો ામમાં યા યાિયત ફં શનનો ઉપયોગ કવી ર તે કર શક એ?
તેનો ઉપયોગ કરવા માટ, આપણે ો ામમાં ફં શનને કોલ કરવાની જ ર છે . યાર કોઈ ફં શન
કહવામાં આવે છે યાર ો ામ ુ ં િનયં ણ ફં શનમાં થાનાંત રત થાય છે . તે કાયના શર રમાં
યા યાિયત કાય કર છે . કાય કયા પછ , તે કોલર ફં શનમાં પ રણામો પરત કર છે યાંથી તેને
બોલાવવામાં આ ુ ં છે . વા રચના નીચે ુ બ છે :

func_name(argumnent_lst);
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 169

આપણે દલીલોની ૂ ચ સાથે ફં શન ુ ં નામ લખવાની જ ર છે . જો તે ૂ ય પા ં આપે છે , તો તેને


સં હત કરવા માટ એક ચલ હો ુ ં જોઈએ. દાખલા તર ક

small_number = smallest(a,b); //function call


// small_number stores the result returned by the smallest function.

અ હયા, ફં શન ુ ં નામ આપવામાં આ ુ ં છે નાનામાં ના ુ ં કહવામાં આવે છે , ુ તર ક


ઇન ટ ણ
ૂણાક દલીલો લે છે અને ૂણાક દલીલ પરત કર છે , ચલમાં સં હત થશે small_number.

સં ૂણ કાય મ આ ૃિત 4.15માં


માં દશાવેલા િવધેયની કાય મતા દશાવે છે .

આ ૃિત 4.15 : કામની કામગીર ુ ં િનદશન નાનામાં ના ુ ં િવધેય

આઉટ ટુ

Enter two integer values:


23
170 | C માં એર અને િવધેયો

34
The smallest number is 23

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 23, અને 34 દાખલ કર છે

અ ય એક ઉદાહરણ યાનમાં લો ક આ ૃિત 4.16માં


માં દશાવેલા િવધેય ઘનનો ઉપયોગ કર ને 1
ુ ીની સં યાના ઘનને છાપે છે .
થી 5 ધ

આ ૃિત 4.16 : કાય કરવા ુ ં િનદશન ઘન િવધેય

આઉટ ટુ

1
8
27
64
125
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 171

4.7.4 ફં શન કો લગ

સી ો ાિમગ બે માગ ૂરા પાડ છે : ૂય ારા કોલ કરો અને ફં શન કો લગના સંદભ ારા કોલ
કરો. િવગતોમાં જતા પહલા, આપણે ણ ુ ં આવ યક છે વા તિવક અને ઔપચા રક દલીલો. ફં શન
કો લગ દરિમયાન દલીલો પસાર કરવામાં આવે છે તેને વા તિવક દલીલો તર ક ઓળખવામાં
આવે છે . કો લગ ફં શન આ દલીલોને યા યાિયત કર છે . વા તિવક દલીલોમાં મા હતીનો કાર
પ ટ કરવાની જ ર નથી. દાખલા તર ક

small_number = smallest(a,b); // Here, a & b are the actual arguments.

ફં શનની યા યાના argument_list દલીલોનો ઉપયોગ કરવામાં આવે છે તેને ઔપચા રક


દલીલો તર ક ઓળખવામાં આવે છે . તેમને ફં શનની યા યામાં યા યાિયત કરવામાં આ યા છે .
ઔપચા રક દલીલોમાં ડટાનો કાર પ ટ થવો આવ યક છે .

int smallest (int var1, int var2) //var1 and var2 are the formal arguments
{
//body of the smallest function
}

કમત માણે કોલ કરો

ૂ ય ારા કોલના ક સામાં વા તિવક દલીલો ૂ ય ઔપચા રકમાં નકલ કરવામાં આવે છે . થમ,
વા તિવક દલીલની નકલ કરવામાં આવે છે , અને પછ તે કહવાતા ફં શનમાં ઔપચા રક દલીલોને
પસાર કરવામાં આવે છે . જો ફં શને ઔપચા રક દલીલોમાં કોઇ ફરફાર કય હોય (એકની નકલ
કરવામાં આવી હોય), તો તે વા તિવક દલીલોમાં (કોલર ફં શનમાં હાજર) ફરફારોને િત બ બત
કર ુ ં નથી. તેનો ઉપયોગ યાર થાય છે યાર બોલાવવામાં આવેલ ફં શન કોલર ફં શનના ૂ યને
બદલવાનો ઇરાદો ધરાવ ુ ં ન હોય. આ ુ ં ઉદાહરણ આ ૃિત 4.17માં દશા ુ ં છે .
172 | C માં એર અને િવધેયો

આ ૃિત 4.17 : ફં શન કો લગની ૂ ય પ િત ારા કોલ ુ ં િનદશન

આઉટ ટુ :

Enter the two numbers


34
45
The values of var1 and var2 before swapping are var1=34 var2=45
The values of var1 and var2 after swapping are var1=45 var2=34
The values of var1 and var2 after swapping (in main function) are
var1=34 var2=45

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 34, 45 દાખલ કર છે

ઉપરના ઉદાહરણમાં, અમે કોલ-બાય-વે


વે ુ ો ઉપયોગ કર ને બે
ન ૂણાક નંબરોની અદલાબદલી
કરવા માટ વેપ ફં શન બના ુ ં છે . ફં શનને ુ ય ફં શનમાંથી કહવામાં આવે છે . વા તિવક
દલીલોની નકલ કરવામાં આવી હતી અને ઔપચા રક દલીલોને પસાર કરવામાં આવી હતી. આ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 173

ફરફારો ઔપચા રક દલીલોમાં કરવામાં આ યા હતા,


હતા વા તિવક દલીલોમાં નહ . આપણે
પણે જોઈ શક એ
છ એ ક ફં શનની દર ૂ યોની અદલાબદલી કરવામાં આવી હતી.
હતી જો ક, ફરફારો (અદલાબદલી
ૂ યો) ુ ય કાયમાં િત બ બત થયા ન હતા.
હતા અદલાબદલી પહલાં અને પછ ના ુ ય ફં શનની
દરના ૂ યો સમાન છે .

સંદભ ારા કોલ કરો

આમાં, વા તિવક દલીલો ુ ં સરના ુ ં ઔપચા રક દલીલોને આપવામાં આવે છે . વા તિવક દલીલના
સરનામાંની નકલ કરવામાં આવે છે અને ઔપચા રક દલીલોને પસાર કરવામાં આવે છે . કાય ફ ત
ઔપચા રક દલીલોની મદદથી કાય કર છે કારણ ક વા તિવક અને ઔપચા રક દલીલો બંને સમાન
મેમર થાનો તરફ િનદશ કર છે . તેથી, ફં શન કોલ દરિમયાન કરવામાં આવેલા કોઈપણ ફરફારો
કહવાતા ફં શનની વા તિવક દલીલોમાં િત બ બત થશે. કોલ-બાય-રફર
રફર સ પ િત વા તિવક
દલીલો ( ૂળ ની હરાફર કર શક છે . આ ુ ં ઉદાહરણ આ ૃિત 4.18માં દશા
ૂ ય)ની ુ ં છે .

આ ૃિત 4.18 : ફં શન કો લગની સંદભ પ િત ારા કોલ ુ ં િનદશન


174 | C માં એર અને િવધેયો

આઉટ ટુ :

Enter the two numbers


34
45
The values of var1 and var2 before swapping are var1=34 var2=45
The values of var1 and var2 after swapping are var1=45 var2=34
The values of var1 and var2 after swapping (in main function) are
var1=45 var2=34

*ન ધ: એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 34, 45 દાખલ કર છે

ઉપરના ઉદાહરણમાં, અમે કોલ-બાય-રફર સનો ઉપયોગ કર ને બે ૂણાક નંબરોની અદલાબદલી


કરવા માટ વેપ ફં શન બના ુ ં છે . વા તિવક દલીલોના સરનામાંની નકલ કરવામાં આવી હતી
અને ઔપચા રક દલીલોમાં લઈ જવામાં આવી હતી. વા તિવક અને ઔપચા રક દલીલ બંને સમાન
મેમર થાન તરફ યાન દોર છે . યાર ફં શન અદલાબદલ કરવા ુ ં કાય કર છે , યાર ફરફારો
સીધા વા તિવક દલીલોમાં કરવામાં આવે છે .

કાય ંુ બી ુ ં ઉદાહરણ

અ હયા, આપણે એક િવધેય બનાવીને કાટકોણ િ કોણના કણની લંબાઇની ગણતર કરવા ુ ં એક
ઉદાહરણ જોઇ ુ ં hypotenuse_cal િ કોણની બે બા ુ ઓને ઇન ટ
ુ તર ક લે છે અને આઉટ ટ

તર ક કણની લંબાઇ પાછ આપે છે . બે દલીલો (બે બા ુ ઓ) અને કણની લંબાઈ બેવડા કારની
હોવી જોઈએ. આ ો ામ ણ કાટકોણ િ કોણોની ગણતર કર છે . આ કાય મ આ ૃિત 4.19માં
દશા યો છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 175

આ ૃિત 4.19 : કાટકોણ િ કોણના કણની લંબાઇ ગણવાનો કાય મ

આઉટ ટુ :

Enter the two sides


23.2
34.44
The hypotenuse is 41.525337
Enter the two sides
45.56
78.6
The hypotenuse is 90.849731
Enter the two sides
87.6
89.5
The hypotenuse is 125.235818

*ન ધઃ એ ું ધારવામાં આવે છે ક વપરાશકતા ઇન ટુ તર ક 23.2, 34.44, 45.56, 78.6, 87.6, 89.5


દાખલ કર છે .

4.6 ુ ં આપણે ફં શનને હર કયા િવના તેને યા યાિયત કર શક એ?


176 | C માં એર અને િવધેયો

જો ફં શનને બોલાવવામાં આવે તે પહલાં જ યા યાિયત કરવામાં આ ુ ં હોય,


હોય તો પછ હરાત
ૂર પાડવી જ ર નથી. ફં શન કોલ પહલાં ફં શનને યા યાિયત કર ુ ં જોઈએ.
જોઈએ જો ો ામર
ફં શનને હર કરતા પહલા તેનો ઉપયોગ કરવાનો યાસ કર છે , તો તે ક પાઇલ-ટાઇમ
ટાઇમ ૂલમાં
પ રણમશે.

આ ૃિત 4.20માં
માં એક ઉદાહરણ દશા ુ ં છે ક િવધેયને હર કયા િવના જ તેની યા યા આપી
શકાય છે .

આ ૃિત 4.20 : કાટ ૂણાવાળા િ કોણના કણની લંબાઇ ગણવાનો કાય મ

4.7.5 િવધેયોમાં એરને પસાર કર ર ા છે

આ િવભાગ બતાવશે ક કવી ર તે એર િવધેયોમાંથી પસાર કર શકાય છે . કટલીકવાર, ફં શન માટ


એક જ કારના એક કરતા વ ુ વે રયેબ સ પસાર કરવા પડ છે . દાખલા તર ક, કોઈ કામગીર
ધારો ક દસ સં યાઓને ચડતા મમાં ગોઠવે છે . આ ફં શનને ફં શન કોલ ારા દસ વા તિવક
પ રમાણો પસાર કરવાની જ ર છે . ફં શન ારા દસ ુ દા ુ દા ચલોને પસાર કરવા માટ આ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 177

બો પ હશે. એક અલગ અ ભગમ એરને યા યાિયત કરવા અને તેને ફં શનમાંથી પસાર
કરવાનો છે . એર પસાર કરવાથી જ ટલતા ુ ં િનરાકરણ આવે છે ; હવે, ફં શનનો ઉપયોગ કોઈપણ
સં યાના વે રયેબ સ માટ થઈ શક છે .

આપણે પહલેથી જ ણીએ છ એ તેમ, એર ુ ં નામ આધાર સરનામાંને ર ૂ કર છે . અમાર ફ ત


ફં શનમાં એર નામને પસાર કરવાની જ ર છે . વા રચના નીચે આપેલ છે .

function_name(array_name);

અહ , array_name એર ુ ં નામ છે અને function_name ફં શન ુ ં નામ છે . દાખલા તર ક

cal_average(arr);

હવે, આપણે ણ ુ ં જોઈએ ક દલીલ તર ક એર ા ત કર તેવા ફં શનને કવી ર તે યા યાિયત


કર .ુ ં ફં શનને યા યાિયત કરવાની ણ ર તો છે દલીલ તર ક એર મેળવે છે . ણેય માગ ની
વા રચના નીચે આપેલ છે .

1. આપણે ફં શનની યા યામાં સબ ટ નોટશન [] નો ઉપયોગ જોઈ શક એ છ એ. તે ક પાઇલરને


કહ છે ક એક-પ રમાણીય એર ફં શનમાંથી પસાર થાય છે . દાખલા તર ક

return_type function_name(data_type array_name[]){


...
}

દાખલા તર ક

float cal_average(float arr[]){


...
}

2. બીજો ર તો એ છે ક સબ ટ નોટશનમાં એરના કદને યા યાિયત કર ુ ં []. વા રચના નીચે


ુ બ છે .

178 | C માં એર અને િવધેયો

return_type function_name(data_type array_name[size]){


...
}

દાખલા તર ક

float cal_average(float arr[10]){


...
}

3. ીજો ર તો એર ુ ં સરના ુ ં મેળવવા માટ પોઇ ટર વે રયેબલનો ઉપયોગ કરવાનો છે .

return_type function_name(data_type *array_name){


...
}

દાખલા તર ક

float cal_average(float *arr)

તે ુ ં ઉદાહરણ આ ૃિત 4.21માં દશા ુ ં છે . િવધેય cal_average() હર કરવામાં આવે છે અને


યા યાિયત કરવામાં આવે છે , એરની બધી સં યાઓની સરરાશની ગણતર કર છે . આ િવધેય
એરને દલીલ તર ક લે છે અને સરરાશ ૂ ય પા ં આપે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 179

આ ૃિત 4.21 કાય માટ એરને પસાર કરવા ુ ં િનદશન

આઉટ ટુ

The average is 51.521996

ફં શનનો ઉપયોગ કરવાના ફાયદા


1. ક ુ ર
ટ ો ામમાં ફં શ સનો ઉપયોગ કરવાના ઘણા ફાયદા છે .
2. કોડ ુ ઃઉપયોગીપ ુ ં (કોડ
ન કોડ ુ ં ુ રાવતન ટાળે છે )

3. કાય મની વાંચન મતામાં વધારો કર છે
4. મોટ જ ટલ સમ યાઓને સરળ સમ યાઓમાં િવભા જત કર છે .
5. ૂલોની શ તા ઘટાડ છે .

4.8 સં હ વગ (Storage classes)

સં હ વગ નો ઉપયોગ ચલો અને કાય ના અવકાશને યા યાિયત કરવા માટ થાય છે . સી


ો ામમાં, ટોરજ વગ મેમર અને ૃ યતામાં વે રયેબ સ/ફં
સ ફં શ સના વનને િનયંિ ત કર છે .
વા રચના નીચે આપેલ છે .
180 | C માં એર અને િવધેયો

storage_class var_data_type var_name;

સી ો ાિમગ ભાષામાં ચાર સં હ વગ હોય છે :


● auto
● extern
● થર
● ચોપડો

auto: ફં શન અથવા લોકની દર યા યાિયત કરવામાં આવેલા કોઈપણ ચલને ૂળ ૂત ર તે


ઓટો- ટોરજ લાસ તર ક હર કરવામાં આવે છે . તેને આનો ઉપયોગ કર ને પણ યા યાિયત
કર શકાય છે auto ક વડ. આ ટોરજ લાસમાં, વે રયેબ સ મા ફં શન અથવા લોકની દર જ
ૃ યમાન અથવા ુ ભ હોઈ શક છે . ઓટો વે રયેબલ ફં શન અથવા લોકની બહાર એ સેસ કર

શકા ુ ં નથી. ઓટો- ટોરજ વે રયેબલને ુ રાવિતત
ન લોકની દર એ સેસ કર શકાય છે (જો
વે રયેબલ બા લોકની દર યા યાિયત કરવામાં આ ુ ં હોય
હોય, તો તેને ત રક લોકની દર
એ સેસ કર શકાય છે , તેનાથી ઊલ ુ ં નહ ).

ઓટો વે રયેબ સ ટક મેમર ની દર સં હત થાય છે , અને વે રયેબ સ ુ ં આ ુ ય લોકની બહાર


સમા ત થાય છે . ઓટો ટોરજ વે રયેબલ ુ ં ૂળ ૂત ૂ ય એ કચરો છે .

આ ૃિત 4.22 ઓટો વે રયેબલના ઉપયોગ ુ ં િનદશન


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 181

ઉપરના ઉદાહરણમાં (આ ૃિત ૪.૨૨), var1 અને var2 અ ુ મે લાઇન 4 અને 5માં ઓટો
વે રયેબ સ તર ક યા યાિયત કરવામાં આવે છે . લીટ 4 માં, var1 ઓટો ક વડનો ઉપયોગ કર ને
યા યાિયત કરવામાં આવે છે , અને લાઇન 5 માં, var2 ૂળ ૂત ર તે ઓટો વે રયેબલ તર ક
યા યાિયત કરો. આપણે ણીએ છ એ તેમ, ઓટો વે રયેબ સની ૃ યતા લોકની દર હોય છે ,
તેથી તે બહાર એ સેસ કર શકાતી નથી functionTo_auto કાય.
આઉટ ટુ

Auto Storage Class demonstrated


The value of var1: 32 and var2: 32765

extern: બા (extern) ચલને


ને બા ક વડનો ઉપયોગ કર ને યા યાિયત કરવામાં આવે છે . તે એક
વૈિ ક ચલ પણ છે નો સમ ો ામની દર ઉપયોગ અથવા ફરફાર કર શકાય છે , અને
એ સટન વે રયેબલ ુ ં વન સં ૂણ ો ામના અમલીકરણ પછ સમા ત થાય છે .

બા ચલને ઘણી વખત હર કર શકાય છે પરં ુ તે ફ ત એક જ વાર યા યાિયત કર શકાય


છે . આપણે કોઈ ફં શનને
નને એ સ ટન તર ક એ, પરં ુ આપણે
હર કર શક એ છ એ ણીએ છ એ
તેમ, ફં શ સ સમ ો ામમાંથી પહલેથી જ ુ ભ છે , તેથી જો આપણે તેમને એ
લ ટન તર ક
હર કર એ, તો તે ફ ત ર ડ ડ સીમાં વધારો કર છે .

આ ૃિત 4.23 : એ સટન વે રયેબલના ઉપયોગ ુ ં િનદશન


182 | C માં એર અને િવધેયો

ઉપરો ત ઉદાહરણમાં (આ ૃિત 4.23), var1 અને var2 બા ચલો છે ો ામના અમલ
દરિમયાન ગમે યાંથી ુ ભ છે . આ ચલોને અ ુ મે લાઇન 2 અને 7માં
લ માં હર કરવામાં આ યા છે .

આઉટ ટુ

The auto variable var3 : 28


The extern variables var1 and var2 : 21,12
The updated extern variable var1 : 25

Static: ટ ટક ટોરજ લાસનો ઉપયોગ ટ ટક વે રયેબલ હર કરવા માટ થાય છે . થર ક વડનો


ઉપયોગ કર ને ચલને થર હર કરવામાં આવે છે . એક થર ચલ કાય મના સમ અમલ
દરિમયાન મા હતીને ળવી રાખે છે , પછ ભલે તે અવકાશની બહાર હોય. તેથી થર ચલે ૂ યનો
સં હ કય નો ઉપયોગ અવકાશમાં છે લે થાય છે . થર ચલો ફ ત એક જ વાર શ કરવામાં
આવે છે અને ો ામ એ ઝે ુ ન
શ ૂણ ન થાય યાં ુ ી અ ત વમાં છે .

static વે રયેબલ ડટા સેગમે ટ મેમર માં સં હત થાય છે અને ૂળ ૂત ર તે, 0 ારા ારંભ
કરવામાં આવે છે .

આ ૃિત 4.24 : થર(static) ચલના ઉપયોગ ુ ં િનદશન

ઉપરો ત ઉદાહરણમાં (આ ૃિત 4.24), countFunc િવધેય varcount ચલને થર (લાઇન 12માં)
હર કરવામાં આવે છે . અહ આપણે નામ આ ુ ં હ ુ ં countFunc અ ુ મે લીટ 4 અને 5માં
માં કાય
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 183

કર છે . દરક કોલમાં, ફં શન તા ર તે ચાલશે, અને તે ુ ં ૂ ય varcount ચલ એ હો ુ જોઈએ 0


(ર સેટ), પરં ુ આ ુ ં થ ુ ં નથી. કારણ ક આપણે ણીએ છ એ તેમ, varcount એ એક છે થર

કાય કર છે , તેથી તે ફ ત એક જ વાર મેમર મેળવશે, અને ફર થી ારં ભ કરવામાં આવશે નહ .


તેથી, અગાઉના ફં શન કોલમાં અપડટ કરલ ૂ ય પછ ના ફં શન કોલ માટ આગળ ધપાવશે, અને
ુ 1 2 મળશે.
અમને 1 1 ને બદલે આઉટ ટ
આઉટ ટુ
1
2

Register ટોરજ લાસ ર જ ટરમાં ઓટો વે રયેબલ વા જ ુ ધમ છે . મા


ણ એક જ તફાવત છે :
જો ર જ ટર ઉપલ ધ હોય, તો ર જ ટર ક વડનો ઉપયોગ કર ને હર કરવામાં આવેલ વે રયેબલ
ક કાય મ ુ ં અમલીકરણ ઝડપથી થશે.
ટોરજ માટ ર જ ટરનો ઉપયોગ કર છે . આનો ફાયદો એ છે ક,
તેથી આ ુ ધમને કારણે, સૌથી વ ુ વખત ઉપયોગમાં લેવાતા ચલને ર જ ટર વે રયેબલ તર ક

હર કરવામાં આવે છે થી ો ામ ુ ં એ ઝે ુ ન ઝડપી બનશે. જો ર જ ટર અ પ
શ ુ લ ધ હોય,
હોય
તો વે રયેબલને મા મેમર જ મળે છે .

આ ૃિત 4.25 : ર જ ટર વે રયેબલના ઉપયોગ ુ ં િનદશન


ઉપરના ઉદાહરણમાં (આ ૃિત 4.25), var1 અને var2 અ ુ મે લાઇન 4 અને 5માં
માં ર જ ટર
વે રયેબ સ તર ક હર કરવામાં આવે છે .

આઉટ ટુ

The register variable var1: H


The sum of auto and register variable: 94
184 | C માં એર અને િવધેયો

એકમ સારાંશ

પ રચય

 C માં એર એ મા હતી સંરચનાનો એક કાર છે ક સમાન મા હતી કારનાં ઘટકોને પકડ રાખે
છે
 એર: એર એ સ ં ત મેમર થાનો ું ૂથ છે ક
ુ ગ બધા પાસે સરખા કારનાં છે .
o એરમાં ઘટકને વાપર ર ા છે . એરમાં એક િવિશ ટ ત વ ચોરસ ક સની વ ચે
અ ુ મ ણકા નંબરનો ઉપયોગ કર ને એ સેસ કર શકાય છે .
o સમય એર આરં ભીકરણને ચલાવો, રનટાઇમની શ આતનો ઉપયોગ કર ને
વપરાશકતા ો ામના િવિવધ રન દર યાન કમતો દાખલ કર શક છે .

C માં મેમર સં થા

 ક ટુ ર મેમર ને બાઇટ તર ક ઓળખાતા નાના એકમોમાં િવભા જત કરવામાં આવે છે . દરક


બાઇટ ું એક અનો ું સરના ું હોય છે .
 સં હ વગ નો ઉપયોગ ચલો અને કાય ના અવકાશને યા યાિયત કરવા માટ થાય છે .
o લખાણ સે મે ટ: આ ઘટક સી ો ામ ું સંકલન કર ને જનરટ થયેલી બાઇનર
ફાઇલની ૂચનાઓનો સં હ કર છે . તે મા વાંચી શકાય તેવી પરવાનગી ધરાવે છે ,
અ ણતાં ો ામમાં ફરફારને અટકાવે છે .
o ારં ભ થયેલ મા હતી સે મે ટ: ારં ભક ડટા સેગમે ટ, ડટા સેગમે ટ તર ક પણ
ઓળખાય છે .
o ારં ભ ન થયેલ મા હતી સે મે ટ: આ સેગમે ટ તમામ અનઇિનિશએટાઇ ડ લોબલ,
લોકલ અને એ સટનલ વે રયેબ સનો સં હ કર છે , ને ો ામમાં શ કરવામાં
આ યા ન હતા.
o ટક: ટક સેગમે ટનો ઉપયોગ ગિતશીલ મેમર ફાળવણી માટ થાય છે .
o ઢગલો: તેનો ઉપયોગ રન ટાઇમ દરિમયાન મેમર ની ફાળવણી માટ થાય છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 185

િનદશકો

 િનદશક એ સી ભાષા ું સૌથી શ તશાળ લ ણ છે . િનદશક ગિતશીલ ડટા ચર, એટલે ક,


ટક, કતાર, લ ડ લ ટ અને ુ ારવા માટ લ ઝર
બનાવવા અથવા ધ ૂર પાડ છે .
o એ પરસંડ (&) ઓપરટર: એ પસ અને (&) ઓપરટરનો ઉપયોગ વે રયેબલ ું
સરના ું મેળવવા માટ થાય છે .
o તારક (*) ઓપરટર: એ ટ ર ક ઓપરટરનો ઉપયોગ બે હ ુઓ માટ થાય છે , પો ટર
હર કરવા અને સં હત સરનામાંની કમતને ઍ સેસ કરવા માટ
o બે પો ટર વ ચે બાદબાક : જો બે પો ટરના કારો સમાન હોય તો એકબી માંથી
બાદબાક કર શકાય છે .
o ુ
િનદશકોની લના : જો બે પો ટસના કારો સમાન હોય તો તેની ુલના કર શકાય છે .

અ રોના એર તર ક શ દમાળા

 C માં શ દમાળા એ અ રોના એર તર ક યા યાિયત થયેલ છે .


 શ દમાળાને બે ર તે શ કર શકાય છે : 1) અ ર Str[10] = "hello"; અથવા અ ર Str[10]
= {'h', 'e', 'l', 'l', 'o, '\0'}. બી ર તે, એક વધારાનો િવશેષ અ ર ( ૂ ય અ ર) પ ટ ર તે
પ ટ કરવો જ ર છે .
 યાં િવિશ ટ લાઇ ેર કોલ ગ છે .એચ શ દમાળાઓને ચાલાક કરવા માટ િવિવધ કાય
દાન કર છે .

બ પ
ુ રમાણીય એર

 બ -ુ પ રમાણીય એર એ એરનો સં હ છે નો ઉપયોગ એક પ ડટાને સારણી વ પમાં (હરોળ


અને તંભ) રાખવા માટ થાય છે .

િવધેયો

 ફં શનને િનવેદનોના સ ૂહ તર ક યા યાિયત કર શકાય છે સા ૂ હક ર તે કટલાક કાય કર


છે . તે ઇન ુ સ લે છે , કાય કર છે , અને પ રણામોને આઉટ ટુ આપે છે .
o તે કોડ ુ ઃઉપયોગીપ ું
ન ૂ ંુ પાડ છે (કોડ ું ન
ુ રાવતન ટાળે છે )
186 | C માં એર અને િવધેયો

o કાય મની વાંચન મતામાં વધારો કર છે


o તે ન ધપા જ ટલ સમ યાઓને સરળ સમ યાઓમાં િવભા જત કર છે .
o તેનાથી ૂલો થવાની શ તા ઘટ ય છે .
 ફં શનની યા યા કરવી. કાયની યા યા કાયનો વા તિવક ભાગ ૂરો પાડ છે . Aફં શનમાં
ફં શન હડર અને ફં શન બોડ નો સમાવેશ થાય છે .
o return_type, તે ૂ યના ડટાના કારોને પ ટ કર છે કોઈ ફં શન બોડ ને ચલા યા
પછ પરત કર છે .
o function_name, તે િવધેય ું નામ પ ટ કર છે . તે મા ય ઓળખકતા હો ું જોઈએ.
o argument_list, તે દલીલોની અ પિવરામથી અલગ પડલી યાદ છે . યાર તે
બોલાવવામાં આવે છે યાર તે ફં શન ારા ા ત દલીલોને પ ટ કર છે .
o function_body, ફં શનના શર રમાં િનવેદનોના સ ૂહનો સમાવેશ થાય છે કાયની
કાય મતાને યા યાિયત કર છે .
 ફં શન કો લગ. યાર ો ામ ફં શનને બોલાવે છે , યાર ો ામ ું િનયં ણ કહવાતા ફં શનમાં
થાનાંત રત થાય છે . નામ ું કાય તેના શર રમાં યા યાિયત કાય કર છે .
o ૂ ય ારા કોલ કરો. યાર િવધેય કહવાય છે યાર tતે વા તિવક દલીલો ું ૂય
ઔપચા રક દલીલોમાં નકલ કરવામાં આવે છે . થમ, વા તિવક દલીલની નકલ
કરવામાં આવે છે , અને પછ તે કહવાતા ફં શનમાં ઔપચા રક દલીલોને પસાર
કરવામાં આવે છે .
o સંદભ ારા કોલ કરો. આ ક સામાં, ટ .તે વા તિવક દલીલો ું સરના ું ઔપચા રક
દલીલોને પસાર કરવામાં આવે છે . વા તિવક દલીલના સરનામાંની નકલ કરવામાં
આવે છે અને ઔપચા રક દલીલોને પસાર કરવામાં આવે છે .

સં હ વગ

 સં હ વગ નો ઉપયોગ ચલો અને કાય ના અવકાશને યા યાિયત કરવા માટ થાય છે . સી


ો ામમાં, ટોરજ વગ મેમર અને ૃ યતામાં વે રયેબ સ/ફં શ સના વનને િનયંિ ત કર છે .
o auto: ફં શન અથવા લોકની દર યા યાિયત કરવામાં આવેલા કોઈપણ ચલને
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 187

ૂળ ૂત ર તે ઓટો- ટોરજ લાસ તર ક હર કરવામાં આવે છે .


o extern: બા ચલોને બા ક વડનો ઉપયોગ કર ને યા યાિયત કરવામાં આવે છે . તે
એક વૈિ ક ચલ પણ છે નો ઉપયોગ આખા ો ામની દર કર શકાય છે અથવા
ુ ાર શકાય છે .

o થર: ટ ટક ટોરજ લાસનો ઉપયોગ ટ ટક વે રયેબલ હર કરવા માટ થાય છે .
o ુ ધમ છે .
ચોપડો: ટોરજ લાસ ર જ ટરમાં ઓટો વે રયેબલ વા જ ણ

કસરતો

બ િુ વધ પસંદગી ો

1. જો ફં શનની યા યામાં ફં શન રટન કારનો ઉ લેખ કરવામાં આ યો નથી, તો પછ ડફો ટ


ુ ં હશે?
a. int
b. float
c. double
d. void
2. ક ુ ં મા ય િવધાન નથી (ar1, ar2, અને ar3 એ ૂણાક એર છે )?
a. ar1 = ar2;
b. ar[] = {5,6,3,7};
c. ar[5] = {5,8.3,5,2};
d. ઉપરો ત તમામ
3. સી ો ાિમગ ભાષામાં એરને ારં ભ કરવાની સાચી ર ત કઈ છે ?

a. int ar() = {6,5,4,3,2,1};


b. int ar[6] = {6,5,4,3,2,1};
c. int ar{6} = {6,5,4,3,2,1};
d. int ar{} = {6,5,4,3,2,1};
4. એરની અ ુ મ ણકા આની સાથે શ થાય છે
a. 0
b. 1
c. ક પાઇલર પર આધાર રાખે છે
d. ઉપરમાંથી એક પણ નહ
188 | C માં એર અને િવધેયો

5. કોડ નપેટ ુ ં આઉટ ટ ુ આ છે :


int main(){
int ar[8] ={5,6,7,8,9};
printf("%d", ar[5]);
0 પરત કરો;
}
a. 9
b. 0
c. ગાબજ વે ુ
d. આમાંથી કંઈ જ ન હ

ઉ ર

1. A 2. A 3. બી 4. એ 5. b

આઉટ ટુ -આધા રત ો

નીચેના કાય મો ુ ં આઉટ ટુ કટ ું હશે? (ધારો ક stdio.h લાઇ ેર દરક ો ામમાં સમાિવ ટ છે )

A. void compute(int , int); B. int main(){


int main(){ int var1;
char var1 =6, var2 = ‘A’; for (var1=0;var1<3;var1++)
compute(var1, var2); {
return 0; int var1 =11;
} printf(“%d”, var1);
void compute(int var1, int var2) var1++;
{ }
printf(“%d %d”,var1, var2); return 0; }
}

C. int main(){ D. int main() {


int v; int var1;
char c[] = “Computer int bg[5] = {1,2,3,4,5};
Programming”; bg[1] = ++bg[1];
for( v = 0; c[v]!=`\0';++v ) { var1 =bg[1]++;
if((v%2)==0)
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 189

printf(“%c”,c[i]); } bg[1] = bg[var1++];


return 0; printf("%d,%d", var1,bg[1]);
} return 0;
}

E. int main() { F. int main() {


int bg[] = int var1, ar[4] = {4,5,6,7}, r;
{1,2,3,4,5,6}; r = ar[0];
int var1, var2,var3; for(var1=1;var1<4;var1++){
var2 = ++bg[2]; if(r>ar[var1])
var3 = bg[1]++; continue;
var1 = bg[var2++]; r = ar[var1]; }
printf("var1=%d,var2=%d,var3=%d
",var1,var2,var3); printf("%d",r);
return 0; } return 0; }

G. int main() { H. int main() {


int *p, a=100; int var1 = bg(11);
p = &100; printf("%d",--var1);
printf("%d",*p); return 0; }
return 0; int bg(int var1){
} return (var1++);
}

આઉટ ટુ :
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 માં એર અને િવધેયો

2. ુ ં એર િવિવધ કારની કમતો સં હ શક છે ? (True/Flase)


3. એર ુ ં ____ એ ચો સ ત વને સંદભ કરવા માટ વપરાતો નંબર છે .
4. યાર કોઈ ફં શન ક ુ ં જ પરત કર ુ ં નથી યાર, ___ ક વડનો ઉપયોગ થાય છે .
5. ___ િવધાન એ અ ભ ય તની કમતને પસાર કર છે યાંથી તેને બોલાવવામાં આ ુ ં છે .

ઉ ર

1. િ -પ રમાણીય 2. ખો ું 3. અ ુ મ ણકા 4. ૂ ય 5. પરત કરો

Q2. નીચે આપેલ કાય કરવા માટ િવધાનો લખો:


a) અ ર એરનો છ ો ઘટક છાપો 'c'.
b) ૂણાક એરના ૫ ઘટકોનો ારં ભ કરો 'g' થી 1.
c) 'ની દરક કમતમાં 2 નો ઉમેરોg' એર.

ઉ ર
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

d) fp = &var2 e) printf(“The value pointed by the Pointer fp is %f”, *fp );


f)printf(“The address stored in the pointer variable is %p”, fp);

Q4. િવધેય ુ ં હરના ુ ં લખો:


a) િવધેય મહાનમાં મહાન ણ ૂણાક દલીલો લે છે અને ૂણાક દલીલ આપે છે .
b) િવધેય int To double એક ૂણાક દલીલ લે છે અને બમણી (ઉ ચ-ચોકસાઇ) સં યા
આપે છે .
c) િવધેય ડ લે એક ૂણાક અને એક લો ટગ-પોઇ ટ ૂ ય લે છે અને ક ુ ં જ પરત કર ુ ં
નથી. (આ િવધેયનો ઉપયોગ મા હતી દશાવવા માટ થાય છે )
ે ટકલ
Q1. નીચેનાં કાય ને કરવા માટ િવધેયોની મદદથી C કાય મ લખો:
a) દશાંશ સં યાના બાઇનર સમક ને પાંત રત કરવા માટ
b) નંબરનો પાવર શોધવા માટ.
ુ થયેલ શ દમાળાને િવપર ત કરવા માટ.
c) વપરાશકતા ારા ઇન ટ
Q2. આપેલ સં યાને બે અિવભા ય સં યાઓના સરવાળા તર ક બતાવવા િવધેયોનો ઉપયોગ
કર ને કાય મ લખો. ઉદાહરણ તર ક, 16 ને 16 = 5 +11 અને 16 = 3 +13 તર ક દશાવી શકાય
છે .
Q3. નીચે ુ ં કાય કરવા માટ કાય મ લખો:
a) બે ચોરસ મે સીસનો ઉમેરો
b) બે ચોરસ મે સીસની બાદબાક
c) બે ચોરસ મે સીસનો ુ ાકાર

d) ચોરસ મે સનો િનણાયક.
e) ચોરસ મે સ ુ ં ઉલ ુ ં (જો િનણાયક એ ૂ ય ન હોય તો)
ુ તર ક 20
Q4. વપરાશકતા પાસેથી ઇન ટ ૂણાકોના એરને લેવા માટ ો ામ લખો અને સરરાશ,
મ યક અને થિતની ગણતર માટ ણ િવધેયો બનાવો.
192 | C માં એર અને િવધેયો

વ ુ ણો

શ દમાળા મે ની ુ ેશન િવધેયો



સી ો ાિમગ લ વેજ શ દમાળાઓના સંચાલન માટ મોટ સં યામાં કાય દાન કર છે . આ
િવધેયો માણ ૂત હડર ફાઈલમાં યા યાિયત થયેલ છે string.h. આ કાય શ દમાળાઓની
હરફર માટ ઉપયોગી છે . આમાંની કટલીક કામગીર ઓ નીચે ુ બ છે .

strcpy(str1,str2)
તે શ દમાળાની નકલ કર છે str2 શ દમાળામાં str1 અને
તેમાં પ રણામી શ દમાળા પાછ આપે છે str1.

strcat(str1,str2)
તે શ દમાળાને સંયો જત કર છે str1 શ દમાળા િત str2
અને પ રણામને શ દમાળામાં સં હત કર છે str1. ુ ં માપ
str1 પ રણામી શ દમાળાનો સં હ કરવા માટ ૂર ુ ં મો ુ ં હો ુ ં
જોઈએ; અ યથા, તે િવભાજન દોષમાં પ રણમશે.

strlen(str1)
તે શ દમાળાની લંબાઇની ગણતર કર છે str1. લંબાઇની
ગણતર કરતી વખતે આ િવધેયમાં ૂ ય અ ર '\0' નો સમાવેશ
થતો નથી.

strcmp(str1,str2)
તે બે તારની ુલના કર છે . આ િવધેય પા આપે છે

ૂ ય: જો બે શ દમાળાઓ હોય તો str1 અને str2 સમાન છે ;

હકારા મક ૂણાક: જો થમ બંધબેસતા ન હોય તેવો અ ર આમાં


str1 ની ુ નામાં વ ુ એએસસીઆઈઆઈ
લ ૂ ય ધરાવે છે
str2.
નકારા મક ૂણાક: જો થમ મેળ ન ખાતો અ ર આમાં str1
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 193

ની ુ નામાં ઓછ એ.એસ.સી.આઈ.આઈ.
લ એ ૂ ય ધરાવે છે str2.

strrev(str1)
તે શ દમાળાને ઉલટાવે છે str1.

strlwr(str1)
તે શ દમાળાને બદલે છે str1 લોઅર કસ માટ.

strupr(str1)
તે શ દમાળાને બદલે છે str1 ઉપલા ક સામાં.

સંદભ અને ૂચવેલ વાંચનો

1.ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૫, ૬ અને ૭).
િપયસન એ ુ શન ઇ ડયા .

2. ડિવડ ફ સ અને ડોન ફ સ (2011). હડ ફ ટ સી, ઓ'રઈલી મી ડયા, ઇ ક


3. https://nptel.ac.in/courses/106104128
4.https://archive.nptel.ac.in/courses/106/105/106105171/ (અઠવા ડ ું 6, 7 અને 8)

વ ુ વાંચન માટ ડાયનેિમક QR કોડ

લેખક દરક એકમ માટ સહાયક િવ ડઓ વચનો બના યાં છે . િુ નટ ૪ માં


આવર લેવામાં આવેલા િવષયોને વ ુ સાર ર તે સમજવા માટ વાચકોને
વચનો જોવા માટ ો સા હત કરવામાં આવે છે . જો ક, સલાહ આપવામાં આવે છે
ક પહલા ુ તક એકમોને વાંચો અને પછ િવ ડઓઝ ુ ઓ. િવ ડઓ વચનો
આખા એકમને આવર લેતા નથી પરં ુ ૂરક સામ ી તર ક દાન કરવામાં
આવે છે .
ુ રાવિતત અને

ુ રાવિતત અને
194| ન ુ રાવિતત ઉકલો

5
d

ુ રાવિતત ઉકલો

એકમ િવિશ ટતાઓ

આ એકમ ારા આપણે નીચેનાં પાસાંઓની ચચા કર છે :


● ુ રાવતનના પ રચયો

● C ુ રાવતનની ર ૂઆત
ો ાિમગમાં ન
● ુ રાવતનના
ન કારો
● ુ રાવિતત િવધેય પર કામ કર ું

● ુ રાવિતત ઉકલો

● િવિવધ ુ રાવતનના િવિવધ ઉદાહરણો

● ુ રાવતન પર સમ યાનો અ યાસ કરો

ુ ાં, જો જ ર પડ, તો
આ બધા િવષયોની િવગતવાર ઉદાહરણો સાથે ચચા કરવામાં આવી છે . વ મ
દરક િવષય સાથે સંદભ સામ ી જોડાયેલી છે . વાચકોની જ ાસા અને ુચ ળવવા માટ, આ
એકમ દરક િવષયને સમ વવા માટ QR કોડ ારા િવ ડઓ લ સ પણ દાન કર છે . એકમના
તે, િવિવધ કસરતો ૂર પાડવામાં આવે છે માં મ ટપલ ચોઇસ ો (એમસી )ુ , આઉટ ટુ -
આધા રત ો, ાયો ગક કવાયતો વગેરનો સમાવેશ થાય છે . ત ુ પરાંત, એકમના તે સંદભ અને
ૂચવેલા વાંચનની યાદ આપવામાં આવી છે .

તકસંગત

આ એકમમાં, આપણે એકમ IV માં ર ૂ કરવામાં આવેલા િવધેયની ચચાને િવ ૃત કર એ છ એ.


તેની શ આત સી ો ાિમગમાં ન ૂ ત સાથે થાય છે , યારબાદ એક ઉદાહરણ
ુ રાવતનની ર આ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 195

આપવામાં આવે છે . આધાર અને ુ રાવિતત કસની ર ૂઆતો સમ વવામાં આવી છે . પછ ,



આપણે

ુ રાવતનના
ન કાર, ય ુ રાવતન અને પરો
ન ુ રાવતનના
ન કારની ચચા કર .ું આપણે
ઉદાહરણો સાથે િવિવધ કારના ય અને પરો ુ રાવતનની પણ ચચા કર એ છ એ.

યારબાદ, અમે િનદશના મક સી ો ા સ સાથે ુ રાવતનના સંભિવત ઉકલોની ચચા કર એ

છ એ. આ એકમમાં ુ રાવતનનો મા
ન ૂ ો પ રચય જ નથી, પરં ુ િવિવધ
ંક કારની સમ યાઓમાં
ુ રાવતનના અસરકારક ઉપયોગની દશા પણ
ન ૂર પાડ છે . આપેલા ઉદાહરણો વા તિવક-િવ ની
િવિવધ ગણતર સમ યાઓના ઉકલની તર ૃ ટ આપે છે . સારાંશમાં, આ એકમ જ ટલ
સમ યાઓને અસરકારક ર તે ઉકલવા માટ એક નવો અ ભગમ ર ૂ કર છે .

ૂવ-આવ યકતાઓ

ૂળ ૂત ગ ણત, એકમ-I, II, III અને IV

એકમ પ રણામો

આ એકમનાં પ રણામોની યાદ નીચે ુ બ છે ઃ



U5-O1: સીનો ઉપયોગ કર ને સમ યા-િનરાકરણમાં ુ રાવિતત કાયની જ રયાત ું વણન કરો

U5-O2: વણન કરો ુ રાવિતત િવધેયોના
ન કારો
U5-O3: સમ વ ું ઉદાહરણ ારા ુ રાવતનના ઉપયોગો.

U5-O4: સીનો ઉપયોગ કર ને સમ યાના િનરાકરણમાં ુ રાવિતત કાય લા ુ કરો

એકમ-1 અ યાસ મના પ રણામો સાથે અપે ત મેિપગ


(1- નબળો સહસંબધ
ં ; 2- મ યમ સહસંબધ
ં ; 3- મજ ૂત સહસંબધ
ં )
પ રણામો
CO-1 CO-2 CO-3 CO-4 CO-5 CO-6
U5- O1 - 3 2 3 - -
U5- O2 1 3 2 2 - -
U5-O3 2 2 3 2 - 1
U5- O4 2 2 3 2 - 3
ુ રાવિતત અને
196| ન ુ રાવિતત ઉકલો

5.1 પ રચય

યાર કોઈ ફં શન પોતાને ( ય (directly) ક પરો (indirectly) ર તે) કહ છે , યાર તેને આ તર ક


ઓળખવામાં આવે છે ુ રાવતન (recursion) ક
ન ટુ ર ો ાિમગમાં. ુ રાવતન એ એક તકનીક

છે જ ટલ સમ યાઓને નાની પેટા સમ યાઓમાં તોડ નાખે છે . સમ યા ુ ં િવભાજન પાયાની
થિત પર આધા રત છે . પાયાની થિત એ ૃ ય છે યાં આપણે સમ યાઓ ુ ં િવભાજન કરવા ું
બંધ કર એ છ એ અને પ રણામો પાછા આપીએ છ એ.
એ તેથી, ુ રાવિતત કોલ સમ યામાં,
ન યાં
ુ ી
ધ ૂળ થિત ૂર ન થાય યાં ુ ી તેને પેટા સમ યાઓમાં વહચવામાં આવે છે .

ઉદાહરણ.માની લો ક તમે સવાર એક ક ટ ડમાં ઓ ફસ જઈને કારની ચાવી શોધવા માટ તૈયાર
છો, પરં ુ તમને તે મળતી નથી. તે જ સમયે, તમા ંુ બાળક બહાર આવે છે અને કહ છે ક મ
કારની ચાવી એક બો સમાં પાવી દ ધી છે . તમને મો ુ ં થઈ ર ું છે અને તમને કારની ચાવી
જોઈએ છે .
તમે તરત જ બો સ ખોલો છો, પરં ુ તમને બો સની દર વ ુ એક બો સ મળે છે . બાળક કહ
છે , બો સમાં એક બો સ છે , અને તે ણતો નથી ક કયા બો સમાં ચાવી છે . તેથી હવે તમાર ક
શોધવા માટ એક ઉ મ અ ગો રધમનો િવકાસ કરવો પડશે.
ુ રાવિતત અને
ઉપરો ત સમ યા માટ અ ગો રધમ બનાવવાની બે ર તો છે : ન ુ રાવિતત.

ચાલો આપણે લો ચાટનો ઉપયોગ કર ને બંને ર તો જોઈએ.

આ ૃિત 5.1 : કારની ચાવી શોધવા માટ ુ રાવિતત અને


ન ુ રાવિતત ર ત

ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 197

થમ અ ભગમ (આ ૃિત 5.1 (a)) સમ યાના ઉકલ માટ થોડા ૂપનો ઉપયોગ કર છે . અહ ૂપ
દરક ુ રા ૃિ માં બો સને ચકાસે છે ; જો તેની પાસે બી ુ ં બો સ હોય તો;
ન તો તે અક કાઢ છે અને તેને
ૂ ચમાં ઉમેર છે . યાર ૂપની કામગીર ની ચચા િવભાગ ૩.૪.૧ માં પહલેથી જ કરવામાં આવી છે .

બીજો અ ભગમ (આ ૃિત 5.1 (b)) ુ રાવિતત િવધેયનો ઉપયોગ કર છે , યાં તે બો સ ખોલે છે ,

અને જો તેની પાસે બી ુ ં બો સ હોય, તો તે તેને ફર થી ખોલે છે . આ યા યાં ુ ી ચા ુ રહશે

યાં ુ ી ક શોખીન ન હોય.

બંને અ ભગમોએ એક સર ું જ કામ ક ુ હ ,ુ ં પરં ુ બી અ ભગમમાં, આપણે ઉકલની ક પના વ ુ


સરળતાથી કર શક એ છ એ. ુ રાવતન અ ભગમનો ઉપયોગ કર ને કોઈ
ન દશન લાભ નથી.
નથી જો
ક, સરળતાને કારણે તેને ુ રાવિતત અ ભગમ કરતાં વ ુ પસંદ કરવામાં આવે છે .

ન ધ: ુ રાવિતત કાય સમ યાને ઉકલવા માટ પોતાની


ન તને બોલાવે છે , પરં ુ તે અનંત
ૂપ બની શક છે ( ુ ઓ આ ૃિત 5.2 (a)). અનંત કો લગને ટાળવા માટ, આપણે બેઝ કસ (આ ૃિત
5.2 (બી)) ઉમેર એ છ એ, સં ુ ટ થાય યાર ુ રાવિતત કોલને અટકાવે છે અને પ રણામો

પરત આપે છે .
ટક ઓવર લોને કારણે અપવાદ સ શે જો બેઝ ક ડશનને ુ રાવતનમાં પ ટ કરવામાં ન

આવે (આ પ ર થિત યાર સ ય છે યાર ો ામમાં ફાળવવામાં
ફાળવવામાં આવેલી તમામ જ યા ફં શન
કોલ ારા વપરાશમાં લેવામાં આવે છે .).

આ ૃિત 5.2 : આધાર અને ુ રાવિતત કસની ર ૂઆત



ુ રાવિતત અને
198| ન ુ રાવિતત ઉકલો

ચાલો સી ો ાિમગમાં ુ રાવતનની મદદથી ફ ટો રયલની ગણતર કરવા માટ એક ઉદાહરણ



લઈએ.

આ ૃિત 5.3 : ન
ુ રાવિતત કામગીર ુ ં િનદશન

ધારો ક વપરાશકતા દાખલ થયો છે 3 ફ ટો રયલની ગણતર કરવા માટ.


માટ િવધેય factNumbers(3)
તે લાઇન 8માં કોલ કરશે (આ ૃિત 5.3માં
માં દશાવેલ છે ). ફં શનની કો લગ મા હતી ટક ચરમાં
સં હત થાય છે (પહલા આવો, છે લે આવો),
આવો ને આ તર ક ઓળખવામાં આવે છે કોલ - ટક. ની
ટોચ call- ટક લેટ ટ ફં શન કોલને ર ૂ કર છે . બેઝ ક ડશનને ૂણ કયા પછ , દરક ફં શન કોલ
ટકમાંથી પોપ થશે અને તેને રટન વે ુ સાથે બદલશે. આ યા યાં ુ ી ચા ુ રહશે
ધ યાં
ુ ી call- ટક ખાલી થ ુ ં નથી. કોલ ટકના સંદભમાં ફં શન કો લગ ુ ં ઉદાહરણ આ ૃિત 5.4માં

દશા ુ ં છે .

આઉટ ટુ
Enter a number to calculate factorial: 3
Factorial of 3 = 6
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 199

આ ૃિત 5.4 : ન
ુ રાવિતત કાયની તબ ાવાર કામગીર

ુ રાવતન (Recursion) ના
5.2 ન કારો

ુ રાવતનને બે
ન કારમાં િવભા જત કરવામાં આવે છે : ય ુ રાવતન અને પરો

ુ રાવતન.

5.2.1 સી ંુ ુ રાવતન (Direct Recursion)


યાર ફં શન કોલ પોતે સીધો જ ુ રાવિતત થાય છે યાર તેને


ન ય ુ રાવતન કહ છે .

ય ુ રાવતનને પણ ચાર
ન કારોમાં િવભા જત કરવામાં આવે છે .
ંૂ ડ
A. છ ંુ ુ રાવતન (Tail Recursion)

ુ રાવિતત અને
200| ન ુ રાવિતત ઉકલો

ં ૂ ડ ના
છ ુ રાવતનમાં,
ન ુ રાવિતત કોલ
ન ટટમે ટ છે લે લખવામાં આવે છે . ં ૂ ડ ના

ુ રાવતનમાં
ન ુ રાવિતત કોલ પછ અમલમાં
ન આ ૃિત
ૂકવા માટ ક ુ ં જ બાક રહ ુ ં નથી (આ
5.5માં દશા ુ ં છે ).

આ ૃિત 5.5 : છ
ં ૂ ડ ના ુ રાવતન ુ ં િનદ
ન િનદશન
આઉટ ટુ
3 2 1
B. માથા ંુ ુ રાવતન (Head Recursion)

માથાના ુ રાવતનમાં
ન ુ રાવતન કોલ
ન ટટમે ટને થમ િવધાન તર ક લખવામાં આવે છે
(આ ૃિત 5.6માં દશા ુ ં છે ).

આ ૃિત 5.6 : માથાના ુ રાવતન ુ ં િનદશન



ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 201

આઉટ ટુ
1 2 3
C. રખીય અને ૃ ંુ ુ રાવતન (Linear and tree recursion)

જો ુ રાવિતત િવધેય પોતાની


ન તને મા એક જ વખત બોલાવે છે , તો તેને રખીય ુ રાવતન

કહ છે . જો ુ રાવિતત કોલ એક કરતા વ ુ વખત એ ઝ
ન ટુ કર છે , તો તેને ૃ ુ રાવતન

તર ક ઓળખવામાં આવે છે .

આ ૃિત 5.7 : ૃ ના ુ રાવતન ુ ં િનદશન


રખા ૭ અને ૮ બ ન
ે ે ુ રાવિતત ર તે કાય કહવામાં આવે છે . (આ ૃિત ૫.૭માં દશાવેલ છે )

આઉટ ટુ
3 2 1 1 2 1 1

ુ રાવિતત
D. ન ુ રાવિતત (Nested Recursion)

યાર ુ રાવિતત િવધેય પ રમાણને પસાર કર છે
ન યાર ુ રાવિતત કોલને
ન ુ રાવિતત

ુ રાવતન તર ક ઓળખવામાં આવે છે .

ુ રાવિતત અને
202| ન ુ રાવિતત ઉકલો

આ ૃિત 5.8 : ન
ુ રાવિતત ુ રાવતન ુ ં િનદશન

ઉપરના ઉદાહરણમાં, રખા આ ૃિત 5.8માં દશાવેલ છે )


માંક 7 (આ ુ રાવિતત
ન ુ રાવતન દશાવે છે

યાં ને ટડ ર ુ સ () દલીલ
ર ારા િવધેય કોલ (પ રમાણ) ને ટડ ર ુ સ ().

આઉટ ટુ
Result= 85

5.2.2 પરો ુ રાવતન (Indirect


ન Indirect recursion)

આ કારના ુ રાવતનમાં એક કરતાં વ ુ ફં શ સ એક બી ને વ ળાકાર


ન ુ ર તે કોલ કર છે .
આ ૃિત 5.9માં
માં આપણે પ ટપણે જોઈ શક એ છ એ ક,
ક recFunction1 કોલ recFunction2,
recFunction2 કોલ recFunction3, અને recFunction3 કોલ recFunction1 સ ુ
લર
કોલ છે . તેથી, આપણે કહ શક એ ક recFunction1 પોતાની તને આડકતર ર તે બોલાવે છે .
પરો ુ રાવતન ું િનદશન આ ૃિત 5.10માં
ન 5.10 દશા ું છે .

આ ૃિત 5.9 : પરો ુ રાવતનની


ન ા ફકલ ર ૂઆત
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 203

આ ૃિત 5.10 : પરો ુ રાવતન ુ ં િનદશન


આઉટ ટુ
10 8 6 4 2

5.3 ુ રાવિતત ઉકલો (Recursive Solutions)


ઘણી શા ીય સમ યાઓ ુ રાવિતત તકનીક


ન ારા હલ કરવામાં આવે છે . અહ આપણે કટલીક
ૂળ ૂત સમ યાઓની ચચા કરવા જઈ ર ા છ એ ુ રાવતનનો ઉપયોગ કર ને હલ કરવામાં

આવે છે .

5.3.1 ફ ટો રયલ

ફ ટો રયલ એ એક ૂળ ૂત સમ યા છે ુ રાવતન
ન ારા હલ થાય છે . તેમાં, આપણે
ુ રાવિતત િવધેય બનાવીએ છ એ ક
ન બે સં યાઓના ુ ાકારની ગણતર કર છે . અહ ,
ણ થમ
ઓપર ડ એ ા ત કરલ નંબર હશે, અને બી ુ ં ઓપર ડ ુ રાવિતત ર તે ઓળખાતા ફં શન

(નંબર -1 ારા બોલાવવામાં આવતા ુ રાવિતત ફં શન)
ન શન ારા પરત કરવામાં આવશે.
ુ રાવિતત અને
204| ન ુ રાવિતત ઉકલો

ડુ ોકોડ ( ન
ુ રાવિતત): (Pseudocode
Pseudocode (recursive)

સી ો ાિમગ લ વેજનો ઉપયોગ કર ને ફ ટો રયલ સમ યાના િનદશનની ચચા આ ૃિત 5.3માં


5.3
કરવામાં આવી છે .

5.3.2 હનોઈના ટાવસ

હનોઈનો ટાવર એ ગા ણિતક પઝલ છે


ુ રાવતન
ન તકનીકનો ઉપયોગ કર ને હલ
કરવામાં આવે છે . તેમાં, અમાર પાસે િવિવધ કદની
અસં ય ડ ક છે . શ આતમાં, બધી ડ કને એક
પેગમાં ટક કરવામાં આવે છે . આપણે આખા ટકને
બી પેગમાં ખસેડવા માટ ઓછામાં ઓછાં ચ 5.11 હનોઈનો ટાવર
પગલાંની ગણતર કરવી પડશે. િનયમ એ છે ક
મોટ ડ ક નાની ડ ક પર ટક કર શકાતી નથી
નથી,
અને એક સમયે, ફ ત એક ડ ક ખસેડ શકાય છે .
હનોઈના ટાવર ું આ ૃિત મક ૃ ય આ ૃિત 5.11માં
દશા ુ ં છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 205

ડુ ોકોડ ( ન
ુ રાવિતત):

આ ૃિત 5.12માં
માં સી ો ાિમગ લ વેજનો ઉપયોગ કર ને ટાવર ઓફ હનોઇ ુ ં િનદશન દશાવવામાં
આ ુ ં છે . તેમાં, આપણે જોઈ શક એ છ એ ક રખા 7 ુ રાવિતત ર તે િવધેયને બોલાવે છે

tower_Hanoi, એક પેગથી બી પેગમાં ડ કની હલચાલ કહ છે .

આ ૃિત 5.12: હનોઈના ટાવર ુ ં િનદશન


ુ રાવિતત અને
206| ન ુ રાવિતત ઉકલો

આઉટ ટુ

5.3.3 બાઇનર શોધ (Binary search)

સંગી શોધ ૃ એ સોટ કરલા એરમાં ત વ શોધવા માટ એક અ ગો રધમ છે . આ તકનીકમાં, શોધ
ત વ એરના મ ય ત વ સાથે મેળ ખાય છે . જો તે મ યમ ત વ કરતા વધાર હોય, તો મ યની ડાબી
બા ુ ના ત વોની શ તા ૂ ય હશે, અને યાર પછ ની શોધ મ ય +1 અને છે લા ત વ વ ચે
કરવામાં આવશે. જો ત વ મ ય કરતા ઓ ં હોય,
હોય તો થમ અને મ ય-1 ત વો વ ચે નીચેની શોધ
હોય, તો ત વ મ યમ ત વને સમાન હશે, અને શોધ સમા ત
કરવામાં આવશે. જો બંને શરતો ખોટ હોય
ુ રાવિતત તકનીકનો ઉપયોગ કરવામાં આવે છે .
થઈ જશે. એરને મ યથી િવભા જત કરવા માટ, ન
તેથી, આપણે કહ શક એ ક સંગી શોધ તકનીક એ શોધ માટનો ુ રાવિતત આધાર ઉકલ છે .

ઉદાહરણ તર ક, ધારો ક આપણી પાસે 7 ત વો ધરાવ ુ ં એક વગ ૃત એર છે અને આપણે 13
શોધવા માંગીએ છ એ. સંગી શોધનો ઉપયોગ કર ને શોધ
શો 13ની ા ફકલ ર ૂઆત આ ૃિત 5.13માં
દશાવી છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 207

આ ૃિત 5.13 : સંગી શોધની ા ફકલ ર ૂઆત

બાઇનર શોધ અલગો રધમની મદદથી ઘટકને શોધવાનાં પગલાંઓ:

પગ ું ૧: મમાં ગોઠવાયેલ એરને ારં ભ કરો


પગ ું 2: એરનો વ ચેનો ઘટક શોધો
પગ ું ૩◌ઃ
◌ઃ મ ય ભાગને શોધાયેલ વ ુ (ક ) સાથે સરખાવો.
જો વ ચેની < ક હોય તો
મ યની ડાબી બા ુ ની યાદ ૂકો અને પગલાં ૨ પર પાછા ઓ
જો વ ચેની > ક
મ યની ડાબી બા ુ ન
નીી યાદ ૂકો અને પગલાં ૨ પર પાછા ઓ
બી ુ
વ ચેની વ ુની
નુ ી અ ુ મ ણકાને પાછ લાવો અને પગલાં ૪ પર ઓ
પગ ું ૪◌ઃ ત
ુ રાવિતત અને
208| ન ુ રાવિતત ઉકલો

આ ૃિત 5.14 : સંગી શોધ ુ ં િનદશન

આ ૃિત 5.14માં, લાઇન 10 અને 11ને


ને ુ રાવિતત કોલ કરવામાં આ યો છે
ન એરને દરક કોલમાં
બે ભાગમાં િવભા જત કર છે . ચાલો ધાર એ ક વપરાશકતાએ શોધવા માટ 13 અને 6 ત વો દાખલ
કયા છે .
આઉટ ટુ
Enter element to be searched 13
Element is found at index 4

Enter element to be searched 6


Element is found at index 1
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 209

5.1 ુ રાવતનનો ઉપયોગ કર ને આપણે બે


ન ણા

ૂૂણાકોના
ૂણ ાકોના સૌથી મોટા
સો ુ ન

સામા ય ભાજકને કવી ર તે શોધી શક એ
એ?
માટ QR કન
કરો

એકમ સારાંશ

પ રચય
● યાર કોઈ ફં શન પોતાની તને ( ય ક પરો ર તે) કહ છે , યાર તેને સી ો ાિમગ લ વેજમાં
ુ રાવતન તર ક ઓળખવામાં આવે છે .

● ુ રાવતન એ એક તકનીક છે
ન જ ટલ સમ યાઓને નાના પેટા સમ યાઓમાં તોડ નાખે છે .

ુ રાવતનના
ન કારો
● ુ રાવતનના બે
ન કાર છે , ય ુ રાવતન અને પરો
ન ુ રાવતન.

● સી ંુ ુ રાવતન,
ન યાર કોઈ કાય પોતાની તને સીધેસી ુ ં બોલાવે છે યાર તેને ય
ુ રાવતન તર ક ઓળખવામાં આવે છે . તે વ મ
ન ુ ાં ચાર કારમાં વહચાયે ું છે : છ
ંૂ ડ ું
ુ રાવતન, માથા ુ ં ન
ન ુ રાવતન, રખીય અને ૃ ું ન
ુ રાવતન અને ને ટડ ુ રાવતન.

o છ
ં ૂ ડ ના ુ રાવતનમાં, ન
ન ુ રાવિતત કોલ ટટમે ટ લખવામાં આવે છે આખર.
o માથાના ુ રાવતનમાં, ન
ન ુ રાવતનv કોલ ટટમે ટ થમ િનવેદન તર ક લખવામાં આવે છે .
o જો ુ રાવિતત િવધેય પોતાની
ન તને મા એક જ વાર બોલાવે છે , તો તેને રખીય ુ રાવતન

કહ છે , અને જો તે એક કરતા વ ુ વખત ચલાવે છે , તો તેને ૃ ુ રાવતન તર ક ઓળખવામાં

આવે છે .
o ુ રાવિતત
ન ુ રાવતનમાં,
ન ુ રાવિતત િવધેય
ન ુ રાવિતત કોલ તર ક પ રમાણને પસાર કર

છે .
● માં પરો ુ રાવતન,એક કરતાં વ ુ કાય વ ળાકાર
ન ુ એકબી ને બોલાવે છે .

ુ રાવિતત ઉકલો

● ુ રાવતન તકનીકનો ઉપયોગ કર ને કટલીક શા ીય સમ યાઓ હલ કર .


અમે ન
o ફ ટો રયલ એ એક ૂળ ૂત સમ યા છે ુ રાવતન
ન ારા હલ કરવામાં આવે છે . We
ુ રાવિતત િવધેય બનાવે છે
ન બે સં યાઓના ુ ાકારની ગણતર કર છે .

ુ રાવિતત અને
210| ન ુ રાવિતત ઉકલો

o હનોઈનો િમનારોગા ણિતક કોયડો છે તે ુ રાવતન તકનીકનો ઉપયોગ કર ને ઉકલવામાં આવે



છે . શ આતમાં, બધી ડ કને એક પેગમાં ટક કરવામાં આવે છે . આપણે આખા ટકને બી
પેગમાં ખસેડવા માટ ઓછામાં ઓછાં પગલાંની ગણતર કરવી પડશે.
o Aબાઇનર શોધ ૃ સોટ કરલા એરમાં ત વ શોધવા માટ એક અ ગો રધમ છે . ુ રાવિતત

તકનીકનો ઉપયોગ એરને m માંથી િવભા જત કરવા માટ થાય છે આઇડલ.

કસરતો

બ િુ વધ પસંદગી ો

1. ુ રાવિતત કોલની મા હતી સં હત કરવા માટ, કયા ડટા માળખાનો ઉપયોગ કરવામાં આવે

છે ?
(a) કતાર
(b) ટક
(c) એર
(d) આમાંથી કંઈ જ ન હ
2. પાયાની થિત િવના ુ ં ુ રાવિતત કાય __ બની
ન ય છે .
(a) સામા ય િવધેય
(b) અનંત ુ

(c) મયા દત ુ

(d) આમાંથી કંઈ જ ન હ

3. ુ રાવતન ારા કયા


ન કારની સમ યા હલ થશે નહ ?
(a) હનોઈનો ટાવર
(b) મોટામાં મો ુ ં સામા ય ભાજક
(c) બેઝ કસ વગર સમ યાઓ
(d) આમાંથી કંઈ જ ન હ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 211

4. જો એક કરતાં વ ુ ફં શ સ એક અને બી ને વ ળાકાર


ુ ર તે કોલ કર છે , તો તેને __ તર ક
ઓળખવામાં આવે છે .
(a) પરો ુ રાવિતત

(b) સી ુ ં ુ રાવિતત

(c) માગ ય ુ રાવતન

(d) આમાંથી કંઈ જ ન હ

5. ુ રાવતનના સંદભમાં ક ુ ં સા ુ ં છે ?

(a) ુ રાવતન સો
ન ુ ન
શ દાન કરવાની સરળ ર ત દાન કર છે
(b) ટક ડટા ચર ુ રાવિતત િવધેયને કોલ કરવા માટ વપરાય છે

(c) ુ રાવતનને
ન ુ રાવિતત િવધેય કરતા વ ુ મેમર ની જ ર પડ છે

(d) આ બ ુ ં

મ ટપલ ચોઇસ ો (એમસી )ુ ના જવાબો.

1. (બ) ૨. (બ) ૩. (C) 4. (અ) 5. (ડ)

આઉટ ટુ -આધા રત ો

નીચેના કાય મો ુ ં આઉટ ટુ કટ ું હશે?


A B
#include <stdio.h> #include<stdio.h>
void recFun(int var) recFunc(int var1)
{ {
if(var > 0) int var2;
{ if(var1<=1)
recFun(--var); return 1;
printf(“%d”,var); else
recFun(var--); var2=(var1+1)*recFunc(var1-1);
} return var2;
} }
int main() int main()
{ {
int var = 3; int var;
recFun(var); var=recFunc(5);
return 0; printf(“%d”,var);
ુ રાવિતત અને
212| ન ુ રાવિતત ઉકલો

} }

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. 0102010 B. 360 C. HI અનંત સમયો છાપો D. 25 E. 2 4 2 F. -2


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 213

ૂ ા અને લાંબા આ સર ટાઇપના


ંક ો

1. ખાલી જ યાઓ ભરો


(a) યાર કોઈ ફં શન પોતાને બોલાવે છે , યાર તેને the_____________ તર ક ઓળખવામાં
આવે છે .
(b) ં ૂ ડ ના
છ ુ રાવતનમાં, ન
ન ુ રાવિતત કોલ ટટમે ટ __ પર લખવામાં આવે છે .
ુ રાવતનમાં, બે ક તેથી વ ુ કાય વ ળાકાર
(c) __ ન ુ ર તે એકબી ને બોલાવે છે .
(d) યાર ુ રાવિતત િવધેય પ રમાણને
ન ુ રાવિતત કોલ તર ક પસાર કર છે
ન યાર
ુ રાવિતત કોલને __ ન
ન ુ રાવતન તર ક ઓળખવામાં આવે છે
(e) જો ુ રાવિતત િવધેય પોતાને એક કરતા વ ુ સમય કહ તો તે ______ ન
ન ુ રાવતન છે .

જવાબો:
(a) ુ રાવતન
ન (બ) છે ુ (c) પરો (ડ) ુ રાવિતત
ન (e) ૃ

ે ટકલ

1. ૂણાક સં યા દાખલ કરવા માટ વપરાશકતાને ૂછવા માટ કાય મ લખો અને ુ રાવતનની

મદદથી નીચેની યાઓને ચલાવો:
(a) એક સં યામાં હાજર હોય તેવા કોની ુ લ સં યા ગણો.
(b) સં યાના બેક કોનો સરવાળો ગણો.
(c) નો સરવાળો ગણો ધ સં યાના એક -એક કડા.
(d) સં યાના બધા કોનો સરવાળો અને સરરાશ ગણો.
2. ુ રાવતનનો ઉપયોગ કર ને ફબોનાક
ન ણ
ે ી છાપવા માટ એક કાય મ લખો યાં છાપવાની
શરતોની સં યા વપરાશકતા ારા દાખલ કરવામાં આવશે.
3. ુ રાવતનનો ઉપયોગ કર ને, દાખલ કરલો નંબર પે લ ોમ છે ક નહ તે ચકાસવા માટ એક

ો ામ લખો. (સંકત:23432 એક પે લ ોમ છે યાર 23231નથી)
4. C કાય મ બનાવો ક દશાંશ સં યાને બાઇનર માં પાંત રત કરવા માટ ુ રાવતન વાપર

છે .
5. માપનાં એરને બનાવો n; નાં બધાં શ સંયોજનો શોધો m એરમાં ત વો અને તેમને છાપો.
ુ રાવિતત અને
214| ન ુ રાવિતત ઉકલો

ઉદાહરણ માટ: ધારો ક દાખલ થયેલ એર છે {2,4,6,8} અને m ું ૂ ય છે 2 તો પછ


ુ હો ુ ં જોઈએ {2,4},{2,6},{2,8},{4,6},{4,8}, અને {6,8}.
આઉટ ટ

વ ુ ણો

આદશ વા દલીલો (Command line arguments)

સી ો ાિમગ ભાષામાં, સૌથી મહ વ ૂણ કાય એ છે ક ુ ય () કાય. ક પાઇલર હંમેશાં ુ ય


ફં શનની દર પણ લ ુ ં અથવા સંદ ભત છે તે ચલાવવા માટ ુ એ છે . મોટા ભાગના
કાય મોમાં, ુ ય કાય દલીલો િવના યા યાિયત કરવામાં આવે છે .
int main ()
{
/* કોડ... */
}

આપણે દલીલો સાથે ુ ય કાય પણ લખી શક એ છ એ, ને કમા ડ-લાઇન દલીલો તર ક


ઓળખવામાં આવે છે . કમા ડ લાઇન દલીલો સાથે, ુ ય િવધેય બે દલીલોનો ઉપયોગ કર ને
યા યાિયત કરવામાં આવે છે . થમ દલીલ પસાર થયેલી દલીલોની ગણતર ને ળવી રાખે છે ,
અને બી દલીલ પોઇ ટર-ટાઇપ એર છે , દરક પસાર થયેલી દલીલનો સંદભ આપે છે . આદશ
વા દલીલો આદશ વા માં કાય મનાં નામ પછ આપેલ છે .

આદશ વા દલીલોની મદદથી ુ ય િવધેયની યા યા:


int main(int argcount, char * argvalue[])
{
/* કોડ... */
}

અથવા
int main(int argcount, char ** argvalue)
{
/* કોડ... */
}
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 215

અહ argcount એ પસાર થયેલ દલીલોની ગણતર ને સં હવા માટ વપરાય છે , માં કાય મ ુ ં
નામ પણ સામેલ છે , અને argvalue આપેલ (પાસ) ડટાને સં હત કરવા માટ વપરાય છે . જો
આની કમત argcount 0 કરતા વધાર છે , પછ એર argvalue (માંથી argvalue[0] િત
માં
argvalue[argcount-1])માં ગ ુ ં પોઇ ટર હોય છે . એરનો થમ લોક કાય મ ુ ં નામ
સમાવે છે (argvalue[0]), અને અ ય લો સ માંથી argvalue[1] િત
argvalue[argcount-1] દાખલ થયેલ દલીલોની યાદ ને સમાવો.
સમાવો નીચેનો કોડ લન સ મશીન
પર ચલાવો.

આ ૃિત 5.15 કમા ડ લાઇન દલીલો ુ ં િનદશન

ઉપરો ત ઉદાહરણમાં (આ ૃિત 5.15) આપણે લાઇન 2માં


માં ા ત કમા ડ લાઇન દલીલોનો ઉપયોગ
કય છે . હવે, આપણે Linux મશીન પર કોડ ક પાઇલ કર એ છ એ,
એ ક ઓ ટ ફાઇલને ઉ પ
કર છે (a.out), અને કોડ ચલાવવા માટ,
માટ અમે આદશનો ઉપયોગ કર એ છ એ ./a.out પછ
ુ રવામાં આવે છે ુ ં ો ામર
આના ારા અ સ ં (આદશ વા દલીલ).

ઉપરના કોડના અમલ માટ આદશો લખવામાં આ યા છે :


$ gcc FileName.c // a.out file will create after the successful compilation
$ ./a.out I am a programmer

આઉટ ટુ
The value of argcount is: 5
ુ રાવિતત અને
216| ન ુ રાવિતત ઉકલો

Value in first block ./a.out


The supplied arguments:
I
am
a
programmer

સંદભ અને ૂચવેલ વાંચનો

1. ડટલ, પી. . (2015). સી કવી ર તે ો ામ કરવો: C++ ની તાવના સાથે ( કરણ ૫). િપયસન
એ ુ શન ઇ ડયા .

2. ડિવડ ફ સ અને ડોન ફ સ (2011). હડ ફ ટ સી, ઓ'રઈલી મી ડયા, ઇ ક


3. https://nptel.ac.in/courses/106104128
4. https://nptel.ac.in/courses/106105171 (અઠવા ડયા 8 વી ડયો વચનો)

વ ુ વાંચન માટ ડાયનેિમક QR કોડ

લેખક દરક એકમ માટ સહાયક િવ ડઓ વચનો બના યાં છે . િુ નટ વીમાં


આવર લેવામાં આવેલા િવષયોને વ ુ સાર ર તે સમજવા માટ વાચકોને
વચનો જોવા માટ ો સા હત કરવામાં આવે છે . જો ક, સલાહ આપવામાં
આવે છે ક પહલા ુ તક એકમોને વાંચો અને પછ િવ ડઓઝ ુ ઓ. િવ ડઓ
વચનો આખા એકમને આવર લેતા નથી પરં ુ ૂરક સામ ી તર ક
દાન કરવામાં આવે છે .
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 217

પ રિશ ટો

પ રિશ ટ-A

માણ ૂત લાઇ ેર િવધેયો (Standard Library Functions)

Standard Library Functions ૂવ યા યાિયત હોય છે અને ો ામમાં આદરણીય લાઇ ેર નો


સમાવેશ કર ને તેનો ઉપયોગ કર શકાય છે . ુ તકમાં, આપણે printf (), scanf(), gets(), અને
puts() વા કટલાક ૂળ ૂત ુ તકાલય ( ૂવ યા યાિયત) કાય ની ચચા કર છે . સી ો ાિમગ
પર આધા રત ુ તકો library functions િવના ૂણ કર શકાતા નથી. સી ો ાિમગમાં ઘણા બધા
library functions છે , અને આ બધાની અહ ચચા કરવી શ નથી. આ િવભાગમાં સોટ વણન
સાથે સૌથી વ ુ લોકિ ય અને ઉપયોગમાં લેવાતા માણ ૂત library functions નો સમાવેશ
થાય છે . તમામ library functions માટ કટલાક સમિપત ુ તકો છે , માં વેઇટ ૂપ ,ુ ં ટબ સી
બાઇબલ, નબ યોિત બરક તી ારા લ ખત છે .

Standard Library Functions ને િવિવધ કટગર માં વગ ૃત કરવામાં આવે છે . ેણીઓના


આધાર Library Functions ની ુ બ છે .
ૂ ચ નીચે જ

કગ ણત િવધેયો (Arithmetic Functions)

Function System Include File Description

pow math.h This function calculates the power of a value

exp math.h Calculate the exponential e to the nth power

abs stdlib.h Calculates an integer's absolute value

floor math.h Find out the largest integer number but less than the given
float number.

fmod math.h Return the remainder of the float value

fabs math.h Calculate the absolute value

cos math.h Find the cosine of the given value


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 218

cosh math.h Find the hyperbolic cosine of the given arguments

log math.h Return the natural logarithm value

log10 math.h Return the logarithm value by base 10

sqrt math.h Return the square root of the given value

tan math.h Return the tangent of the given arguments

tanh math.h Calculate the hyperbolic tangent of the passed argument

sin math.h Find the sine of the passed argument

sinh math.h Find the hyperbolic sine of the passed argument

મા હતી પાંતરણ િવધેયો (Data Conversion Functions)

Function System Include File Description

atoi stdlib.h Changes string to integer (int)

atof stdlib.h Changes string to float number (float)

atol stdlib.h Changes string to long

itoa stdlib.h Changes integer (int) to string

ltoa stdlib.h Changes long to string

ultoa stdlib.h Changes unsigned long to string

strtod stdlib.h Changes string to double

strtol stdlib.h Changes string to long integer (long int)

strtoul stdlib.h Changes string to unsigned long integer

fcvt stdlib.h Changes float value to string

gcvt stdlib.h Changes float value to string

ecvt stdlib.h Changes float value to string


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 219

િવધેયોને શોધી ર ા છે અને મમાં ગોઠવી ર ા છે (Searching and Sorting Functions)

િવધેય િસ ટમ ફાઇલને સમાવે વણન


છે

qsort stdlib.h ઝડપી સોટ કરો અલગો રધમની મદદથી આપેલ મા હતીને
મમાં કરો

lfind search.h રખીય શોધની મદદથી આપેલ ઘટકને શોધો

bsearch stdlib.h આપેલ નંબરને શોધવા માટ બાઇનર શોધને વાપરો

શ દમાળા મેની ુ ેશન િવધેયો (String Manipulation Functions)


Function System Description


Include File

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

strcmp string.h Performs character-by-character comparison between two strings

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

strcat string.h Concatenates the given two string

strncpy string.h Copies up to n characters from the source string to the destination

strrev string.h Reverse the given string

strstr string.h Returns a pointer to the starting of the first occurrence of the second
string within the first string

strupr string.h Converts the given string into the uppercase


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 220

I/O િવધેયો (I/O Functions)

Function System Include File Description

fopen stdio.h Used to open or create a file with specific attributes like
‘a’, ‘w’, and ‘r’

fclose stdio.h Used to close the file

fgetc stdio.h Used to read a character from the file

fgetchar stdio.h Used to read a character from the keyboard

fgets stdio.h Used to read a specific file line by line

fputs stdio.h Used to put lines of characters into the specific file

fscanf stdio.h Used to read formatted data from the file

fseek stdio.h Used to shift file pointer location to the specific place
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 221

પ રિશ ટ-B

લાઇ ેર ઓ બનાવી ર ા છ એ

સી ો ાિમગમાં વપરાશકતા તેની પોતાની લાઇ ેર ઓ બનાવી શક છે , માં કટલાક વપરાશકતા-


યા યાિયત કાય હોઈ શક છે અને ભિવ યમાં તેનો ઉપયોગ કર શકાય છે . ચાલો આપણે ધાર એ ક
આપણે એક ુ તકાલય બનાવવા માંગીએ છ એ ક માં કટલાક વપરાશકતા- યા યાિયત કાય
શામેલ છે મ ક addNumber(), subNumber(), multiNumber(), અને divNumber (). નામ
ૂચવે છે તેમ, કાય addNumber(), sunNumber(), multiNumber(), અને divNumber ()
કગ ણત યાઓ (સરવાળા, બાદબાક , ુ ાકાર, અને ભાગાકાર, અ ુ મે) કરો અને પ રણામો પાછા

આપો. લાઇ ેર બનાવવા માટ નીચે આપેલા પગલાઓ છે .

ન ધ: નીચેની યા ટબ સી/સી++ ક પાઇલર માટ છે . તે અ ય ક પાઇલર માટ અલગ હોઈ શક છે .

a) ફાઈલ બનાવો, કહો ક my_functions.સી. િવના ુ ય વપરાશકતા યા યાિયત િવધેયોને


િવધેય અને યા યાિયત કરો નંબર (), ઉમેરોsubNumber(),મ ટ એનંબર(), અને
DivNumber.
b) પછ એ સટ સન સાથે નવી ફાઇલને બનાવો .h કહ છે my_functions.એચ. અને તેની દર
તમામ વપરાયેલા કાય હર કર છે નંબર (), ઉમેરોsubNumber(),મ ટ એનંબર(), અને
divNumber (). કાય ની હરાત નીચે દશાવેલ છે ઃ
a) double addNumber(double, double);
b) double subNumber(double, double);
c) double multiNumber(double, double);
d) double divNumber(double, double);
ુ ાં
c) મે મ ઓ, અને મે -ુ વ ુ 'કાય મ' પસંદ કરો. સંવાદ બો સ પોપ અપ થઈ જશે. 'લાઇ ેર '
િવક પ પસંદ કરો અને ઓક દબાવો.
d) ફાઇલને ક પાઇલ કરવા માટ, Alt F9 ને દબાવો. સંકલન પછ , my_functions.lib લાઈ ેર
ફાઈલ બનાવવામાં આવશે.

હવે લાઇ ેર વાપરવા માટ તૈયાર છે . આપણે દર યા યાિયત કરલા તમામ કાય નો ઉપયોગ કર
શક એ છ એ my_functions.lib ો ામમાં તેનો સમાવેશ કર ને લાઇ ેર . વપરાશકતા-
યા યાિયત લાઇ ેર નો સમાવેશ કરવા અને તેમના કાય નો ઉપયોગ કરવા માટના પગલાં
ુ બ છે .
નીચે જ
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 222

a) એ સટ સન c કહો સાથે નવી ફાઇલને બનાવો fileName.c અને નીચેનો કોડ લખો.
#include "my_functions.h"
main( )
{
double resAdd, resMulti;

resAdd = addNumber ( 20.5, 10.2 );


resMulti = multiNumber ( 13.0, 5.0 );

printf ( "Addition: %lf\n, resAdd);


printf("Multiplication: %lf", resMulti);
}

ન ધ: ફાઇલ my_functions.h ફાઈલની મ જ ડર ટર માં હો ુ ં જોઈએ filename.h. જો બંને


ફાઇલો ુ દ ુ દ ડર ટર માં હોય, તો પછ my_functions.h હડર ફાઇલને સમાવતી વખતે યો ય
પાથનો ઉ લેખ કરો.

b) ો ટ બનાવવા પછ , ો ુ ાંથી " ો


ટ મે મ ટ ખોલો" પસંદ કરો. સંવાદ પેટ દખાશે.
ો ટ ુ ં નામ લખો, કહો projName.prj અને ઓક દબાવો.
c) હવે ' ો ુ ાંથી 'એડ આઇટમ' પસંદ કરો. ફાઇલ સંવાદ બો સ પોપ અપ થશે. આ
ટ' મે મ
ો ટમાં ફાઇલને ઉમેરવા માટ, ફાઇલને પસંદ કરો fileName.c અને 'ઉમેરો' પસંદ કરો. હવે
લાઇ ેર ફાઇલને ઉમેરવા માટ આ જ ુ રો my_function.lib.
યાને અ સ તે 'ડન' દબાવો.
d) ો ટને ક પાઇલ કરવા અને ચલાવવા માટ દબાવો Ctrl F9.
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 223

પ રિશ ટ-C

ાયો ગક માટ ૂચવેલ િવષયોની યાદ

સીિનયર ે ટકલ માટના િવષયો


ના
1 ો ાિમગ વાતાવરણ સાથે પ ર ચત થ ુ ં (સંપાદક, ક પાઇલર, વગેર.)
2 I/O િનવેદનો અને િવિવધ ઓપરટસનો ઉપયોગ કરતા કાય મો
3 અભ ય ત ૂ યાંકન અને અ તાનો ઉપયોગ કરતા કાય મો
4 િનણય લેવાના િનવેદનો અને શાખાઓના િનવેદનોનો ઉપયોગ કરતા
કાય મો
5 ુ ટટમે ટનો ઉપયોગ કરતા કાય મો

6 n પ રમાણીય એરના કાય મોને દશાવવા માટના કાય મો
7 શ દમાળા મેની ુ ેશન િવધેયોના ઉપયોગને દશાવવા માટના કાય મો

8 પ રમાણ પસાર કરવાની પ િતને દશાવવા માટના કાય મો
9 ુ રાવતન દશાવવા માટના કાય મો

10 પો ટસના ઉપયોગને દશાવવા માટના કાય મો
11 આદશ વા દલીલોને દશાવવા માટના કાય મો
12 ડાયનેિમક મેમર ફાળવણી દશાવવા માટના કાય મો
13 ફાઇલ યાઓને દશાવવા માટના કાય મો
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 224

વ ુ શીખવા માટના સંદભ


1. ું કવી ટ, આઈ.
ડ ટના. "ક ુ સ અને ો ાિમગનો પ રચય." (2004).

2. બી.એલ. ુ ને અને અિનતા શેઠ, ો ાિમગ ફોર ો લેમ સો વગ (2019) CENGAGE

INDIA, 2019 ારા કાિશત, ISBN 10: 9387994600ISBN.

3. ડટલ, પી. ., એ ડ ડટલ, એચ.એમ. (2016). સી: ો ામ કવી ર તે કરવો; C++ની તાવના

સાથે. િપયસન.

4. આર. એસ. સલા રયા, ો ાિમગ ફોર ો લેમ સો વગ (ઓલ ઇ ડયા). ખ ા પ લિશગ

હાઉસ, ISBN:9789389139112, 2021

5. િમલર, ડ ન અને પેર , ેગ. સી ો ાિમગ એ સો ટુ ુ ાઇટડ


ટાટરની માગદિશકા. ન

કગડમ, િપયસન એ ુ શન, 2013.


6. રચી, ડિનસ એમ., અને કિનગહાન, ાયનડ .ુ . The C ો ાિમગ. ભાષા ભારત,

ે ટસ હોલ, ૧૯૮૮.

7. બાલ ુ ુ સામી, ઇ.. ો ાિમગ ઇન એએનએસઆઈ સી. ઇ ડયા, મેક ા હલ એ ુ શન


(ઇ ડયા) ાઇવેટ લિમટડ, 2019.

8. યશવંત પી.કાનેટકર. ચાલો આપણે સી, આઠમી આ ૃિ (8મી આ ૃિ .). જો સ અને બાટલેટ

ુ સએ, 2008
પ લશસ, ઇ ક., એ

9. ગોટ ાઇડ, બાયરન એસ.. શો સ આઉટલાઇન ઓફ ો ાિમગ િવથ સી. ુ ાઇટડ કગડમ,

મેક ા- હલ એ ુ શન, ૧૯૯૬.



ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 225

CO અને PO ા ત કો ટક

આ કોસ માટ કોસ પ રણામો (સીઓ) કોસ ૂણ થયા પછ ો ામ પ રણામો (પીઓ) સાથે મેપ કર
શકાય છે અને આ ગેપ ુ ં િવ લેષણ કરવા માટ પીઓની ા ત માટ સહસંબધ
ં બનાવી શકાય છે .
પી.ઓ.ની ા તમાં તરના યો ય િવ લેષણ પછ , તરને ૂ ર કરવા માટ જ ર પગલાં લઈ શકાય
છે .

કાય મના પ રણામોની ા ત


કોસ પ રણામો
(૧- નબળો સહસંબધ
ં ; ૨- મ યમ સહસંબધ
ં ; ૩- મજ ૂત સહસંબધ
ં )
PO-1 PO-2 PO-3 PO-4 PO-5 PO-6 PO-7
CO-1
CO-2
CO-3
CO-4
CO-5
CO-6

CO અને PO ા ત માટ ુ ં કો ટક

ઉપરો ત કો ટકમાં ભરલા ડટાનો ઉપયોગ તર િવ લેષણ માટ થઈ શક છે .


ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 226

INDEX
A ુ ઃઉપયોગીતા 165
કોડ ન F
ઉમેરો 44 તંભ- ુ ય 163 ફ ટો રયલ 198, 203

ઓપરટર ું સરના ું 56 fclose 220


ક પાઇલર 16
ે ની પહોળાઈ 68
આ ફા ૂમે રક 22 ગણતર મક િવચારસરણી 4
AMD 17 ફાઈલ 77
ક ટુ ર મેમર 8
એ પરસે ડ (&) 153 FILO 151
ઉપકરણોની ગણતર 6 થમ કાય મ 18
અને ઓપરટર 50
ક ડશનલ ઓપરટર 60 લોટ 21
arg_list 166
કગ ણત 7 સતત 21 લોલાઇન

કગ ણત ઓપરટરો 44 િનવેદન ચા ુ રાખો 97 ફોપેન 220

એર 144 િનયં ણ ૂચના 9 ુ માટ 111


એસે બલી ભાષા 11 િનયં ણ વા ો 94 િવધેય નામ


CPU 7
સ પણી 43 િવધેય 164

સ પણી ઓપરટરો 46 િવધેય કોલ ગ 170

સાંયો ગકતા 63 D ફં શન બોડ 166

તારક ચ (*) 153 મા હતી કારો 18

auto 180 િનણય 107 G


goto 21, 128
ઘોષણા 26
B
ઘોષણા મક ાન 5 H
ૂળ ૂત ઘટકો 20
ઘોષણા 135 માથા ું ન
ુ રાવતન 200
બાઇનર ઓપરટરો 44
પો ટર ું િવસ ન ઢગલો 152
બાઇનર શોધ 206
સી ું જ ન
ુ રાવતન 199
બીટવાઇઝ ઓપરટર 53 I
િવભાગ

ે 119
બમ ું 21 ઓળખનાર 21
do-while loop 116 IDEs 17
C જો િનવેદન 95
C ો ામ ગ 15
E જો-ન હતર 97
ક ુ ટ
લ ે ર 7 if-else-if 99
હણ 15
ક યૂટર ો ાિમંગ : િથયરી અને ેિ ટક સ | 227

હતાવહ ાન 4 માળો બનાવેલ જો-અ યથા 102 યા 93


Implicit 61 ુ રાવિતત
ન ુ 125
પ ુ ાકાર 44

પો ટરનો વધારો 155
ુ રાવિતત ન
ન ુ રાવતન 201 program_file 79
ઇ મે ટ ઓપરટર 57 NetBeans 14 ો ામ ગ 12
ઓપરટર નથી 52 ડુ ોકોડ 6, 205
K
Null પો ટર 157
ુ ય શ દો 20
કડાક ય 18 R

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

સં હાયેલ સરના ું 154 V


સં હાયેલ કાય મ 6 ચલો 26,128

એર તર ક શ દમાળા 157 ુ લ
િવઝ અ ુ ડયો 14

શ દમાળા અચળ 23 રદબાતલ 156

બાદબાક 44 રદબાતલ િનદશક 156

સરવાળા ું માણ 44
W
બદલો(switch) 108
યાર ૂપ 112
વા રચના 13
જગલી
ં િનદશક 157

T
ંૂ
છડ ું ન
ુ રાવતન 200

ટિમનલName 129

િ ટુ ઓપરટર 60

લખાણ સે મે ટ 150

હનોઈના ટાવસ 204

ૃ ુ રાવતન 201

Turbo C 17

બનસ ાવાર ઓછા 46

અનર ઓપરટર 55

અનર વ ા 57

ારં ભ ન થયેલ મા હતીસે મે ટ 149

હ તા ર ન થયેલ અ ર 24

હ તા ર ન થયેલ int 24

હ તા ર ન થયેલ લાંબા int 24

You might also like