Monday, December 24, 2018

C Tokens, Identifiers & Keywords

Introduction to C Tokens  

C language का syntax कई दूसरी popular languages के द्वारा follow किया गया है, इसलिए C का syntax समझना आपके लिए बहुत आवश्यक है। एक C program tokens से मिलकर बना होता है। यदि आप C language के सभी tokens को use करना सिख ले तो आप C language के expert बन जायेंगे।
दाहरण के लिए की नीचे दिए गए program को देखिये। ये program tokens का सही क्रम में use है और इसके सिवा कुछ भी नहीं है।

/* tokenDemo.c */

#include <stdio.h>

int main()
{
   printf("Software programming is cool");
   printf("%d",5);
}

Tokens 6 types के होते है। इनकी list नीचे दी जा रही है।
  • Identifiers   
  • Keywords
  • Constants 
  • Variables
  • Strings
  • Operators 

    यदि इस list के अनुसार आप देखें तो ऊपर दिए गए program में int, main, printf ,+ और Software programming is cool आदि सब कुछ tokens ही है।

    इन सभी tokens के बारे में अभी ना बता कर इस tutorial में आपको सिर्फ identifiers और keywords के बारे में ही बताया जा रहा है। बाकी tokens के बारे में आपको आगे की tutorials में बताया जायेगा।   

    C Character Set 

    C language में आप एक program characters की sequence में लिखते है। जैसे की #include <stdio.h> है। यह  statement characters से ही मिलकर बना हुआ है। इस statement में i,n,c,l और h आदि characters है।

    लेकिन ऐसा नहीं है की आप एक C program में कोई भी character use कर सकते है। इसके लिए C के द्वारा character set define किया गया है। जो characters इस set में है केवल वे ही एक C program में use किये जा सकते है।  

    Alphabet

    Alphabet characters में आप A से Z capital case और a से z small case characters को use कर सकते है।         

    Digits  

    Digits में आप 0 से लेकर 9 तक की कोई भी digit use कर सकते है। 

    Special Characters 

    Special characters में आप नीचे दिए गए characters को use कर सकते है। 

    ! @ # $ % ^ & * ( ) _ - + = | \  { } [ ] < > ", ? /

    इन alphabets, digits और special characters के अलावा आप और कोई भी character C language में use नहीं कर सकते है। इसे ही C का character set कहा जाता है।    

    Identifiers 

    Identifiers वो नाम होते है जो आप variables, constants और functions आदि को देते है। इन नामों को देने के लिए भी कुछ नियम है जो आप follow करते है। यदि आप इन नियमों को follow नहीं करते है तो program में error आ जाती है।  
    1. Identifiers में @, %, - characters नहीं प्रयोग किये जा सकते है।  
    2. C case sensitive language है। इसलिए age और Age दो different identifiers कहलायेंगे।  
    3. Identifiers में आप operators नहीं use कर सकते है। 
    4. Identifier की शुरूआत आप या तो किसी character या underscore से कर सकते है। Digits से identifiers को start नहीं किया जा सकता है। 
    5. आप A से लेकर Z तक के small और capital दोनों तरह के letters या फिर underscore में से किसी के साथ भी identifiers को start कर सकते है। इसके बाद आप digits और दूसरे characters या underscore use कर सकते है। 

    Examples of Identifiers

    Identifiers के सही प्रयोग को समझाने के लिए नीचे कुछ उदाहरण दिए जा रहे है। 

    _age              // सही 

    2name           // गलत 

    Emp-name     // गलत 

    Emp_2_age    // सही    

    Keywords 

    Keywords को predefined tokens या reserved words भी कहते है। C language 32 keywords provide करती है। हर keyword का एक खास मतलब होता है। हर keyword को एक particular task perform करने के लिए define किया गया है।
    इन keywords को अभी explain नहीं किया जा रहा है। इनके बारे में आप धीरे धीरे आगे आने वाली tutorials में जानेंगे।

    auto  
    break  
    case 
    char  
    const 
    continue 
    default 
    do  
    double
    else 
    enum 
    extern 
    float 
    for 
    goto 
    if 
    int 
    long 
    register 
    return 
    short 
    signed 
    sizeof 
    static 
    struct 
    switch 
    typedef 
    union 
    unsigned 
    void 
    volatile 
    while 




    Variables  

    यदि आप किसी data के साथ operations perform करना चाहते है तो इसके लिए सबसे पहले आपको उसे computer की memory में store करना पड़ता है। Computer memory में data को store करने के लिए variables का प्रयोग किया जाता है।
    एक variable memory में किसी location का नाम होता है। यह नाम (या variable) उस memory location को computer की संपूर्ण memory में uniquely identify करने के लिए प्रयोग किया जाता है और इसी नाम के द्वारा आप उस memory location में data store करते है और उस data को पुनः प्राप्त करते है। 
    उदाहरण के लिए ये आपके computer का memory space है। आप computer की memory में कुछ data store करना चाहते है। जैसे की किसी व्यक्ति का नाम, उम्र आदि। Computer की memory में data store करवाने से पहले आप बताते है की आप किस तरह का data store करेंगे।

    यह आप data types के द्वारा define करते है। उसी के अनुसार आपको memory में space मिलता है। यानि की यदि आपने int define किया है तो 2 bytes variable को memory में compiler allot करेगा। 

    इसके बाद आपको उस memory location का नाम define करना होता है। ताकि आप जब भी चाहे उस memory location में store की गई value को इस नाम के द्वारा access कर सके। यही नाम variable कहा जाता है।

    Variables की values changeable होती है। आप एक value को हटाकर दूसरी value डाल सकते है। ऐसा आप compile time पर भी कर सकते है और dynamically (program execution के दौरान) भी कर सकते है।            

    Creating C Variables

    एक variable create करने के लिए सबसे पहले आप data type define करते है। इसके बाद आप एक unique नाम define करते है।
    /* Without value assignment */
    <data-type>  <variable-name>;                  

    /* With value assignment */
    <data-type>  <variable-name> = <variable-value>;         

    उदाहरण के लिए नीचे दिए गए statement को देखिये।

    /* Variable declaration with value assignment */
    int Age = 25;    

    इस statement के द्वारा एक integer variable create किया गया है, जिसका नाम Age है और इस variable को 25 value assign की गई है। आइये अब समझते है की compiler इस statement को किस प्रकार execute करता है।

    जब compiler सबसे पहले int को execute करता है तो वह computer की memory में से 2 bytes की memory allot करता है। इसके बाद जब compiler Age को execute करता है तो वह उस 2 bytes की memory को Age नाम दे देता है। इसके बाद जब compiler = 25 को execute करता है तो वह 25 को इस memory location पर store कर देता है।

    C-variables-in-Hindi

    अब जब भी आप इस value को access करना चाहते है तो Age नाम के द्वारा इसे access कर सकते है।

    Scope of C Variables

    कोई variable पूरे program में किस किस जगह पर use किया जा सकता है। ये उसका scope होता है। Scope के अनुसार variables को 2 categories में divide किया गया है। 

    Local Variables 

    Local variables वो variables होते है जो program के किसी छोटे block में define किये जाते है जैसे की function, control statement block आदि। इस तरह के variables का use सिर्फ उसी block तक ही limited रहता है।
    जैसे की यदि आपने किसी function में कोई variable create किया है तो आप उस variable को उस function के बाहर use नहीं कर सकते है।  

    /* localVariableDemo.c */

    #include<stdio.h>

    void myFunction();

    int main()
    {
         int num=6;
         myFunction();
         printf("Num in main() : %d", num); 

         return 0;
    } 

    void myFunction()
    {
             /* local variable num */
             int num= 5;    
             printf("Num in myFunction : %d\n",num);
    }
      
    Num in myFuntion() : 5
    Num in main() : 6 

    Global Variables 

    Global variables वो variables होते है जिनका scope पूरे program में होता है। इन variables को आप पूरे program में किसी भी access कर सकते है। इन variables को program की शुरुआत में ही define कर दिया जाता है।  

    /* globalVariableDemo.c */

    #include<stdio.h>

    /* A global variable */
    int num=5;  

    void myFunction();

    int main()
    {
        myFunction();
        printf("Num in main() : %d",num); 
        return 0;
    }

    void myFunction()
    {
        printf("Num in myFunction : %d\n",num); 
    }

    Num in myFunction() : 5
    Num in main() : 5 
















    data types

    Introduction to C Data Types 

    जब भी आप कोई variable create करते है तो उससे पहले compiler को बताते है की आप किस तरह का data उस variable में store करेंगे। इससे compiler उतनी ही memory उस variable को computer की memory में से allot कर देता है।
    /* A Integer type variable */
    int age; 

    ऊपर दिया गया statement compiler को बताता है की आप age variable में एक whole number (बिना दशमलव के) store करने वाले है। किसी भी whole number को store करने के लिए जितनी memory की आवश्यकता होती है compiler उतनी इस variable को allot कर देता है। जो की 2 bytes है।  

    यदि किसी programming language में data types ना हो तो बहुत अधिक memory waste हो सकती है। जब 2 bytes की आवश्यकता हो तब 20 bytes आप waste कर सकते है। इसलिए जितनी भी तरह का data आप store कर सकते है उसके लिए पहले से ही maximum memory limit define की गई है। 

    Different C Data Types

    C language 3 तरह के data types को support करती है। इन्हें primitive types भी कहते है। 
    • Integer Types 
      • int
      • short int
      • long int
      • signed int 
      • unsigned int
    • Floating Point Types 
      • float
      • double
    • Character Types 
      • char

    Integer Types

    Integer types किसी भी whole number (बिना दशमलव के) को store करने के लिए use किये जाते है। Integer types 5 प्रकार के होते है। हालांकि ये सभी whole numbers को store करते है। लेकिन memory size और range के base पर इन्हें बाँटा गया है। 

    Data Type
    Size (bytes)
     Range 
    int 
    2 
    -32768 से  32767 
    short int  
    1 
    -128 से 127 
    long int 
    4 
    -2,147,483,648 से 2,147,483,647 
    signed int (negative values के लिए)
    2
    -32768 से 32767
    unsigned int 
    2 
    0 से 65535

    Example  

    /* A Long integer type variable */
    long int population = 200000000; 

    Floating Point Types 

    Floating point data types को दशमलव संख्याओं को store करने के लिए define किया गया है। Floating point data types 2 तरह के होते है।
    Float type में आप दशमलव के बाद 7 digits तक store कर सकते है। Double type में दशमलव के बाद 17 digits तक store की जा सकती है।    

    Data Type
     Size (bytes)
    Range 
    float  
    4 
    3.4E-38 से 3.4E+38 
    double 
    8 
    1.7E-308 से 1.7E+308 
        
    Example 

    /* A double type variable */
    double balance=810.12354984; 

    Character Types 

    Character types को एक character store करने के लिए use किया जाता है। इनको 2 categories में divide किया गया है। 

    Data Type 
    Size (bytes)
    Range 
    char  
    1 
    -128 से 127  
    unsigned char  
    1 
    0 से 255  

    Example 

    /* A character type variable */
    char bestlanguage = "C"; 

    Void Type

    Void type को उन situation में use किया जाता है जब आपको value के बारे में कोई जानकारी ना हो। इसे functions के साथ ज्यादातर use किया जाता है। 
    1. यदि आपका function कोई value return नहीं करता है तो आप उसका return type void define करते है। उदाहरण के लिए आप इस प्रकार function define कर सकते है। void myFunction();।   
    2. यदि आप function में कोई parameters नहीं ले रहे है तो आप उनकी जगह पर void define कर सकते है। Void type से पता चलता है की इस function में कोई argument नहीं लिया जाता है। इस प्रकार void को parameter के रूप में pass कर सकते है। int myFunction(void);।   
    3. यदि आप निश्चित नहीं है की pointer variable किस type के variable को point करेगा तो आप उसका type void declare कर सकते है। इसके बाद आप void pointer से किसी भी variable को point कर सकते है। 

    constant

    Introduction to C Constants 

    Constants वो variables होते है जिनकी value program execution के दौरान किसी प्रकार भी change नहीं होती है। जब भी आप कोई constant declare करते है तो program के execution के दौरान उसकी value fixed रहती है। यदि इसकी value change करने की कोशिश की जाती है तो program में error आ जाती है।
    C language में constants दो types के होते है।

    • Constant Literals 
    • Constant Variables

    इन दोनों types के constants के बारे में निचे detail से बताया जा रहा है।

    Constant Literals 

    Constant literals ऐसी values होती है जिन्हें आप program में directly use करते है। उदाहरण के लिए निचे दिए गए code को देखिये।

    y = x+2;

    ऊपर दिए गए statement में 2 एक constant literal है। इसे program में directly use किया गया है। इसे program के execution के दौरान change नहीं किया जा सकता है।

    Constant literals को आप ऐसी direct values समझिये जिन्हें change नहीं किया जा सकता है। आम तौर पर literal constants को use करने की सलाह नहीं दी जाती है।

    मान लीजिये आपने एक literal constant का प्रयोग program में कई जगह पर किया है, अब यदि आपको इस constant को change करने की आवश्यकता होती है तो आपको उसे manually ढूंढ कर program में हर जगह change करना होगा।

    इसलिए literal constants का प्रयोग आपको कम से कम करना चाहिए।

    Constant Variables 

    Constant variables को आप खुद variables की तरह declare करते है। Constant variables को प्रयोग करने का फायदा ये है की यदि आपको बाद में constant को change करना पड़े तो आपको इसे program में कई जगह पर change करने की आवश्यकता नहीं होती है आप सिर्फ constant variable की value change करते है और वह program में हर जगह अपने आप change हो जाती है।

    Constant variables को आप दो प्रकार से declare कर सकते है। इनके बारे में निचे बताया जा रहा है। 

    Using #define Directive   

    #define एक pre processor directive है इसे use करके आप constant variables declare करते है। इस directive द्वारा constant variables program की शुरआत में main function से पूर्व ही declare किये जाते है। इस directive द्वारा define किये गए constant variables को आप program में कँही भी use कर सकते है।
    Constant variables के उपयोग को निचे उदाहरण द्वारा समझाया जा रहा है।  

    /* constantDemo.c */

    # include <stdio.h>

    /* Defining constant */
    #define result 10

    int main()
    {
        int a=5, b=6;
     
        /* Wrong, (error) Value of constant result variable can not be changed. */
        result = a + b;  

        printf("%d", result);
        
        return 0;
    }

    ऊपर दिया गया program निचे दिया गया output generate करता है।

    error : lvalue required as left operand of assignment 
               result = a + b;
                         ^

    Using const Keyword 

    C language में const keyword के द्वारा भी आप constant variables declare कर सकते है। यदि आप सिर्फ किसी function में ही constant variable का प्रयोग करना चाहते है तो इस keyword के द्वारा constant variable declare कर सकते है।

    C language में const keyword के use को निचे उदाहरण द्वारा समझाया जा रहा है।

    /* constKeyword.c */

    #include <stdio.h>

    int main()
    {

    const int a=5;

    const int b=6;

    int c;

    /* Adding two constants */
    c = a+b;

    printf("Result is : %d",a);

    return 0;

    }

    ऊपर दिया गया program निचे दिया गया output generate करता है। 

    Result is : 11 

    Types of C Constants

    C language में निचे दिए जा रहे 5 type के constants होते है। 
    1. Integer Constants
    2. Floating-Point Constants
    3. Character Constants
    4. String Constants
    5. Enumeration Constants
    इनके अलावा C language में escape sequence characters को भी constants ही माना जाता है।

    flowchart

    Introduction to Flowchart 

    Flow chart किसी process का graphical representation होता है। C language के सन्दर्भ में यह program के execution flow का graphical presentation होता है। 
    प्रायः जब भी आप कोई program लिखते है तो बिना किसी flow chart के लिखते है। किसी दूसरे व्यक्ति द्वारा इसे समझना असंभव होता है। Flow chart के माध्यम से आप अपने program को graphically represent करते है। ऐसा करने से कोई भी आपके program के logic को आपके बिना भी समझ सकता है।        

    जब आप किसी company के लिए programmer के रूप में काम करते है तो coding से पहले flowchart बनाना अनिवार्य होता है। ऐसा इसलिए किया जाता है क्योंकि companies में अक्सर programmers बदलते रहते है।

    आपके द्वारा बनाये गए किसी project को कोई दूसरा व्यक्ति आसानी से समझ सके और उस पर काम कर सके इसलिए आपको flow charts create करना अनिवार्य होता है।    

    Flow chart create करने का एक महत्वपूर्ण कारण ये है की इससे आपको program की गहरी समझ प्राप्त होती है। आप coding से पहले ही उसमे आने वाली errors और result को देख पाते है।

    यदि flowchart completely prepare कर लिया गया है तो coding सिर्फ एक simple process रह जाती है जिसमे programmer को flowchart के अनुसार code लिखना होता है।

    Flow chart की सबसे बड़ी विशेषता ये होती है की flowchart किसी विशेष programming language के लिए नहीं होता है। Flow chart को देखकर आप किसी भी programming language में process को implement कर सकते है।
    बड़ी companies project develop करने से पहले flow chart पर बहुत सा समय लगाती है। Flowchart आपके program का blueprint होता है। ये मकान बनाने से पहले उसका नक्शा बनाने जैसा होता है। जितना समय coding में लगता है उससे कई अधिक समय flowchart में लगाया जाता है। Algorithms भी flow chart के अनुसार ही बनायीं जाती है।

    हर अच्छे programmer को इसे सीखना चाहिए क्योंकि यह एक बहुत ही powerful tool है। आज कल बहुत से modern text editors जैसे की Microsoft word आदि flow chart create करने के लिए built in options provide करते है। आप इन्हें यूज़ करके भी flow charts create कर सकते है।

    Symbols of Flowchart 

    किसी program को graphically समझाने के लिए कुछ symbols का प्रयोग किया जाता है। ये symbols आपको पहले से provide किये गए है। इन्हें flow chart symbols कहा जाता है। हर symbol का एक मतलब होता है जिससे flow chart देखने वाला आसानी से उसे समझ सकता है। निचे आपको table के माध्यम से flow chart symbols के बारे में बताया जा रहा है।

    Name
    Symbol  
    Explanation 

    Begin/End 



    ये oval symbol होता है। इसे terminal symbol भी कहा जाता है। इसे flow chart को start और end करने के लिए यूज़ किया जाता है। किसी भी processing से पहले program का start और end point define करना अत्यंत आवश्यक है।    

    Processing 

    जब भी आप कोई execution करते है या फिर कोई ऐसा statement जिसमे processing हो रही है उसे processing symbol से दर्शाया जाता है।  

    Input/Output 

    Program के input और output को  दर्शाने के लिए आप parallelogram का इस्तेमाल करते है।  

    Decision 

    Program में decision making statements को दर्शाने के लिए diamond symbol यूज़ किया जाता है।  

    Arrow (Flow) 

    Program का flow दिखाने के लिए arrow symbol यूज़ किया जाता है। इसे हर symbol के बाद flow दिखाने के लिए यूज़ किया जाता है।  

    Example of Flow Chart

    मान लीजिये आप एक addition का program बनाना चाहते है जो user से 2 numbers read करता है और उन्हें add करके result display करता है।इसके लिए आप flow chart इस प्रकार बनाएंगे। 

    ऊपर दिए गए flowchart में सबसे पहले oval symbol से flowchart को start किया गया है। इसके बाद rectangle symbol के द्वारा 3 variables (num1, num2 और Result) declare किये गए है। इसके बाद parallelogram द्वारा num1 और num2 को read करने की process को दर्शाया गया है।

    इसके बाद वापस rectangle symbol के द्वारा दोनों numbers के addition और Result variable को assign करने की process को दर्शाया गया है। इसके बाद parallelogram द्वारा result को display करने की process को दर्शाया गया है।

    सबसे आखिर में terminal symbol द्वारा flowchart को stop किया गया है। इस flow chart को देखकर कोई भी व्यक्ति आसानी से addition के program को किसी भी language में बना सकता है।

    आइये flow chart का एक और उदाहरण देखते है। मान लीजिये आप एक program बनाना चाहते है जो दो integer numbers को read करता है और जो उनमें से greater हो उसे display करवाता है। इसके लिए flow chart इस प्रकार create किया जायेगा।



    ऊपर दिए flow chart में सब कुछ पहले की तरह ही है बस diamond symbol के द्वारा condition के according दोनों numbers में से जो number greater है उसे display किया जा रहा है।    

    operator


    Introduction to C Operators 

    Variables के अंदर values store करवाकर आप उन variables पर कई प्रकार के operations perform कर सकते है। उदहारण के लिए दो integer variables के अंदर value store करवाकर आप addition का operation perform कर सकते है और उन दोनों variables की values के sum को print करवा सकते है। इसी प्रकार आप और भी अलग अलग operations variables के साथ perform कर सकते है।

    Variables के साथ operations perform करने के लिए आपको अलग अलग operators यूज़ करने पड़ते है। इस chapter में आपको ऐसे ही operators के बारे में बताया जा रहा है।

    Operations में operators के साथ जो variables यूज़ होते है वो operand कहलाते है। उदाहरण के लिए नीचे दिए गए statement को देखिये।

    c = a + b;

    उपर दिए गए statement में a और b को operator (+) के साथ यूज़ किया गया है इसलिए ये दोनों variables operands कहलायेंगे।

    Operators 2 प्रकार के होते है।
    • Unary -  इस प्रकार के operators सिर्फ एक ही operand के साथ यूज़ किये जाते है।  
    • Binary - इस प्रकार के operators के साथ 2 operands यूज़ किये जाते है।  

    आइये अब C language में यूज़ होने वाले अलग अलग operators के बारे में जानने का प्रयास करते है।

    Arithmetic Operators 

    Arithmetic operators mathematical operations perform करने के लिए यूज़ किये जाते है। जैसे की addition, subtraction, division और multiplication आदि। Arithmetic operators 5 प्रकार के होते है। ये basic mathematical operators होते है।

    Operators 
    Description 
    + (Addition)
    ये operator दो variables की values को add करता है।  
    - (Subtraction) 
    ये operator एक variable की value में से दूसरे variable की value subtract करता है। 
    * (Multiplication) 
    ये operator 2 variables की values को multiply करता है।  
    / (Division) 
    ये operator एक variable की value से दूसरे variable की value को divide करता है। 
    % (Modulus) 
    ये operator division के बाद शेष बची हुई value को प्राप्त करने के लिए यूज़ किया जाता है। 

    Relational Operators 

    Relational operators दो variables की values को compare करने के लिए यूज़ किये जाते है। जैसे की आप इन operators का यूज़ करके पता लगा सकते है की क्या किन्ही दो variables की values बराबर है और यदि बराबर नहीं है तो कौनसे variable की value बड़ी है और कौनसे variable की value छोटी है। 

    इस तरह के operators को conditional statements (if,if-else,switch,for,while आदि) के साथ यूज़ किया जाता है। ये operators condition check करने के लिए यूज़ किये जाते है। Condition true होने पर value true हो जाती है और condition false होने पर value false हो जाती है।

    C language में यूज़ होने वाले सभी relational operators के बारे में नीचे दिया जा रहा है।
    Operators  
    Descriptions 
    == (Equal To)
    ये operator check करता है की क्या दोनों variables की values equal है।  
    != (Not Equal To)
    ये operator check करता है की क्या दोनों variables की values non equal है।  
    <  (Lesser Than)
    ये operator check करता है की क्या left operand की value right operand से छोटी है।  
    > (Greater Than) 
    ये operator check करता है की क्या left operand की value right operand से बड़ी है।   
    <=  (Lesser than equal)
    ये operator check करता है की क्या left operand की value right operand से छोटी या उसके समान है।  
    >=  (Greater than equal)
    ये operator check करता है की क्या left operand की value right operand से बड़ी या उसके समान है।  

    Logical Operators 

    Logical operators को decision making statements के साथ यूज़ किया जाता है। ये operators control statements में एक साथ दो condition को check करने के लिए यूज़ किये जाते है।

    उदाहरण के लिए आप किसी if statement में एक की जगह 2 conditions check कर सकते है। Logical operators के बारे में नीचे दिया जा रहा है।

    Operators  
    Description 
    && (AND) 
    जब दोनों conditions true होती है तब control statement की value true हो जाती है।   
    || (OR) 
    जब कोई भी एक condition true हो तो भी control statement की value true हो जाती है।   
    ! (NOT) 
    ये operator एक ही condition के साथ यूज़ किया जाता है। जब वो condition false होती है तो control statement की value true हो जाती है।    

    Bitwise Operators 

    Bitwise operators दिए गए variables पर bit level operations perform करने के लिए यूज़ किये जाते है। Variables की decimal values bits में convert की जाती है। इसके बाद उन bits पर operations perform किये जाते है।

    C language में यूज़ होने वाले bitwise operators के बारे में नीचे दिया जा रहा है।

    Operators  
    Description 
    & (Bitwise AND) 
    इस operator के द्वारा दोनों variables की same position वाली bits के साथ AND operation perform किया जाता है।   
    | (Bitwise OR) 
    इस operator के द्वारा दोनों variables की same position वाली bits के साथ OR operation perform किया जाता है।   
    ~ (Bit wise NOT) 
    ये operator सिर्फ एक ही operand के साथ यूज़ किया जाता है। जिस variable के साथ इसे यूज़ किया जाता है उस variable की value की सभी bits opposite हो जाती है। जैसे की 0 है तो 1 हो जाती है और 1 है तो zero हो जाती है।     
    ^ (XOR) 
    ये एक special type का OR operator होता है। ये operator opposite bits होने पर 1 return करता है और same bits होने पर 0 return करता है।   
    << (Left Shift) 
    ये operator left side के variable की bits को right side के variable में दी गयी value जितना left में shift करता है।   
    >> (Right Shift) 
    ये operator left side के variables की bits को right side के variable में दी गयी value जितना right में shift करता है।   

    जैसा की आपको पता है bitwise operators bits के साथ work करते है। मान लीजिये आपने program में 2 variables a और b create किये हुए है। इन दोनों variables में आपने क्रमशः 3 और 5 values store करवाई हुई है। इनकी bits पर work करने के लिए सबसे पहले आप इन्हें binary में convert कर सकते है।

    3  = 00000011
    5  = 00000101

    सिर्फ आपको समझाने के purpose से इन्हें binary में convert किया गया है। आपको program में binary values insert करवाने की आवश्यकता नहीं है। Computer information को binary form में ही store करता है। ऊपर define किये गए सभी operations इन bits पर ही perform किये जायेंगे।

    Assignment Operators

    Assignment operators variables की values को एक दूसरे को assign करने के लिए यूज़ किये जाते है। C language में यूज़ होने वाले विभिन्न assignment operators के बारे में नीचे दिया जा रहा है।

    Operators 
    Description 
    =  
    ये operator right side के operand की value को left side के operand को assign करता है।   
    += 
    ये operator left side के operand में right side के operand की value को add करके result left side वाले operand को assign करता है। इसे आप इस प्रकार भी लिख सकते है। a = a+b;   
    -= 
    ये operator left side के operand की value में से right side के operand की value को subtract करके result left side के variable में store करवाता है। इसे आप इस प्रकार भी लिख सकते है। a=a-b;   
    *= 
    ये operator left side के operand की value को right side के operand की value से multiply करके result को left side के operand में store करता है।   
    /= 
    ये operator left operand की value को right operand की value से divide करके result को left side के operand में store करता है।   
    %= 
    ये operator left side के operand की value को right side के operand की value से divide करके शेष बचे हुए result को left side के operand में store करता है।   

    Increment/Decrements operators 

    किसी भी variable की value को एक number से instantly increase या decrease करने के लिए आप increment/ decrements operators यूज़ कर सकते है। इनके बारे में नीचे दिया जा रहा है।
     Operators 
    Description  
     ++ (increment) 
    ये एक unary operator होता है। ये operand की value को एक number से increase करता है। जब यह operand के पहले लगता है तो value पहले increment होती है और बाद में यूज़ की जाती है। जब ये operator operand के बाद लगता है तो operand की value यूज़ होने के बाद increment होती है।  
     --(decrements) 
    ये भी एक unary operator होता है। ये operand की value को एक number से decrease करता है। जब इसे operand से पहले यूज़ किया जाता है तो value यूज़ होने से पहले decrease होती है। जब इसे variable के बाद यूज़ किया जाता है तो value पहले यूज़ होती है और बाद में decrease होती है।  

    Conditional (?:) Operator

    Conditional operator को ternary operator भी कहा जाता है। ये if-else statement की short form होती है। इसका general structure इस प्रकार होता है।

    contion ? stmnt1 : stmnt 2;
       
    यदि condition true हो तो statement one return होगा नही तो statement 2 return होगा। इसका उदाहरण निचे दिया जा रहा है।

    5>3 ? true : false;

    Special C Operators

    Operators  
    Description 
    sizeof (var_name )
    ये operator memory में variables की size return करता है।   
    & 
    ये operator variables का memory address return करता है।   
    * 

    C Tokens, Identifiers & Keywords

    Introduction to C Tokens   C language का syntax कई दूसरी popular languages के द्वारा follow किया गया है, इसलिए C का syntax समझना आपके लि...