3 Ağustos 2020

#8 C Dili: Döngüler

C programlama dilinde yazılan kodlar bazı durumlarda daha işlevsel olmak için kendini belirli koşullarda tekrar etmek zorunda kalmaktadır. Bu tekrarlama işlemi döngüler aracılığıyla sağlanmaktadır. Belirtilen durumlar sağlandığı takdirde programcının yazmış olduğu kod bu sayede döngüye girerek tekrar istenilen miktarda çalışabilmektedir.

Temel olarak C programlamada iki döngü çeşidi vardır. Bu döngüler for ve while döngüleridir. while döngüsüne çok benzeyen ama ufak farklılıkları olan do…while döngüsü de 3. çeşit döngü olarak da değerlendirilebilir.

for Döngüsü

for döngüsü içerisine 3 temel parametre almaktadır: döngü değişkeni, döngü koşulu ve döngü eylemi. Bu üç parametre for döngüsünün sağlıklı bir şekilde çalışabilmesi için gerekmektedir.


#include<stdio.h>

int main(){
	
	for(int i = 0; i<5; i++){
		printf("%d ",i);		
	}
}

Çıktı:

0 1 2 3 4

Yukarıdaki kod örneğinde bir for döngüsü tanımlanmıştır ve döngü parametrelerinde i tamsayı değişkeni kullanılmıştır. i değişkeni 0 değerinden başlatılarak 5 değerine kadar birer birer artırılarak döngünün i<5 koşuluna uygun olarak çalışması sağlanmıştır. Her adımda i++ işleminin uygulanmasındaki temel prensip döngünün sonsuz döngüye girmesini engelleyerek belirli sayıda işleme girmesini sağlamaktır.

while Döngüsü

while döngüsü içerisine yazılan koşulun ya da durumun 0 değerine eşit olmadığı durumlarda çalışabilen bir döngüdür. İçerisinde yazılan koşul ya lojik-1 değerine eşit olmalı yani koşul sağlanmalıdır ya da içerisine 0 tamsayısı hariç 1, 2, 3, 4 gibi tamsayılar yazılarak döngünün çalışması sağlanmalıdır.


#include<stdio.h>

int main(){
	
	int i = 0;
	
	while(i<5){
		printf("%d ",i);
		i++;		
	}
}

Çıktı:

0 1 2 3 4

Yukarıdaki kod örneğinde de görüldüğü üzere tanımlanan i değişkenine bağlı while döngüsü sadece istenilen koşulun doğru olması durumunda içerisindeki kodları çalıştırmıştır.

NOT: Sonsuz döngü oluşturabilmek için while(1) şeklinde döngü oluşturmak yeterlidir.

do…while Döngüsü

do…while döngülerinde çalıma prensibi hemen hemen while döngüsü ile aynıdır. Tek fark olarak do…while döngüsünde döngü koşulu sağlansın ya da sağlanmasın döngüden hemen önceki do kod bloğundaki kod en başta çalışmaktadır ve sonrasında while 1 değerini döndürdüğünde do bloğundaki kod çalışabilmektedir. Bu döngü çeşidi pek kullanılmamaktadır ama bazı durumlarda tercih edilebilmektedir.


#include<stdio.h>
#include<locale.h>

int main(){
	setlocale(LC_ALL,"Turkish");
	
	int i = 5;
	
	do{
		printf("do bloğu çalıştı. i = %d\n",i);
		i--;
	}
	while(i<5 && i>0);
}

Çıktı:

do bloğu çalıştı. i = 5
do bloğu çalıştı. i = 4
do bloğu çalıştı. i = 3
do bloğu çalıştı. i = 2
do bloğu çalıştı. i = 1

Yukarıdaki kodda da görüldüğü üzere while içerisindeki koşul 0 < i < 5 olmasına rağmen ilk seferde do bloğu çalıştı. i = 5 çıktısını ekrana yazdırdı. Yani bu durumda ilk seferlik while koşulunu dikkate almadan do bloğu çalışmış oldu.

Yorum bölümünden tüm sorularınızı bana iletebilirsiniz.

Çalışmalarınızda başarılar dilerim.

Hamit Can Dinç.

Share

Hamit Can Dinç

Yıldız Teknik Üniversitesinde Elektrik Mühendisliği öğrencisi. Araştırma ve geliştirme odaklı projelerde yer almayı sever.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir