İçeriğe geç
Educora
Başlangıç15 dk1 / 8

C nedir? İlk program

C dilinin nasıl doğduğunu ve nerelerde kullanıldığını öğren, ilk programını yaz, GCC ile derle ve printf ile metin yazdır.

Kendini test et
Bu derste öğreneceklerin
  • C'nin tarihini ve bugün nerelerde kullanıldığını açıklamak
  • Bir C programını gcc ile derleyip çalıştırmak
  • #include <stdio.h>, int main(void) ve return 0; satırlarının anlamını kavramak
  • printf ile biçim belirteçlerini ve kaçış dizilerini kullanmak

Telefonun, çamaşır makinesi, otomobilin motor kontrol ünitesi ve evine interneti getiren yönlendirici (router)... Hepsinin içinde programlar çalışır. Bu programların şaşırtıcı bir kısmı elli yaşını çoktan geçmiş bir dille yazılmıştır: C. C hızlıdır, küçüktür ve donanıma çok yakındır. Onu öğrenirken bilgisayarın bellekle gerçekte nasıl çalıştığını göreceksin.

Kısa bir tarihçe

C dili 1972'de ABD'deki Bell Labs laboratuvarında Dennis Ritchie tarafından geliştirildi. Ritchie'nin Unix işletim sistemini yazmak için bir dile ihtiyacı vardı: Assembly dili tek bir bilgisayara fazlasıyla bağlıydı, o dönemin yüksek seviyeli dilleri ise çok yavaştı. C bu sorunun cevabı oldu: neredeyse Assembly kadar hızlı ama başka bilgisayarlara taşınabilen bir dil.

  1. 1972
    C doğuyor

    Dennis Ritchie, Bell Labs'te B dilinin devamı olarak C'yi geliştirir.

  2. 1973
    Unix C ile yeniden yazılır

    Unix işletim sisteminin çekirdeği C ile yeniden yazılır.

  3. 1978
    K&R kitabı

    Brian Kernighan ve Dennis Ritchie The C Programming Language kitabını yayımlar.

  4. 1989
    İlk standart: C89

    Amerikan Ulusal Standartlar Enstitüsü (ANSI), C'nin ilk resmî standardını onaylar.

  5. 1999
    C99 standardı

    // yorumları, long long türü ve for döngüsünün içinde değişken tanımlama imkânı eklenir.

  6. 2011
    C11 standardı

    Çok iş parçacıklı programları destekleyen modern standart. Ardından C17 ve C23 geldi.

C bugün nerelerde kullanılıyor?

  • İşletim sistemleri: Linux ve Windows çekirdeklerinin büyük bölümü C ile yazılmıştır.
  • Gömülü sistemler: çamaşır makinelerindeki, otomobillerdeki, tıbbi cihazlardaki ve yönlendiricilerdeki mikrodenetleyiciler; yani belleğin az, hızın önemli olduğu yerler.
  • Araçlar ve diğer diller: standart Python yorumlayıcısı (CPython), SQLite veritabanı ve Git sürüm kontrol sistemi C ile yazılmıştır.
  • Diğer dillerin temeli: C++, Java, C# ve JavaScript süslü parantezleri, noktalı virgülü ve operatörleri C'den almıştır. Bu yüzden C'den sonra bu diller sana tanıdık gelecek.

İlk program

İşte klasik ilk program. Onu hello.c adlı bir dosyaya kaydet:

C
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}
Beklenen çıktı
Hello, World!
  • #include <stdio.h>, standart girdi/çıktı kütüphanesinin başlık dosyasını ekler; printf fonksiyonu orada bildirilmiştir.
  • int main(void) ana fonksiyondur: her C programı çalışmaya buradan başlar. int, fonksiyonun bir tam sayı döndürdüğünü; void ise hiç parametre almadığını belirtir.
  • Süslü parantezler { } fonksiyonun gövdesini çevreler. Her komut noktalı virgülle (;) biter.
  • printf metni ekrana yazar, \n ise imleci yeni satıra geçirir.
  • return 0; işletim sistemine programın başarıyla bittiğini bildirir.

Koddan programa: derleme

Bilgisayar hello.c dosyasındaki metni doğrudan çalıştıramaz. C derlenen bir dildir: önce bir derleyici kaynak kodun tamamını makine koduna çevirir ve çalıştırılabilir bir dosya olarak kaydeder. En yaygın C derleyicileri GCC, Clang ve Microsoft'un MSVC'sidir.

  1. 1
    Kodu yaz

    Herhangi bir metin düzenleyicide veya IDE'de (örneğin VS Code) .c uzantılı bir dosya oluştur ve kodu yaz.

  2. 2
    Derle

    Terminale gcc hello.c -o hello yaz. Derleyici kodu denetler: hata yoksa hello adlı çalıştırılabilir dosyayı oluşturur, hata varsa hatanın satır numarasını gösterir.

  3. 3
    Çalıştır

    Linux ve macOS'ta ./hello, Windows'ta ise hello.exe yaz. Kodu her değiştirdiğinde yeniden derlemen gerekir.

Terminal
gcc hello.c -o hello
./hello
Beklenen çıktı
Hello, World!
Terminalde GCC ile derleme ve çalıştırma. -o hello, oluşacak dosyanın adını belirler.

printf ve biçim belirteçleri

printf yalnızca hazır metin yazdırmakla kalmaz. Metnin içine % ile başlayan biçim belirteçleri yerleştirilir ve her biri virgülden sonra gelen sıradaki değerle değiştirilir. Değişkenler için şimdilik endişelenme; onları bir sonraki derste ayrıntılı olarak inceleyeceğiz.

BelirteçNe içinDeğerÇıktı
%dtam sayı (int)4242
%fondalıklı sayı (double, float)3.53.500000
%.2fnoktadan sonra 2 basamaklı ondalıklı sayı3.141593.14
%ctek karakter (char)'A'A
%skarakter dizisi (metin)"Baku"Baku
%%yüzde işaretinin kendisi–%
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;
}
Beklenen çıktı
Name: Leyla
Age: 14
Height: 1.620000 m
Height: 1.62 m
Grade: A
Progress: 75%

Dikkat et: %f her zaman noktadan sonra altı basamak yazar, %.2f ise sayıyı iki basamağa yuvarlar. % işaretinin kendisini yazdırmak için %% yazılır.

Bazı karakterler tırnakların içine doğrudan yazılamaz. Bunlar ters eğik çizgiyle başlar ve kaçış dizileri olarak adlandırılır: \n yeni satır, \t sekme, \" çift tırnak, \\ ise ters eğik çizginin kendisidir.

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;
}
Beklenen çıktı
Line 1
Line 2
She said "Hi!"
Folder: C:\code
Sum: 5
Tek bir printf birkaç satır yazdırabilir; %d ise 2 + 3 ifadesinin sonucunu gösterir.
1 / 6

Önemli noktalar

  • C, 1972'de Bell Labs'te Dennis Ritchie tarafından Unix'i yazmak için geliştirildi.
  • C derlenen bir dildir: gcc hello.c -o hello kaynak koddan çalıştırılabilir bir dosya üretir.
  • Her program int main(void) fonksiyonundan başlar; return 0; başarılı bitiş demektir.
  • #include <stdio.h>, printf ve diğer girdi/çıktı fonksiyonlarını kullanmanı sağlar.
  • Biçim belirteçleri: %d int, %f double, %.2f iki basamaklı ondalık, %c karakter, %s karakter dizisi içindir.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
C dilini kim ve nerede geliştirdi?