14 Ekim 2016 Cuma

Dizilerin Bildirimi

Bir dizi çok sayıda değişken barındırdığından, bunları birbirinden ayırt etmek için indis adı verilen bilgiler kullanılır.
Bir dizi, içerisinde çok fazla sayıda değişken barındırabilir.  Bunları birbirinden ayırt etmek için indis adı verilen bilgiler kullanılır. C Programlama Dili'nde, bir dizi hangi tipte tanımlanmış olursa olsun başlangıç indisi her zaman 0'dır. C Programlama Dili'nde, bir dizi hangi tipte tanımlanmış olursa olsun başlangıç indisi her zaman 0'dır.

Diziler tanımlanırken;
dizinin adı,
dizinin boyutu,
dizi elemanlarının hangi tipte olacağı belirtilmelidir.

Bir dizinin bildirim işleminin genel biçimi aşağıdaki gibidir:

   veriTipi dizi_adı[eleman_sayısı];

Örneğin; double türündeki 8 adet öğrenci notunu bellekte tutmak için aşağıdaki gibi bir dizi tanımlayabiliriz:
        double ogrenci_notu[8];

Şu andaki bilgilerimizle bunu nasıl yapabiliriz?

 double ogrenci_notu1;
 double ogrenci_notu2;
 double ogrenci_notu3;
 double ogrenci_notu4;
 double ogrenci_notu5;
 double ogrenci_notu6;
 double ogrenci_notu7;
 double ogrenci_notu8;


Dizinin ismi ogrenci_notu dur.

Dizinin 8 elemanı
ogrenci_notu[0], ogrenci_notu[1], ......, ogrenci_notu[7] şeklinde gösterilmiştir.

ogrenci_notu[0] içinde tutulan değer 45, ogrenci_notu[1] içinde tutulan değer 56, ogrenci_notu[7] içinde tutulan değer 90 dır.

Bu dizinin ilk iki elemanının içinde tutulan değerlerin toplamını yazdırmak isteseydik;
printf("Sonuc: %f", ogrenci_notu[0] + ogrenci_notu[1]);
Sonuc: 101

Bu dizinin yedinci elemanının değerini ikiye bölüp, oluşan sonucu x değişkenine atasaydık;
x = ogrenci_notu[6] / 2;

Dizinin yedinci elemanı ile yedinci dizi elemanı arasındaki farkı önemlidir. Dizi indisleri 0’dan başladığı için “dizinin yedinci elemanı” 6 indisine sahiptir. ”yedinci dizi elemanı” ise 7 indisine sahiptir ve aslında dizinin sekizinci elemanıdır.

Dizi Nedir?

Diziler, veri yapısı türlerinden bir tanesidir.(Array, Struct, Pointer, Class …) İçerisinde birden fazla, aynı tip ve isimdeki veriyi bellekte depolayabilen değişkenlere dizi denir.


İçerisinde birden fazla,
aynı tip ve
aynı isimdeki
veriyi bellekte depolayabilen değişkenlere dizi denir.

Örneğin; bir sınıftaki öğrencilerin notlarını saklamak için dizileri kullanmak mümkündür.

Sonsuz Döngüler

Bir döngü işlemini sonsuz kere tekrarlarsa bu döngü sonsuz döngü olarak adlandırılır.
Örnekler:
    while(1) {
         printf("Sonsuz döngü...\n");
    }

     while(7>3) {
         printf("Sonsuz döngü...\n");
      }

    for(;;)
         printf("Sonsuz döngü...\n");



İç İçe Geçmiş Döngüler

Bir program içinde birbiri içine geçmiş birden çok döngü kullanılabilir. Bu durumda (bütün programlama dillerinde olduğu gibi) önce içteki döngü, daha sonra dıştaki döngü tamamlanır.
   
    for (i=1; i<n; i++){
            //1.dış döngü
        for (j=1; j<m; j++) {
            //2.iç döngü
        }
    }

Continue Deyimi

Bir döngüyü terk etmeden bir adımın atlanması söz konusu olduğunda kullanılan deyimdir.

Kullanım biçimi aşağıdaki gibidir:

    continue;

Break Deyimi

Döngü işlemi devam ederken döngünün koşuluna bağlı olmaksızın döngüden çıkılmasını sağlayan deyimdir.

Döngü içinde bu deyime sıra geldiğinde, break ardından döngü sonuna kadar olan tüm deyimler atlanır ve döngüye bir sonraki adımdan itibaren devam edilir.

Tüm döngü türlerinde kullanılabilir.

Kullanım biçimi aşağıdaki gibidir:

    break;
    

Do…while Döngüsü

while döngüsü ile aynı mantıkta çalışır.

Farkı, koşulun döngü sonunda sınanmasıdır.
Yani koşul sınanmadan döngüye girilir ve döngü en az bir kez yürütülür. Koşul olumsuz ise döngüden sonraki satıra geçilir.

Genel yazım biçimi aşağıdaki gibidir:   
    do
    {
          ...
          döngüdeki deyimler;
          ...
        } while (koşul);

Örnek 2

do {
    İşlem A;
         İşlem B;
         ..........

} while (koşul);

While Döngüsü

Bir koşulun gerçekleşmesi durumunda belirli işlemlerin tekrarlanması söz konusu ise while döngülerinden yararlanılır.
while döngüsünün çalışabilmesi için koşulun başlangıçta mutlaka doğru olması gerekir.
Genel yazım biçimi aşağıdaki gibidir:

while (koşul)
      {
       ...
        döngüdeki deyimler;
       ...
      }

Örnek 2

while (koşul ){
     İşlem A;
         İşlem B;
         ..........
}
İşlem C;
...........

For Döngüsü

Belirli sayıda tekrarı çalıştırmak için kullanılır. for döngüsü bir sayaçlı döngüdür. Yani çalışma sayısı bellidir. Döngü sayısını denetlemek için bir başlangıç ve bir bitiş değeri belirtilmektedir.
Normal durumda sayaç birer birer artmaktadır. 

Genel yazım biçimi aşağıdaki gibidir:

 for (başlangıç; koşul; artım){
       ...
        döngüdeki deyimler;
       ...
      }

Örnek 2

for (int i = başla; koşul; i=i+artış miktarı)
{   
    işlem A;
    işlem B;
    .......
}
    işlem C;

Diğer Örnekler





1’den 100’e kadar birer birer arttırma:
    for ( i = 1; i <= 100; i++)

100’den 1’e kadar birer birer azaltma:
    for ( i = 100; i >= 1; i--)

7’den 77’ye kadar yedişer yedişer arttırma:
    for ( i = 7; i <= 77 ; i += 7)

2, 5, 8, 11, 14, 17, 20 değerlerini alacak biçimde değiştirme:
    for ( j = 2; j <=20; j += 3)