Theory
એ 50 પૈસા જે અદૃશ્ય થઈ ગયા
Canteen નું બિલિંગ ચાનો ભાવ int માં સંઘરે છે:
int price = 12.50;
C++ ચૂપચાપ 12 રાખે છે અને .50 ફેંકી દે છે. કોઈને ખબર પડતી નથી, જ્યાં સુધી માલિક નુકસાનનો ગુણાકાર ન કરે: રોજની આશરે 900 ચા પર 50 પૈસા એટલે 450 રૂપિયા, રોજ ગાયબ, એક ખોટી પ્રકારની પસંદગી ને કારણે.
Data type એ ઔપચારિકતા નથી. એ નક્કી કરે છે કે variable શું રાખી શકે અને શું ચૂપચાપ ફેંકી દે.
Theory
Counter પાછળનાં પાત્રો
Canteen ક્યારેય કાગળની થેલીમાં દાળ કે થાળીમાં ચા પીરસતી નથી. દરેક પાત્રને આકાર, ક્ષમતા, અને સલામત રીતે શું રાખી શકે એ હોય છે.
Data types એ program નાં પાત્રો છે: int એ પૂર્ણ સંખ્યાઓ માટેનો સ્ટીલનો પ્યાલો છે, double એ દશાંશ માટેનું પહોળું વાટકું, char એ એક અક્ષર માટેની નાનકડી ચટણીની વાટકી, bool એ બે સ્થિતિવાળી સ્વિચ. ખોટું પાત્ર પસંદ કરો અને સામગ્રી ઢોળાય છે.
Theory
Data type ખરેખર શું નક્કી કરે છે
Data type compiler ને variable વિશે ત્રણ વસ્તુ કહે છે:
- માપ: કેટલા bytes અનામત રાખવા (
intને સામાન્ય રીતે 4 મળે છે). - અર્થઘટન: bits નો અર્થ શું (એ જ bits સંખ્યા હોઈ શકે કે અક્ષર).
- ક્રિયાઓ: શું કાયદેસર છે (તમે ints ને ભાગી શકો, bools ને ભાગી શકતા નથી).
C++ પ્રકારોને ત્રણ કુટુંબમાં જૂથબદ્ધ કરે છે: fundamental (જડેલા), derived (બીજામાંથી બનેલા), અને user-defined (તમે બનાવો છો).
At a glance
Fundamental પ્રકારો એક નજરમાં (સામાન્ય માપ)
| પ્રકાર | માપ | શું રાખે છે |
|---|---|---|
| char | 1 byte | એક અક્ષર: 'A' (ASCII ના code તરીકે સંઘરાયેલો) |
| int | 4 bytes | પૂર્ણ સંખ્યાઓ: 12, -900 |
| float | 4 bytes | દશાંશ, આશરે 6-7 આંકડાની ચોકસાઈ |
| double | 8 bytes | દશાંશ, આશરે 15 આંકડાની ચોકસાઈ |
| bool | 1 byte | true કે false |
| void | 0 | કોઈ મૂલ્ય નહીં (function કશું પાછું આપતું નથી) |
Theory
તમે જાણો છો એ C પર C++ શું ઉમેરે છે
BCA104 થી તમને int, float, char અને short, long, signed, unsigned નાં modifiers આવડે છે. C++ નવા ટુકડા લાવે છે:
- bool: ખરેખરો true/false નો પ્રકાર (જૂનું C એને 0 અને 1 થી નકલી બનાવતું).
- Reference (
int& r = x;): હયાત variable નું બીજું નામ, જે પછી functions માં ખૂબ વપરાય છે. - wchar_t: મોટા અક્ષરસમૂહ માટે પહોળા અક્ષરો.
Derived પ્રકારો: array, pointer, function, reference. User-defined પ્રકારો: class, struct, union, enum, અને class એ જ છે જ્યાં આ વિષય વસે છે.
Think first
Output ધારો
બિલિંગનો programmer લખે છે:
char c = 65;
cout << c;
પાંચ સેકન્ડ લો: પડદા પર શું દેખાય છે, 65 કે બીજું કંઈક?
Show the answer
એ A છાપે છે. char નાની સંખ્યા સંઘરે છે અને એને અક્ષર તરીકે અર્થઘટન કરે છે: 65 એ 'A' નો ASCII નો code છે. એ જ bits, જુદો અર્થ, કારણ કે પ્રકાર અર્થઘટન નિયંત્રિત કરે છે. જો તમને 65 જોવું હોત, તો તમે એને int માં સંઘરત કે cast કરત: cout << (int)c;.
Quiz
Canteen ને ભાવ 12.50 અને પછી 84756.75 જેવા કુલ પૈસા ગુમાવ્યા વગર સંઘરવા છે. પરીક્ષા માટે સલામત પસંદગી કઈ છે?
- double
- int
- char
- bool
Show the answer
double
double આશરે 15 આંકડાની ચોકસાઈ સાથે દશાંશ રાખે છે, જે પૈસાના કદનાં મૂલ્યો માટે આરામથી ચોક્કસ છે. int એ 12.50 ને 12 માં કાપી નાખે છે (અદૃશ્ય થયેલા પૈસા). char એક અક્ષર રાખે છે, bool ફક્ત true/false. જો તમે float વિચાર્યું: એ ચાલે છે, પણ એની 6-7 આંકડાની ચોકસાઈ મોટા કુલ પર ડગમગવા લાગે છે, એટલે લખવા માટે double વધુ સલામત જવાબ છે.
Watch out
બે ચૂપ પૈસા ખાનારા
પૂર્ણાંકનો ભાગાકાર: 5 / 2 એ 2 છે, 2.5 નહીં. બંને ints છે, એટલે પરિણામ int છે. 2.5 મેળવવા 5.0 / 2 લખો.
માપ ગોખી નાખવાં: પરીક્ષામાં "int એ 4 bytes નું છે" એવી સાર્વત્રિક હકીકત ક્યારેય ન લખો. માપ યંત્ર અને compiler પર આધારિત છે, એટલે "સામાન્ય રીતે 4 bytes" લખો અને તપાસવાની રીત તરીકે sizeof(int) નો ઉલ્લેખ કરો. પરીક્ષકો ખાસ આ શબ્દ શોધે છે.
Formula
એ વર્ગીકરણનું વૃક્ષ જે પરીક્ષાઓ દોરવાનું કહે છે
Data types
├── Fundamental: int, char, float, double, bool, void
├── Derived: array, pointer, function, reference
└── User-defined: class, struct, union, enum
5 marks નો "C++ માં data types સમજાવો" નો જવાબ એ આ વૃક્ષ વત્તા દરેક કુટુંબ દીઠ એક લીટી અને એક ઉદાહરણ છે. એક વાર યાદશક્તિથી દોરવાની પ્રેક્ટિસ કરો.
Summary
Key takeaways
- Data type bytes માં માપ, bits નું અર્થઘટન, અને કાયદેસર ક્રિયાઓ નક્કી કરે છે.
- ત્રણ કુટુંબ: fundamental (int, char, float, double, bool, void), derived (array, pointer, function, reference), user-defined (class, struct, union, enum).
- C પર C++: ખરેખરો bool, references (int&), wchar_t.
- char એ ASCII નો code સંઘરે છે: char c = 65 એ A છાપે છે.
- પૈસાને double જોઈએ; int કાપી નાખે છે અને 5/2 એ 2 છે (પૂર્ણાંકનો ભાગાકાર).
- માપ યંત્ર પર આધારિત છે: "સામાન્ય રીતે" લખો, sizeof થી તપાસો.
- Memory hook: સાચા ખોરાક માટે સાચું પાત્ર.