Си дастурлаш тилида киритиш-чиқариш функциялари ва операторлари


Агар клавиатурадан символлар сатрини



Download 181,71 Kb.
Pdf ko'rish
bet3/4
Sana20.06.2022
Hajmi181,71 Kb.
#681854
1   2   3   4
Bog'liq
si dasturlash tilida kiritish chikarish funktsiyalari va operatorlari

Агар клавиатурадан символлар сатрини 
киритмоқчи бўлсак ва бу сатрни массив мисоли 
сифатида олсак, scanf ни қуйидагича ёзамиз: 
сhar name[30]; 
scanf(“%s”,name); 
бу ерда name символлар массиви бўлгани учун 
унинг қиймати массив адресидир. Шунинг учун 
scanf функциясида name олдида & белгиси 
қўйилмайди. Бу ерда символлар кетма-кетлигини 
киритаётганда улар орасида “ ” (бўш жой) 
белгиси бўлмаслиги керак. Агар киритилаётган 
символлар кетма-кетлигида бўш жой қўйилса, 
name ўзгарувчисига шу бўш жойгача бўлган 
символлар қабул қилинади, холос. 


gets функцияси 
scanf функциясида %s формат ишлатилганда ўзга-
рувчига қиймат киритилаѐтганда белгилар бир-бири-
дан ажратилмаган ҳолда киритилиши шарт. Бундай 
ноаниқликни бартараф этишда қуйидаги функциядан 
фойдалнилади: 
gets(name); 
бу функция қўлланилганда, клавиатурадан Enter 
босилгунча киритилаѐтган барча белги ва символлар 
name га ўзлаштирилади ва сатр охирига (\0) нолли 
символ белгиси ўзлаштириб олинади. Масалан, 
қиймат киритиш сатрида 
Каримов Собир Азизович 
деб ѐзиб Enter тугмаси босилгандан сўнг gets(name) 
функцияси орқали name ўзгарувчисига «Каримов 
Собир Азизович» қиймати ўзлаштирилади. 


getch функцияси 
Дастурлаш жараѐнида баъзан экрандан битта 
символни киритиш талаб этилади, яьни у char
типидаги функция бўлиб ҳисобланади. Масалан 
char m; 
m=getch(); 
деб ѐзилган бўлса, экрандан символ киритиш 
кутиб турилади ва ихтиѐрий белги клавиатурадан 
босилиши билан m га ўзлаштирилиб дастур 
бажарилиши давом эттирилади. Шунинг учун ҳам 
дастурчилар дастурда кутиш ҳолларини ҳосил 
қилиш учун getch функциясига кўп мурожаат 
қиладилар. 


Маълумотларни босмага чиқариш 
Си да маьлумотларни босмага чиқарувчи асосий 
функция бўлиб printf ҳисобланади. Унинг умумий 
кўриниши қуйидагича: 
printf(<формат сатри>,<обьект>,<обьект>…); 
бу ерда <формат сатри> - “ – белгиси билан 
бошланиб, шу белги билан тугаланувчи обьектларни 
босмада кўринишини аниқлаштирувчи андоза. 
Объектлар босмага чиқарилишдан олдин формат 
сатридаги андозага эга бўлишади. Объект – 
ўзгарувчи, ўзгармас, ифода, функция номи бўлиши 
мумкин. 


<формат сатри>даги қуйидаги кўринишда бўлади: 
% [flags] [width] [. precision] [F/ N / h / 1 / L.] 
бу ерда [flags] – босмага чиқаришда тасвирланадиган 
белгини текислаш учун хизмат қилади ва 
қуйидагилардан бири бўлиши мумкин 

чап томон майдони бўйича текислаб босмага 
чиқариш 
+ - 
ҳар доим рақамли белгини босмага чиқариш 
# - 
ўнли сонларни босма чиқаришга таъсир кўрсат-
майди, бироқ саккизлик саноқ системасидаги сон 
олдига нол, ўн олтилик саноқ системасидаги сон 
олдига Ox ѐки OX белги босмага чиқарилади. 
Масалан, агар дастур қисми
int a=5.267; 
printf(“%f”,a);
каби бўлса, экранда 5.267000 сони чиқади.


Шунингдек майдон узунлигини % билан формат 
белгиси ўртасида беришимиз ҳам мумкин. Масалан 
int a=5.267; 
printf(“%4.2f”,a); 
каби бўлса экранда 5.27 сони чикади, чунки биз чоп 
этиладиган катталик учун 4 та жой ундан иккитасини 
вергулдан кейинга ажратдик. Мисолдан кўринадики, 
агар вергулдан кейинга кам жой ажратилган бўлса, 
соннинг каср қисми яхлитланади. Агар чоп этилади-
ган сон форматда келтирилган шаблондан катта 
бўлса, шаблон инобатга олинмайди ва сон 
хотирадагидек чоп этилади. Масалан, 
int a=225.567; 
printf(“%4.2”,a); 
каби дастур қисми ишласа, экранда 225.567 
чиқарилади. 


Чиқариш функциясида изоҳлар ҳам ѐзиш мумкин. 
Изоҳлар формат сатрида тўғридан-тўғри ѐзилади. 
Масалан, 
printf(“sum= %f”,s); 
натижада экранга sum= сўзи ва s ўзгарувчининг 
қиймати чиқарилади.
printf(“ Салом тоглар \n”); 
буйруғи билан экранда «Салом тоглар» сўзи 
чиқарилиб, курсор кейинги сатрга ўтказилади. 
Агар биз босмага «%» белгисининг ўзини чиқармоқчи 
бўлсак, printf(“%%”); каби ѐзишимиз керак бўлади. 
Агар босмага «\» белгисини чиқаришимиз керак 
бўлса, printf(“\\”); каби ѐзишимиз керак. 
Умуман, чиқаришда «\» белгиси ва ундан кейинги 
символ биргаликда бошқарувчи бўлиб ҳисобланади. 
Масалан, printf(“\n”); буйруғи билан курсор кейинги 
сатр бошига ўтказилади. 


Энг кўп ишлатиладиган бошқарувчи белгилар 
қуйидагилардир: 
\f 
– экранни тозалаш; \t – курсорни табуляциялаш; 
\b 
– курсорни бир позиция орқага ўтказиш; 
\n 
– курсорни янги сатр бошига ўтказиш; 
Агар бир формат бир нечта босмага чиқариш 
функцияларида ишлатилса, уни шу функциялардан 
олдин бирор ўзгарувчига ўзлаштириш мумкин. 
Масалан: #include 
main()
{ int a, b, sum; char *format;
format = "a = %d b = %d sum = %d \n";
a = b = 5;
sum = a + b; printf(format,a,b,sum);
sum = a++ + b; printf(format,a,b,sum);
sum = ++a + b; printf(format,a,b,sum); } 


puts ва putchar чиқариш функцияси

Download 181,71 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish