Çarşamba Şubat 7th, 2018

C – Döngüler 2

ile Ebubekir Sezer

Önceki yazımızda döngülerden if-else döngüsü ve while döngüsü ile ilgili programlar yapmıştık. Bu yazımızda ise while döngüsünün farklı bir türü olan do-while ve for döngüsü ile ilgili programlar yapacağım.Önceki döngüler konusu için buraya tıklayarak ulaşabilirsiniz.

İlk olarak do-while döngüsünü kullanacağım. Yapacağım programda kullanıcıdan bir sayı isteyeceğim, sayının 50 den küçük olması şartıyla (Bunu if-else kullanarak yapacağım) sonra kullanıcının girdiği sayıyı , sayı 50 den büyük oluncaya dek 5 arttıracağım.

#include<stdio.h>
int main()
{
int sayi ;
printf("Sayi giriniz (50 den kucuk olsun):");
scanf("%d",&sayi);
if(sayi<50){
do
{
sayi = sayi + 5;
printf("%d\n",sayi);
}
while(sayi<50);
}
else 
{
printf("50 den buyuk sayi girdiniz. Yeniden baslatin.");
}
return 0;
}

Do-while döngüsünün while döngüsünden farkı do-while döngüsünde ilk önce süslü parantez içerisindeki işlemleri gerçekleştiriyor daha sonra durumu kontrol ediyor.

Ekran çıktısı ;

Sayi giriniz (50 den kucuk olsun): 15
20
25
30
35
40
45
50

Şimdi ise for döngüsünü kullanarak program yapacağım. Bu program kullanıcıdan 2 sayı alacak. Bu sayılardan hangisi küçük ise onu büyük olana eşitleyince ye dek 1 attıracak.

#include<stdio.h>
int main()
{
int sayi1,sayi2;
printf("Ilk sayiyi giriniz:");
scanf("%d",&sayi1);
printf("Ikinci sayiyi giriniz:");
scanf("%d",&sayi2);
if(sayi1<sayi2)
{

for(sayi1 ; sayi1 <= sayi2 ; sayi1++)
{
printf("%d\n",sayi1);
}
}
else
{
for(sayi2 ; sayi2 <= sayi1 ; sayi2++)
{
printf("%d\n",sayi2);
}	
}
return 0;
}

For döngüsünde , for içerisindeki yazdıgımız koşullara bakılıyor mesela sayi=1 ; sayi <10 ; sayi++ bu demek oluyorki sayiyi 10 a kadar 1 arttır.

Ekran çıktısı;

Ilk sayiyi giriniz: 12
Ikinci sayiyi giriniz: 20
12
13
14
15
16
17
18
19
20

For ile fibonacci döngüsünüde yapacağım . Fibonacci döngüsü kendisinden bir önce gelen sayıyla toplamak ile oluşuyor. Bunun için yazmamız gereken kod dizimi;

#include<stdio.h>
int main()
{
int sayi1 = 1, sayi2 = 1 , x;
int gecici;
printf("%d\n%d\n",sayi1,sayi2);
// x i burada degişken olarak atadım degeri yok amacı sadece döngüyü devam ettirmesi
for(x=0 ;x < 10 ; x++)
{
gecici = sayi2;
sayi2 += sayi1;
sayi1 = gecici;
printf("%d\n",sayi2);
}
return 0;
}

Ekran Çıktısı ;

1
1
2
3
5
8
13
21
34
55
89
144