సి ఆపరేటర్ ప్రాధాన్యత మరియు అసోసియేటివిటీ అంటే ఏమిటి

Si Aparetar Pradhan Yata Mariyu Asosiyetiviti Ante Emiti



C లో వివిధ అంకగణిత మరియు తార్కిక కార్యకలాపాలను నిర్వహించడానికి ఆపరేటర్లను సాధారణంగా ఉపయోగిస్తారు. C ప్రోగ్రామింగ్ భాష ఒక నిర్దిష్ట క్రమాన్ని అనుసరిస్తుంది ఆపరేటర్ ప్రాధాన్యత మరియు సాంగత్యము అమలు సమయంలో కార్యకలాపాల క్రమాన్ని నిర్ణయించడానికి. యొక్క నియమాలు ఆపరేటర్ ప్రాధాన్యత మరియు సాంగత్యము లోపం లేని కోడ్‌ని వ్రాయడంలో మరియు కోడ్ రీడబిలిటీని పెంచడంలో సహాయం చేస్తుంది.

ఈ కథనం C లో అసోసియేటివిటీ మరియు ఆపరేటర్ ప్రాధాన్యత గురించి తెలుసుకోవడానికి మీకు సహాయం చేయడానికి సమగ్ర ట్యుటోరియల్‌ని అందిస్తుంది.

C లో ఆపరేటర్ ప్రాధాన్యత

ఆపరేటర్ ప్రాధాన్యత వ్యక్తీకరణలను మూల్యాంకనం చేస్తున్నప్పుడు అనేక ఆపరేటర్లు మూల్యాంకనం చేయబడే క్రమాన్ని వివరిస్తుంది. ఉదాహరణకు, ఒక వ్యక్తీకరణకు సంకలనం మరియు గుణకార ఆపరేటర్లు రెండూ ఉంటే, ఏది ముందుగా మూల్యాంకనం చేయాలి? సమాధానం చాలా సులభం, అటువంటి అస్పష్టతను పరిష్కరించడానికి C కొన్ని నియమాలను అనుసరిస్తుంది, దీనిని సాధారణంగా అంటారు ఆపరేటర్ ప్రాధాన్యత . సి లో, ఆపరేటర్ ప్రాధాన్యత యునరీ ఆపరేటర్ల నుండి టెర్నరీ షరతులతో కూడిన ఆపరేటర్ వరకు 17 స్థాయిలుగా వర్గీకరించబడింది. అరిథ్మెటిక్ ఆపరేటర్లు, రిలేషనల్ ఆపరేటర్లు, లాజికల్ ఆపరేటర్లు మరియు బిట్‌వైస్ ఆపరేటర్లు వంటి ఎక్కువగా ఉపయోగించే ఆపరేటర్లు C ప్రమాణాన్ని అనుసరిస్తారు ఆపరేటర్ ప్రాధాన్యత ప్రోటోకాల్.







ప్రాధాన్యత వ్యక్తీకరణలను మూల్యాంకనం చేసేటప్పుడు ఏ ఆపరేటర్‌లకు ఇతరుల కంటే ఎక్కువ ప్రాధాన్యత ఉంటుందో నియమాలు నిర్దేశిస్తాయి. సి ప్రోగ్రామింగ్ లాంగ్వేజ్‌లోని అనేక రకాల ఆపరేటర్‌లు వివిధ స్థాయిలను కలిగి ఉంటాయి ప్రాధాన్యత . ఉదాహరణకు, బైనరీ ఆపరేటర్‌ల కంటే unary ఆపరేటర్‌లకు ఎక్కువ ప్రాధాన్యత ఉంటుంది. కిందిది ఆరోహణ క్రమంలో క్రమబద్ధీకరించబడిన ఆపరేటర్ల జాబితా ప్రాధాన్యత :



ఆపరేటర్ ఆపరేటర్ యొక్క అర్థం అసోసియేటివిటీ
()
[]
->
.
ఫంక్షనల్ కాల్

అర్రే మూలకం సూచన



పరోక్ష సభ్యుల ఎంపిక





ప్రత్యక్ష సభ్యుని ఎంపిక

ఎడమ నుండి కుడికి
!
~
+

++

&
*
పరిమాణం
(రకం)
తార్కిక నిరాకరణ

బిట్‌వైస్ (1లు) పూరకంగా

యునరీ ప్లస్

యునారీ మైనస్

ఇంక్రిమెంట్

తగ్గింపు

డెరిఫరెన్స్ (చిరునామా)

పాయింటర్ సూచన

వస్తువు యొక్క పరిమాణాన్ని అందిస్తుంది

టైప్‌కాస్ట్ (మార్పిడి)

కుడి నుండి ఎడమ
*
/
%
గుణించండి

విభజించు

శేషం

ఎడమ నుండి కుడికి
+
బైనరీ ప్లస్ (అదనంగా)

బైనరీ మైనస్(వ్యవకలనం)

ఎడమ నుండి కుడికి
<<
>>
ఎడమ షిఫ్ట్

కుడి షిఫ్ట్

ఎడమ నుండి కుడికి
<
<=
>
>=
కంటే తక్కువ

కంటే తక్కువ లేదా సమానం

అంతకన్నా ఎక్కువ

కంటే ఎక్కువ లేదా సమానం

ఎడమ నుండి కుడికి
==
!=
సమానంగా

సమానం కాదు

ఎడమ నుండి కుడికి
& బిట్‌వైస్ మరియు ఎడమ నుండి కుడికి
^ బిట్‌వైస్ ప్రత్యేకమైన OR ఎడమ నుండి కుడికి
| బిట్‌వైస్ OR ఎడమ నుండి కుడికి
&& లాజికల్ మరియు ఎడమ నుండి కుడికి
|| లాజికల్ OR ఎడమ నుండి కుడికి
?: షరతులతో కూడిన ఆపరేటర్ కుడి నుండి ఎడమ
=
*=
/=
%=
+=
-=
&=
^=
|=
<<=
>>=
సాధారణ అప్పగించిన

ఉత్పత్తిని కేటాయించండి

పరిమాణాన్ని కేటాయించండి

మిగిలినవి కేటాయించండి

మొత్తాన్ని కేటాయించండి

తేడాను కేటాయించండి

బిట్‌వైజ్ మరియు కేటాయించండి

బిట్‌వైజ్ XORని కేటాయించండి

బిట్‌వైజ్ లేదా కేటాయించండి

ఎడమ షిఫ్ట్‌ని కేటాయించండి

కుడి షిఫ్ట్ కేటాయించండి

కుడి నుండి ఎడమ
, వ్యక్తీకరణల విభజన ఎడమ నుండి కుడికి

ఒకే ఎక్స్‌ప్రెషన్‌లో బహుళ ఆపరేటర్‌లతో వ్యక్తీకరణలను ఎలా మూల్యాంకనం చేయాలో ఈ నియమాలు కంపైలర్‌కు మార్గనిర్దేశం చేస్తాయి. గుణకారం ఆపరేటర్, ఉదాహరణకు, A + B * C సమీకరణంలో సంకలన ఆపరేటర్ కంటే ఎక్కువ ప్రాధాన్యతను కలిగి ఉంటుంది, దీనికి అనుగుణంగా ప్రాధాన్యత నియమాలు. అందువల్ల, ఫలితానికి Aని జోడించే ముందు కంపైలర్ మొదట B * C వ్యక్తీకరణను మూల్యాంకనం చేస్తుంది.

యొక్క ఒక ఉదాహరణ చూద్దాం ఆపరేటర్ ప్రాధాన్యత కోడ్ ద్వారా.

# చేర్చండి

int ప్రధాన ( ) {

int a = 43 , బి = పదకొండు , సి = 16 , డి = 31 ;

int ఫలితం = ++ a * బి -- + సి / -- డి ;

printf ( 'a = %d \n ' , a ) ;

printf ( 'b = %d \n ' , బి ) ;

printf ( 'సి = %d \n ' , సి ) ;

printf ( 'd = %d \n ' , డి ) ;

printf ( 'ఫలితం = %d \n ' , ఫలితం ) ;

తిరిగి 0 ;

}

నాలుగు వేరియబుల్స్ a, b, c మరియు d, పై కోడ్‌లో ప్రకటించబడ్డాయి మరియు వాటి ప్రారంభ విలువలు తదనుగుణంగా 43, 11, 16 మరియు 31. అప్పుడు, ఇది వ్యక్తీకరణలోని ఈ వేరియబుల్స్‌కు వివిధ రకాల అంకగణితం మరియు అసైన్‌మెంట్ ఆపరేటర్‌లను వర్తింపజేస్తుంది. ఎక్స్‌ప్రెషన్ ప్రీ-ఇంక్రిమెంట్ ఆపరేటర్ ++aని ఉపయోగించడం ద్వారా a విలువను పెంచుతుంది, పోస్ట్-డిక్రిమెంట్ ఆపరేటర్ b– ద్వారా ఫలితాన్ని గుణించి, ఆపై d యొక్క ముందుగా తగ్గిన విలువతో భాగించే cకి ఫలితాన్ని జోడిస్తుంది. (ప్రీ డిక్రిమెంట్ ఆపరేటర్ –dని ఉపయోగించి). ఈ వ్యక్తీకరణ యొక్క మొత్తం ఫలితాన్ని ఉంచడానికి వేరియబుల్ ఫలితం ఉపయోగించబడుతుంది.

అవుట్‌పుట్

సి లో అసోసియేటివిటీ

అసోసియేటివిటీ అదే ప్రాధాన్యతతో వ్యక్తీకరణ సమయంలో ఆపరేటర్‌లను మూల్యాంకనం చేసే క్రమాన్ని సూచిస్తుంది. ఎడమ నుండి కుడికి మరియు కుడి నుండి ఎడమకు సాంగత్యము C లో అసోసియేటివిటీ యొక్క రెండు రూపాలు. ఇద్దరు ఆపరేటర్లు ఒకే విధంగా ఉంటే ప్రాధాన్యత , ఎడమ నుండి కుడికి అనే భావన ప్రకారం అవి ఎడమ నుండి కుడికి అంచనా వేయబడతాయి సాంగత్యము . అయినప్పటికీ, అదే ప్రాధాన్యతను గమనించినట్లయితే, ఆపరేటర్లు కుడి-నుండి-ఎడమ ప్రకారం కుడి నుండి ఎడమకు మూల్యాంకనం చేయబడతారు సాంగత్యము .

ఉదాహరణకు, ++ ఇంక్రిమెంట్ ఆపరేటర్‌కు కుడి-నుండి-ఎడమ ఉంటుంది సాంగత్యము , అంటే ఇంక్రిమెంట్ ఆపరేటర్ వేరియబుల్ తర్వాత మూల్యాంకనం చేయబడుతుంది. అయితే లాజికల్ మరియు ఆపరేటర్ ఎడమ నుండి కుడికి ఉంది సాంగత్యము , అంటే ఆపరేటర్ ఎడమ నుండి కుడికి మూల్యాంకనం చేయబడుతుంది.

# చేర్చండి

int ప్రధాన() {

int a = 6 , బి = 3 , c = 2 ;

int ఫలితం = a * b / c;

printf( 'ఫలితం = %d \n ' , ఫలితం);

తిరిగి 0 ;

}

మూడు వేరియబుల్స్ a, b మరియు c ఈ కోడ్‌లో ప్రకటించబడ్డాయి మరియు అవి వరుసగా 6, 3 మరియు 2కి ప్రారంభించబడతాయి. అప్పుడు, ఇది వ్యక్తీకరణలోని ఈ వేరియబుల్స్‌కు గుణకారం మరియు విభజన కార్యకలాపాలను వర్తింపజేస్తుంది. గుణకారం మరియు భాగహారం వాటి ఆధారంగా Cలో ఎడమ నుండి కుడికి ర్యాంక్ చేయబడ్డాయి సాంగత్యము అవి ఒకే ప్రాధాన్యత స్థాయిని కలిగి ఉంటాయి. వ్యక్తీకరణను మూల్యాంకనం చేసేటప్పుడు విభజన ఆపరేషన్ మొదట వస్తుంది, తర్వాత గుణకారం ఆపరేషన్, a * b / c అని ఇది సూచిస్తుంది.

అవుట్‌పుట్

ముగింపు

ఆపరేటర్ ప్రాధాన్యత మరియు సాంగత్యము వ్యక్తీకరణల అమలు క్రమాన్ని నిర్ణయించడంలో సహాయపడే C ప్రోగ్రామింగ్‌లో కీలకమైన అంశాలు. అత్యధికంగా ఉన్న ఆపరేటర్లు ప్రాధాన్యత స్థాయిని ముందుగా మూల్యాంకనం చేస్తారు మరియు సాంగత్యము ఒకే ప్రాధాన్యత కలిగిన బహుళ ఆపరేటర్‌లను ఉపయోగించినప్పుడు క్రమాన్ని నిర్ణయించడంలో నియమాలు సహాయపడతాయి. అవగాహన ఆపరేటర్ ప్రాధాన్యత మరియు సాంగత్యము సంక్లిష్ట ప్రోగ్రామ్‌లను రూపొందించేటప్పుడు ఇది చాలా అవసరం, మరియు ఇది తక్కువ ఎర్రర్‌లతో క్లీనర్ మరియు మరింత సమర్థవంతమైన కోడ్‌ని ఉత్పత్తి చేయడంలో సహాయపడుతుంది.