Информатика ва ащборот технологиялари
Download 0.53 Mb.
|
tizim(Si) kurs
Асосий =исм.
1.1.Турбо Си хакида умумий тушунча ва тузилиши Си программалаш тили Юникс операцион системаси билан бо\ланган былиб, шу системада ишлатиладиган бир =анча программалар Си тилида яратилган. Си программалаш тили машинанинг барча имкониятларидан тылалигича фойдаланишга имкон беради. Си мылжалланишига кыра умумий былиб, у ю=ори даражали программалаш тиллари билан Ассеблер орасида орали= вазиятни эгаллайди. Программани бош=арувчи операторлар структурали программалаш талабларига жавоб беради. Унда киритиш-чи=ариш, хотирани динамик та=симлаш, мультипрограммалаш, параллел щисоблаш воситалари йы=. Бу воситалар таш=и функциялар ор=али амалга оширилади. Си тилида программа тузиш щисоблаш машиналари ишини ва унинг операцион системасини тушуниш имкониятини яратади, шунинг учун щам у касбий программистларга мылжалланган. Лекин Си программалаш тили бирон бир система ёки машина билан =атти= бо\ланиб =олмаган. Си тилида программалар маълумотлар устида натижа олиш ма=садида =илинадиган щаракатни билдиради. Программада щаракатлар операторлар ор=али берилади, маьлумотлар эса обьектларни ани=лаш ва тавсифлаш ор=али амалга оширилади. Программада фойдаланиладиган щар бир объект тавсифланиши зарур. Тавсифлаш объект билан бир неча характеристикаларни бо\лайди. Бу характеристикалар: тип, белгилаш, хотира синфи, щаракат сохаси, ва бошлан\ич =ийматлар кабилардир. Тилда асосий типлар: белги (литер) билан биргаликда бутун ва сузувчи вергулли сонлар ишлатилади. Бундан таш=ари кырсаткичлар, массивлар, операндалардан чи=арилувчи маълумотларнинг тыла иерархиясини щосил =илиш мумкин. Ифода-операндалар ва кырсаткичлардан ташкил топади. +иймат узатиш функциясини ча=аришни =ышиб щисоблаганда, щар бир ифода кырсатма былиши мумкин. Кырсаткич - бу берилган типдаги объектни далиллашдан иборат. Массив - бу бир типдаги объектлар кетма-кетлиги былиб, уларга я=инлашиш индекслари ор=али амалга оширилади, лекин =ышимча ани=лаш рекурсив =оидаси ёрдамида исталган ылчамдаги массивларни ани=лаш мумкин. Тузилмалар-турли типдаги объектлар кетма-кетлиги былиб, уларга я=инлашиш-исмлар быйича амалга оширилади. Икки хил тузилмалар мавжуд былиб, оддий тузилмаларда (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}; ,-вергул белгиси ажратувчи ёки операция сифатида ишлатилиши мумкин. ;- Си тилида щар бир ани=лаш ну=та вергул билан якунланади. : -меткани ани=лаш учун ишлатилади. …- кып ну=тафункцияда ызгарувчини параметрлари сонини ани=лашда ва тасвирлашда ишлатилади. +иймат узатишни белгилаш '=' тенглик белгиси ёрдамида амалга оширилади. *- операция сифатида кыпайтириш, #- белгиси эса процесор олди буйру=ларини ани=лаш учун хизмат =илади. Операциялар сифатида: +, -, *, /,<, >, !, &, ~, →, ←, ^ белгилари ишлатилади. Улар билан кейинги параграфларда танишиб ытамиз. Идентификаторлар. Калит сызлар. Изощ. Ызгармаслар . Идентификатор ("-"), щарфлардан ё белгилардан ёки остки чизи= билан бошланган ра=амлар кетма-кетлиги идентификатор щисобланади. Масалан: КОМ_ 15, sizl 98, - MAX,TIME, time. - Босма ва ёзма идентификатор бир-биридан фар=ланади. Ю=оридаги охирги иккита идентификатор бир-биридан фар=ланади. - идентификаторлар турли узунликка эга былиши мумкин, лекин компютер 31 тагача былган белгини щисобга олади холос. Айрим компютерларда бу чеклов янада =атти=ро= =ыйилиб, фа=ат дастлабки ихтиёрий идентификаторнинг 8 та белгисигача щисобга олинади. Бу щолда NUMBER_OF_ROOM ва NUMBER-OF_TECT идентификаторлари программа бажарилишида бир хил былади. Хизматчи (калит) сызлар. Программист томонидан эркин танлаб олиб ишлатиш сифатида =ылланилмайдиган идентификаторлар хизматчи сызлар деб аталади. Хизматчи сызлар маълумотлар типини, хотира синфини, тип хусусиятини,ва операторларини ани=лаш учун хизмат =илади.Тил стандартида =уйидаги хизматчи сызлар мавжуд: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, siseof, static, struet, witch, typedef, union, unsigned, void, volatile, while. Хизматчи сызлар маъно жищатдан =уйидаги гурущларга ажратилади. Маълумотлар турларини синфларга ажратиш учун: char-белгили; double-сузувчи вергули иккиланган ани=ликдаги ща=и=ий сонлар; enum-саналма тип; float- сызувчи вергули ща=и=ий; int-бутун; long- узун бутун; short- =ис=а бутун; struct- тузилмали тип; signed- ишорали; union- бирлаштирувчи тип; unsigned-ишорасиз; void- =иймат иштирокисиз; typedef-типни ани=лаш синонимини киритиш; Тип хусусиятларини ани=лаш; const-ягона =ийматга эга былган фа=ат ы=иш учун ани=ланадиган синф хусусияти; volatile- програмистнинг ани= кырсатмаларисиз =иймат ызгартирадиган объект синфи; Хотира синфини белгилаш учун auto- автоматик; extern- таш=и; register- регистрли; static- статитик идентифиrаторлари ишлатилади. Операторларини =уриш учун =уйидаги хизматчи сызлар ишлатилади: Break-циклдан ёки ытказувчидан чи=иш; continue- циклни давом эттириш; do- бажармо=( шарт остида циклни бажариш оператори бош =исми); for- учун(параметрли такрорлаш операторининг бош =исми); goto- ытиш( шартсиз ытиш); if- агар- шартли операторнинг белгиланиши; return- =айтиш ( функциядан); switch- ытказувчи; wile- щозирча(do цикли якунловчиси). Хизматчи сызларга кирадиган =уйидаги идентификатор мавжуд былиб: default-switch операторида керакли вариант топилмаса щаракатни давомини ани=лаш; case- switch оператори вариантларни танлаш; else- ёки-if шартида му=обил тармо=ни танлаш; sizeof- операнда ылчамини (байтларда) ани=лаш операцияси. Хизматчи сызлар ёзма харфлар билан белгиланади. Изощлар /* */ белгиси орасида =ыйилиб, ундан программа исталган =исмида фойдаланиш мумкин. Download 0.53 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling