C++ Döngüler (While, Do While, For)
- 16
- (1)
- (5)
- 11 Eyl 2024
C++ Dilinde Döngüler
Döngüler bütün programlama dillerinde belli işlemleri, belli koşullara göre, belli sayıda arka arkaya yaptırmaya yarar.
For Döngüsü
for
döngüsü yapısı aşağıdaki gibidir.
for (ilk değer; koşul; arttırma işlemi)
{
komutlar;
}
for
döngüsü ile 0'dan 11'e kadar olan sayıları aşağıdaki gibi yazdırabilirsiniz.
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 11; i++)
{
cout << i << "\n";
}
}
Çıktı şu şekilde olacaktır.
i
sayacına ilk 0 değeri atanmıştır. i
değeri 11'den küçük olduğu sürece döngü dönecektir ve döndüğünde i++
komutu ile değeri 1 artacaktır. Döngünün içerisindeki her adımda i
değeri ekrana yazdırılacaktır.
While Döngüsü
while
döngü yapısı aşağıdaki gibidir.
while (koşul)
{
komutlar;
}
Yukarıdaki örneğin aynısını while
döngüsü ile şu şekilde yazabilirsiniz.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
// i değişkeni 12'den küçük olduğu sürece döngü dönecektir
while (i < 12)
{
cout << i << "\n";
i++; // i değişkeni 1 arttırılır
}
}
Programın çıktısı yukarıdaki for
döngüsü örneğindeki çıktı ile aynı olacaktır.
Do While Döngüsü
do while
döngüsü while
döngüsünden farklı olarak, önce içerisindeki komutları çalıştırır. Ardından koşul denetlenir. Koşul doğru ise döngü devam eder.
do
{
komutlar;
} while (koşul);
do while
döngüsü ile aynı örnek şu şekilde kodlanır.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
do
{
cout << i << "\n";
i++;
} while (i < 12);
}
Çıktı yine aynı olacaktır.
Break ve Continue Komutları
break
komutu döngüleri tamamen bitirmek için kullanılır. continue
komutu ise döngünün bir sonraki adımına geçmek için kullanılır.
continue
komutu ile yukarıdaki örnekte 3'e tam bölünen sayıları atlayarak ekrana şu şekilde yazdırabilirsiniz.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 12)
{
if (i % 3 == 0)
{
i++;
continue;
}
cout << i << "\n";
i++;
}
}
%
operatörü mod işlemi görür. i % 3
ifadesi i değişkeninin 3'e bölümünden kalanını ifade eder. Eğer o değer 0'a eşit ise i
değişken sayacı 1 arttırılır ve ekrana yazı yazdırılmadan continue
ile sonraki adıma geçilir.
Eğer continue
komutundan önce i++
ile arttırma yapılmazsa, hiçbir zaman yapılamayacağı yani i değişmeden tekrar aynı döngüde kalacağı için, sonsuz döngü oluşur ve program kilitlenir.
break
komutu ile döngüyü tamamen bitiren bir örneği aşağıdaki şekilde uygulayabilirsiniz. Döngü sayacı 9 a eşit olduğunda döngünün bitirileceği örnek şöyle olur.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 12)
{
if (i == 7)
{
break;
}
cout << i << "\n";
i++;
}
}
Programın çıktısı aşağıdaki şekilde olacaktır.
İç İçe Döngüler
Döngü içerisinde döngü çalıştırmak istenildiğinde iki adet sayaç değişkeni tanımlanmalıdır.
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Turkish");
int i = 0, j = 0;
while (i < 4)
{
j = 0; // her i döngüsünde j sıfırlanmalıdır
while (j < 3)
{
cout << "i: " << i << " j: " << j << " -> i x j = " << (i * j) << "\n";
j++;
}
i++;
}
}