3.Ders : C While ve do…While döngüleri

Bu öğreticiyi okuduktan sonra, C programlamada While ve do…While döngülerini öğreneceksiniz.

Döngüler, programlamada belirli bir kod bloğunu tekrarlamak için kullanılır. Bu öğreticiyi okuduktan sonra, C programlamada While ve do…While döngülerini öğreneceksiniz.

Döngü nedir?

Döngüler, programlamada belirli bir koşul karşılanıncaya kadar bir bloğu tekrarlamak için kullanılır. C programlamasında üç döngü vardır:

1 – For döngüsü
2 – While döngüsü
3 – do…While döngüsü

While döngüsü

while (testExpression) 
{
    //kodlar
}

burada testExpression, koşulun her döngüden önce doğru veya yanlış olduğunu kontrol eder.

Döngü nasıl çalışır?

While döngüsü test ifadesini değerlendirir.

Test ifadesi doğruysa (sıfır değil), döngü sırasındaki gövdenin içindeki kodlar çıkarılır. Test ifadesi tekrar değerlendirilir. İşlem, test ifadesi yanlış olana kadar devam eder.

Test ifadesi yanlış olduğunda, while döngüsü sonlandırılır.

While döngüsü akış şeması

Örnek 1: while döngüsü

#include <stdio.h>
int main()
{
    int number;
    long long factorial;

    printf("Bir tamsayı girin: ");
    scanf("%d",&number);

    factorial = 1;

    // Döngü, sayı 0'dan küçük veya ona eşit olduğunda sona erer. Sayı 0'dan büyükse çalışır.
    while (number > 0)
    {
        factorial *= number;  // factorial = factorial*number;
        --number;
    }

    printf("Faktöriyel = %lld", factorial);

    return 0;
}

Çıktısı :

Bir tamsayı girin: 5
Faktöriyel = 120

do…While döngüsü

Do..while döngüsü, önemli bir fark ile while döngüsüne benzer.
Do..while döngüsü test ifadesi kontrol edilmeden önce bir kez yürütülür. Dolayısıyla, do … while döngüsü en az bir kez yürütülür.

do
{
   // kodlar
}
while (testExpression);

do…While döngüsü nasıl çalışır?

Parantezlerin içindeki kod bloğu (döngü gövdesi) bir kez yürütülür.

Ardından, test ifadesi değerlendirilir. Test ifadesi doğruysa, döngü gövdesi tekrar yürütülür. Bu işlem, test ifadesi 0 (yanlış) olarak değerlendirilinceye kadar devam eder.

Test ifadesi yanlış (sıfır olmayan) olduğunda, do … while döngüsü sonlandırılır.

do…While döngüsünün akış şeması

Örnek 2 : do … while döngüsü

#include <stdio.h>
int main()
{
    double number, sum = 0;

    // döngü gövdesi en az bir kez yürütülür
    do
    {
        printf("bir sayı giriniz: ");
        scanf("%lf", &number);
        sum += number;
    }
    while(number != 0.0);

    printf("Toplam = %.2lf",sum);

    return 0;
}

Çıktısı :

bir sayı giriniz: 1.5
bir sayı giriniz: 2.4
bir sayı giriniz: -3.4
bir sayı giriniz: 4.2
bir sayı giriniz: 0
Toplam = 4.70