Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Muasir proq dil C++.doc
Скачиваний:
15
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆
  1. Funksiyalar

Funksiya – hər hansı məsələni yerinə yetirən ope­ra­tor­lar küllisidir. İndiyə qədər bizim proqramlarda yalnız bir funk­siya olurdu (main).

Proqramda birdən cox funksiyanın olması məcburi de­yil.­ Lakin kifayət qədər böyük proqramlar yazdıqda main funk­si­ya­sı cox böyuk olacaq. Kompilyator və iş prosesi üçün main funk­­siyasının böyük və ya kiçik olmasının əhə­miy­yə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üm­kün səhvləri tapmaq çətin olur. Məsələn, hər hansı ki­tabın fə­sil­ləri bölmələrə bölünməsəydi, onu oxu­maq çətin olardı. Lakin kitab fəsillərə, fəsillər isə böl­mə­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ə proq­ra­ma­ 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ə ope­­ratorlardan fərqli olaraq ondan sonra “;”işarəsi qoyu­l­mur. Funk­siyanın başlığı nəticənin tipindən, funksiyanın adın­dan 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 – funk­­siyanı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ə funk­si­ya­nı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şti­rak edə bilər, məsələn, if şərt operatorunda və ya dövr ope­ratorunda 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 ope­ra­tor­dan ibarətdir. Sonuncu operator return 0- qayıdış opera­toru­dur. Əgər qayıtma tipi void -dirsə, onda qayıdış operatorunu qoy­maq­ məcburi deyil.

Funksiyanın gövdəsi və başlığı birlikdə funksiyanın təyi­ni­ 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 funk­si­ya­sı istisna təşkil edir. main funksiyası proqram bura­xı­lar­kən avtomatik olaraq çağırılır.

6.2. Funksiyanın təyin olunması

Əvvəlki bənddəki proqrama baxaq və kodu iki fun­ksi­ya­ya ayıraq: main və printmessage (“Hello World” – ü çıxarır). Şərhlər (// ilə başlayan) printmessage funksiyasının təyini­nin başlanğıc və sonunu, həmçinin bu funksiyanın çağırıl­ma­sı­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. Funk­si­ya­nı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 olu­nur ki, qayıtma operatoru işləməmişdir. Lakin aşkar şəkildə qayıtma operatorunu yazmaq olar. Onda printmes­sa­ge­ funksiyası belə olar:

void printmessage (void)

{

cout <<”hello world”;

return;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]