2.12. E`lon fayllari, formatli kiritish-chiqarish.
1 Muhim so`zlar: kutubxona, imkoniyatlar, include, preprosessor, putch(), getch(). Putchar(), getchar(), printf(), scanf().
Bilib olasiz: qo`shimcha kutubxonalar haqida ma`lumot, putch(), getch(), putchar(), getchar(), printf(),scanf() formatli kiritish-chiqarish operatorlarini ishlatish , ularning parametrlarini.
Standart kutubxona ichidagi funksiyalarni ishlatish uchun ularning prototiplari joylashgan e`lon fayllarini include preprosessor buyrug`i bilan dastur ichiga yozish kerak. Quyida biz ba`zi bir keng qo`llaniladigan e`lon fayllarini keltirib o`tamiz, ularning yangi va bor bo`lsa, eski ismlarini beramiz. Quyida yangi bo`lgan atamalarni keyinchalik tushuntirib o`tamiz.
2.12-jadval. E`lon fayllar ro`yxati.
t.r.
|
nomi
|
Vazifasi
|
1
|
|
Dastur ishlashini diagnostika qilish uchun kerakli makrolar va
ma`lumotlarni e`lon qiladi. Yangi ismi
|
2
|
|
Simvollarni test qilishda va harflar registorini kattadan kichikka va teskarisiga o`zgartirishda qo`llaniladigan funksiyalar e`lonlarini o`z ichiga oladi. Yangi ismi
|
3
|
|
Kasrli (haqiqiy) sonlarning sistemaga bog`liq limitlari aniqlangan. Yangi ismi
|
4
|
|
Butun sonlarning sistemaga bog`liq limitlari berilgan. Yangi ismi
|
5
|
|
Matematik funksiyalar kutubxonasini e`lon qiladi. Yangi ismi
|
6
|
|
Standart kirish/chiqish funksiyalarining e`lonlari berilgan. Yangi
ismi
|
7
|
|
Sonlarni matnga, matnni songa aylantiruvchi funksiyalar, xotira bilan ishlaydigan funksiyalar, tasodifiy sonlar generatsiya qiluvchi funksiyalari va boshqa yordamchi funksiyalar e`lonlarini o`z ichiga oladi. Yangi ismi
|
8
|
|
C uslubida satrlar bilan ishlovchi funksiyalar e`loni berilgan.
Yangi ismi
|
9
|
|
Vaqt va sana bilan ishlaydigan funksiyalar e`lonlari berilgan. Yangi ismi
|
10
|
|
Standart kirish/chiqish oqimi bilan ishlovchi funksiyalar e`loni kiritilgan. Yangi ismi
|
11
|
|
Oqim manipulyatorlari berilgan. Yangi ismi
|
12
|
|
Diskda joylashgan fayllar bilan kirish/chiqish amallarini bajaruvchi funksiyalar e`lonlari berilgan. Yangi ismi
|
13
|
|
Boshqa kutubxonalar tomonidan qo`llaniladigan yordamchi funksiyalar va sinflarning e`lonlari kiritilgan., , , , , |
14
|
|
Standart kutubxona algoritmlari tomonidan qo`llaniladigan sinf va funksiyalarni e`lon qiladi.
|
15
|
|
Standart kutubxona konteynerlari uchun xotira ajratishda qo`llaniladigan funksiya va sinflar e`lonlari berilgan.
|
16
|
|
Konteynerlar ichidagi ma`lumotlar manipulyatsiyasida qo`llaniladigan iterator sinflari e`lonlari berilgan.
|
17
|
|
Konteynerlardagi ma`lumotlarni qayta ishlashda qo`llaniladigan funksiya va sinflar e`lonlari berilgan.
|
18
|
,
|
Favqulotda hodisalar mexanizmini bajaruvchi sinflar berilgan.
|
19
|
|
Standart kutubxonaning string sinfi e`loni berilgan.
|
20
|
|
Xotiradagi satrlarga kirish/chiqishni bajaradigan funksiyalar prototipi berilgan.
|
21
|
|
Mahalliy sharoitga moslashgan birliklar (pul, vaqt, sonlarning turli ko`rinishlari) bilan ishlaydigan funksiyalar e`lonlari berilgan.
|
22
|
|
Hisoblash sistemalarida sonli ma`lumot tiplari-ning chegaralarini belgilashda ishlatiladigan sinf e`lonlari berilgan.
|
23
|
|
Ijro vaqtida tip identefikatsiyasi uchun qo`llaniladigan sinflar e`loni kiritilgan. Qo`llanuvchi yozgan e`lon fayllari .h bilan tugasa, maqsadga muvofiq bo`ladi. Bunday fayllar qo`shtirnoqlarga olingan holda dasturga kiritiladi, ya`ni masalan, # include "my_file.h"
|
Ma`lumotlarni kiritish va chiqarish. Quyidagi funksiyalar dasturda simvollarni kiritish va chiqarish uchun ishlatiladi. getch(arg) – bitta simvol kiritilishini kutish. Kiritilayotgan simvol monitorda aks etmaydi. Bu funksiyani programma oxirida argumentsiz ishlatilsa, monitorda ma`lumotlarni to klavisha bosilguncha o`qish mumkin bo`ladi.
putch(arg)- bitta simvolni standart oqimga chiqarish uchun ishlatiladi. Simvol monitorda aks etmaydi.
getchar(arg) – bitta simvol kiritilishini kutish. Kiritilayotgan simvol monitorda aks etadi. Bu funksiyani programma oxirida argumentsiz ishlatilsa, monitorda ma`lumotlarni to klavisha bosilguncha o`qish mumkin bo`ladi.
putchar(arg) - bitta simvolni standart oqimga chiqarish uchun ishlatiladi. Simvol monitorda aks etadi. Bu funksiyalar iostream.h modulida joylashgandir.
106-listing.
|
Output:
|
#Include
void main()
{ int c;
c=getchar();
putchar(c);
c=getch();
putchar();
getch(); }
|
|
Formatli chiqarish – printf. Printf funksiyasi ko`rsatilgan parametrlarni standart oqimga chiqarish uchun ishlatiladi. Funksiya iostream.h modulida joylashgan bo`lib, umumiy ko`rinishi quyidagichadir:
Printf(control,arg1,arg2,…)
Control boshqaruvchi qator deb atalib ikki turdagi simvollardan iborat bo`ladi: oddiy chiqariluvchi simvollar va navbatdagi parametrni o`zgartirib chiqaruvchi spetsifikatsiyalar. Har bir spetsifikatsiya % simvolidan boshlanib o`zgartirish turini ko`rsatuvchi simvol bilan tugaydi. % belgisi va o`zgartirish simvoli orasiga qo`yidagi simvollarni qo`yish mumkin. Chiqarilayotgan argument chapga tekislash lozimligini ko`rsatuvchi minus belgisi. Maydon minimal uzunligini ko`rsatuvchi raqamlar qatori. Maydon uzunligini keyingi raqamlar qatoridan ajratuvchi nuqta. Biror qatordan qancha simvol ajratib olish lozimligini hamda float yoki double tipidagi sonlarda nuqtadan keyin qancha kasr raqamlari bosib chiqarilishini ko`rsatuvchi raqamlar ketma-ketligi. Chiqarilayotgan son long tipiga tegishli ekanligini ko`rsatuvchi uzunlik markeri l. O`zgartirish simvollari quyidagilardan iborat.
2.13-jadval. Printf() parameterlari.
nomi
|
Vazifasi
|
d
|
parametr o`nlik butun songa aylantiriladi
|
o
|
parametr ishorasiz va birinchi raqami 0 bo`lmagan sakkizlik songa aylantiriladi
|
x
|
parametr ishorasiz va 0x belgisiz o`n oltilik songa aylantiriladi
|
h
|
parametr ishorasiz o`nlik songa aylantiriladi.
|
c
|
parametr bitta simvol deb qaraladi
|
s
|
parametr satr simvollar nolinchi simvol uchramaguncha yoki ko`rsatilgan sondagi simvollar bosiladi
|
e
|
parametr float yoki double tipidagi son deb qaraladi va ishorali m.nnnnnnE+-xx ko`rinishidagi o`nlik songa keltiriladi.
|
f
|
parametr float yoki double tipidagi son deb qaraladi va ishorali ko`rinishidagi o`nlik songa keltiriladi.
|
g
|
%e yoki %f sifatida ishlatiladi. % dan keyingi simvol o`zgartirish simvoli bo`lmasa, u bosmaga chiqariladi. % simvolini o`zini bosmaga chiqarish uchun %% belgisini berish lozim.
|
Quyidagi jadval har xil spetsifikatsiyalarni "HELLO, WORLD" (12 simvolov) so`zini bosishga ta`sirini ko`rsatadi. Bu yerda har bir maydon uzunligini ko`rsatish uchun maydon oxiriga ikki nuqta qo`yilgan.
:%10S: :HELLO, WORLD:
:%10-S: :HELLO, WORLD:
:%20S: : HELLO, WORLD:
:%-20S: :HELLO, WORLD :
:%20.10S: : HELLO, WOR:
:%-20.10S: :HELLO, WOR :
:%.10S: :HELLO, WOR:
Formatli kiritish – scanf. Scanf funksiyasi iostream.h modulida joylashgan bo`lib, umumiy ko`rinishi quyidagichadir:
Scanf(control, arg1, arg2,…)
Funksiya standart oqimdan simvollarni o`qib boshqaruvchi qator asosida formatlab mos parametrlarga yozib qo`yadi. Parametr ko`rsatkich bo`lishi lozim. Boshqaruvchi qator quyidagi o`zgartirish spetsifikatsiyalaridan iborat bo`shliq, tabulyatsiya, keyingi qatorga o`tish simvollari; Oddiy simvollar (% dan tashqari) kiritish oqimidagi navbatdagi simvollar bilan mos kelishi lozim; % simvolidan boshlanuvchi spetsifikatsiya simvollari; % simvolidan boshlanuvchi qiymat berishni ta`qiqlovchi * simvoli; % simvolidan boshlanuvchi maydon maksimal uzunligini ko`rsatuvchi son;
Quyidagi spetsifikatsiya simvollarini ishlatish mumkin:
d – o`nli butun son kutilmoqda.
o – 0 bilan boshlangan yoki boshlanmagan sakkizlik son kutilmoqda.
x – 0x belgili yoki belgisiz o`n oltilik son kutilmoqda.
h - o`nlik son kutilmoqda.
c – bitta simvol kutilmoqda.
s – satr kutilmoqda.
f - float tipidagi son kutilmoqda. Kiritilayotgan sonning butun raqamlari va nuqtadan so`ng kasr raqamlari soni va E yoki e belgisidan so`ng mantissa raqamlari soni ko`rsatilishi mumkin.
Mustahkamlash uchun savollar.
Qo`shimcha kutubxonalar nima uchun kerak ?
kutubxonasi nima uchun kerak ?
Faqat va sana bilan ishlash uchun qaysi kutubxona kerak ?
Bitta simvolni standart oqimda chiqarish uchun qaysi operatordan foydalaniladi ?
Getch() ning vazifasini ayting.
Printf() umumiy yozilishi qanday ?
Printf() ga d parametr qanday amalni bajaradi ?
Printf(“s%s”,s) nimani anglatadi ?
Formatli kiritish operatorini ayting.
Scanf(“s%s”,s) nimani anglatadi ?
Do'stlaringiz bilan baham: |