Showing posts with label built in constant. Show all posts
Showing posts with label built in constant. Show all posts

Saturday, 26 October 2013

Character Constant in C


आपण इंटीजर कसा स्टोअर करायचा ते पाहीले. फ्लोट कॉंन्संटंट कसा स्टोअर करायचा ते पाहीले. पहील्या मध्ये डेसीमल पॉइंट नसतो तर दुसऱ्या मध्ये डेसीमल पॉइंट असतो. C language मध्ये असलेल्या Primary Data type पैकी आता गरज आहे ती character कसे स्टोअर करायचे हे माहीत करून घ्यायची. 

प्रथम आपण कॅरेक्टर म्हणजे काय हे पाहीले पाहुया. 

किबोर्ड वरील सर्व Alphabets म्हणजे 

  • lower-case  :  a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z (Small case letters)
  • upper-case :  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z  (Capital Letters)
  • numeric       :  0|1|2|3|4|5|6|7|8|9
  • special         :  !|%|^|&|*|(|)|-|+|=|{|}|||~|[|]|\|;|'|:|"|<|>|?|,|.|/|#|@|`|_

या सर्वांचा सेट म्हणजे हि सर्व कॅरेक्टर कॉंन्संटंट म्हणता येतील. अर्थात C language मध्ये हि सर्व characters वापरून सुद्धा ४ वर्गात विभागणी करता येइल. जसे की

वरील सर्व कॅरेक्टर्स आहे तशी वापरायची म्हणजेच फक्त एक कॅरेक्टर single quote मध्ये वापरायचे. 
Individual home for every alphabet





















या मध्ये कॅरेक्टर कॉंन्स्टंट ला एक बाइट म्हणजेच 8 bits दिलेले असतात. त्यामुळे त्याची range -128 to +127 इतकी असते. वर दिलेली सर्व कॅरेक्टर्स या format मध्ये represent करता येतात. Computer मध्ये डेटा binary format मध्ये स्टोअर केला जात असल्या मुळे American Standard Code for Information Interchange (ASCII) ने एक standard केले. ज्यामध्ये प्रत्येक कॅरेक्टर ला एक unique value दिली व त्या value ला ASCII value म्हणतात. 
उदा.
  • A ची ASCII value 65, B ची 66, C ची 67....व Z ची ASCII value 90 
  • a  ची ASCII value 97, b ची 98, c ची 99.....व z ची ASCII value 122
  • 0 ची ASCII value 48, 1 ची 49, 2 ची 50......व 9 ची ASCII value 57
 आहेत. शिवाय वर जो special character चा सेट दाखवला आहे त्यांना वरील ASCII values मधील उर्वरीत values म्हणजेच 0 to 47, 58 to 64, 91 to 96 व 123 to 127 दिल्या आहेत. 8 bits मधील sign bit न वापरता अनेक special characters सुद्धा स्टोअर करण्याची व्यवस्था ASCII ने करून दिली व त्याला extended ASCII character set म्हणतात व त्यांच्या साठी 128 to 255 मधील values दिल्या आहेत.        

याचा अर्थच असा की ज्यावेळी तुम्ही 

char ch = 'A'; 

असे स्टेटमेंट लिहाल त्यावेळी memory मध्ये A ची corresponding ASCII value म्हणजेच 65 चा bit pattern store केला जातो. 

या कॅरेक्टर कॉंस्टंटचे नियम म्हणजे:

  1. कॅरेक्टर कॉंस्टंट pair of single quote मध्ये लिहावा लागतो. एका पेक्षा जास्त कॅरेक्टर्स लिहीली तर compile time error मिळते. 
  2.  char हा किवर्ड राखीव ठेवला आहे. 
  3. त्याची range -128 to +127 आहे
 नंतर फार उशीरा म्हणजे १९९० नंतर जगामधील कोणत्याही भाषेमधील कोणतेही कॅरेक्टर स्टोअर करण्याची सुविधा देण्यासाठी Unicode format design केला गेला ज्यासाठी 2 bytes ची व्यवस्था करण्यात आली. त्यामुळे 65535 इतक्या विविध प्रकारची कॅरेक्टर्स स्टोअर करता येतात. अर्थात त्यासाठी प्रोग्रॅम लिहीतांना काही Locale changes करावे लागतात व C language ने wchar_t असा नवीन कॅरेक्टर कॉंस्टंट दिला. हा कॉंस्टंट wide character प्रकारात मोडतो  पण त्याचा फार वापर केला गेला नाही. 

या मध्ये तिसरा प्रकार म्हणजे escape sequence लिहीण्याचा कारण त्यासाठी \ आणी n किंवा n ऐवजी t, a, r, v, \ अशी काही कॅरेक्टर्स वापरली जातात पण हे एकच कॅरेक्टर असते. 

शेवटचा प्रकार म्हणजे स्ट्रींग मध्ये स्ट्रिंग टर्मिनेटींग कॅरेक्टर म्हणून \0 सुद्धा Single character ओळखले जाते.   

इतके वाचून सुद्धा कळाले नसेल तर मग या ठिकाणी व्हिडीओ पहा...!

Saturday, 19 October 2013

Integer Data Type in C

C Language मध्ये data type प्रामुख्याने २ प्रकारचे आहेत. 


  • Primary 
  • Secondary

प्रायमरी म्हणजे C language चे built in data types. या मध्ये पुन्हा 3 प्रकारे विभागणी केली आहे. 

  1. Integer Constants
  2. Real Constants
  3. Character Constants

Integer constant जर आपल्याला वापरायचे असतील C language ने काही नियम आखून दिले आहेत. आणी नियम आहेत म्हणजे ते पाळणे जरूरी आहे. ते programer ने पाळणे जरूरी असते कारण ज्या कंपायलर वर तुम्ही काम करता त्या कंपायलने सुद्धा ते define करून ठेवलेले असतात. नियम वरकरणी दिसायला सोपे असले तरी अनेक वेळा प्रोग्रॅम करतांना त्या बद्दलचे अर्धवट ज्ञान तुम्हाला अडचणीत आणते. व हे ज्ञान तुम्हाला Java language शिकतांना सुद्धा उपयोगी येते. 

मग काय आहेत integer constant चे नियम...? तर


  • integer constant हा +ve अथवा -ve असू शकतो
  • तो नंबर असावा लागतो
  • त्या मध्ये decimal point मात्र चालत नाही कारण integer constant च्या व्याख्येत ती बसत नाही. 
  • default sign मात्र +ve असते. 
  • त्या मध्ये comma, blank space, अथवा कोणतेही special character चालत नाही. 
  • त्याची range compiler dependent असते. पुर्वी DOS based TC compiler वर 2 bytes असायची. तुम्ही TC वापरत असाल तर शक्यतो तेवढीच असेल पण नवीन IDE वापरत असाल किंवा gcc compiler वापरत असाल तर 4 bytes मेमरी घेइल. त्यामुळे रेंज -32768 to +32767 (DOS based TC) किंवा -2147483648 to +2147483647 (32 bits integer) असेल. 
  • त्याच्या साठी int हा किवर्ड reserve ठेवला आहे. 
  • integer constant साठी %d अथवा %i हा format specifier तुम्ही वापरू शकता. 
  •  
वाचून जर कळाल नसेल तर मग व्हिडीओ पहा... integer constant in C

 

Do you like the C Marathi e-learning concept?