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östərilişin (məsələn, 2,16) ə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 əsasına görə mantissada 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_RADİXn-1, float tipli ədəd şəklində göstərilə bilsin | |
FLT_MAX_10_EXP | Elə maksimal tam n ədədi ki. 10n float kimi göstərilsin | |
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 normallaşmış şəkildə göstərilə bilsin | |
FLT_MİN_10_EXP | -37 | Elə minimal mənfi tam n ədədi ki, 10n-float tipli ədədlə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ədlər üçün FLT_RADİX əsasına görə mantissada rəqəmlərin sayı double tipli sürüşkən vergü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_RADİ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ü minimal normallaşmış ədəd |
DBL_MİN_EXP | 10n double tipli normallaşmış ədəd şəklində göstərməyə imkan verən ən kiçik n | |
DBL_MİN_10_EXP | -37 | 10n double tipli ədədlərin təyin oblastında olması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 qaytarır. |
acos | double acos(double x); Arkkosinus funksiyası. Arqumentin qiymə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 verilir. |
cosh | double cosh(double x); x-in hiperbolik kosinusunun qiymətini qaytarır. |
exp | double exp(double x); -in qiymətini hesablayır. |
fabs | double fabs (duoble x); Ikiqat dəqiqlikli x həqiqi arqumentinin mütlə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 qaytarı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 verilir. |
sinh | double sinh(double x); x-in hiperbolik sinusunun qiymətini qaytarır. |
sqrt | double sqrt(double x); -in hesabi qiymətini qaytarır. |
tan | double tan(double x); tangens funksiyası. Bucaq (arqument) radianla 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 olması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 seqmentinin 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ə yazı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ə tamamlanı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övqeyində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 rejimində 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övqeyinə gətirir. |
highvideo | void highvideo (void); Ondan sonra ekrana çıxarılan simvolların şəffaflığı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 koordinatı (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 şəffaflığı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əngini 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 qaytarı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. |