- C dilinin tarixini və bu gün harada işlədildiyini izah etmək
- C proqramını
gccilə kompilyasiya edib işə salmaq #include <stdio.h>,int main(void)vəreturn 0;sətirlərinin mənasını anlamaqprintfilə 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.
- 1972C dili yaranır
Dennis Ritçi Bell Labs-da B dilinin davamçısı kimi C-ni yaradır.
- 1973Unix C ilə yenidən yazılır
Unix əməliyyat sisteminin nüvəsi C dilində yenidən yazılır.
- 1978K&R kitabı
Brayan Kerniqan və Dennis Ritçi The C Programming Language kitabını nəşr edirlər.
- 1989İlk standart: C89
Amerika Milli Standartlar İnstitutu (ANSI) C dilinin ilk rəsmi standartını qəbul edir.
- 1999C99 standartı
//şərhləri,long longtipi vəfordövrünün içində dəyişən elan etmək imkanı əlavə olunur. - 2011C11 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:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}Hello, World!
#include <stdio.h>standart giriş-çıxış kitabxanasının başlıq faylını qoşur —printffunksiyası məhz orada elan olunub.int main(void)əsas funksiyadır: hər C proqramı işə buradan başlayır.intfunksiyanın tam ədəd qaytardığını,voidisə 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. printfmətni ekrana çıxarır,\nisə 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.
- 1Kodu yaz
İstənilən mətn redaktorunda və ya IDE-də (məsələn, VS Code)
.cuzantılı fayl yarat və kodu ora yaz. - 2Kompilyasiya et
Terminalda
gcc hello.c -o helloəmrini daxil et. Kompilyator kodu yoxlayır: səhv yoxdursa,helloadlı icra olunan fayl yaranır, səhv varsa, o, hər xətanın sətir nömrəsini göstərir. - 3İşə sal
Linux və macOS-də
./hello, Windows-da isəhello.exeyaz. Kodu hər dəfə dəyişdikdən sonra onu yenidən kompilyasiya etmək lazımdır.
gcc hello.c -o hello
./helloHello, World!
-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.
| Spesifikator | Nə üçündür | Qiymət | Nəticə |
|---|---|---|---|
%d | tam ədəd (int) | 42 | 42 |
%f | kəsr ədəd (double, float) | 3.5 | 3.500000 |
%.2f | nöqtədən sonra 2 rəqəmli kəsr ədəd | 3.14159 | 3.14 |
%c | bir simvol (char) | 'A' | A |
%s | sətir (mətn) | "Baku" | Baku |
%% | faiz işarəsinin özü | – | % |
#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;
}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ü.
#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;
}Line 1 Line 2 She said "Hi!" Folder: C:\code Sum: 5
printf bir neçə sətir çap edə bilər, %d isə 2 + 3 ifadəsinin nəticəsini göstərir.Ə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 hellomə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>printfvə 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.