Sərhəd qiymətlərinin sabitləri

Sərhəd qiymətləri sabitlər yığımı ilə təyin olunur, belə ki, onların adları standartlaşdırılıb və realizasiyadan asılı deyil. Aşağıda sabitlərin işarələri və onların mütləq qiymətcə minimal mümkün standart ANSİ qiymətləri verilir. Konkret hallarda sabitlərin mütləq qiymətləri cədvəldə göstərildiyindən böyük ola bilər.

I. Tamqiymətli tiplər üçün sərhəd qiymətləri – limits.h faylı

Sabitin adı Standart qiyməti Mənası
CHAR_BİT Baytda bitlərin sayı
SCHAR_MİN -127 signed char üçün minimal qiymət
SCHAR-MAX +127 signed char üçün maksimal qiymət
UCHAR-MAX unsigned char-ın maksimal qiyməti
CHAR-MİN char üçün minimal qiymət
CHAR-MAX UCHAR-MAX SCHAR-MAX char üçün maksimal qiymət
MB-LEN-MAX Çoxbaytlı simvolda baytların minimal sayı
SHRT-MİN -32767 short üçün minimal qiymət
SHRT-MAX +32767 short üçün maksimal qiymət
USHRT-MAX unsigned short ­–maksimal qiyməti
INT_MIN -32767 int üçün minimal qiymət
İNT_MAX +32767 int üçün maksimal qiymət
UİNT_MAX unsigned int ­–maksimal qiyməti
LONG_MIN -2147483647 long üçün minimal qiymət
LONG_MAX +2147483647 long üçün maksimal qiymət
U LONG_MAX unsigned long üçün maksimal qiymət

II.Həqiqi tiplər üçün sabitlər – float.h faylı

Cədvəldə FLT_ - prefiksi float tipə, DML_ - isə double tipinə uy­ğundur.

Sabitin adı Standart qiyməti Mənası
FLT_RADİX eksponensial gös­tə­rilişin (mə­sələn, 2,­1­6) əsası
FLT_DİG Doğru onluq rəqəmlərin sayı
FLT_EPSİLON 1E-5 1.0+x 1.0 olan minimal x
FLT_MANT_DİG   FLT_RADİX əsa­sı­na görə mantis­sa­da rəqəmlərin sayı
FLT_MAX 1E+37 Sürüşgən vergüllü ən böyük ədəd
FLT_MAX_EXP   Elə maksimal n ədə­­di ki, FLT_­RA­D­İXn-1, float tipli ədəd şəklində gös­tə­rilə bilsin
FLT_MAX_10_EXP Elə maksimal tam n ədədi ki. 10n float kimi göstə­ril­sin
FLT_MİN 1E-37 float tipli ən kiçik normallaşdırılmış sürüşkən vergüllü ədəd
FLT_MİN_EXP   Elə minimal n ədə­di ki, 10n normal­laşmış şəkildə göstərilə bilsin
FLT_MİN_10_EXP -37 Elə minimal mənfi tam n ədədi ki, 10-­float tipli ədəd­lə­rin təyin oblastında yerləşsin
DBL_DİG doble tip üçün doğ­ru onluq rəqəmlə­rin sayı
DBL_EPSİLON 1E-9 Double tipinə aid olan
DBL_MANT_DGL   double tipli ədəd­lər üçün FLT_­RA­D­İX əsasına görə man­tis­sada rəqəm­lərin sa­yı double tip­li sü­rüşkən ver­güllü ən böyük ədəd
DBL_MAX 1E+37 double tipli sü­rüş­kən vergüllü ən bö­yük ədəd
DBL_MAX_EXP   FLT_­RA­D­İX-1 double tipli ədəd şəklində göstərilə bilən maksimal n
DBL_MAX_10_EXP +37 Elə maksimal n ədədi ki, 10nədədi double kimi göstə­rilsin
DBL_MİN 1E-37 Double tipli sürüş­kən vergüllü mini­mal normallaşmış ədəd
DBL_MİN_EXP   10n double tipli normallaşmış ədəd şəklində göstər­mə­yə imkan verən ən kiçik n
DBL_MİN_10_EXP -37 10n double tipli ədədlərin təyin ob­las­tında olma­sı­nı tə­min edən ən ki­çik mənfi n

Əlavə 5

C dilinin standart funksiyalar kitabxanası

I. Hesabi funksiyalar – math.h faylı

Funksiya Prototip və funksiyanın qısa təsviri
abs int abs(int i); Tam i arqumentinin mütləq qiymətini qay­ta­rır.
acos double acos(double x); Arkkosinus funksiyası. Arqumentin qiy­mə­ti [-1;1] aralığında yerləşməlidir.
asin double asin(double x); Arksinus funksiyası. Arqumentin qiyməti [-1;1] aralığında yerləşməlidir.
atan double atan(double x); arktangens funksiyası
atan2 double atan2(double y, double x); y/x –qiymətinin arktangensi.
cos double cos(double x); Kosinus funksiyası. Arqument radianla ve­ri­lir.
cosh double cosh(double x); x-in hiperbolik kosinusunun qiymətini qay­tarır.
exp double exp(double x); -in qiymətini hesablayır.
fabs double fabs (duoble x); Ikiqat dəqiqlikli x həqiqi arqumentinin müt­­ləq qiymətini qaytarır.
floor double floor (double x); x-i aşmayan ən böyük tam ədədi tapır və onu double şəklində qaytarır.
fmod double fmod(double x, double y); x-in y-ə tam bölünməsindən alınan qalığı qaytarır.
hypot double hypot(double x, double y); Düzbucalı üçbucaqda x, y katetlərinə görə z hipetonuzu hesablayır
labs long labs(long x); long x tam arqumentinin mütləq qiymətini qaytarır
log double log(double x); lnx –natural loqarifminin qiymətini qayta­rır
log 10 double log 10(double x); lg x-onluq loqarifminin qiymətini qaytarır.
poly double poly(double x, int n, double a[]); polinomunun qiymətini hesablayır
pow double pow (double a, double b); -nin qiymətini qaytarır
pow10 double pow(int p); -nin qiymətini qaytarır.
sin double sin(double x); Sinus funksiyası. Arqument radianla veri­lir.
sinh double sinh(double x); x-in hiperbolik sinusunun qiymətini qay­tarır.
sqrt double sqrt(double x); -in hesabi qiymətini qaytarır.
tan double tan(double x); tangens funksiyası. Bucaq (arqument) radi­an­la verilir.
tanh double tanh(double x); x-in hiperbolik tangensinin qiymətini qaytarır

II. Standart fayllar üçün giriş-çıxış funksiyaları- stdio.h faylı

Funksiya Prototip və funksiyanın qısa təsviri
getch int getch(void); Klaviaturadan bir simvolu ekranda göstərmədən sayır.
getchar int getchar(void); Standart giriş faylından (stdin) növbəti simvolu sayır.
gets char*gets(char*s); Standart giriş faylından (stdin) s sətrini qaytarır.
printf int printf(char*format[, arqument,..., ]); stdout faylına formatlaşdırılmış çıxış funksiyası
putchar int putchar(int c); c simvolunu stdout standart çıxış faylına yazır.
puts int puts(const char*s); s sətrini stdout standart çıxış faylına yazır.
scanf int scanf(char*format [,arqument,..]); stdin faylından formatlaşdırılmış giriş funksiyası
sprintf int sprintf(char*s, char*format[,arqument,..]); s sətrinə formatlaşdırılmış yazma funksiyası
sscanf int sscanf(char*s, char*format[,address,..]); s sətrindən formatlaşdırılmış oxuma funksiyası
ungetch int ungetch(int c); c simvolunu növbəti hesablanan simvol olmağa məcbur edərək onu standart stdin giriş faylına qaytarır.

III. Sətirlərlə işləmək üçün funksiyalar- string.h, stdlib.h faylları

Funksiya Prototip və funksiyanın qısa təsviri
atof double atof(char*str); str sətrini double tipli həqiqi ədədə çevirir.
atoi int atoi(char*str); str sətrini onluq tam ədədə çevirir.
atol long atol(char*str); str sətrini uzun onluq tam ədədə çevirir.
strcat char*strcat(char*sp, char*si); si sətrini sp sətrinə birləşdirir.
strchr char*strchr(char*str, int c); str sətrində c simvolunun birinci daxil olma­sı­nı axtarır.
strcmp int strcmp(char*str1, char*str2); str1 və str2 sətirlərini müqayisə edir. Əgər str1<str2 olarsa nəticə mənfi, əgər str1==str2 olarsa nəticə sıfır, str1>str2 olarsa nəticə müsbət olur.
strcpy char*strcpy(char*ap,char*si); si sətrinin baytlarını ap sətrinə köçürür.
strcspn int strcspn(char*str1,char*str2); str1 sətrinin str2 sətrinin simvollar çoxluğuna daxil olmayan elementlərə malik birinci seq­mentinin uzunluğunu təyin edir.
strdup char*strdup(const char*str); Yaddaş ayırır və ona str sətrinin surətini köçürür.
strlen unsigned strlen(char*str); str sətrinin uzunluğunu hesablayır.
strncat char*strncat(char*sp, char*si, int kol); si sətrinin kol simvollarını sp sətrinə ya­zır (konkatenasiya).
strncpy char*strnspy(char*sp, char*si, int kol); si sətrinin kol simvollarını sp sətrinə kö­çü­rür (“quyruq” atılır və ya probellərlə ta­mam­lanır)
strnset char*strnset(char*str, int c, int kol); str sətrinin ilk kol simvollarını c simvolu ilə əvəz edir.
strpbrk char*strpbrk(char*str1, char*str2); str1 sətrində str2 sətrinə daxil olan simvollar çoxluğundan ilk daxil olanını axtarır.
strrchr char*strrchr(char*str, int c); str sətrində c simvolunun son dəfə daxil olmasını axtarır.
strset int strset(char*str, int c); str sətrini verilən c simvolu ilə tamamlayır.
strspn int strspn(char*str1, char*str2); str1 sətrinin yalnız str2 sətrinin simvollar çoxluğuna malik olan birinci seqmentinin uzunluğunu təyin edir.
strstr char*strstr(const char*str1, const char str2); str1 sətrində str2 altsətrini axtarır. Göstəricini str1 sətrində str2 altsətri başlayan element üzərinə qaytarır.
strtok char*strtok(char*str1, const char*str2); str1 sətrində ikinci sətrin simvolları ilə ayrılan leksemlər axtarır
strupr char*strupr(char*str); str sətrində aşağı registrin hərflərini yuxarı registrin hərflərinə çevirir.
ultoa char*ultoa(unsigned long v, char*str, int az); işarərəsiz uzun tam v-ni str sətrinə çevirir.

IV. Mətn rejimində terminalla işləmək üçün funksiyalar- conio.h faylı

Funksiya Prototip və funksiyanın qısa təsviri
clreol void clreol (void); Mətn pəncərəsində simvolları kursorun mövqe­yin­dən sətrin sonuna qədər pozur.
clrscr void clrscr (void); Ekranı təmizləyir.
cgets char*cgets (char*str); str sətrini ekrana çıxarır.
cprintf int cprintf(char*format [,arqument,…]); Mətn pəncərəsində Window() funksiyası ilə yaradılan formatlaşdırılmış sətri çıxarır.
cputs int cputs(char*str); str simvol massivinə klaviaturadan (konsoldan) sətri qaytarır.
cscanf int cscanf (char*format [, address,…]); İnformasiyanın giriş-çıxış funksiyası, mətn reji­min­də terminalla işləyərkən istifadə olunur.
delline void delline(void); Mətn pəncərəsində (kursor yerləşən) sətri pozur;
gotoxy void gotoxy (int x, int y); Kursoru mətn pəncərəsinin (x,y) kordinatlı möv­qe­yinə gətirir.
highvideo void highvideo (void); Ondan sonra ekrana çıxarılan simvolların şəffaf­lı­ğını artırır.
movetext int movetext (int x0, int y0, int x1, int y1, int x, int y); Mətn pəncərəsini yuxarı sağ küncünün koor­di­na­tı (x,y) olan ekran oblastına köçürür. Ekranın künc nöqtələrinin koordinatları: (x0, y0), (x1,y1)
normvideo void normvideo(void); Ekrana çıxarılan simvolların normal şəffaf­lı­ğı­nı qurur.
textattr void textattr(int newattr); Ekrana çıxarılan simvolların atributlarını (fon,­ rə­ng)­ qurur.
textbackground void textbackground(int, c); c parametrinin qiymətinə görə fonun rəngini qurur
textcolor void textcolor(int c); c parametrinin qiymətinə görə simvolların rən­gini qurur.
Textmode void textmode(int m); m parametrinin qiymətinə əsasən ekranı mətn rejiminə keçirir.
Wherex int wherex(void); Kursorun horizontal koordinatının qiymətini qaytarır.  
Wherey int where y(void); Kursorun şaquli koordinatının qiymətini qay­ta­rır.
Window void window(int x0, int y0, int x1, int y1); (x0,y0), (x1, y1)- künc nöqtələrinə əsasən mətn pəncərəsi yaradır.