
- •Proqramlaşdırmanın əsasları
- •3. Yaddaş və verilənlərin tipləri
- •3.1. Yaddaş və onun növləri
- •3.2. Standart tip verilənlərin ölçüsü
- •3.3. Dəyişənlərin elan olunması
- •3.4. Konstantlar (Sabitlər)
- •3.5. İfadələr
- •3.7. Tiplərin çevrilməsi
- •Müstəqil işləmək üçün tapşırıqlar
- •4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması
- •4.1. Xətti alqoritmlərin proqramlaşdırılması
- •4.2. Giriş/çıxış operatorları
- •4.3. Budaqlanan alqoritmlərin proqramlaşdırılması
- •4.3.1. Şərt operatoru
- •4.3.3. Seçmə (variant) operatoru
- •4.3.4. Goto operatoru
- •4.3.5. Proqramın exit operatoru ilə dayandırılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Dövri alqoritmlərin proqramlaşdırılması
- •5.1. Önşərtli dövr operatoru
- •5.2. Sonşərtli dövr operatoru
- •5.3. Parametrli dövr operatoru
- •5.4. Break operatoru
- •5.5. Continue operatoru
- •Müstəqil işləmək üçün çalışmalar
- •Funksiyalar
- •6.1. Funksiyanın sintaksisi
- •6.2. Funksiyanın təyin olunması
- •6.3. Funksiyanın çağırılması
- •6.4. Prototipin yaradılması
- •6.5. Lokal dəyişənlər
- •6.6. Qlobal dəyişənlər
- •6.7. Statik lokal dəyişənlər
- •6.8. Məlumatın funksiyaya göndərilməsi
- •6.9. Funksiyadan qiymətin qaytarılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Massivlər
- •7.1. Birölçülü massivlər
- •7.2. İkiölçülü massivlər
- •İkiölçülü massivin ekrana çıxarılması:
- •Müstəqil işləmək üçün tapşırıqlar
- •Simvollar və sətirlər
- •8.1. Simvol və sətirlərin sintaksisi
- •Sətirlərlə işləyən funksiyalar
- •Müstəqil işləmək üçün tapşırıqlar
- •Fayllar: fayldan daxiletmə
- •Və fayla çıxış
- •Ikilik və mətn faylları
- •Fstream standart kitabxanası
- •Fayla girişin ümumi alqoritmi
- •9.4. Faylın açılması
- •9.4.1. Yazmaq üçün faylın açılması
- •9.4.2. Oxumaq üçün faylın açılması
- •9.4.3. Faylın oxumaq və yazmaq üçün açılması
- •9.5. Faylın bağlanması
- •9.6. Fayla yazmaq və fayldan oxumaq
- •Strukturlar və siniflər
- •Strukturlar və onların elanı
- •Int height;
- •Strukturun dəyişəninin elanı
- •Strukturun inisiallaşdırılması
- •Strukturların funksiya parametri kimi ötürülməsi
- •Siniflər
- •Operatorlar
- •Operatorların üstünlük dərəcəsi
- •Sərhəd qiymətlərinin sabitləri
- •Həqiqi tiplər üçün sabitlər – float.H faylı
- •C dilinin standart funksiyalar kitabxanası
- •Hesabi funksiyalar – math.H faylı
- •Standart fayllar üçün giriş-çıxış funksiyaları- stdio.H faylı
- •Sətirlərlə işləmək üçün funksiyalar- string.H, stdlib.H faylları
- •Mətn rejimində terminalla işləmək üçün funksiyalar- conio.H faylı
- •Xüsusi funksiyalar
- •Mündəricat
3.7. Tiplərin çevrilməsi
İfadələrdə eyni tipli operandlardan istifadə etmək əlverişlidir. Lakin C/C++ dili tiplərin çevrilməsini mümkün sayır, yəni əgər operatorun operandları müxtəlif tiplərə malikdirsə, onda onlar müəyyən ümumi bir tipə gətirilə bilər.
Gətirilmə qaydaları bunlardır:
avtomatik olaraq yalnız qiymətlər diapazonu kiçik olan operandları qiymətləri böyük olan operandlara çevirən tələblər yerinə yetirilir, belə ki, bu heç bir informasiyanın itməməsi daxilində baş verir. Məsələn:
int i;
float f, summa;
- - - - - - - - - - -
i = 5; f=2.5;
summa=i+f;
- -- - - - - - - - - -
mənası olmayan ifadələr (məsələn, sürüşkən vergüllü ədədlər indeks rolunda) translyator tərəfindən hətta translyasiya mərhələsində olduqda belə buraxılmırlar. Məsələn,
float f;
- - - - - -
mas [f]=25; // translyasiya səhvi verir;
informasiyanın itə biləcəyi ifadələr (məsələn, uzun tamların daha qısa tamlara mənimsədilməsində), xəbərdarlıq törədə bilərlər (warning), lakin onlar mümkündürlər. Məsələn,
int i;
float f;
f=3.2;
i=f;
İstənilən ifadə üçün tipin gətirilməsi adlanan unar operatorundan istifadə edərək aşkar şəkildə onun tipinin çevrilməsini göstərmək olar. Məsələn,
(Tipin adı) ifadə
şəklində konstruksiya ifadəni yuxarıda sadalanan qaydalar üzrə göstərilən tipə gətirir. Məsələn,
(int) i= 2.5*3.2
Müstəqil işləmək üçün tapşırıqlar
Tənliyi həll edin: 8x (bit) = 32 (Kbayt).
Tənliklər sistemini həll edin:
Aşağıdakı riyazi ifadələri C/C++ proqramlaşdırma dilində yazın:
;
;
;
;
;
;
;
;
;
x dəyişəninə -1,5 qiymətini mənimsədən ifadə yazın.
Sum dəyişəninə sıfır qiyməti mənimsədən ifadə yazın.
Silindirin səthinin sahəsini və həcmini hesablamaq üçün lazım olan dəyişənlərin elan edilməsi və mənimsətmə konstruksiyalarını yazın.
“C/C++ proqramlaşdırma dili” məlumatını ekrana çıxaran operator yazın.
Aşağıdakı operatorlardan hansı
ifadəsinin C/C++ dilində yazılışıdır?
Üç tam ədədin klaviaturadan daxil edilməsi və onların x, y, c dəyişənlərində yadda saxlanılması üçün operator yazın.
Aşağıdakı operatorları riyazi dildə ifadə edin:
2*b*c*cos(a/2)/(b+c);
a/sin(b);
abs(2*sin(-3*abs(x/2)));
(a+b)/(b+c);
(a*x+b)/(c*x+d);
4*r*sin(a/2)*sin(b/2)*sin(c/2).
4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması
4.1. Xətti alqoritmlərin proqramlaşdırılması
Proqramlar xətti, budaqlanan, dövri və mürəkkəb olurlar.
Xətti proqramlar – operatorlar əvvəldən axıradək bir-birinin ardınca yerinə yetirilirlər (təkrar olunmayaraq və yerinə yetirilmə ardıcıllığını dəyişmədən).
Xətti proqramlara –mənimsətmə operatorları, riyazi funksiyalar, hesab əməlləri və giriş/çıxışla bağlı funksiyalar və operatorların ardıcıllığını pozmayan digər operatorlar daxildir. C/C++ dilində istifadə olunan bəzi riyazi funksiyalar Cədvəl 4.1-də verilmişdir.
Cədvəl 4.1. C/C++ dilində istifadə olunan riyazi funksiyalar.
Funksiyanın adı |
Funksiyanın işarəsi
|
Tip |
Təsvir faylının adı |
|
Qayta-rılan qiymət |
Arqu-ment
|
|||
mütləq qiymət
arkkosinus arksinus arktangens kosinus sinus ex xy qüv. f-sı natural loq onluq loq kvarat kök tangens |
abs(x) cabs(x) fabs(x) acos(x) asin(x) atan(x) cos(x) sin(x) exp(x) pow(x,y) log(x) log10(x) sqrt(x) tan(x) |
int double float double double double double double double double double double double double |
int double float double double double double double double double double double double double |
<stdlib.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> <math.h> |