- •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
- •4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması
- •4.1. Xətti alqoritmlərin proqramlaşdırılması
- •3.7. Tiplərin çevrilməsi
- •Müstəqil işləmək üçün tapşırıqlar
- •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
Funksiyalar
Funksiya – hər hansı məsələni yerinə yetirən operatorlar küllisidir. İndiyə qədər bizim proqramlarda yalnız bir funksiya olurdu (main).
Proqramda birdən cox funksiyanın olması məcburi deyil. Lakin kifayət qədər böyük proqramlar yazdıqda main funksiyası cox böyuk olacaq. Kompilyator və iş prosesi üçün main funksiyasının böyük və ya kiçik olmasının əhəmiyyəti yoxdur. Bunun proqramçı üçün böyük mənası var. Belə ki, əgər main funksiyası bir neçə səhifəni tutursa, onu araşdırmaq və mümkün səhvləri tapmaq çətin olur. Məsələn, hər hansı kitabın fəsilləri bölmələrə bölünməsəydi, onu oxumaq çətin olardı. Lakin kitab fəsillərə, fəsillər isə bölmələrə bölünərsə, onu başa düşmək çox asan olar.
İstənilən funksiyanın (main-dən başqa) realizə olunması iki mərhələdən keçir:
1.Funksiyanın təyin olunması;
2.Funksiyanın çağırılması.
6.1. Funksiyanın sintaksisi
Bir main funksiyasından ibarət olan aşağıdakı sadə proqrama baxaq:
#include <iostream>
using namespace std;
int main()
{cout<<"Hello World";
return 0;
}
Burada birinci sətir int main() – funksiyanın başlığıdır və operatorlardan fərqli olaraq ondan sonra “;”işarəsi qoyulmur. Funksiyanın başlığı nəticənin tipindən, funksiyanın adından və parametrlər siyahısından ibarət olur. main sözünün əvvəlindəki verilənlər tipi – qaytarılan tipdir, main – funksiyanın adıdır, () – isə parametrlər siyahısını saxlayır (bu misalda siyahı boşdur).
Funksiyanın başlığından sonra { mötərizəsi ilə funksiyanın gövdəsi başlayır və bağlayıcı } mötərizəsi ilə qurtarır. Qeyd edək ki, funksiyanın gövdəsində başqa mötərizələr də iştirak edə bilər, məsələn, if şərt operatorunda və ya dövr operatorunda bir neçə operatorun yerləşdirilməsi üçün istifadə edilə bilər.
Funksiyanın gövdəsi bir və ya bir neçə operatordan ibarət ola bilər. Baxılan misalda funksiyanın gövdəsi iki operatordan ibarətdir. Sonuncu operator return 0- qayıdış operatorudur. Əgər qayıtma tipi void -dirsə, onda qayıdış operatorunu qoymaq məcburi deyil.
Funksiyanın gövdəsi və başlığı birlikdə funksiyanın təyini adlanır. Əgər funksiya təyin olunmayıbsa, onda o işləməyəcək. Funksiya təyin olunduqda isə çağırıldığı zaman işləyəcək. Funksiya adətən kodda çağırılır, yalnız main funksiyası istisna təşkil edir. main funksiyası proqram buraxılarkən avtomatik olaraq çağırılır.
6.2. Funksiyanın təyin olunması
Əvvəlki bənddəki proqrama baxaq və kodu iki funksiyaya ayıraq: main və printmessage (“Hello World” – ü çıxarır). Şərhlər (// ilə başlayan) printmessage funksiyasının təyininin başlanğıc və sonunu, həmçinin bu funksiyanın çağırılmasını işarə edirlər:
# include < iostream >
using namespace std;
// printmessage funksiyasinin təyininin baslangıcı
void printmessage (void)
{
cout <<”Hello World”;
}
//printmessage funksiyasının təyininin sonu
int main()
{
printmessage (); // printmessage funksiyasının cağırılması
return 0;
}
Burada əvvəlcə printmessage funksiyası təyin olunur. Funksiyanın adının qarşısındakı void xidməti sözü onu göstərir ki, printmessage funksiyası qiymət qaytarmır. Funksiyanın adından sonra mötərizə daxilindəki void sözü onu göstərir ki, bu funksiyanın parametrləri yoxdur. Mötərizədə heç nə yazılmaya da bilər, bu funksiyanın adından sonra void yazılışı ilə ekvivalentdir.
printmessage funksiyasının gövdəsində ekrana “Hello World” məlumatını çıxaran bir parametr yerləşir. Funksiyanın gövdəsində qayıtma operatorunu yazmaq vacib deyil, ona görə ki, əgər qayıtmanın tipi void-disə, onda belə hesab olunur ki, qayıtma operatoru işləməmişdir. Lakin aşkar şəkildə qayıtma operatorunu yazmaq olar. Onda printmessage funksiyası belə olar:
void printmessage (void)
{
cout <<”hello world”;
return;
}
