सी मध्ये प्रोग्रामिंग त्रुटी
त्रुटी म्हणजे प्रोग्राममध्ये उद्भवणार्या समस्या किंवा दोष, ज्यामुळे प्रोग्रामचे वर्तन असामान्य होते आणि अनुभवी विकसक देखील हे दोष बनवू शकतात. प्रोग्रामिंग त्रुटी बग किंवा दोष म्हणून देखील ओळखल्या जातात आणि हे बग काढून टाकण्याच्या प्रक्रियेस डीबगिंग म्हणून ओळखले जाते. संकलन किंवा अंमलबजावणीच्या वेळी या त्रुटी आढळल्या आहेत. अशा प्रकारे, प्रोग्रामच्या यशस्वी अंमलबजावणीसाठी प्रोग्राममधून त्रुटी काढल्या पाहिजेत.
सी प्रोग्रामिंगमध्ये प्रामुख्याने पाच प्रकारच्या त्रुटी अस्तित्त्वात आहेत:
वाक्यरचना त्रुटी रन-टाइम त्रुटी लिंकर त्रुटी तार्किक त्रुटी अर्थपूर्ण त्रुटी
वाक्यरचना त्रुटी
सिंटॅक्स त्रुटी संकलनाच्या वेळी संकलनाच्या त्रुटी म्हणून देखील ओळखल्या जातात किंवा आम्ही असे म्हणू शकतो की वाक्यरचना त्रुटी कंपाईलरद्वारे फेकल्या जातात. या त्रुटी मुख्यत: टाइप करताना चुकांमुळे उद्भवल्या आहेत किंवा निर्दिष्ट प्रोग्रामिंग भाषेच्या वाक्यरचनांचे अनुसरण करीत नाहीत. या चुका सामान्यत: नवशिक्याद्वारे केल्या जातात कारण त्या भाषेसाठी नवीन असतात. या त्रुटी सहजपणे डीबग किंवा दुरुस्त केल्या जाऊ शकतात.
उदाहरण
jar Aamhi hvaeRAahe Tu oaaeSaitaRkra D cala cyaa pzakar paunaZaMk,
paunaZ A; // he Aahe D baraebar pafmaZ
EMT A; // he Aahe Pk caukicae pafmaZ.
सामान्यत: उद्भवलेल्या वाक्यरचना त्रुटी आहेत: कोड लिहिताना आपण कंस (}) चुकवल्यास. त्याच्या घोषणेशिवाय व्हेरिएबलचे मूल्य प्रदर्शित करणे. जर आपण निवेदनाच्या शेवटी अर्धविराम (;) चुकवला तर.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
A = 10;
laiha("D maulya cyaa a Aahe : %paunaZ", A);
vaapasakra 0;
}
वरील आउटपुटमध्ये, आम्ही असे निरीक्षण करतो की कोड 'ए' अघोषित आहे ही त्रुटी फेकते. ही त्रुटी केवळ वाक्यरचना त्रुटीशिवाय काही नाही. आणखी एक शक्यता असू शकते ज्यामध्ये वाक्यरचना त्रुटी अस्तित्वात असू शकते, म्हणजेच, जर आपण मूलभूत बांधकामात चुका केल्या तर. चला उदाहरणाद्वारे हे परिस्थिती समजूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=2;
jar(.) // vaaKyarcanaa OauTi
laiha("a Aahe gazeTr paexaa paexaa 1");
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही 'jar' मध्ये स्थितीऐवजी (.) ठेवतो, म्हणून खालील स्क्रीनशॉटमध्ये दर्शविल्याप्रमाणे हे वाक्यरचना त्रुटी व्युत्पन्न करते.
रन-टाइम त्रुटी
कधीकधी रन-टाइम त्रुटी म्हणून ओळखल्या जाणार्या यशस्वी संकलनानंतरही अंमलबजावणीच्या वेळी त्रुटी अस्तित्वात असतात. जेव्हा प्रोग्राम चालू असतो आणि ऑपरेशन करण्यास सक्षम नसतो तेव्हा रन-टाइम त्रुटीचे मुख्य कारण आहे. शून्य द्वारे विभागणे हे रन-टाइम त्रुटीचे सामान्य उदाहरण आहे. या त्रुटी शोधणे फार कठीण आहे, कारण कंपाईलर या त्रुटींकडे लक्ष देत नाही.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=2;
paunaZ bai=2/0;
laiha("D maulya cyaa b Aahe : %paunaZ", bai);
vaapasakra 0;
}
लिंकर त्रुटी
जेव्हा प्रोग्रामची एक्झिक्युटेबल फाइल तयार केली जात नाही तेव्हा लिंकर त्रुटी प्रामुख्याने व्युत्पन्न केल्या जातात. हे एकतर चुकीचे फंक्शन प्रोटोटाइपिंग किंवा चुकीच्या शीर्षलेख फाईलच्या वापरामुळे होऊ शकते. उदाहरणार्थ, मेन.सी फाईलमध्ये सब () फंक्शन आहे ज्याची घोषणा आणि व्याख्या फंकसीसी सारख्या इतर काही फाईलमध्ये केली जाते. संकलन दरम्यान, कंपाईलरला फंकसी.सी फाईलमध्ये सब () फंक्शन सापडते, म्हणून ते दोन ऑब्जेक्ट फायली व्युत्पन्न करते, म्हणजेच, मेन.ओ आणि फनक.ओ. एक्झिक्यूशनच्या वेळी, जर सब () फंक्शनची व्याख्या फनक.ओ फाईलमध्ये आढळली नाही तर लिंकर त्रुटी टाकली जाईल. सर्वात सामान्य लिंकर त्रुटी उद्भवते ती म्हणजे आम्ही मुख्य () ऐवजी मुख्य () वापरतो.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=78;
laiha("D maulya cyaa a Aahe : %paunaZ", A);
vaapasakra 0;
}
तार्किक त्रुटी
तार्किक त्रुटी ही एक त्रुटी आहे जी अवांछित आउटपुटकडे जाते. या त्रुटी चुकीचे आउटपुट तयार करतात, परंतु ते त्रुटी-मुक्त आहेत, जे लॉजिकल त्रुटी म्हणून ओळखले जातात. या प्रकारच्या चुका प्रामुख्याने नवशिक्याद्वारे केल्या जातात. या त्रुटींची घटना प्रामुख्याने विकसकाच्या तार्किक विचारांवर अवलंबून असते. जर प्रोग्रामर तार्किकदृष्ट्या चांगला वाटला तर या त्रुटींच्या शक्यता कमी असतील.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ baerija=0; // cala AarMBa
paunaZ ke=1;
jaeMvh(paunaZ mai=1;mai<=10;mai++); // taaZikk OauTi, mhnauna Aamhi oaalaa D AoaZvairama naMtar laupa
{
baerija=baerija+ke;
ke++;
}
laiha("D maulya cyaa baerija Aahe %paunaZ", baerija);
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही 10 अंकांची बेरीज मुद्रित करण्याचा प्रयत्न करीत आहोत, परंतु आम्ही लूपसाठी अर्धविराम (;) ठेवल्यामुळे आम्हाला चुकीचे आउटपुट मिळाले, म्हणून लूपची अंतर्गत विधाने कार्यान्वित होणार नाहीत. हे चुकीचे आउटपुट तयार करते.
अर्थपूर्ण त्रुटी
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A,bai,sai;
A=2;
bai=3;
sai=1;
A+bai=sai; // AYaZpaunaZ OauTi
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही ए+बी = सी विधान वापरतो, जे चुकीचे आहे कारण आम्ही डाव्या बाजूने दोन ऑपरेंड वापरू शकत नाही.
सी मध्ये स्थिर सी
स्टॅटिक हा सी प्रोग्रामिंग भाषेत वापरला जाणारा कीवर्ड आहे. हे दोन्ही व्हेरिएबल्स आणि फंक्शन्ससह वापरले जाऊ शकते, म्हणजेच आम्ही स्थिर व्हेरिएबल आणि स्थिर कार्य देखील घोषित करू शकतो. एक सामान्य व्हेरिएबल ज्या व्याप्तीमध्ये परिभाषित केले आहे त्या व्याप्तीपुरते मर्यादित आहे, तर स्थिर व्हेरिएबलची व्याप्ती संपूर्ण प्रोग्राममध्ये आहे.
स्टेटिक कीवर्ड का उपयोग निम्नलिखित में किया जा सकता है
Ne nemisं:
स्थिर ग्लोबल व्हेरिएबल जेव्हा स्टॅटिक कीवर्डसह ग्लोबल व्हेरिएबल घोषित केले जाते, तेव्हा ते स्थिर ग्लोबल व्हेरिएबल म्हणून ओळखले जाते. हे प्रोग्रामच्या शीर्षस्थानी घोषित केले गेले आहे आणि त्याची दृश्यमानता संपूर्ण प्रोग्राममध्ये आहे. स्थिर कार्य जेव्हा स्थिर फंक्शन म्हणून ओळखल्या जाणार्या स्थिर कीवर्डसह एखादे कार्य घोषित केले जाते. त्याचे आयुष्यभर संपूर्ण कार्यक्रमात आहे. स्थिर स्थानिक चल जेव्हा स्थानिक व्हेरिएबलला स्थिर कीवर्डसह घोषित केले जाते, तेव्हा ते स्थिर स्थानिक व्हेरिएबल म्हणून ओळखले जाते. स्टॅटिक स्थानिक व्हेरिएबलची मेमरी संपूर्ण प्रोग्राममध्ये वैध आहे, परंतु व्हेरिएबलच्या दृश्यमानतेची व्याप्ती स्वयंचलित स्थानिक व्हेरिएबल्ससारखेच आहे. तथापि, जेव्हा फंक्शन पहिल्या फंक्शन कॉल दरम्यान स्थिर स्थानिक व्हेरिएबलमध्ये सुधारित करते, तेव्हा हे सुधारित मूल्य पुढील फंक्शन कॉलसाठी देखील उपलब्ध असेल. स्थिर सदस्य व्हेरिएबल्स जेव्हा सदस्य व्हेरिएबल्स वर्गात स्थिर कीवर्डसह घोषित केले जातात, तेव्हा ते स्थिर सदस्य व्हेरिएबल्स म्हणून ओळखले जाते. त्यांच्याकडे वर्गाच्या सर्व घटनांद्वारे प्रवेश केला जाऊ शकतो, विशिष्ट उदाहरणासह नाही. स्थिर पद्धत स्थिर कीवर्डसह घोषित केलेल्या वर्गाचे सदस्य कार्य स्थिर पद्धत म्हणून ओळखले जाते. हे एका विशिष्ट घटनांसह नव्हे तर वर्गाच्या सर्व घटनांद्वारे प्रवेशयोग्य आहे.
चला उदाहरणाद्वारे समजूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
laiha("%paunaZ", inaDba());
laiha("\n%paunaZ", inaDba());
vaapasakra 0;
}
paunaZ inaDba()
{
paunaZ maaejanai=0; // cala AarMBa
maaejanai++; // vaaW kaUMTr cala
vaapasakra maaejanai; }
वरील कोडमध्ये, फंक () फंक्शन म्हणतात. फंक () मध्ये, गणना व्हेरिएबल अद्यतनित होते. फंक्शनने त्याची अंमलबजावणी पूर्ण होताच, मोजणी व्हेरिएबलची मेमरी काढली जाईल. जर आम्हाला मेमरीमधून गणना काढायची नसेल तर आम्हाला गणना व्हेरिएबल स्थिर म्हणून वापरण्याची आवश्यकता आहे. जर आम्ही व्हेरिएबलला स्थिर म्हणून घोषित केले तर फंक्शनने त्याची अंमलबजावणी पूर्ण केली तरीही व्हेरिएबल मेमरीमधून काढले जाणार नाही.
आउटपुट
1
1
स्थिर चल
स्थिर व्हेरिएबल एक व्हेरिएबल आहे जो विविध फंक्शन कॉलमध्ये त्याचे मूल्य कायम ठेवतो.
कसे लिहावे
स्थिर व्हेरिएबलचे वाक्यरचना खाली दिले आहे:
sYaayai deTaRpzakar vheriPbalaRnaava;
स्टॅटिक व्हेरिएबलचे एक साधे उदाहरण पाहूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
laiha("%paunaZ", inaDba());
laiha("\n%paunaZ", inaDba());
vaapasakra 0;
}
paunaZ inaDba()
{
sYaayai paunaZ maaejanai=0;
maaejanai++;
vaapasakra maaejanai;
}
वरील कोडमध्ये, आम्ही गणना व्हेरिएबलला स्थिर म्हणून घोषित केले आहे. जेव्हा फंक () म्हटले जाते, तेव्हा मोजण्याचे मूल्य 1 वर अद्यतनित होते आणि पुढील फंक्शन कॉल दरम्यान, मोजणी व्हेरिएबलचे मूल्य 2 होते. म्हणून आम्ही असे म्हणू शकतो की स्थिर व्हेरिएबलचे मूल्य फंक्शन कॉलमध्ये कायम आहे.
आउटपुट
1
2
स्थिर कार्य
आम्हाला माहित आहे की नॉन-स्टॅटिक फंक्शन्स डीफॉल्टनुसार जागतिक आहेत याचा अर्थ फाइलच्या बाहेर फंक्शनमध्ये प्रवेश केला जाऊ शकतो, परंतु जर आपण कार्य स्थिर म्हणून घोषित केले तर ते फंक्शन व्याप्ती मर्यादित करते. केवळ फाईलमध्ये स्थिर कार्य केले जाऊ शकते.
स्थिर कार्य जसे दिसून येईल:
sYaayai qaalai inaDba()
{
laiha("hWlaae jaavaaTpaEZMT");
}
फरक बी/डब्ल्यू स्टॅटिक आणि ग्लोबल व्हेरिएबल
ग्लोबल व्हेरिएबल्स हे व्हेरिएबल्स आहेत जे फंक्शनच्या बाहेर घोषित केले जातात. कार्यक्रमाच्या सुरूवातीस हे जागतिक चल अस्तित्त्वात आहेत आणि प्रोग्रामच्या समाप्तीपर्यंत त्याची व्याप्ती कायम आहे. प्रोग्रामच्या बाहेर देखील प्रवेश केला जाऊ शकतो. स्टॅटिक व्हेरिएबल्स मर्यादित आहेत स्त्रोत फाइलमध्ये ज्या परिभाषित केल्या आहेत, म्हणजेच ते इतर स्त्रोत फायलीद्वारे प्रवेशयोग्य नाहीत. दोन्ही स्थिर आणि जागतिक व्हेरिएबल्समध्ये स्थिर आरंभ आहे. येथे, स्थिर आरंभिक म्हणजे आम्ही व्हेरिएबलला कोणतेही मूल्य नियुक्त केले नाही तर डीफॉल्टनुसार, 0 मूल्य व्हेरिएबलला नियुक्त केले जाईल.
फरक बी/डब्ल्यू स्टॅटिक स्थानिक आणि स्थिर जागतिक चल
स्थिर ग्लोबल व्हेरिएबल फंक्शनच्या बाहेर स्थिर कीवर्डसह व्हेरिएबल घोषित केले असल्यास, ते स्थिर जागतिक चल म्हणून ओळखले जाते. हे संपूर्ण प्रोग्राममध्ये प्रवेशयोग्य आहे. स्थिर स्थानिक चल स्थिर कीवर्डसह व्हेरिएबल फंक्शनच्या आत घोषित केले जाते ते स्थिर स्थानिक व्हेरिएबल म्हणून ओळखले जाते. स्थिर स्थानिक व्हेरिएबलची व्याप्ती स्वयंचलित स्थानिक व्हेरिएबल्ससारखीच असेल, परंतु त्याची स्मृती संपूर्ण प्रोग्राम अंमलबजावणीमध्ये उपलब्ध असेल. जेव्हा फंक्शन कॉल दरम्यान फंक्शन स्थिर स्थानिक व्हेरिएबलचे मूल्य सुधारित करते, तर पुढील फंक्शन कॉल दरम्यानही ते समान राहील.
स्थिर चलचे गुणधर्म
खाली स्थिर व्हेरिएबलचे गुणधर्म आहेत:
स्थिर व्हेरिएबलची मेमरी स्थिर व्हेरिएबलमध्ये वाटप केली जाते. त्याची मेमरी संपूर्ण प्रोग्राममध्ये उपलब्ध आहे, परंतु व्याप्ती स्वयंचलित स्थानिक व्हेरिएबल्ससारखेच राहील. त्याचे विविध फंक्शन कॉलमध्ये मूल्य कायम राहील. आम्ही व्हेरिएबलला कोणतेही मूल्य नियुक्त न केल्यास डीफॉल्ट मूल्य 0 असेल. प्रोग्रामच्या बाहेर ग्लोबल स्टॅटिक व्हेरिएबलमध्ये प्रवेश केला जाऊ शकत नाही, तर ग्लोबल व्हेरिएबलला इतर स्त्रोत फायलीद्वारे प्रवेश केला जाऊ शकतो.
सी बुलियन
सी मध्ये, बुलियन हा एक डेटा प्रकार आहे ज्यामध्ये दोन प्रकारचे मूल्ये आहेत, म्हणजेच, 0 आणि 1. मुळात, बूल प्रकार मूल्य दोन प्रकारचे वर्तन दर्शविते, एकतर सत्य किंवा खोटे. येथे, '0' चुकीचे मूल्य दर्शविते, तर '1' खरे मूल्याचे प्रतिनिधित्व करते. सी बुलियनमध्ये, '0' 0 म्हणून संग्रहित केले जाते आणि दुसरा पूर्णांक 1 म्हणून संग्रहित केला जातो. आम्हाला सी ++ मध्ये बुलियन डेटा प्रकार वापरण्यासाठी कोणतीही शीर्षलेख फाइल वापरण्याची आवश्यकता नाही, परंतु सी मध्ये, आम्हाला हेडर फाइल वापरावी लागेल, म्हणजेच, एसटीडीबूल.एच. जर आम्ही शीर्षलेख फाइल वापरत नसाल तर प्रोग्राम संकलित करणार नाही.
कसे लिहावे
baula vheriPbalaRnaava;
वरील वाक्यरचना मध्ये, बूल व्हेरिएबलचा डेटा प्रकार आहे आणि व्हेरिएबल_नाव हे व्हेरिएबलचे नाव आहे.
आइए एक एक yala ह के के के के से समझें। समझें। समझें। समझें। समझें।
#vaapara <PsaTidiAayaAae.Pca>
#vaapara<IjakEvavasa.Pca>
paunaZ mauqya()
{
baula PKsa=qaaeTe; // cala AarMBa.
jar(PKsa==qare) // saSataZ sTeTmaenT
{
laiha("D maulya cyaa x Aahe qare");
}
nahitar
laiha("D maulya cyaa x Aahe qaaeTe");
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही
आउटपुट
D maulya cyaa PKsa Aahe qaaeTe
बुलियन अॅरे
आता आम्ही बूल प्रकार अॅरे तयार करतो. बुलियन अॅरेमध्ये एकतर खरे किंवा चुकीचे मूल्य असू शकते आणि अनुक्रमणिकेच्या मदतीने अॅरेच्या मूल्यांमध्ये प्रवेश केला जाऊ शकतो.
आइए इस raurिदृशtय को एक एक yala ह के के के के के यम समझें। समझें। समझें। समझें।
#vaapara <PsaTidiAayaAae.Pca>
#vaapara<IjakEvavasa.Pca>
paunaZ mauqya()
{
baula bai[2]={qare,qaaeTe}; // baulaiyana pzakar AWre
jaeMvh(paunaZ mai=0;mai<2;mai++) // jaeMvh laupa
{
laiha("%paunaZ,",bai[mai]); // laiha vaioaana
}
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही दोन मूल्ये असलेले एक बुलियन प्रकार अॅरे घोषित केले आहे, म्हणजेच खरे आणि खोटे.
आउटपुट
1,0,
टायपडेफ
टायपडेफ
बुलियन मूल्य वापरण्याचा आणखी एक मार्ग आहे, म्हणजेच टाइपडेफ. मूलभूतपणे, टायपडेफ हा सी भाषेतील एक कीवर्ड आहे, जो आधीपासून विद्यमान डेटाटाइपला नाव नियुक्त करण्यासाठी केला जातो.
आइए yala इपेडफ इपेडफal एक erलrल yasala ण देखें। देखें। देखें।
#vaapara <PsaTidiAayaAae.Pca>
pazkar saucai{qaaeTe,qare} bai;
paunaZ mauqya()
{
bai PKsa=qaaeTe; // cala AarMBa
jar(PKsa==qare) // saSataZ sTeTmaenT
{
laiha("D maulya cyaa x Aahe qare");
}
nahitar
{
laiha("D maulya cyaa x Aahe qaaeTe");
}
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही बुलियन मूल्ये वापरतो, म्हणजेच खरे आणि खोटे, परंतु आम्ही बूल प्रकार वापरला नाही. आम्ही 'बूल' प्रकाराचे नवीन नाव तयार करून बुलियन मूल्ये वापरतो. हे साध्य करण्यासाठी, टाइपडेफ कीवर्ड प्रोग्राममध्ये वापरला जातो.
pazkar saucai{qaaeTe,qare} bai;
वरील विधान 'बूल' प्रकारासाठी एक नवीन नाव तयार करते, म्हणजेच, 'बी' म्हणून 'बी' मध्ये एकतर खरे किंवा चुकीचे मूल्य असू शकते. आम्ही आमच्या प्रोग्राममध्ये 'बी' प्रकार वापरतो आणि 'बी' प्रकारातील 'एक्स' व्हेरिएबल तयार करतो.
आउटपुट
D maulya cyaa PKsa Aahe qaaeTe
लॉजिकल ऑपरेटरसह बुलियन
बुलियन प्रकार मूल्य लॉजिकल ऑपरेटरशी संबंधित आहे. सी भाषेत तीन प्रकारचे लॉजिकल ऑपरेटर आहेत: && (आणि ऑपरेटर): हे लॉजिकल ऑपरेटर आहे जे दोन ऑपरेंड घेते. जर दोन्ही ऑपरेंडचे मूल्य खरे असेल तर हा ऑपरेटर अन्यथा खरा परत येतो || (किंवा ऑपरेटर): हे लॉजिकल ऑपरेटर आहे जे दोन ऑपरेंड घेते. जर दोन्ही ऑपरेंडचे मूल्य चुकीचे असेल तर ते चुकीचे परत करते अन्यथा खरे. ! (ऑपरेटर नाही): हे ऑपरेटर नाही जे एक ऑपरेंड घेते. जर ऑपरेंडचे मूल्य चुकीचे असेल तर ते खरे परत येते आणि जर ऑपरेंडचे मूल्य खरे असेल तर ते चुकीचे परत करते.
चला उदाहरणाद्वारे समजूया.
#vaapara <PsaTidiAayaAae.Pca>
#vaapara<IjakEvavasa.Pca>
paunaZ mauqya()
{
baula PKsa=qaaeTe;
baula vaaya=qare;
laiha("D maulya cyaa x&&y Aahe %paunaZ", PKsa&&vaaya);
laiha("\Pna maulya cyaa x||y Aahe %paunaZ", PKsa||vaaya);
laiha("\Pna maulya cyaa !x Aahe %paunaZ", !PKsa);
}
आउटपुट
D maulya cyaa PKsa&&vaaya Aahe 0
D maulya cyaa PKsa||vaaya Aahe 1
D maulya cyaa !PKsa Aahe 1
सी मध्ये टोकन
सी मधील टोकन हा सर्वात महत्वाचा घटक आहे. त्याचप्रमाणे, आम्ही सी मध्ये टोकन न वापरता सी मध्ये एक प्रोग्राम तयार करू शकत नाही म्हणून आम्ही असे म्हणू शकतो की सी मधील टोकन बिल्डिंग ब्लॉक किंवा सी भाषेत प्रोग्राम तयार करण्यासाठी मूलभूत घटक आहे.
सी मध्ये टोकनचे वर्गीकरण
सी मध्ये कीवर्ड सी मध्ये अभिज्ञापक सी मध्ये तार सी मध्ये ऑपरेटर मध्ये स्थिर सी सी मध्ये विशेष वर्ण
सी मध्ये कीवर्ड
सी मधील कीवर्ड पूर्व-परिभाषित किंवा आरक्षित शब्दांचे स्वतःचे महत्त्व असलेले परिभाषित केले जाऊ शकते आणि प्रत्येक कीवर्डची स्वतःची कार्यक्षमता असते. कीवर्ड कंपाईलरद्वारे वापरलेले पूर्व-परिभाषित शब्द आहेत, म्हणून ते व्हेरिएबल नावे म्हणून वापरले जाऊ शकत नाहीत. कीवर्ड व्हेरिएबल नावे म्हणून वापरल्यास याचा अर्थ असा की आम्ही कीवर्डला एक वेगळा अर्थ देत आहोत, ज्याला परवानगी नाही. सी भाषा खाली दिलेल्या 32 कीवर्डचे समर्थन करते:
सी मध्ये अभिज्ञापक
सी मधील अभिज्ञापकांचा वापर व्हेरिएबल्स, फंक्शन्स, अॅरे, स्ट्रक्चर्स इ. नावासाठी केला जातो सी मधील अभिज्ञापक वापरकर्ता-परिभाषित शब्द आहेत. हे अप्परकेस अक्षरे, लोअरकेस अक्षरे, अंडरस्कोर किंवा अंकांनी बनलेले असू शकते, परंतु प्रारंभिक पत्र एकतर अंडरस्कोर किंवा वर्णमाला असावे. अभिज्ञापक कीवर्ड म्हणून वापरले जाऊ शकत नाहीत. सी मध्ये अभिज्ञापक बांधण्याचे नियम खाली दिले आहेत: अभिज्ञापकाचे पहिले वर्ण एकतर वर्णमाला किंवा अंडरस्कोर असावे आणि त्यानंतर ते कोणतेही वर्ण, अंक किंवा अंडरस्कोर नंतर असू शकते. हे कोणत्याही संख्यात्मक अंकीपासून सुरू होऊ नये. अभिज्ञापकांमध्ये, अप्परकेस आणि लोअरकेस दोन्ही अक्षरे वेगळे आहेत. म्हणून, आम्ही असे म्हणू शकतो की अभिज्ञापक केस संवेदनशील असतात. स्वल्पविराम किंवा रिक्त जागा अभिज्ञापकात निर्दिष्ट केली जाऊ शकत नाहीत. कीवर्ड एक अभिज्ञापक म्हणून दर्शविले जाऊ शकत नाहीत. अभिज्ञापकांची लांबी 31 वर्णांपेक्षा जास्त नसावी. अभिज्ञापक अशा प्रकारे लिहिले पाहिजेत की ते अर्थपूर्ण, लहान आणि वाचण्यास सुलभ आहे.
सी मध्ये तार
सी मधील तार नेहमीच स्ट्रिंगच्या शेवटी शून्य वर्ण '\ 0' असलेल्या वर्णांचे अॅरे म्हणून दर्शविले जातात. हे शून्य वर्ण स्ट्रिंगच्या शेवटी सूचित करते. सी मधील तार दुहेरी कोटमध्ये बंद आहेत, तर वर्ण एकाच वर्णांमध्ये बंद आहेत. स्ट्रिंगचा आकार म्हणजे स्ट्रिंगमध्ये अनेक वर्ण आहेत. आता आम्ही वेगवेगळ्या मार्गांनी तारांचे वर्णन करतो: चार ए [10] = "जावाटपॉईंट"; // कंपाईलर 10 बाइट्सला 'ए' अॅरेला वाटप करते. चार ए [] = "जावाटपॉईंट"; // कंपाईलर रन वेळी मेमरीचे वाटप करते. चार ए [10] = {'जे', 'ए', 'व्ही', 'ए', 'टी', 'पी', 'ओ', 'मी', 'एन', 'टी', '\ 0'}; // स्ट्रिंग वर्णांच्या स्वरूपात दर्शविले जाते.
सी मध्ये ऑपरेटर
सी मधील ऑपरेटर हे एक विशेष प्रतीक आहे जे फंक्शन्स करण्यासाठी वापरले जाते. ज्या डेटा आयटमवर ऑपरेटर लागू केले जातात ते ऑपरँड म्हणून ओळखले जातात. ऑपरेटर ऑपरेंड्स दरम्यान लागू केले जातात. ऑपरेटरच्या संख्येनुसार, ऑपरेटरचे खालीलप्रमाणे वर्गीकरण केले जाते:
युनरी ऑपरेटर
युनरी ऑपरेटर एक सिंगल ऑपरेंडवर लागू केलेला ऑपरेटर आहे. उदाहरणार्थ: वाढ ऑपरेटर (++), घट ऑपरेटर (-), आकार, (प्रकार)*.
बायनरी ऑपरेटर
बायनरी ऑपरेटर हा एक ऑपरेटर आहे जो दोन ऑपरेंड्स दरम्यान लागू होतो. खाली बायनरी ऑपरेटरची यादी आहे: अंकगणित ऑपरेटर रिलेशनल ऑपरेटर शिफ्ट ऑपरेटर लॉजिकल ऑपरेटर बिटवाइज ऑपरेटर सशर्त ऑपरेटर असाइनमेंट ऑपरेटर एमआयसीसी ऑपरेटर
सी मध्ये स्थिरांक
एक स्थिरता व्हेरिएबलला नियुक्त केलेले मूल्य आहे जे संपूर्ण प्रोग्राममध्ये समान राहील, म्हणजेच, स्थिर मूल्य बदलले जाऊ शकत नाही. स्थिर घोषित करण्याचे दोन मार्ग आहेत: कॉन्स्ट कीवर्ड वापरणे #परिभाषित प्री-प्रोसेसर वापरणे
सी में विशेष rermण
सी मध्ये काही विशेष वर्ण वापरली जातात आणि त्यांचा एक विशेष अर्थ आहे जो दुसर्या हेतूसाठी वापरला जाऊ शकत नाही. स्क्वेअर ब्रॅकेट्स []: उघडणे आणि बंद करणारे कंस एकल आणि बहुआयामी सबस्क्रिप्ट्सचे प्रतिनिधित्व करतात. साधे कंस (): हे फंक्शन डिक्लरेशन आणि फंक्शन कॉलिंगमध्ये वापरले जाते. उदाहरणार्थ, प्रिंटफ () हे पूर्व-परिभाषित कार्य आहे. कुरळे ब्रेसेस {}: हे कोड उघडण्यात आणि बंदात वापरले जाते. हे पळवाट उघडण्यात आणि बंद करताना वापरले जाते. स्वल्पविराम (,): हे एकापेक्षा जास्त स्टेटमेंटसाठी विभक्त करण्यासाठी आणि उदाहरणार्थ, फंक्शन कॉलमध्ये फंक्शन पॅरामीटर्स विभक्त करण्यासाठी, एकल प्रिंटएफ स्टेटमेंटचा वापर करून एकापेक्षा जास्त व्हेरिएबलचे मूल्य मुद्रित करताना व्हेरिएबल विभक्त करण्यासाठी वापरले जाते. हॅश/प्री-प्रोसेसर (#): हे प्री-प्रोसेसर निर्देशकासाठी वापरले जाते. हे मुळात सूचित करते की आम्ही शीर्षलेख फाइल वापरत आहोत. एस्टेरिस्क (*): हे चिन्ह पॉइंटर्सचे प्रतिनिधित्व करण्यासाठी वापरले जाते आणि गुणाकार करण्यासाठी ऑपरेटर म्हणून देखील वापरले जाते. टिल्डे (~): हे विनामूल्य मेमरीसाठी डिस्ट्रक्टर म्हणून वापरले जाते. कालावधी (.): याचा उपयोग एखाद्या संरचनेच्या किंवा युनियनच्या सदस्यात प्रवेश करण्यासाठी केला जातो.