Информатика ва ащборот технологиялари


Программанинг тузилиши. Бошлан\ич программа. Бошлан\ич файл. Программанинг бажарилиши


Download 0.53 Mb.
bet9/18
Sana18.02.2023
Hajmi0.53 Mb.
#1213810
1   ...   5   6   7   8   9   10   11   12   ...   18
Bog'liq
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
Ызгарувчилар программа асосий объекти хисобланиб, унинг бажарилиши давомида ыз =ийматини ызгартиради.
Арифметик ифодада сонлар, харфлар ва ызгарувчилар =атнашиши мумкин. Щамда +,-, *,/ каби амаллар ёрдамида ёзилади. Си тилида бош=а стандарт математик функциялар мавжуд. Бу функциялар =уйидаги жадвалда келтирилган.



Функция



Си тилида ифодаланиши



smx



sin (х)



COSX



cos (х)



tgx



tan (x)



Inx



log (х)



Ixl



Abs (x)



ex



Ехр (х)



Vx



Sqrt (x)



Си программалаш тилида ызгарувчилар руйхати фойдаланилмасдан олдин киритилиш зарур, одатда щамма ызгарувчилар фойдаланиладиган биринчи функциядан аввал ёзилади. Функциядаги ызгарувчиларнинг хусусияти аввалдан эълон =илинади.


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 main()
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 i# include main()
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 rriainO
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 функцияси щам мавжуд былиб, у тугмачадан киритилган ягона белгини ы=ийди.




    1. Download 0.53 Mb.

      Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling