ile başlayan birinci satır, C ön işlemcisine yönelik bir direktiftir. # ile başlayan satırlar, derlemeden önce ön işlemci tarafından işlenir. 1. satır, ön işlemciye standart giriş/çıkış başlık dosyasının () içeriğini programa eklemesini söyler. Bu başlık, derleyicinin 5. satırdaki printf () gibi standart giriş/çıkış kütüphanesi işlevlerine yapılan çağrıları derlerken kullandığı bilgileri içerir. Başlık dosyalarının içeriğini ileri de daha ayrıntılı olarak açıklanacaktır.*/ /* 4. satır sadece boş bir satırdır. Programları daha okunabilir hale getirmek için boş satırlar, boşluk karakterleri ve sekme karakterleri (yani “tab”lar) kullanılır. Bu karakterler topluca boşluk karakterleri (white space) olarak bilinir. Boş"> ile başlayan birinci satır, C ön işlemcisine yönelik bir direktiftir. # ile başlayan satırlar, derlemeden önce ön işlemci tarafından işlenir. 1. satır, ön işlemciye standart giriş/çıkış başlık dosyasının () içeriğini programa eklemesini söyler. Bu başlık, derleyicinin 5. satırdaki printf () gibi standart giriş/çıkış kütüphanesi işlevlerine yapılan çağrıları derlerken kullandığı bilgileri içerir. Başlık dosyalarının içeriğini ileri de daha ayrıntılı olarak açıklanacaktır.*/ /* 4. satır sadece boş bir satırdır. Programları daha okunabilir hale getirmek için boş satırlar, boşluk karakterleri ve sekme karakterleri (yani “tab”lar) kullanılır. Bu karakterler topluca boşluk karakterleri (white space) olarak bilinir. Boş"> ile başlayan birinci satır, C ön işlemcisine yönelik bir direktiftir. # ile başlayan satırlar, derlemeden önce ön işlemci tarafından işlenir. 1. satır, ön işlemciye standart giriş/çıkış başlık dosyasının () içeriğini programa eklemesini söyler. Bu başlık, derleyicinin 5. satırdaki printf () gibi standart giriş/çıkış kütüphanesi işlevlerine yapılan çağrıları derlerken kullandığı bilgileri içerir. Başlık dosyalarının içeriğini ileri de daha ayrıntılı olarak açıklanacaktır.*/ /* 4. satır sadece boş bir satırdır. Programları daha okunabilir hale getirmek için boş satırlar, boşluk karakterleri ve sekme karakterleri (yani “tab”lar) kullanılır. Bu karakterler topluca boşluk karakterleri (white space) olarak bilinir. Boş">

1.PDF

2.PDF

Büt için Özet

https://github.com/edizrgn/c

#include <stdio.h>

int main ()
{
    printf("C programlama dili!");

}

// Yorumlar böyle gösterilir.
// Yorumlar C derleyicisi tarafından yok sayılır ve makine dili nesne kodu oluşturulmasına sebep olmaz.

/* Ya da bu şekilde gösterilir. */

/* #include <stdio.h> ile başlayan birinci satır, C ön işlemcisine yönelik bir direktiftir.
# ile başlayan satırlar, derlemeden önce ön işlemci tarafından işlenir.
1. satır, ön işlemciye standart giriş/çıkış başlık dosyasının (<stdio.h>) içeriğini programa eklemesini söyler.
Bu başlık, derleyicinin 5. satırdaki printf () gibi standart giriş/çıkış kütüphanesi işlevlerine yapılan çağrıları derlerken kullandığı bilgileri içerir.
Başlık dosyalarının içeriğini ileri de daha ayrıntılı olarak açıklanacaktır.*/

/* 4. satır sadece boş bir satırdır. Programları daha okunabilir hale getirmek için boş satırlar, boşluk karakterleri ve sekme karakterleri (yani “tab”lar) kullanılır.
Bu karakterler topluca boşluk karakterleri (white space) olarak bilinir.
Boşluk karakterleri genellikle derleyici tarafından yok sayılır.*/

// Main Ana Fonksiyonu
/*3. satırda bulunan main fonksiyonu her C programının bir parçasıdır. Main ifadesinden sonra gelen parantezler, mainin bir fonksiyon adı olduğunu gösterir.
C programları bir veya daha fazla fonksiyon içerir ve bunlardan biri mutlaka main olmalıdır. C'deki her program, main fonksiyonunda çalışmaya başlar.
Fonksiyonlar bilgi döndürebilir. main'in solundaki int anahtar kelimesi, main fonksiyonunun bir tam sayı (bütün sayı) değeri "döndürdüğünü" belirtir.
5. Bölümde kendi fonksiyonlarınızı nasıl oluşturacağınızı gösterirken, bir fonksiyonun "değer döndürmesinin" ne anlama geldiğini açıklayacağız.
Şimdilik, her programınızda main'in soluna int anahtar kelimesini ekleyin. Fonksiyonlar ayrıca çalıştırılmaları istendiğinde bilgi de alabilir.

Burada parantez içinde bulunan void, main'in herhangi bir bilgi almadığını ifade eder. 14. Bölümde, main'in bilgi aldığı bir örnek göstereceğiz.

Programında başındaki (3. satır) sol süslü parantez {, her fonksiyonun gövdesini başlatır. Buna karşılık gelen bir sağ süslü parantez } (8. satır), her fonksiyonu sonlandırır. 
Bu süslü parantez çifti ve parantezlerin arasındaki program kısmına blok denir. Blok, C dilinde önemli bir program birimidir.*/

// Çıktı ifadesi
/*Programdaki “Printf ("C programlama dili!");” ifadesi, bilgisayara bir işlem gerçekleştirmesini, yani tırnak işaretleriyle işaretlenmiş karakter dizisini ekranda yazdırmasını söyler.
Bir karakter dizisine bazen karakter dizisi, mesaj veya literal denir.
Tüm satır, printf fonksiyonu (buradaki “f”, “formatlı” anlamına gelir), parantez içindeki argümanı ve noktalı virgülü (;) kapsar ve bu bir ifade olarak adlandırılır.
Her ifade, bir noktalı virgül ile sonlanmalıdır (bu aynı zamanda ifade sonlandırıcısı olarak da bilinir).
Önceki printf ifadesi çalıştırıldığında, ekranda “C programlama dili!” mesajını yazdırır.
Karakterler genellikle printf ifadesindeki çift tırnaklar arasında nasıl görünüyorsa öyle yazdırılır.*/

// Kaçış Karakterleri
/*Görüldüğü üzere “\\n” karakterleri ekrana yazdırılmadı, ters eğik çizgi (\\), bir kaçış karakteri olarak adlandırılır.
Bu, printf'in olağan dışı bir şey yapması gerektiğini belirtir.
Bir dizide ters eğik çizgiyle karşılaşıldığında, derleyici sonraki karaktere bakar ve onu ters eğik çizgi ile birleştirerek bir kaçış dizisi oluşturur.
“\\n” kaçış dizisi, yeni satır anlamına gelir. Bir printf ifadesindeki çıktı dizisinde yeni satır bulunduğunda, yeni satır, imleci ekranda bir sonraki satırın başına yerleştirir.*/

//Kaçış Dizileri
/*

\\n : Yeni satır. İmleci bir sonraki satırın başına yerleştirir.
\\t : Yatay sekme. İmleci bir sonraki sekme duraklamasına taşır.
\\a : Alarm. Mevcut imleç konumunu değiştirmeden bir ses veya görünür bir alarm üretir.
\\ \\ :Ters eğik çizgi. Bir dizede ters eğik çizgi karakkteri ekler.
\\" : Bir dizede çift tırnak karakteri ekler.

*/

/* Ters eğik çizginin bir dizide özel bir anlamı olduğu için, yani derleyici tarafından bir kaçış karakteri olarak tanındığı için, bir dizede tek bir ters eğik çizgi yerleştirmek için çift ters eğik çizgi (\\) kullanırız.
Çift tırnak da bir sorun yaratır çünkü çift tırnaklar bir dizenin sınırlarını belirler—bu nedenle çift tırnaklar yazdırılmaz.
printf tarafından çıktı olarak verilecek bir dizide \\" kaçış dizisini kullanarak, printf'in çift tırnağı göstermesi gerektiğini belirtiriz.
Sağ süslü parantez }, (9. satır) ise main fonksiyonunun sonuna gelindiğini gösterir.*/
#include <stdio.h>

int main(void) {
    printf("C programlama ");
    printf("dili!\\n");

// Birden Fazla Printf Kullanma
/*printf fonksiyonu "C programlama dili!” mesajını birkaç farklı şekilde yazdırabilir.
Örneğin, üstteki şekilde programla aynı çıktıyı üretir. Bu, her printf'in bir önceki printf'in durduğu yerden yazdırmaya devam etmesi sayesinde çalışır.
İlk printf "Welcome" kelimesini bir boşluktan sonra yazdırırken, ikinci printf boşluktan hemen sonra aynı satırda yazmaya başlar.
Tek bir printf, Şekildeki gibi ek yeni satır karakterleri kullanarak birkaç satır yazdırabilir.
\\n (yeni satır) kaçış dizisi her karşılaşıldığında, çıktı bir sonraki satırın başında devam eder.*/

    printf("C\\nprogramlama\\ndili\\n");

    return 0;
}

C Programlamada Temel Kavaramlar

Programlama ya da diğer adıyla yazılım, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Programlama, bir programlama dilinde yapılır. Bu programlama dili, Java gibi yüksek seviyede bir dil olabileceği gibi C, assembly ve bazı durumlarda makine dili de olabilir.

Yazılan kaynak kodu, genellikle bir derleyici (compiler) yardımıyla belirli bir donanımda çalıştırılabilir hâle getirilir. Ayrıca kaynak kodu, bir yorumlayıcı (interpreter) yardımıyla derlemeye gerek duyulmadan satır satır da çalıştırılabilir.

Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazımsal (syntax) hatalar olup olmadığını bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa programı çalıştırıp sonucunu gösteren birer platformdur. Bu platformda, daha önceden tanımlanmış veri tipleri kullanılmak zorundadır. Bilgisayara girilen işlenmemiş (ham) bilgilere veri denir.

Bilgisayarın alabildiği, işleyebildiği, sonuç üretebildiği ve saklayabildiği her şey veridir. Bazı programlama dilleri veri tiplerini önceden ayırır, bazı programlama dilleri ise ayırmaz. Teknik olarak veri tipini önceden belirleyen programlama dilleri, belleğe yerleşecek verileri, orada kaplayacakları alanlara göre gruplara ayırır. Programlama dilleri, bu veri gruplarını pratikteki kullanımlarına göre adlandırır. Örneğin; karakterler, tam sayılar, kesirli sayılar vb. gibi yalın tipler yanında dizim (array) gibi birleşik veri yapıları bu ayrımı yapan her dilde vardır.

Fortran, Pascal, C/C++, Java vb. programlama dilleri veri tiplerini önceden ayıran dillerdir. Python, Ruby gibi programlama dilleri ise bu ayrımı önceden yapmaz; önce veriyi belleğe yerleştirir, sonra onun tipini belirler. Bu iki yöntemin avantajlı ve dezavantajlı kabul edilebilecek yanları vardır. Verileri önceden tiplerine ayırmanın avantajları şöyle sıralanabilir:

• Her veri tipine yetecek ve ancak o kadar bellek alanı ayrılır.

• Programcı, bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini tanımlar.

• Her değişkene, bellekte bir yer ayrılır. Değişken etkin olduğu sürece, o adrese bir başka veri yazılamaz. Programcı her istediğinde değişkenin değerini değiştirebilir, yeni değer atayabilir. Bu işlem değişkenin adresini değiştirmez.

• Her veri tipi üzerinde yapılacak işlemler farklıdır. Örneğin, sayılarda yapılan işlemlerle karakter verilerinde (metinlerde) yapılan işlemler farklıdır. Bu fark gözetilerek veri tipleri üzerinde işlem tanımlanır.