సీ
సీ ఒక కంప్యూటర్ భాష. దీనిని మధ్య స్థాయి భాషగాను లేదా క్రింది స్థాయి భాషగాను ఉపయోగించుకోవచ్చు. సీని 1970 లో కెన్ థాంప్సన్ మరియు డెన్నిస్ రిచీ అను శాస్త్రవేత్తలు తయారు చేసారు. ఇప్పుడు ఈ భాషను కంప్యూటింగ్ రంగంలో చాలా విస్త్రుతంగా వాడుతున్నారు. అంతే కాదు, ఈ భాషకు ఉన్న కొన్ని ప్రత్యేకతల వలన క్రింది స్థాయి అప్లికేషన్లకు చాలా మంచి భాషగా ప్రాముఖ్యత పొందింది.
విషయ సూచిక |
చరిత్ర [మార్చు]
సీ భాష మొట్టమొదట ఏటీ & టీ బెల్ పరిశోధనాలయంలో (AT&T Bell Labs) 1969కు 1973 మధ్యన తయారు చేయటం జరిగింది. ఎక్కువ భాగం 1972లో తయారయింది. 'సి' కంటే ముందు 'బి' అనే కంప్యూటరు భాష ఉండేది. 'సీ'కి సంబందించిన చాలా విశేషాలను 'బి' నుండే తీసుకున్నారు. ఆంగ్లములో 'బి' తరువాత 'సి' వస్తుంది. ఈ రెండు కారణాల వలన 'సి' కి ఆ పేరు పెట్టడము జరిగింది. 1973 కల్లా సీ భాష మంచి రూపు సంతరించుకుంది, అటు తరువాత సీ భాషను ఉపయోగించి యునీక్సు కెర్నలుని మరలా నిర్మించారు.
సీ నేర్చుకొందుకు కావలిసినవి [మార్చు]
సీ భాషకు ముందుమాటలో వివరముగా చదవండి.
సీ-భాష నేర్చుకొనేముందు మీరు కంప్యూటరు గురించి ప్రాధమిక పరిజ్ఞానము ఉండవలెను. అయితే మీకు ప్రోగ్రామింగుకి సంబంధించిన పరిజ్ఞానము పెద్దగా అవసరము లేదు. సీ-భాష నేర్చుకొనేందుకు మీకు ఒక సీ-కంపైలరు కావలెను. మీరు విండోసు ఆపరేటింగ్ సిస్టం వాడుతున్నట్లయితే
- gcc కోసం Cygwin, కానీ MinGW కానీ వాడవలెను.
- లేదా ఏదయినా వాణిజ్యపరమయిన సీ-కంపైలర్లు/IDEలు కూడా వాడవచ్చును.
మీరి లినక్స్ ని వాడుతున్నట్లయితే gcc ఈపాటికే మీ కంప్యుటరులో ఉండాలి.
విశేషములు [మార్చు]
ఉపోద్ఘాతము [మార్చు]
సీ భాష అసెంబ్లీ భాష(assembly language)కు బాగా దగ్గరగా ఉంటుంది. అందుకనే, సీ భాషను అప్పుడప్పుడు "portable assembly" అని పిలుస్తారు. ఒక సారి సీ భాషలో రాసిన ప్రోగ్రాముని దాదాపు ఏ యంత్రములోనయినా కంపైలు (compile) చేసుకొని వాడుకోవచు. కానీ అసెంబ్లీ భాషలో ఇలా అన్ని యంత్రాలకు సరిపోయేటట్లు ప్రోగ్రాములను వ్రాయటము కుదరదు.
"హలో, ప్రపంచం!" ఉదాహరణ [మార్చు]
మామూలుగా ఎవరయినా చిన్నపిల్లలకు భాషను నేర్పేటప్పుదు "అమ్మ" అనో, ఓం నమఃశివాయ అనో (ఓనమాలు అనే పదం ఇక్కడనుండే వచ్చినది అని చెప్తారు)వ్రాయించి ఓనమాలు దిద్దిస్తారు. అలాగే కంప్యూటరు భాషలను నేర్చుకునేటప్పుడు ఈ "హలో, ప్రపంచం!" ఉదాహరణతో మొదలు పెడతారు. ఈ ప్రోగ్రాము "హలో, ప్రపంచం!" అని మీ కంప్యూటరు మానిటరు మీద చూపిస్తుంది. సి భాషలో "హలో, ప్రపంచం!" ఉదహరణ ఈ క్రింది విధముగా ఉంటుంది.
main()
{
printf("హలో, ప్రపంచం!\n");
}
పైన ఇచ్చిన ప్రోగ్రాము దాదాపు అన్ని కంపైలరు(compiler)లలో పని చేయక పోవచ్చును. ఎందుకనగా అది ANSI C ప్రమాణాల ప్రకారం రాయబడలేదు. ఆ ప్రోగ్రాముకు చిన్నచిన్న మార్పులు చేర్పులు చేస్తే, ప్రమాణాలకు తగ్గట్లుగా మార్చు కోవచును.
#include <stdio.h>
int main(void)
{
printf("హలో, ప్రపంచం!\n");
return 0;
}
అయితే ఇప్పుడు మనము పైన ఇచ్చిన ప్రోగ్రాములోని ఒకొక్క వాక్యాన్ని అర్ధము చేసుకుందాము
#include <stdio.h>
సీ-భాషలో #తో మొదలయే వాక్యాలను "ప్రీప్రోసెసింగ్ డైరెక్టీవ్స్" ("preprocessing directive") అని అంటారు. #include అను ప్రీప్రోసెసింగ్ డైరెక్టీవ్, ప్రీప్రోసెసర్ను-ఆ వాక్యంలో పేర్కొన్న ఫైలులో ఉన్న మొత్తము సమాచారముతో, ఈయొక్క వాక్యము బదులుగా చేర్చుటకు సూచన ఇచ్చును.
int main(void)
తరువాతి వాక్యములో main అను ఒక ఫంక్షనుని "వివరించటం"(define) జరిగింది. సీ-భాషలో main-ఫంక్షనుతో ఒక ప్రత్యేక ఉపయోగము ఉంది. ప్రోగ్రాముని ఎక్సిక్యూట్ చేసినప్పుడు ఈ ఫంక్షనునే మొటమొదట కాల్ చేస్తారు. కాబట్టి ఈ main-ఫంక్షను ప్రతీ ప్రోగ్రాములో తపని సరిగా ఉండాలి. int అనునది ఆ ఫంక్షను తిరిగి పంపించు సమాచారము యొక్క రూపును తెలుపును. ఇక్కడ int అనగా ఆ సమాచారము integer రూపములో ఉంటుందని అర్థము. (void) అనగా main-ప్రోగ్రామును పిలుచుటకు ఎటువంటి ఆర్గ్యుమెంట్సు(agruments)ని పంపించనవసరము లేదు అని తెలుపుతున్నది.
{
తెరుచుకునే మీసాల బ్రాకెట్లు main-ఫంక్షను మొదలును సూచించును.
printf("హలో, ప్రపంచం\n");
ఈ వాక్యము printf అను ఫంక్షనుని కాల్(call) చేయును. ఈ ఫంక్షను stdio.h అను హెడ్డరు ఫైలులో నిర్మింపబడినది. ఈ ఫంక్షను, దానిలోకి పంపించిన సమాచారాన్ని ఒక క్రమ పద్దతిలో అమర్చి మీ మానిటరు పైన చూపించును. "హలో, ప్రపంచం!\n" లో \n అనునది ఎస్కేప్ సీక్వెన్స్ ("escape sequence") అని అందురు, అది కర్సరుని ఇంకో క్రొత్త లైనులోకి వెళ్ళుటకు అదేశించును. ఇచట మామూలు సమాచారము మధ్యలో అడెశములు కూడా ఉండటము వలన ఎస్కేప్ సీక్వెన్స్ అని పిలవటం జరుగుతుంది. printf-ఫంక్షను int రూపములో ఉన్న సమాచారమును తిప్పి పంపించును, కానీ దాని వలన మనకు పెద్ద ఉపయోగములు ఏమీ ఉండవు.
return 0;
ఈ వాక్యము main-ఫంక్షను ఎక్సిక్యూషన్ని అంతము చేసి '0' అనే సంఖ్యను తిప్పి పంపించును.
}
మూసుకునే మీసాల బ్రాకెట్లు main-ఫంక్షను చివరను సూచించును.
అభిప్రాయములు - వ్యాఖ్యలు [మార్చు]
సాధారణంగా కొన్ని వాక్యముల ప్రోగ్రాముని రాసి, ఆ వాక్యములు ఏమి చేస్తాయి అనే దానిని మనము ఈ వ్యాఖ్యలుగా రాసుకోవచ్చును. సీ-భాషలో వ్యాఖ్యలను /* మరియు */ ల మధ్యన ఉంచవలెను. కావున /* */ మధ్యన ఏమి ఉన్నా కంపైలరు అసలు పట్టించుకోదు. అయితే అభిప్రాయములు తెలుపుటకు మనము "//" కూడా ఉపయోగించ వచ్చును. కాక పోతే // ఉపయోగించినప్పుడు వాటి తరువాత ఆ లైనులో ఉన్నదంతా వ్యాఖ్య కిందకు వస్తుంది.
వీటిని కూడా చూడండి [మార్చు]
- సీ-ప్రీప్రాసెసర్
- సీ-ప్రామాణిక నిధి (Standard Library)
- సీ-వ్యాకరణము (Syntax)
- సీ-ఆపరేటర్లు
ఇవి కూడా చూడండి [మార్చు]
- బ్రయాన్ కెర్నిగన్ మరియు డెన్నీస్ రిచీ రాసిన ద సీ ప్రోగ్రామింగ్ లాగ్వేజీ, దీనిని K&R అని కూడా పిలుస్తారు.
- సీ ప్రోగ్రామింగ్ లాగ్వేజీ, వికీపీడియా ఆంగ్లము నుండి