C++ Data Types

    Data Type 

    किसी भी प्रोग्राम में डेटा को स्टोर करने के लिए उपयुक्त Data Type(डेटा टाइप) का Veritable(बेरिएबल)  Declare(डिक्लेयर) किया जाना आवश्यक होता है। Data Type(डेटा टाइप) से यह निर्धारित होता है कि उस वेरिएबल में किस टाइप की वैल्यू स्टोर की जाएगी।

     C++ मुख्य रूप से निम्नांकित डेटा टाइप उपलब्ध कराता है:-

    Built-in data type 

        Integral data type 

    • int
    • char

        Floating point data type 

    • float
    • double

        User define data-type

    •     struct
    •     class
    •     union 

        Derived data type

    • array
    • pointer 

    विभिन्न डेटा टाइप की सूची निम्न टेबल में प्रदर्शित की गई है.

    C++ में हमारे पास 4 प्रकार के  Qualifier(क्वालीफायर) होते हैं जो कि Compiler(कंपाइलर) के व्यवहार में थोड़ा सा परिवर्तन लाते हैं। यह Qualifier(क्वालीफायर) unsigned, signed, short तथा long हैं। इन्हें हम उपरोक्त टेबल में प्रयोग भी कर चुके है।

    उपरोक्त 👆 टेबल में char के आगे Range(रेंज) में 128 से 127 दिया गया है। वहीं unsigned char की रेंज 0 से 255 है। इसका आशय यह है कि यदि हम unsigned प्रयोग करते हैं तो हम कुल 256 (255+1) अलग-अलग अक्षरों में से कोई भी अक्षर काम में ले सकते हैं, वहीं यदि सिर्फ char ही प्रयोग करते हैं तो हम सिर्फ 128 अक्षरों में से ही कोई अक्षर स्टोर कर पाएंगे। यह अक्षर ASCII Character कहलाते हैं  चूंकि कोई भी अक्षर ASCII Code के माध्यम से ही स्टोर होता है, अतः इसकी रेंज संख्या में भी व्यक्त की जा सकती है।

    चूंकि कंपाइलर char को भी संख्या के माध्यम से ही स्टोर करता है, अतः हम भी आवश्यकता पड़ने पर इसे संख्या की भाति प्रयोग कर सकते हैं।

    Integer Data Type(इंटीजर डेटा टाइप) से आशय ऐसी संख्या से है जिसमें Decimal(डेसीमल) नहीं होता है। जैसे 4569, 14 आदि। integer(इंटीजर)  2 bytes(बाइट) प्रयोग करता है अर्थात यह 16 Bits(बिट्स) प्रयोग करता है। जब हम unsigned का प्रयोग करते हैं तो इसका आशय यह होता है कि इसमें हम कोई ऋणात्मक संख्या (नेगेटिव वैल्यू) स्टोर नहीं कर सकते हैं। ऐसी स्थिति में सभी 16 Bits(बिट्स), संख्या को स्टोर करने के काम में आते हैं। दूसरी ओर यदि सिर्फ int प्रयोग किया जाता है तो 16 में से 1 बिट + या का चिन्ह स्टोर करने में प्रयुक्त हो जाती है तथा शेष 15 Bits(बिट्स) में संख्या स्टोर होती है। यही कारण है कि unsigned Data Type( डेटा टाइप) की रेंज अधिक होती है।

    float डेटा टाइप से आशय ऐसी संख्या से है जिसमें दशमलव (.) होता है। जैसे 789.1323, 45698.123456 आदि ।

    long Qualifier(क्वालीफायर) का प्रयोग integer से अधिक Range(रेंज) उपलब्ध कराता है। जहां integer वेरिएबल में सबसे बड़ी धनात्मक संख्या 32767 ही स्टोर हो सकती है वहीं long में यह संख्या 2,14,74.83,647 है। double Data Type(डेटा टाइप) float से अधिक Range(रेंज) उपलब्ध कराता है। वहीं long double डेटा टाइप double से भी अधिक रेंज उपलब्ध कराता है।

    ध्यान रखें कि किसी भी प्रोग्राम में ऐसा डेटा टाइप चुनना चाहिए जो कम से कम मैमोरी काम में ले और हमारी जरूरत भी पूरी कर दे।

    Variable 

    वेरिएबल मैमोरी के किसी स्थान (location) का नाम है। अन्य शब्दों में वेरिएबल मैमोरी की ऐसी जगा का नाम है जहां पर प्रोग्राम के माध्यम से कोई भी वैल्यू स्टोर की जा सकती है, तथा जिसकी वैल्यू को प्रोग्राम के रन होने के दौरान बदला भी जा सकता है।

    Declare Variable 

    C++ में वेरिएबल काम में लेने से पूर्व डिक्लेयर (declare) करना आवश्यक होता है। वेरिएबल का नाम रखते समय वही नियम काम में लिए जाने आवश्यक हैं जो कि आइडेंटिफायर के लिए है। C++ में बेरिएबल को प्रोग्राम में कहीं भी डिक्लेयर किया जा सकता है, अर्थात इसमें C की भांति सम वैरिएबल्स को प्रोग्राम के प्रारंभ में ही Declare(डिक्लेयर) करना आवश्यक नहीं होता है।

    इसका प्रारूप निम्न प्रकार है:-

    datatype variablel, variable2, variable3...;.

    Example:-

    int amount;
    float time, rate, interest;

    यहां पर डिक्लेयर करने से कंपाइलर को यह स्पष्ट हो जाता है कि इन वेरिएबल्स का नाम क्या । और यह बेरिएबल मैमोरी में कितना स्थान लेंगे।

    Store value in variable 

    जब किसी वेरिएबल में पहली बार बैल्यू स्टोर की जाती है तो वह वेरिएबल को इनीशियल (Initialize) करना कहलाता है। वेरिएबल में वैल्यू स्टोर करवाने का प्रारूप निम्न प्रकार है:

    variable_name value:

    int amount;
    amount = 1000;

    इसी प्रकार float बेरिएबल में भी निम्नानुसार वैल्यू स्टोर करवाई जा सकती है।

    float time, rate;
    tine  = 2.57;
    rate =  12.57

    ऐसा भी संभव  है कि बेरिएबल Declaration(डिक्लेरेशन)  और वैल्यू स्टोरेज एक साथ ही कर दिया जाए। 

    जैसे:- 
    int amount =  1000;

    एक साथ एक से अधिक वेरिएबल्स में भी वैल्यू स्टोर कराई जा सकती है, 

    जैसे:-
    time =  rate = 2.5; 

    किन्तु यह कार्य Declaration(डिक्लेरेशन) के साथ संभव नहीं है। निम्न उदाहरण अमान्य (invalid) है।

    जैसे:- 
    float time  = rate =  2.5;

    यदि किसी वेरिएबल को डिक्लेयर करने से पहले const Keyword(कीवर्ड) लगा दिया जाए तो ऐसे वेरिएबलों की वैल्यू पूरे प्रोग्राम में स्थिर हो जाएगी, अर्थात् उस veriable(वेरिएबल) की वैल्यू में प्रोग्राम के रन होने के दौरान कोई बदलाव नहीं किए जा सकेंगे। 

    जैसे:-
    const float pi =  3.1415;

    यदि किसी वेरिएबल में उसकी रेंज के बाहर की कोई वैल्यू स्टोर की जाती है तो वेरिएबल में सही वैल्यू स्टोर नहीं हो पाएगी। ऐसी स्थिति में वेरिएबल में जो वैल्यू स्टोर होगी, उसे गारबेज (garbage) वैल्यू कहा जाता है।

     उदाहरण स्वरूप यदि किसी इंटीजर वेरिएबल (रेंज  32788 से +32707) में 75000 स्टोर कराए जाए तो उसमें 75000 स्टोर होने की बजाए कुछ अलग ही वैल्यू स्टोर हो जाएगी. इसीलिए उसे गारबेज वैल्यू कहा जाता है।

    Taking input by user

     C++ में कीबोर्ड द्वारा इनपुट लेने के लिए cin Object(ऑब्जेक्ट) का प्रयोग किया जाता है। इसे प्रयोग करने का प्रारूप निम्न प्रकार होता है।

    जैसे:-
    cin >> varl;

    उपरोक्त स्टेटमेंट में यूजर से एक वैल्यू को इनपुट में लिया जा सकता है। यहां एक ऑपरेटर है जिसे Extraction(एक्स्ट्रेक्शन) ऑपरेटर कहते हैं। यदि cin ऑब्जेक्ट की सहायता से एक से अधिक वैल्यूज को इनपुट में लेना हो तो इसके लिए निम्नांकित प्रारूप होता है इसे Cascading(कास्केडिंग ) भी कहा जाता है।

    cin>>var1>>var2;

    यूजर द्वारा इनपुट लिए जाने की प्रक्रिया को निम्न उदाहरण से समझा जा सकता है:-

       
        #include<iostream>
        #include<conio.h>
        using namespace std;
        int main(){
            int num;
            cout<<"Enter a Number : ";
            cin>>num;
            cout<<"You Entered :"<<num;
            getch();
            return 0;
        }
       

    Output:-

    Enter a Number : 7773
    You Entered :7773

    Explain Example:-

    उपरोक्त उदाहरण में एक इंटीजर संख्या यूजर से इनपुट में लेकर उसे प्रिंट करवाया गया है। ध्यान दें कि  C++ में वेरिएबल को प्रयोग में लेने से पहले कहीं भी डिक्लेयर कर सकते हैं।

    Example:-

       
        #include<iostream>
        #include<conio.h>
        using namespace std;
        int main(){
            float num;
            cout<<"Enter a Number : ";
            cin>>num;
            cout<<"You Entered :"<<num <<endl;
            cout<<"bye!";
            getch();
            return 0;
        }


    Output:-

    Enter a Number : 34.65
    You Entered :34.65
    bye!

    Explain Example:-

    व्याख्या उपरोक्त उदाहरण में एक फ्लोट संख्या यूजर से इनपुट में लेकर उसे प्रिंट करवाया गया है। ध्यान दें कि इस प्रोग्राम में Bye प्रिंट करने से पहले endl के प्रयोग से Byel नई पंक्ति में प्रदर्शित होगा endi का कार्य 'n' के समान ही होता है, अर्थात् इसकी जगह पर '' का प्रयोग भी किया सकता है।

    Example:-

    यदि एक से अधिक वेरिएबल्स में यूजर से वैल्यू इनपुट करानी है तो वह भी एक ही cin के माध्यम से हो सकता है। इसे निम्न उदाहरण से समझाया गया है।

       
        #include<iostream>
        #include<conio.h>
        using namespace std;
        int main(){
            int num1;
            float num2;
            cout<<"Enter two  Number a and b  : ";
            cin>>num1>>num2;
            cout<<"You Entered num1: "<<num1<<" and  num2 : "<<num2 <<endl;    
            cout<<"bye!";
            getch();
            return 0;
        }

    Output:-

    Enter two Number a and b : 56.56   7773
    You Entered num1: 56.56  and num2 : 7773
    bye!

    Explain Example:-

    उपरोक्त उदाहरण में यूजर द्वारा दो अलग-अलग प्रकार की वैल्यूज को एक ही स्टेटमेंट की सहायता से लिया गया है तथा उन्हें प्रिंट कराय है। यह Cascading) का एक उदाहरण है।

    Most Important Point:-

    • कैरेक्टर सेट से आशय उन आपरों से है जिन्हें किसी प्रोग्रामिंग भाषा में प्रयोग किया जा सकता है।
    • किसी प्रोग्राम की सबसे छोटी इकाई को टोकन कहते हैं में पांच प्रकार के Token(टोकन) होते हैं,
      • Keywords
      • Identifiers
      • Constants
      • Strings
      • Operators
    • कीवर्ड ऐसे शब्द होते है जिनका कम्पाइलर के लिए एक विशेष अर्थ होता है। को हम Identifier(आइडेन्टीफायर) की तरह प्रयोग में नहीं ला सकते हैं।
    • किसी प्रोग्राम में veriable(वेरिएबल), Array(एरे). Object(ऑब्जेक्ट), Function(फंक्शन) आदि के नाम को Identifier(आइडेन्टीफायर)कहते हैं।
    • कॉन्सटेंट्स ऐसे डेटा आइटम होते हैं जिनकी वैल्यू को बदला नहीं जा सकता है। इन्हें लिट्रल्स भी कहा जाता है।
    • कैरेक्टर कॉन्सटेंट दो प्रकार के होते हैं सिंगल कैरेक्टर कॉन्सटेंट तथा नॉनग्राफिक कैरेक्टर कॉन्सटेट।
    • एक से अधिक अक्षरों को यदि डबल कोट ("...") में लिखा जाता है तो वे स्ट्रिंग लिटल्स कहलाते हैं। सैपरेटर्स को punctuators भी कहा जाता है। ये ऐसे सिंबल होते हैं, जिनका प्रयोग प्रोग्राम की यूनिट्स को अलग (separate) करने के लिए किया जाता है।
    • किसी भी फार्मूले में वह तत्व जो यह बताते हैं कि कौनसा ऑपरेशन किया जाना है ऑपरेटर होते हैं।
    • C++ में लिखे जाने वाले प्रत्येक स्टेटमेंट के अंत में सेमीकॉलन (;) का चिन्ह अवश्य आता हैं।
    • डेटा टाइप से यह निर्धारित होता है कि वेरिएबल में किस टाइप की वैल्यू स्टोर की जाएगी।
    • वेरिएबल मैमोरी के किसी स्थान (location) विशेष का नाम है। दूसरे शब्दों में वेरिएबल मैमोरी की ऐसी जगह का नाम है जहां पर प्रोग्राम के माध्यम से कोई भी वैल्यू स्टोर की जा सकती है, तथा जिसकी वैल्यू को प्रोग्राम के रन होने के दौरान बदला जा सकता है।
    • C++ में कीबोर्ड द्वारा इनपुट लेने के लिए cin ऑब्जेक्ट का use क्या जाता हैं।

    Post a Comment

    0 Comments