1.For Döngüsü:
Belirli sayıda tekrar eden işlemler için kullanılır. 3 farklı kullanım şekli vardır.
1-)
For(başlangıç, bitiş, artış){
Yapılacak işlemler
}
2-)
İnt i;
For(i=başlangıç, bitiş, artış){
Yapılacak işlemler
}
3-)
For(int i=başlangıç, bitiş, artış){
Yapılacak işlemler
}
2. While Döngüsü:
Şart sağlandığı sürece döngü içerisindeki işlemlerin tekrar edildiği yapıdır.
While(koşul){
Şart sağlandığı sürece yapılacak işlemler
}
3. Do-While döngüsü:
Tekrar etmesi düşünülen işlemler şart sağlandığı sürece do while bloğunda çalıştırılır. Bu yapıda şart ne olursa olsun döngü içerisindeki işlemler en az 1 kere çalışır.
Do{
Yapılacak işlemler
}While(şart);
Örnek:
1 ile 10 arasında ki çift sayıları ekrana yazdıran programı
a-For döngüsü ile
b-While döngüsü ile
c-Do-While döngüsü ile yazınız.
A-
for (int i = 2; i <= 10; i += 2) {
Console.WriteLine(i);
}
Console.ReadKey();
B-
int i = 0;
while (i < 10)
{
i += 2;
Console.WriteLine(i);
}
Console.ReadKey();
C-
int i = 0;
do
{
i += 2;
Console.WriteLine(i);
} while (i < 10);
Console.ReadKey();
Not: For while ve do while kullanamaya kaçınmalıyız. Çünkü ram’i yorar.
4.Foreach döngüsü:
Her biri anlamına gelen foreach döngüsü bir dizi, liste veya koleksiyondaki her bir değere ulaşılarak işlem yapılmasını sağlar. Foreach döngüsündeki veri tipi, dizideki elemanların veri tipleri ile uyumlu olmalıdır. Genel kullanımı aşağıda gösterildiği gibidir.
Foreach(int dizi elemanı in dizi değişkeni)
{
Yapılacak işlemler
}
Örnek:
Sayılar isimli 5 elemanlı bir dizinin elemanları sırası ile 3,6,7,2 ve 1’dir. Elemanları ekrana yazdıran programı foreach döngüsü ile hazırlayınız.
int[] sayilar = {3,6,7,2,1};
foreach (int elaman in sayilar)
{
Console.WriteLine(elaman);
}
Console.ReadKey();
5.Break ve Continue:
Bazı durumlarda döngülerin sonlandırılması yada bir sonraki değerden devam etmesi gerekebilir.
Bu gibi durumlarda break ve continue komutları kullanılır. Break komutu ile döngüyü istediğiniz yerden keserek döngünün gereksiz yere çalışmasının önüne geçer ve döngünün performansını arttırmış oluruz. Continue komutu ile de döngü yapısı içerisinde herhangi bir değerin döngüye dahil edilmemesi gerektiğinde bir sonraki değerden başlamak üzere kullanılır ve döngünün daha az çalışması sağlanır.
Örnek:
Aşağıdaki kodların ekran çıktısı ne olur.
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
break;
}
Console.WriteLine(i);
}
Console.ReadKey();
Cevap=1,2.
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue;
}
Console.WriteLine(i);
}
Console.ReadKey();
Cevap=1,2,4,5.
Örnek:
Klavyeden girilen herhangi bir tam sayının basamak sayısını kontrol ederek;
a.3 basamaklı değilse lütfen 3 basamaklı sayı giriniz şeklinde uyarı mesajı veren
b.girilen sayı 3 basamaklı ise rakamlarının birbirinden farklı olup olmadığını ekrana yazdıran programı do-while ile çözünüz.
int x;
string metin;
do
{
Console.WriteLine("Üç basamaklı sayı giriniz");
x = int.Parse(Console.ReadLine());
metin = x.ToString();
} while (metin.Length != 3 || x < 0);
if(metin[0] !=(metin[1] !=||(metin[0] !=(metin[2] !=||(metin[1] !=(metin[2]){
Console.WriteLine("Sayının rakamları birbirinden farklıdır.");
}
else{
Console.WriteLine("Sayının rakamları birbirinin aynısıdır.");
}
Console.ReadKey();
Örnek:
Klavyeden girilen herhangi bir tam sayının asal sayı olup olmadığını kontrol ederek ekrana yazdıran programı hazırlayınız.
int sayi;
bool asal = true;
Console.Write("Birsayı giriniz: ");
sayi = int.Parse(Console.ReadLine());
for (int i= 2; i < sayi; i++)
{
if (sayi % i == 0)
{
asal = false;
break;
}
}
if (sayi < 2)
Console.WriteLine("Sayı asal sayı değildir");
else if (asal)
Console.WriteLine("Sayı asal sayıdır");
else
Console.WriteLine("Sayı asal sayı değildir");
Console.ReadKey();Örnek:
Örnek:
*
**
***
****
*****
Yukarıdaki şeklin ekran çıktısını veren programı c# dilinde yazınız.
for(int i = 1;i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
Console.ReadKey();
Örnek:
Klavyeden girilen basamak sayısı belirsiz herhangi bir tam sayının basamaklarında bulunan rakamları toplayarak sonucu ekrana yazdıran programı yazınız.
int toplam = 0;
string sayi;
Console.Write("Bir sayı giriniz:");
sayi = Console.ReadLine();
for (int i = 0; i < sayi.Length; i++)
{
toplam += int.Parse(sayi[i].ToString());
}
Console.Write("Sayının rakamları toplamı:{0}", toplam);
Console.ReadKey();
Örnek:
Klavyeden girilen herhangi bir metinde ki sesli harf, sessiz harf, rakam ve özel karakterlerin sayısını ekrana yazdıran programı hazırlayınız.
string sesliharfler = "aeıioöuü";
string sessizharfler = "bcçdfgğhjklmnprsştvyz";
string rakamlar = "1234567890";
int seslisay = 0, rakamsay = 0, sessizsay = 0;
Console.Write("Bir metin giriniz:");
string metin = Console.ReadLine();
foreach (char karakter in metin)
{
foreach (char sesli in sesliharfler)
{
if (karakter == sesli)
seslisay++;
}
foreach (char sessiz in sessizharfler)
{
if (karakter == sessiz)
sessizsay++;
}
foreach (char rakam in rakamlar)
{
if (karakter == rakam)
rakamsay++;
}
}
Console.WriteLine("Metin Uzunluğu:" + metin.Length);
Console.WriteLine("Sesli Harflerin Sayısı:" + seslisay);
Console.WriteLine("SessizHarflerin Sayısı:" + sessizsay);
Console.WriteLine("Rakamların Sayısı:" + rakamsay);
Console.WriteLine("Özel Karakterlerin Sayısı:" + (metin.Length - (sessizsay + rakamsay + seslisay)));
Console.ReadKey();