Информатика ва ащборот технологиялари
Программанинг тузилиши. Бошлан\ич программа. Бошлан\ич файл. Программанинг бажарилиши
Download 0.53 Mb.
|
tizim(Si) kurs
4.2. Программанинг тузилиши. Бошлан\ич программа. Бошлан\ич файл. Программанинг бажарилиши.Си тилида программани ани=лаш ва ёзиш ихтиёрий шаклда, матнли файл сифатида ёзилиши мумкин. Унда щар бир программа процессор олди директивалари, бош функция, ва объектни тавсифлаш ва ани=лаш кетма-кетлигидан иборат. Процессор олди директивалари буйру=лари программа матнини компиляция =илингунгача =айта ызгартиришини бош=аради. ‘#‘ белгиси процессор директиваларини белгилаш учун ишлатилади. Масалан: # include Std - standart (стандарт); i-input (киритиш); o - output(чи=ариш); h-head(cарлавща); маъносини билдиради. Форматланган чи=аришни амалга ошириш учун printf() буйру\и ишлатилади. printf() функцияни ча=ириш =уйидагича амалга оширилади. printf(формат-=атори, аргументлар-руйхати); Формат =атори =ыштирно= ичига олиниб =атор ызгармаслари, ихтиёрий матни бош=арувчи белгилар ва маълумотларни ызгартириш хусусиятлари кырсатилиши мумкин. Масалан экранга " Cалом Олам " сызини чи=ариш учун =уйидагича программа тузиш зарур. # include void main() { printf("Салом олам\n"); } "\n" белгиси =атор ытказиб юборишни билдириб, курсорни янги =аторга ырнатади. Шунингдек =уйидаги белгилардан щам фойдаланиш мумкин: ‘\ t’ - горизонтал табуляция; ‘\r’-курсорни координата бошига =айтариш; ‘\’- тескариси ани= чизи=; ‘\’’-апостроф; ‘\"’- =ыштирно=; ‘\0’- ноль белгиси; ‘\à’-сигнал =ын\иро=; ‘\b’- битта белгига =айтиш; ‘\f’- =атор ытказиб юбориш; ‘\v’- вертикал табуляция; ‘\?’- сыро= белгиси. Ю=оридаги белгилар бош=арувчи кетма-кетликлар деб юритилади. Бу бош=арувчи белгилар ёрдамида дисплейда ахборотни жойланишини ызгартириш мумкин. Ахборотларни таш=и шаклини ызгартиришни бош=ариш учун ызгартиришнинг махсуслатгич белгиларидан фойдаланилади ишлатилади ва улар % белгиси билан биргаликда ишлатилади. Щисоблаш характерига эга былган масалаларда биз кыпро= =уйидаги ызгартириш махсуслатгичларидан фойдаланамиз. %d-ынли бутун сонлар учун(int-типи); %u-ишорасиз ынли бутун сонлар учун(unsigned-типи); %f-ща=и=ий сонлар учун(floatba double-типи); %l-сызувчи ну=тали ща=и=ий сонлар учун(double ва fioat-типи); Агар summa ща=и=ий ызгарувчи =иймати 2702.3 га тенг былса: printf("\n summa=%f, summa); функцияси экранга: summa= 2702.3 ни чи=аради. +уйидаги операторларни бажарилиши натижасида float m,n; int k; m=15.7; k=-75; n=15.33 Ызгарувчилар программа асосий объекти хисобланиб, унинг бажарилиши давомида ыз =ийматини ызгартиради. Арифметик ифодада сонлар, харфлар ва ызгарувчилар =атнашиши мумкин. Щамда +,-, *,/ каби амаллар ёрдамида ёзилади. Си тилида бош=а стандарт математик функциялар мавжуд. Бу функциялар =уйидаги жадвалда келтирилган.
Си программалаш тилида ызгарувчилар руйхати фойдаланилмасдан олдин киритилиш зарур, одатда щамма ызгарувчилар фойдаланиладиган биринчи функциядан аввал ёзилади. Функциядаги ызгарувчиларнинг хусусияти аввалдан эълон =илинади. Int туридаги сонлар 16 разрядли (-32768 дан 32767 гача) float 32 разрядли (3.4*10'38дан 3.4*10'38гача). Си да int ва float дан таш=ари маълумотларнинг бир =анча базавий типлари мавжуд. Кырсатилган типларшшнг ылчамлари машина турларига =араб ызгариши мумкин. Базавий типдан массивлар, тузилмалар ва бирлашмалар, кырсаткичлар хосил =илиш мумкин. Ю=орида кыриб ытганимиздек printf функцияси объектни экранга чи=арибгина =олмай балки уни исталган кыринишда чоп этади. Ахборотни киритиш учун тилда scanf, read функцияларидан фойдаланилади. Scanf ((формат катори), (адрес1), (адрес2)...) Бу ерда printf даги сингари формат =аторларини =ыллаш мумкин. 1 -Мисол # include main () { char name [ 30 ]; printf ("Сизнинг исмингиз нима ?,\п"); scanf ("% s", name); printf ("Салом % s\n", name); ) Бу программанинг бажарилиши натижасида: Сизнинг исмингиз нима? ........ Салом....... Хосил килинади. 2-Мисол. функциянинг х да =ийматини щисоблаш программасини тузинг. # include # include float x,y; printf ("X нинг кийматини киритинг:" ); scanf ("%f", x); y(x*x-3*x+2)/sqrt (2*x*x*x- 1 ); printf ("x=% At y=%f", x,y); З-мисол. Мисол ёзилсин агар п < 9 агар 9 < п < 29 агар п = 29 агар п > 29 ифоданинг кийматини берилган n да щисоблаш программасини тузинг. # include float y; int n,i,a printf ("n-ни киритинг:" ) scanf ("%d", n); if (n<=9) y=(n*(n-l)*(n-2))/6; else if (n>29) i=l; p=l; while (i<=n-9) a=a*i; i++; y=a else if (n=29)y=l; else y=exp ((29-n)*log(2)); printf ("y=% At n=%d", y,n); scanf функциясидан фойдаланиш бош=а бир муаммони вужудга келтиради. Биринчи мисолимизни =айта бажариб, исм ва фамилямизни киритсак, фа=ат исм чи=ади холос. Нима учун? Чунки, исмдан кейин =уйиладиган быш жой scanf функциясига =атор тугаганлигини билдиради. Бу вазиятдан =андай чи=иш мумкин? Икки хил усул мавжуд. Мана булардан бири: # include char name [60]; printf ("Исмингиз нима?" ); gets (name); printf ("Салом,% s\n", name); gets функцияси сиз нимани терсангиз шуни ы=ийди лекин =атор охирига VOV белгисини =ышади. Иккинчиси # include main() { char first [20],middle[20],last[20]; printf ("Исмингиз нима?" ); scanf("%S %S %S", firs,middle,last) printf ("Салом,% s, ёки %S? \N",first, last); } Ю=оридагилардан таш=ари getch функцияси щам мавжуд былиб, у тугмачадан киритилган ягона белгини ы=ийди. 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