19. C standart kutubxonalari¶
C tilida ko‘plab tayyor funksiyalar mavjud.
Masalan:
printf()
scanf()
strlen()
malloc()
sqrt()
Bu funksiyalarni noldan o‘zimiz yozishimiz shart emas.
Kerakli funksiyalarni kutubxonalar orqali ishlatamiz.
Kutubxona nima?¶
Kutubxona — dasturchilar uchun oldindan tayyorlangan funksiyalar to‘plami.
Masalan, ekranga ma'lumot chiqarish uchun:
printf()
funksiyasidan foydalanamiz.
U stdio.h kutubxonasida joylashgan.
Shuning uchun:
#include <stdio.h>
yozamiz.
stdio.h¶
stdio.h eng ko‘p ishlatiladigan kutubxonalardan biridir.
U quyidagi funksiyalarni o‘z ichiga oladi:
printf()
scanf()
getchar()
putchar()
fopen()
fclose()
Masalan:
#include <stdio.h>
int main() {
printf("Salom!");
return 0;
}
string.h¶
Satrlar bilan ishlash uchun:
#include <string.h>
ishlatiladi.
Masalan:
strlen()
strcpy()
strcat()
strcmp()
kabi funksiyalar mavjud.
strlen()¶
strlen() satr uzunligini topadi.
Masalan:
#include <stdio.h>
#include <string.h>
int main() {
char ism[] = "Ali";
printf("%zu", strlen(ism));
return 0;
}
Natija:
3
Chunki:
A
l
i
uchta belgidan iborat.
strcpy()¶
strcpy() bir satrni boshqa satrga nusxalash uchun ishlatiladi.
Masalan:
#include <stdio.h>
#include <string.h>
int main() {
char manba[] = "Salom";
char nusxa[20];
strcpy(nusxa, manba);
printf("%s", nusxa);
return 0;
}
Natija:
Salom
strcmp()¶
strcmp() ikkita satrni solishtiradi.
Masalan:
#include <stdio.h>
#include <string.h>
int main() {
char a[] = "Ali";
char b[] = "Ali";
if (strcmp(a, b) == 0) {
printf("Bir xil");
}
return 0;
}
Natija:
Bir xil
math.h¶
Matematik hisoblashlar uchun:
#include <math.h>
kutubxonasidan foydalanish mumkin.
Masalan:
sqrt()
sonning kvadrat ildizini topadi.
#include <stdio.h>
#include <math.h>
int main() {
double natija = sqrt(25);
printf("%.0f", natija);
return 0;
}
Natija:
5
pow()¶
pow() sonni darajaga ko‘tarish uchun ishlatiladi.
Masalan:
#include <stdio.h>
#include <math.h>
int main() {
double natija = pow(2, 3);
printf("%.0f", natija);
return 0;
}
Natija:
8
Chunki:
2 × 2 × 2 = 8
stdlib.h¶
stdlib.h ham muhim kutubxonalardan biri.
Unda:
malloc()
free()
rand()
abs()
exit()
kabi funksiyalar mavjud.
Masalan, abs() sonning musbat qiymatini olishga yordam beradi:
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("%d", abs(-10));
return 0;
}
Natija:
10
time.h¶
Vaqt bilan ishlash uchun:
#include <time.h>
kutubxonasidan foydalanamiz.
Masalan:
time()
funksiyasi joriy vaqt haqida ma'lumot olishda ishlatiladi.
time.h tasodifiy sonlar bilan ishlashda ham foydali bo‘lishi mumkin.
ctype.h¶
Belgilarni tekshirish uchun:
#include <ctype.h>
ishlatiladi.
Masalan:
isdigit()
belgi raqam ekanligini tekshiradi.
isalpha()
belgi harf ekanligini tekshiradi.
Misol:
#include <stdio.h>
#include <ctype.h>
int main() {
char belgi = '7';
if (isdigit(belgi)) {
printf("Bu raqam");
}
return 0;
}
Natija:
Bu raqam
Eng muhim kutubxonalar¶
Boshlang‘ich dasturchi sifatida quyidagi kutubxonalarni bilish foydali:
| Kutubxona | Vazifasi |
|---|---|
stdio.h |
Kiritish va chiqarish |
string.h |
Satrlar bilan ishlash |
stdlib.h |
Umumiy funksiyalar va xotira |
math.h |
Matematik funksiyalar |
time.h |
Vaqt bilan ishlash |
ctype.h |
Belgilarni tekshirish |
Barcha funksiyalarni yodlab olish shart emas.
Kerak bo‘lganda ularning qanday ishlashini topib foydalanish mumkin.
Bir nechta kutubxonadan foydalanish¶
Bitta dasturda bir nechta kutubxonadan foydalanish mumkin.
Masalan:
#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
char ism[] = "Ali";
printf("Ism: %s\n", ism);
printf("Uzunligi: %zu\n", strlen(ism));
printf("Ildiz: %.0f\n", sqrt(25));
return 0;
}
Natija:
Ism: Ali
Uzunligi: 3
Ildiz: 5
Funksiyani yodlash shartmi?¶
Yo‘q.
Masalan, siz:
strlen()
funksiyasini bir oy ishlatmasangiz, uni unutishingiz mumkin.
Bu muammo emas.
Muhimi, siz:
- qaysi kutubxonada ekanini;
- nima vazifa bajarishini;
- qanday ishlatilishini
bilishingiz.
Dasturlashda kerakli ma'lumotni topa olish ham muhim ko‘nikma.
Kutubxona va funksiya¶
Quyidagicha eslab qolish oson:
Kutubxona
↓
tayyor funksiyalar
↓
dasturimizda foydalanamiz
Masalan:
string.h
↓
strlen()
strcpy()
strcmp()
Amaliy mashqlar¶
1-mashq¶
strlen() yordamida ismingiz nechta belgidan iboratligini toping.
2-mashq¶
strcmp() yordamida ikkita ismni solishtiring.
Masalan:
Ali
Ali
Ular bir xil ekanligini aniqlang.
3-mashq¶
math.h yordamida:
25
sonining kvadrat ildizini toping.
4-mashq¶
pow() yordamida:
5²
ni hisoblang.
5-mashq¶
ctype.h yordamida foydalanuvchi kiritgan belgi raqam yoki raqam emasligini tekshiring.
Muhim narsalarni eslab qoling¶
Kutubxona — tayyor funksiyalar to‘plami.
Kutubxonani qo‘shish uchun:
#include
ishlatiladi.
Eng muhim kutubxonalar:
stdio.h
string.h
stdlib.h
math.h
time.h
ctype.h
Funksiyalarni hammasini yodlash shart emas.
Kerakli funksiyani topib, uning qanday ishlashini o‘rganish kifoya.
Xulosa¶
C tilida ko‘plab tayyor kutubxonalar mavjud.
Ular dasturchining ishini ancha osonlashtiradi.
Masalan:
printf() → ekranga chiqarish
strlen() → satr uzunligi
sqrt() → kvadrat ildiz
malloc() → xotiradan joy ajratish
isdigit() → raqamni tekshirish
Kutubxonalarni to‘g‘ri ishlatishni bilish C dasturlarini tezroq va osonroq yozishga yordam beradi.