Ы збекистон Республикаси Олий ва ырта махсус таълим вазирлиги
Си программалаш тили. Си тили элементлари
Download 407 Kb.
|
SI
Си программалаш тили.Си тили элементлари.Тилнинг асосий тушунчалари. Тил алфавити.Си программалаш тили Юникс операцион системаси билан бо\ланган былиб, шу системада ишлатиладиган бир =анча программалар Си тилида яратилган. Си программалаш тили машинанинг барча имкониятларидан тылалигича фойдаланишга имкон беради. Си мылжалланишига кыра умумий былиб, у ю=ори даражали программалаш тиллари билан Ассеблер орасида орали= вазиятни эгаллайди. Программани бош=арувчи операторлар структурали программалаш талабларига жавоб беради. Унда киритиш-чи=ариш, хотирани динамик та=симлаш, мультипрограммалаш, параллел щисоблаш воситалари йы=. Бу воситалар таш=и функциялар ор=али амалга оширилади. Си тилида программа тузиш щисоблаш машиналари ишини ва унинг операцион системасини тушуниш имкониятини яратади, шунинг учун щам у касбий программистларга мылжалланган. Лекин Си программалаш тили бирон бир система ёки машина билан =атти= бо\ланиб =олмаган. Си тилида программалар маълумотлар устида натижа олиш ма=садида =илинадиган щаракатни билдиради. Программада щаракатлар операторлар ор=али берилади, маьлумотлар эса обьектларни ани=лаш ва тавсифлаш ор=али амалга оширилади. Программада фойдаланиладиган щар бир объект тавсифланиши зарур. Тавсифлаш объект билан бир неча характеристикаларни бо\лайди. Бу характеристикалар: тип, белгилаш, хотира синфи, щаракат сохаси, ва бошлан\ич =ийматлар кабилардир. Тилда асосий типлар: белги (литер) билан биргаликда бутун ва сузувчи вергулли сонлар ишлатилади. Бундан таш=ари кырсаткичлар, массивлар, операндалардан чи=арилувчи маълумотларнинг тыла иерархиясини щосил =илиш мумкин. Ифода-операндалар ва кырсаткичлардан ташкил топади. +иймат узатиш функциясини ча=аришни =ышиб щисоблаганда, щар бир ифода кырсатма былиши мумкин. Кырсаткич - бу берилган типдаги объектни далиллашдан иборат. Массив - бу бир типдаги объектлар кетма-кетлиги былиб, уларга я=инлашиш индекслари ор=али амалга оширилади, лекин =ышимча ани=лаш рекурсив =оидаси ёрдамида исталган ылчамдаги массивларни ани=лаш мумкин. Тузилмалар-турли типдаги объектлар кетма-кетлиги былиб, уларга я=инлашиш-исмлар быйича амалга оширилади. Икки хил тузилмалар мавжуд былиб, оддий тузилмаларда (struct) элементлар хотирада тавсифланган тартибда кетма-кет жойлашади. Исталган пайтда уларга я=инлашиш мумкин. Вариантли тузилмаларда (union) щамма элементлар хотирада тузилма бошланишида жойлаштирилади. Бу щолат энг кейинги =иймат берилган элементгагина я=инлашиш имконини беради холос. Ытказиш - бу бутун типдаги объектлар кетма-кетлиги былиб, уларга я=инлашиш исми быйича амалга оширилади. Функция - бу мураккаб объектдан иборат, уни щисоблаш натижасида берилгаи типдаги =иймат щосил =илинади. Кырсаткичлар бо\ли=мас адресли-машина арифметикасини белгилайди. Си да кырсатма тузувчи ({ }), шарт быйича тармо=ланиш (if), кыпдан бирон-бир му=обилларини (switch) танлаш, ю=орига =араб такрорлаш (for, while) =уйига =араб такрорлаш (do), шунингдек такрорлашни тыхтатиш (break) каби бош=арувчи тузилмалар мавжуд. Си тилида щар бир функцияга рекурсив (якка тартибда) ёндашилади. Лекин бир функциянииг тасвири иккинчи функциянинг орасида ётиши мумкин эмас. Тилнинг бош=а тилларга ыхшаш камчилиги щам мавжуд былиб, тил тузилмалари синтаксиси но=улай. Си программалаш тили биринчи марта Денис Ритчи ("BELL LABARATORIES" А+Ш) тамонидан 1972 йилда лойихалаштирилган. Бу тилда сколяр =ийматлар билан щам иш олиб бориб, улар ыртасида операциялар бажариш мумкин. Такрибий =ийматлар эса элементларга я=инлашишни тартиблаш учун ишлатилади. Тилнинг лексикаси ва синтаксисида Бэкус-Нур формасига я=ин =оидалар =абул =илинган ва бу Метаформалар "=" ифода билан ажратилади. Бу белгининг чап томонида метa ызгарувчи ва ынг томонида эса унинг =иймати ётади. Си тили алфавитига =уйидагилар киради: лотин алифбосининг босма ва ёзма щарфлари (А,В,...,Z,a,b,...,z) ра=амлар: 0,1,2,3,4,5,6,7,8,9 махсус белгилар: ", , , , , , , , \, ; ! ? < = > _ ! & * # ~ ^ аксланмайдиган белгилар (быш жой, табуляция, янги =аторга ытиш) Изощларда эса бош=а белгилар иштирок этиши щам мумкин. /* */ белгиси ёрдамида изощлар келтирилади. [], (), {}, ;, :, …, *, = ажратувчи белгилар дейилади. - катта =авс бир ёки кып ылчамли массивларни чегаралаш учун ишлатилади. Масалан: a5 - a бир ылчамли 5 та элементдан иборат былган массив; е 3 2 - е икки ылчамли массив (матрица); ( ) - кичик =авслар =уйидаги щолларда ишлатилади: агар операторида ифода шартини ажратади. If (x<0) x=-x ; функцияни ани=лашда, уни тавсифлашда float F(float x, int k) * функцияни ани=лаш * функция - танлаш float F(float x, int); * функцияни тавсифлаш * функцияни кырсатувчиларини ани=лашда int (*pfink)(); * pfink функция кыпайтмасини ани=лаш учун * операцияларни бажариш кетма-кетлигини ани=лашда y=(a+b)/c ; такрорлашнинг элементи сифатида for(i=0, j=1,i= макро ани=ликларда #deline R(x,y) sqrt((x)*(x)+(y)*(y)) Фигурали =авслар {}: Тузулувчи оператор ёки блокли бошланишни ёки тугалланган =исмини билдириши учун фигурали =авслар ишлатилади. Уларни массивларни инициализациялашда ва улар таркибини ани=лашда щам ишлатиб, ну=та вергул билан тугаланади. Int day []={1,2,3,4,5,6,7,8,9,10,11,12}; ,-вергул белгиси ажратувчи ёки операция сифатида ишлатилиши мумкин. ;- Си тилида щар бир ани=лаш ну=та вергул билан якунланади. : -меткани ани=лаш учун ишлатилади. …- кып ну=тафункцияда ызгарувчини параметрлари сонини ани=лашда ва тасвирлашда ишлатилади. +иймат узатишни белгилаш '=' тенглик белгиси ёрдамида амалга оширилади. *- операция сифатида кыпайтириш, #- белгиси эса процесор олди буйру=ларини ани=лаш учун хизмат =илади. Операциялар сифатида: +, -, *, /,<, >, !, &, ~, →, ←, ^ белгилари ишлатилади. Улар билан кейинги параграфларда танишиб ытамиз. Download 407 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling