Hoşgeldin, Ziyaretçi: Üye Ol

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
C Yazılım Dili Temel Eğitim Dersi
#1
Information 
Herkese merhabalar.Size yararlı olabileceğini düşündüğüm C yazılım dili temel eğitim dersini paylaşmak istedim.İyi forumlar.

VERİ TİPLERİ


Kod:
int sayi;
int sayi=5;
int sayi=-1;
// İnt Veri Tipi Degiskenin Tam Sayıları Tutmasına Yarar.
float sayi;
float sayi=5.3;
float sayi=5.25;
// Float Veri Tipi Değişkenin Ondalıklı Sayıları Tutmasına Yarar.
double sayi;
double sayi=5.24532;
double sayi=4.126437334;
// Double Veri Tipi Değişkenin Yüksek Kesirli Ondalıklı Sayıları Tutmasına Yarar.
char harf;
char harf 'a';
char harf 'B';
// Char Veri Tipi Değişkenin Harf Tutmasına Yarar. 2 Şekil Kullanımı Vardır.Birincisi Sadece Tek Bir Harf Tutmamıza Yarar. Yukarıdaki Gibi
char kelime[5];
char kelime[7] = "Reklam";
char kelime[10] = "cbuyazilim";
// Char Veri Tipi'nin 2.Kullanımı Dizilerden Yardım Alarak Kelimeleri Değişkende Tutmamıza Yarar.Yukarıdaki Gibi


OPERATÖRLER


Kod:
sayi = 5;
// Sayi Değişkenine Değer Atama
sayi += 5 || sayi = sayi + 5
// Sayi Değişkenine Değer Ekleme "||" İşareti "veya" Anlamına Gelir.
sayi -= 5 || sayi = sayi - 5
// Sayi Değişkeninden Değer Çıkarma
sayi /= 5 || sayi = sayi / 5
// Sayi Değişkenini Değere Bölme
sayi *= 5 || sayi = sayi * 5
// Sayi Değişkenini Değer İle Çarpma
sayi %= 5 || sayi = sayi % 5
// Sayi Değişkeninin Değere Göre Modunu Alma Veya Sayı Değişkenini Değere Bölüp Kalanını Atama
sayi++ || ++sayi || sayi += 1 || sayi = sayi + 1
// Sayi Değişkenini Bir Arttırma "++sayi" Komutu Kullanıldığı Satırda 1 Arttırma İşlemi Yapar Diğerleri İse 1 Alt Satırda Çalıştırır.

ÖRNEK

///////////////////////////////
#include <stdio.h>

int main()
{
    int sayi=1;
    printf("%d",++sayi);
    // Ekran Çıktısı 2 Olacaktır.
}

#include <stdio.h>

int main()
{
    int sayi=1;
    printf("%d",sayi++);
    // Ekran Çıktısı 1 Olacaktır.
}

///////////////////////////////

// Bir Arttırma Operatörü
sayi-- || --sayi || sayi -= 1 || sayi = sayi - 1
// Sayi Değişkenini Bir Eksiltme "--sayi" Komutu Kullanıldığı Satırda 1 Eksiltme İşlemi Yapar Diğerleri İse 1 Alt Satırda Çalıştırır.

ÖRNEK

///////////////////////////////
#include <stdio.h>

int main()
{
    int sayi=1;
    printf("%d",--sayi);
    // Ekran Çıktısı 0 Olacaktır.
}

#include <stdio.h>

int main()
{
    int sayi=1;
    printf("%d",sayi--);
    // Ekran Çıktısı 1 Olacaktır.
}

///////////////////////////////


KARŞILAŞTIRMA OPERATÖRLERİ


Kod:
// Büyüktür Operatörü
x>y
// x Değişkeni ile y Değişkenini Karşılaştırır.Koşul Komutu Olarak Kullanılır.

ÖRNEK

///////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=4;

    if(x>y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=4,y=5;

    if(x>y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL YANLIŞ Olacaktır.
}

/////////////////////////////////

// Küçüktür Operatörü
x<y
// x Değişkeni ile y Değişkenini Karşılaştırır. Koşul Komutu Olarak Kullanılır.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=4,y=5;

    if(x<y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=4;

    if(x<y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL YANLIŞ Olacaktır.
}

////////////////////////////////

// Eşittir Operatörü
x==y
// x Değişkeni ile y Değişkenini Karşılaştırır. Koşul Komutu Olarak Kullanılır.

ÖRNEK

////////////////////////////////

include <stdio.h>

int main()
{
    int x=5,y=5;

    if(x==y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////

include <stdio.h>

int main()
{
    int x=5,y=4;

    if(x==y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");,
    }
    // Ekran Çıktısı KOŞUL YANLIŞ Olacaktır.
}

////////////////////////////////

// Eşit Değildir Operatörü
x!=y
// x Değişkeni ile y Değişkenini Karşılaştırır.Koşul Komutu Olarak Kullanılır.

ÖRNEK

////////////////////////////////

include <stdio.h>

int main()
{
    int x=5,y=4;

    if(x!=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");,
    }
    // Ekran Çıktısı KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////

include <stdio.h>

int main()
{
    int x=5,y=5;

    if(x!=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");,
    }
    // Ekran Çıktısı KOŞUL YANLIŞ Olacaktır.
}

////////////////////////////////

// Büyüktür Veya Eşittir Operatörü
x>=y
// x Değişkeni ile y Değişkenini Karşılaştırır.Koşul Komutu Olarak Kullanılır.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=5,z=4;

    if(x>=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }

    if(z>=y)
    {
        printf("\nKOŞUL DOĞRU");
    }
    else
    {
        printf("\nKOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL DOĞRU
                      KOŞUL YANLIŞ Olacaktır.
}
////////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=6,z=7;

    if(x>=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }

    if(z>=y)
    {
        printf("\nKOŞUL DOĞRU");
    }
    else
    {
        printf("\nKOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL YANLIŞ
                     KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////

// Küçüktür Veya Eşittir Operatörü
x<=y
// x Değişkeni ile y Değişkenini Karşılaştırır.Koşul Komutu Olarak Kullanılır.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=5,z=6;

    if(x<=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }

    if(z<=y)
    {
        printf("\nKOŞUL DOĞRU");
    }
    else
    {
        printf("\nKOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL DOĞRU
                       KOŞUL YANLIŞ Olacaktır.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=5,y=4,z=3;

    if(x<=y)
    {
        printf("KOŞUL DOĞRU");
    }
    else
    {
        printf("KOŞUL YANLIŞ");
    }

    if(z<=y)
    {
        printf("\nKOŞUL DOĞRU");
    }
    else
    {
        printf("\nKOŞUL YANLIŞ");
    }
    // Ekran Çıktısı KOŞUL YANLIŞ
                        KOŞUL DOĞRU Olacaktır.
}

////////////////////////////////


KARŞILAŞTIRMA DEYİMLERİ


Kod:
// if() Deyimi

if(koşul)
{
    KOMUTLAR...
}

// Koşula Göre İşleve Geçer Koşul Doğru İse "{" ile "}" Parantezleri Arasında Bulunan Komutları Çalıştırır.Koşul Yanlış İse Çalıştırmaz.

// if()-else Deyimleri

if(koşul)
{
    KOMUTLAR...
}
else
{
    KOMUTLAR...
}

// Koşula Göre İşleve Geçer Koşul Doğru İse if(koşul)'den Sonra Gelen "{" ile "}" Parantezleri Arasında Bulunan Komutları Çalıştırır.else "{" "}" Parantezleri Arası Çalışmaz.

// Koşul Yanlış İse else'den Sonra Gelen "{" ile "}" Parantezleri Arasında Bulunan Komutları Çalıştırır.

// if()-else if() Deyimleri

if(koşul 1)
{
    KOMUTLAR1...
}
else if(koşul 2)
{
    KOMUTLAR2...
}
else if(koşul n)
{
    KOMUTLARN...
}

// Koşula Göre İşleve Geçer Koşul 1 Doğru İse if(koşul 1)'den Sonra Gelen "{" ile "}" Parantezleri Arasında Bulunan Komutları Çalıştırır.else if(koşul n)'e Kadar Olan Kısımlar Çalışmaz.

// Koşulların Hepsi Yanlış İse Hiçbir Komut Çalışmaz.

// Kısacası İlk Doğru Bulduğu Koşul Neyse Sadece O Kısım Çalışır.Ordan Sonra Gelen Koşullar Doğru Olsa Bile Çalışmaz.Bunun Sebebi eğer-aksi halde olmasından kaynaklanır.

// Basit Dilde Anlatılırsa Eğer Koşul 1 Doğru İse Çalıştır.Aksi Halde (Yani Koşul 1 Doğru Değilse) Eğer Koşul 2 Doğru İse Çalıştır Kısmına Geçer.


SWITCH - CASE FONKSİYONU


Kod:
switch(ifade)-case deger: Fonksiyonu
// Belirtilen İfadeye Göre Değişen Karar Verme Deyimidir.Çok Fazla if-else Kullanılan Yerlerde Kolaylık Sağlar.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int secenek;

    scanf("%d",&secenek);

    switch(secenek)
    {
        case 1 : Komutlar1;break;
        case 2 : Komutlar2;break;
        case N : KomutlarN;break;
    }
}

////////////////////////////////

// Kullanıcı 1'den N'e Kadar Olan Herhangi Bir Değer Girdiğinde O Değerle İlgili Olan Case'nin Karşısındaki Kodlar Çalışacaktır.

// Eğer Caselerin Sonuna break; Komutunu Koymazsanız Çalıştırılan Caseden Sonra N'e Kadar Olan Tüm Case'ler Çalışacaktır.


DÖNGÜLER


Kod:
// while() Döngüsü

while(koşul)
{
KOMUTLAR...
}

// Bu Döngümüzde Belirlediğimiz Koşul Doğru Olduğu Sürece Bu Döngü Komutları Tekrar Tekrar Çalıştırmaya Devam Eder.

// do-while() Döngüsü

do
{
KOMUTLAR...
}while(koşul);

// Bu Döngümüz Önce 1 Kere Çalıştırılır. Çalıştıktan Sonra Koşul Doğru Olduğu Sürece Tekrar Tekrar Çalışmaya Devam Eder.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=0;
    while(x!=5)
    {
        x++;
        printf("*");
    }
    // Ekran Çıktısı ***** Olacaktır.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int x=0;
    do{
        x++;
        printf("*");
    }while(x!=1);
    // Ekran Çıktısı * Olacaktır.
}

////////////////////////////////

// for() Döngüsü

for(ifade;koşul;artış miktarı)
{
    Komutlar;
}

// Bu Döngümüz Sayac Bitesiye Kadar Çalıştırılır.

// İfade = Döngü Sayacının Başlangıç Değeri
// Koşul = Döngü Sayacının Bitiş Değeri
// Artış Miktarı = Koşul Doğru Olduğu Sürece Sayacın Değerindeki Artış Miktarı

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int i;
    for(i=0;i<10;i++)
    {
        printf("*");
    }
    // Ekran Çıktısı ********** Olacaktır.
}

////////////////////////////////

// İç İçe For Örnekleri

////////////////////////////////

#include <stdio.h>

int main()
{
    int i,j;
    for(i=0;i<2;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("*");
        }
        printf("Reklam");
    }
    // Ekran Çıktısı ***Reklam***Reklam Olacaktır.
}

////////////////////////////////


BREAK - CONTINUE


Kod:
// Break Deyimi
break;
// Bu Deyim Kullanıldıktan Sonra Bulunduğu Döngüden Çıkış Yapmasını Sağlar.

// Continue Deyimi
continue;
// Bu Deyim Kullanıldıktan Kendisinden Sonra Bulunan Komutları Atlar Ve Döngüyü Devam Ettirir.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int i;
    for(i=0;i<10;i++)
    {
        printf("%d",i);
        if(i == 3)
        {
            break;
        }
    }
    // Ekran Çıktısı 0123 Olacaktır.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int i;
    for(i=0;i<10;i++)
    {
        if(i == 3)
        {
            continue;
        }
        printf("%d",i);
    }
    // Ekran Çıktısı 012456789 Olacaktır.
}

////////////////////////////////


DİZİLER


Kod:
// Tek Boyutlu Dizi
veri_tipi degisken_adi[eleman_sayisi];
// Bu Diziler Bizim Tek Bir Değişkende 1'den Fazla Değer Tutmamıza Tekrar Tekrar Yeni Değişken Oluşturup Amelelik Yapmamızdan Kurtarıyor.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int i,dizi[5] = "1,2,3,4,5";
    // Diziler 0.Indisten Başlar Tanımladığınız Eleman Sayısının Bir Eksik Indiste Biter Yukarıdaki Dizimiz 0.Indisten Başlayıp 4.Indiste Bitmektedir.
    for(i=0;i<5;i++)
    {
        printf("%d",dizi[i]);
    }
    // Ekran Çıktısı 12345 Olacaktır.
}

////////////////////////////////

// Iki Boyutlu Dizi
veri_tipi degisken_adi[eleman_sayisi][eleman_sayisi]
// Bu Diziler Bizim Dizinin Eleman Sayilarini Bölmemize Yarıyor. Yani 80 Eleman Sayili Bir Diziyi 2 Parçaya Bölüyoruz 1.Boyut 10 Elemanlı 2.Boyut 8 Elemanlı Örnekte Daha İyi Anlıcaksınız.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int main()
{
    int i,j;
    int dizi[5][4] = {{1,2,3,4},
                     {5,6,7,8},
                     {9,10,11,12},
                     {13,14,15,16},
                     {17,18,19,20}};
    for(i=0;i<5;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d",dizi[i][j]);
        }
        printf("\n");
    }
    // Ekran Çıktısı 1234
            5678
            9101112
            13141516
            17181920 Olacaktır.
    // Yani Çok Boyutlu Dizileri Matematikteki Kümelere Benzetebiliriz Yukarıda Diziyi 4 Elemanlı 5 Alt Kümeye Dönüştürdük.
}

////////////////////////////////

#include <stdio.h>

int main()
{
    int i,j;
    int dizi[5][4] = {{1,2,3,4},
                     {5,6,7,8},
                     {9,10,11,12},
                     {13,14,15,16},
                     {17,18,19,20}};
    for(i=0;i<5;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d",dizi[j][i]);
        }
        printf("\n");
    }
    // Ekran Çıktısı 1591317
            26101418
            37111519
            48121620 Olacaktır.
    // Bu Kodda Ise Her Alt Kümenin Sırasıyla 1-2-3-4. Elemanlarını Yazdırdık.
}

////////////////////////////////


FONKSİYONLAR


Kod:
// Normal Fonksiyon
fonksiyon_tipi fonksiyon_adi()
{
    KOMUTLAR...
}
// Fonksiyon Tipi return Komutu İle Geri Döndürülecek Değeri Simgeler.
// main() Fonksiyonundan Yada Önceden Yönlendirilmiş Bir Fonksiyondan Bu Fonksiyonu Çağırabilir Ve Bu Fonksiyondaki Komutları Çalıştırabilirsiniz.
// Eğer Çalıştırmak İstediğiniz Fonksiyon Yönlendirme Yaptığınız Satırın Altında Kalıyorsa En Başta Programa Prototipi'ni Tanıtmanız Gereklidir.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int fonksiyon1;int fonksiyon2; // Prototipler

int main()
{
    fonksiyon1();
    return 0;
}
int fonksiyon1()
{
    fonksiyon2();
    return 0;
}
int fonksiyon2()
{
    printf("Reklam");
}

// Ekran Çıktısı Reklam Olacaktır.
// Programda Önce Main Yani Ana Fonksiyondan fonksiyon1'i Çağırdık fonksiyon1 Çalıştı Ve Fonksiyon2'yi Çalıştırdı Ve Ekrana Reklam Yazdırdı.

////////////////////////////////

// Parametre Alan Fonksiyonlar
fonksiyon_tipi fonksiyon_adi(parametre bildirimleri)
{
    KOMUTLAR...


// Bu Fonksiyonları Çağırırken Değişken Veya Istediginiz Birşeyi Fonksiyona Yönlendirebilirsiniz Örnekle Daha İyi Anlayacaksınız.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int topla(int x,int y); // Prototip

int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",topla(a,b));
    return 0;
}
int topla(int x,int y)
{
    return x+y; // Fonksiyonun Değerini x+y Olacak Şekilde Ayarladık.Yani Fonksiyon Çalışınca Yönlenen x ve y Değişkenlerini Toplayıp Cevap Olarak Gönderecektir.
}
// Ekran Çıktısı Girdiğiniz 2 değerin Toplamı Olacaktır.

////////////////////////////////

// Öz Yinelemeli Fonksiyonlar

// Bu Fonksiyonlar Kendini Durmadan Çağıran Yani Bir Döngüye Sokan Fonksiyonlardır.

ÖRNEK

////////////////////////////////

#include <stdio.h>

int f(int x); // Prototip

int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",f(a));
    return 0;
}
int f(int x)
{
    static int sonuc=1; // Static Koymamızın Sebebi Fonksiyon Tekrar Tekrar Çağrıldığında sonuc Değişkeni Tekrardan 1 Değeri Almaması İçin
    if(x>1) // Eğer x Değişkeni 1'den Büyük İse Fonksiyon Kendini Yinelemeye Devam Edicek.
    {
        f(x-1);
        sonuc *= x;    
    }
    if(x==1) // Eğer x Değişkeni 1 İse Sonucu Döndürücek
    {
        return sonuc;
    }
    if(x<1) // Eğer x Değişkeni 0'dan Küçük İse 1 Değerini Döndürücek
    {    
        return sonuc = 1;
    }
}
// Ekran Çıktısı Girdiğiniz Değerin Faktoriyeli Olacaktır.

////////////////////////////////
ForumBirligi.COM #WeAreTheBest

      TahaBey
Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi