Privacy Policy Cookie Policy Terms and Conditions సీ - వికిపీడియా

సీ

వికీపీడియా నుండి

సీ ఒక క్రింది స్థాయి భాష (కొంత మంది దీనిని మధ్య స్థాయి భాష అని కూడా పిలుస్తారు). సీ ని 1970 లో Ken Thompson మరియు Dennis Ritchie అను శాస్త్రవేత్తలు తయారు చేసారు. ఇప్పుడు ఈ భాషను కంప్యూటింగ్ రంగంలో చాలా విస్త్రుతంగా వాడుతున్నారు. అంతే కాదు, ఈ భాషకు ఉన్న కొన్ని ప్రత్యేకతల వలన క్రింది స్థాయి అప్లికేషన్లకు చాలా మంచి భాషగా ప్రాముఖ్యత పొందింది.

విషయ సూచిక

[మార్చు] చరిత్ర

సీ భాష మొటమొదట ఏటీ & టీ బెల్ పరిశోధనాలయంలో (AT&T Bell Labs) 1969 కి 1973 మధ్యన తయారు చేయటం జరిగింది. 'సి' కంటే ముందు 'బి' అనే కంప్యూటరు భాష ఉండేది. 'సీ'కి సంబందించిన చాలా విషయములు 'బి' నుండే దత్తతు తీసుకున్నారు. ఆంగ్లములో 'బి' తరువాత 'సి' వస్తుంది. ఈ రెండు కారణాల వలన 'సి' కి ఆ పేరు పెట్టడము జరిగింది. (మరి కొన్ని కారణాలు కూడా ప్రాచుర్యములో ఉన్నాయి కాని, పైవే చాలా మంది నమ్ముతారు).

[మార్చు] సీ నేర్చుకొందుకు కావలిసినవి

సీ భాషకు ముందుమాటలో వివరముగా చదవండి.

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

  • gcc కోసం Cygwin, కానీ MinGW కానీ వాడవలెను.
  • లేదా ఏదయినా వాణిజ్యపరమయిన సీ-కంపైలర్లు/IDEలు కూడా వాడవచ్చును.

మీరి లినక్స్ ని వాడుతున్నట్లయితే gcc ఈపాటికే మీ కంప్యుటరులో ఉండాలి.

[మార్చు] విశేషములు

[మార్చు] ముందు మాట

సీ భాష అసెంబ్లీ బాష(assembly language)కు బాగా దగ్గరగా ఉంటుంది. అందుకనే, సీ భాషను అప్పుడప్పుడు "portable assembly" అని పిలుస్తారు. ఒక సారి సీ భాషలో రాసిన ప్రోగ్రాముని దాదాపు ఏ యంత్రములోనయినా కంపైలు (compile) చేసుకొని వాడుకోవచు. కానీ అసెంబ్లీ బాషలో ఇలా అన్ని యంత్రాలకు సరిపోయేటట్లు ప్రోగ్రాములను వ్రాయటము కుదరదు.

[మార్చు] "Hello, World!" ఉదాహరణ

మామూలుగా ఎవరయినా చిన్నపిల్లలకు భాషను నేర్పేటప్పుదు "అమ్మ" అనో, ఓం నమఃశివాయ అనో (ఓనమాలు అనే పదం ఇక్కడనుండే వచ్చినది అని చెప్తారు)వ్రాయించి ఓనమాలు దిద్దిస్తారు. అలాగే కంప్యూటరు భాషలను నేర్చుకునేటప్పుడు ఈ "Hello, World!" ఉదాహరణతో మొదలు పెడతారు. ఈ ప్రోగ్రాము "Hello, World!" అని మీ కంప్యూటరు మానిటరు మీద చూపిస్తుంది. సి భాషలో "Hello, World!" ఉదహరణ ఈ క్రింది విధముగా ఉంటుంది.

main()
{
    printf("Hello, World!\n");
}

పైన ఇచ్చిన ప్రోగ్రాము దాదాపు అన్ని కంపైలరు(compiler)లలో పని చేయక పోవచ్చును. ఎందుకనగా అది ANSI C ప్రమాణాల ప్రకారం రాయబడలేదు. ఆ ప్రోగ్రాముకు చిన్నచిన్న మార్పులు చేర్పులు చేస్తే, ప్రమాణాలకు తగ్గట్లుగా మార్చు కోవచును.

#include <stdio.h>

int main(void)
{
    printf("Hello, World!\n");

    return 0;
}

అయితే ఇప్పుడు మనము పైన ఇచ్చిన ప్రోగ్రాములోని ఒకొక్క వాక్యాన్ని అర్ధము చేసుకుందాము

#include <stdio.h>

సీ-భాషలో #తో మొదలయే వాక్యాలను "ప్రీప్రోసెసింగ్ డైరెక్టీవ్స్" ("preprocessing directive") అని అంటారు. #include అను ప్రీప్రోసెసింగ్ డైరెక్టీవ్, ప్రీప్రోసెసర్ను-ఆ వాక్యంలో పేర్కొన్న ఫైలులో ఉన్న మొత్తము సమాచారముతో, ఈయొక్క వాక్యము బదులుగా చేర్చుటకు సూచన ఇచ్చును.

int main(void)

తరువాతి వాక్యములో main అను ఒక ఫంక్షనుని "వివరించటం"(define) జరిగింది. సీ-భాషలో main-ఫంక్షనుతో ఒక ప్రత్యేక ఉపయోగము ఉంది. ప్రోగ్రాముని ఎక్సిక్యూట్ చేసినప్పుడు ఈ ఫంక్షనునే మొటమొదట కాల్ చేస్తారు. కాబట్టి ఈ main-ఫంక్షను ప్రతీ ప్రోగ్రాములో తపని సరిగా ఉండాలి. int అనునది ఆ ఫంక్షను తిరిగి పంపించు సమాచారము యొక్క రూపును తెలుపును. ఇక్కడ int అనగా ఆ సమాచారము integer రూపములో ఉంటుందని అర్ధము. (void) అనగా main-ప్రోగ్రామును పిలుచుటకు ఎటువంటి ఆర్గ్యుమెంట్సు(agruments)ని పంపించనవసరము లేదు అని తెలుపుతున్నది.

{

తెరుచుకునే మీసాల బ్రాకెట్లు main-ఫంక్షను మొదలును సూచించును.

    printf("Hello World\n");

ఈ వాక్యము printf అను ఫంక్షనుని కాల్(call) చేయును. ఈ ఫంక్షను stdio.h అను హెడరు ఫైలులో నిరింపబడినది. ఈ ఫంక్షను, దానిలోకి పంపించిన సమాచారాన్ని ఒక క్రమ పద్దతిలో అమర్చి మీ మానిటరు పైన చూపించును. "Hello, World!\n" లో \n అనునది ఎస్కేప్ సీక్వెన్స్ ("escape sequence") అని అందురు, అది కర్సరుని ఇంకో క్రొత్త లైనులోకి వెల్లుటకు అదేశించును. ఇచట మామూలు సమాచారము మధ్యలో అడెశములు కూడా ఉండటము వలన ఎస్కేప్ సీక్వెన్స్ అని పిలవటం జరుగుతుంది. printf-ఫంక్షను int రూపములో ఉన్న సమాచారమును తిప్పి పంపించును, కానీ దాని వలన మనకు పెద్ద ఉపయోగములు ఏమీ ఉండవు.

    return 0;

ఈ వాక్యము main-ఫంక్షను ఎక్సిక్యూషన్ని అంతము చేసి '0' అనే సంఖ్యను తిప్పి పంపించును.

}

మూసుకునే మీసాల బ్రాకెట్లు main-ఫంక్షను చివరను సూచించును.

[మార్చు] అభిప్రాయములు - వ్యాఖ్యలు

సాదారనముగా కోన్ని వాక్యముల ప్రోగ్రాముని రాసి, ఆ వాక్యములు ఏమి చేస్తాయి అనే దానిని మనము ఈ అభిప్రాయములుగా రాసుకోవచును. సీ-భాషలో అభిప్రాయములను /* మరియు */ ల మధ్యన ఉంచవలెను. కావున /* */ మధ్యన ఏమి ఉన్నా కంపైలరు అసలు పటించుకోదు. అయితే అభిప్రాయములు తెలుపుటకు మనము "//" కూడా ఉపయోగించ వచ్చును. కాక పోతే // ఉపయోగించినపుడు వాటి తరువాత ఆ లైనులో ఉన్నదంతా అభిప్రాయము కిందకు వస్తుంది.

[మార్చు] వీటిని కూడా చూడండి

  • సీ-ప్రీప్రాసెసర్
  • సీ-గ్రంధాలయము (Standard Library)
  • సీ-వ్యాకరణము (Syntax)
  • సీ-ఆపరేటర్లు

[మార్చు] రిఫరెంసులు

[మార్చు] చూడదగిన ఇతర పేజీలు

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu