Məzmuna keç
Educora
Başlanğıc15 dəq1 / 8

C nədir? İlk proqram

C dilinin necə yarandığını və harada işlədildiyini öyrən, ilk proqramını yaz, GCC ilə kompilyasiya et və printf ilə mətn çap et.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • C dilinin tarixini və bu gün harada işlədildiyini izah etmək
  • C proqramını gcc ilə kompilyasiya edib işə salmaq
  • #include <stdio.h>, int main(void) və return 0; sətirlərinin mənasını anlamaq
  • printf ilə format spesifikatorlarından və escape-ardıcıllıqlardan istifadə etmək

Telefon, paltaryuyan maşın, avtomobilin mühərrik idarəetmə bloku, evə internet gətirən router — bunların hamısının içində proqramlar işləyir. Onların təəccüblü dərəcədə çoxu yaşı yarım əsri keçmiş bir dildə yazılıb — C dilində. C sürətlidir, yığcamdır və avadanlığa çox yaxındır. Onu öyrənərkən kompüterin yaddaşla əslində necə işlədiyini görəcəksən.

Qısa tarix

C dilini 1972-ci ildə ABŞ-dakı Bell Labs laboratoriyasında Dennis Ritçi yaratmışdır. Ona Unix əməliyyat sistemini yazmaq üçün dil lazım idi: assembler dili konkret bir kompüterə çox bağlı idi, o dövrün yüksək səviyyəli dilləri isə çox yavaş işləyirdi. C bu problemin həlli oldu — demək olar ki, assembler qədər sürətli, amma başqa kompüterlərə köçürülə bilən dil.

  1. 1972
    C dili yaranır

    Dennis Ritçi Bell Labs-da B dilinin davamçısı kimi C-ni yaradır.

  2. 1973
    Unix C ilə yenidən yazılır

    Unix əməliyyat sisteminin nüvəsi C dilində yenidən yazılır.

  3. 1978
    K&R kitabı

    Brayan Kerniqan və Dennis Ritçi The C Programming Language kitabını nəşr edirlər.

  4. 1989
    İlk standart: C89

    Amerika Milli Standartlar İnstitutu (ANSI) C dilinin ilk rəsmi standartını qəbul edir.

  5. 1999
    C99 standartı

    // şərhləri, long long tipi və for dövrünün içində dəyişən elan etmək imkanı əlavə olunur.

  6. 2011
    C11 standartı

    Çoxaxınlı proqramlara dəstək verən müasir standart. Ondan sonra C17 və C23 versiyaları çıxıb.

C bu gün harada işlədilir?

  • Əməliyyat sistemləri: Linux və Windows nüvələrinin böyük hissəsi C dilində yazılıb.
  • Quraşdırılmış sistemlər: paltaryuyan maşınlarda, avtomobillərdə, tibbi cihazlarda və routerlərdə işləyən mikrokontrollerlər — yaddaşın az, sürətin isə vacib olduğu yerlər.
  • Alətlər və başqa dillər: standart Python interpretatoru (CPython), SQLite verilənlər bazası və Git versiya nəzarəti sistemi C-də yazılıb.
  • Başqa dillərin təməli: C++, Java, C# və JavaScript fiqurlu mötərizələri, nöqtəli vergülü və operatorları C-dən götürüb. Ona görə də C-dən sonra bu dillər sənə tanış görünəcək.

İlk proqram

Budur klassik ilk proqram. Onu hello.c adlı faylda yadda saxla:

C
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}
Gözlənilən nəticə
Hello, World!
  • #include <stdio.h> standart giriş-çıxış kitabxanasının başlıq faylını qoşur — printf funksiyası məhz orada elan olunub.
  • int main(void) əsas funksiyadır: hər C proqramı işə buradan başlayır. int funksiyanın tam ədəd qaytardığını, void isə heç bir parametr qəbul etmədiyini bildirir.
  • Fiqurlu mötərizələr { } funksiyanın gövdəsini əhatə edir. Hər əmr nöqtəli vergüllə (;) bitir.
  • printf mətni ekrana çıxarır, \n isə kursoru yeni sətrə keçirir.
  • return 0; əməliyyat sisteminə proqramın uğurla başa çatdığını bildirir.

Koddan proqrama: kompilyasiya

Kompüter hello.c faylındakı mətni birbaşa icra edə bilmir. C kompilyasiya olunan dildir: əvvəlcə kompilyator bütün mənbə kodunu maşın koduna çevirir və onu icra olunan fayl kimi saxlayır. Ən məşhur C kompilyatorları GCC, Clang və Microsoft-un MSVC kompilyatorudur.

  1. 1
    Kodu yaz

    İstənilən mətn redaktorunda və ya IDE-də (məsələn, VS Code) .c uzantılı fayl yarat və kodu ora yaz.

  2. 2
    Kompilyasiya et

    Terminalda gcc hello.c -o hello əmrini daxil et. Kompilyator kodu yoxlayır: səhv yoxdursa, hello adlı icra olunan fayl yaranır, səhv varsa, o, hər xətanın sətir nömrəsini göstərir.

  3. 3
    İşə sal

    Linux və macOS-də ./hello, Windows-da isə hello.exe yaz. Kodu hər dəfə dəyişdikdən sonra onu yenidən kompilyasiya etmək lazımdır.

Terminal
gcc hello.c -o hello
./hello
Gözlənilən nəticə
Hello, World!
Terminalda GCC ilə kompilyasiya və işə salma. -o hello yaranacaq faylın adını təyin edir.

printf və format spesifikatorları

printf yalnız hazır mətni çap etmir. Mətnin içinə % ilə başlayan format spesifikatorları yerləşdirilir və onların hər biri vergüldən sonra gələn növbəti qiymətlə əvəz olunur. Hələlik dəyişənlərdən narahat olma — onları növbəti dərsdə ətraflı öyrənəcəyik.

SpesifikatorNə üçündürQiymətNəticə
%dtam ədəd (int)4242
%fkəsr ədəd (double, float)3.53.500000
%.2fnöqtədən sonra 2 rəqəmli kəsr ədəd3.141593.14
%cbir simvol (char)'A'A
%ssətir (mətn)"Baku"Baku
%%faiz işarəsinin özü–%
C
#include <stdio.h>

int main(void) {
    int age = 14;
    double height = 1.62;
    char grade = 'A';
    printf("Name: %s\n", "Leyla");
    printf("Age: %d\n", age);
    printf("Height: %f m\n", height);
    printf("Height: %.2f m\n", height);
    printf("Grade: %c\n", grade);
    printf("Progress: 75%%\n");
    return 0;
}
Gözlənilən nəticə
Name: Leyla
Age: 14
Height: 1.620000 m
Height: 1.62 m
Grade: A
Progress: 75%

Diqqət et: %f həmişə nöqtədən sonra altı rəqəm çap edir, %.2f isə ədədi iki rəqəmə qədər yuvarlaqlaşdırır. % işarəsinin özünü çap etmək üçün %% yazılır.

Bəzi simvolları dırnaqların içində birbaşa yazmaq olmur. Onlar tərs çəp xətlə başlayır və escape-ardıcıllıqlar adlanır: \n — yeni sətir, \t — tabulyasiya, \" — qoşa dırnaq, \\ — tərs çəp xəttin özü.

C
#include <stdio.h>

int main(void) {
    printf("Line 1\nLine 2\n");
    printf("She said \"Hi!\"\n");
    printf("Folder: C:\\code\n");
    printf("Sum: %d\n", 2 + 3);
    return 0;
}
Gözlənilən nəticə
Line 1
Line 2
She said "Hi!"
Folder: C:\code
Sum: 5
Bir printf bir neçə sətir çap edə bilər, %d isə 2 + 3 ifadəsinin nəticəsini göstərir.
1 / 6

Əsas fikirlər

  • C dilini 1972-ci ildə Bell Labs-da Dennis Ritçi Unix-i yazmaq üçün yaratmışdır.
  • C kompilyasiya olunan dildir: gcc hello.c -o hello mənbə kodundan icra olunan fayl yaradır.
  • Hər proqram int main(void) funksiyasından başlayır; return 0; uğurlu sonluq deməkdir.
  • #include <stdio.h> printf və digər giriş-çıxış funksiyalarından istifadəyə imkan verir.
  • Format spesifikatorları: %d — int, %f — double, %.2f — 2 rəqəmli kəsr, %c — simvol, %s — sətir.

Özünü yoxla

10 sual. Hər düzgün cavab XP qazandırır.

1 / 10
C dilini kim və harada yaratmışdır?