C dilinde döngüler: For, While, Do While döngüsüping İfadeler [Örnekler]

⚡ Akıllı Özet

C dilinde döngüler, bir kontrol koşulu yanlış olana kadar bir ifade bloğunu tekrarlar ve dil, giriş ve çıkış kontrollü tekrarlama için üç yapı sunar: while döngüsü, do-while döngüsü ve for döngüsü.

  • 🔁 Döngü anatomisi: Her C döngüsü, tekrarlanan ifadelerden oluşan bir gövdeyi, tekrarın ne zaman duracağına karar veren bir kontrol koşuluyla eşleştirir.
  • 🚪 Giriş ve çıkış: Giriş kontrollü while ve for döngüleri önce koşulu test ederken, çıkış kontrollü do-while döngüsü gövdesini her zaman bir kez çalıştırır.
  • ♻️ Döngü sırasında: While döngüsü, her geçişten önce koşulunu kontrol eder; bu da yineleme sayısının önceden bilinmediği durumlara uygundur.
  • 🔂 Do-while döngüsü: Do-while döngüsü, test işleminden önce gövdeyi yürütür, bu nedenle koşul yanlış olsa bile tek bir çalıştırma garanti edilir.
  • 🔢 Döngü için: For döngüsü, başlatma, koşul ve güncelleme işlemlerini tek bir satırda birleştirerek, sabit bir aralıkta sayım yapmak için ideal bir yapı sunar.
  • Ara verin ve devam edin: `break` ifadesi döngüyü hemen sonlandırırken, `continue` ifadesi döngüden çıkmadan bir sonraki yinelemeye geçer.

C dilinde döngüler: For, While, Do While döngüsüping Tablolar

C'de Döngü Nedir?

tuvaletping C dilindeki ifadeler, belirtilen koşul yanlış olana kadar bir dizi ifadeyi birçok kez yürütür. C dilinde bir döngü iki bölümden oluşur: döngü gövdesi ve kontrol ifadesi. Kontrol ifadesi, belirtilen koşul yanlış olana kadar döngü gövdesinin yürütülmesini yönlendiren bazı koşulların birleşimidir. C döngüsünün amacı, aynı kodu belirli sayıda tekrarlamaktır.

C'de Döngü Türleri

Bir programdaki kontrol ifadesinin konumuna bağlı olarak,ping C dilindeki ifadeler iki türe ayrılır:

  1. Giriş kontrollü döngü
  2. Kontrollü döngüden çık

C dilinde giriş kontrol döngüsünde, döngünün gövdesi çalıştırılmadan önce bir koşul kontrol edilir. Buna ön kontrol döngüsü de denir.

Çıkış kontrollü bir döngüde, bir koşul döngünün gövdesi yürütüldükten sonra kontrol edilir. Buna ayrıca son kontrol döngüsü de denir.

C'de Döngü Türleri

Örnek Döngü

Kontrol koşulları iyi tanımlanmalı ve belirtilmelidir, aksi takdirde döngü sonsuz sayıda kez çalışacaktır. Çalışmayı durdurmayan ve ifadeleri belirtilen sayıda kez işleyen döngüye sonsuz döngü denir. Sonsuz döngüye ayrıca "sonsuz döngü" de denir. Sonsuz döngünün bazı özellikleri şunlardır:

  1. Herhangi bir fesih koşulu belirtilmemiştir.
  2. Belirtilen koşullar hiçbir zaman sağlanmaz.

Belirtilen koşul, döngü gövdesinin yürütülüp yürütülmeyeceğini belirler.

'C' programlama dili bize üç tür döngü yapısı sağlar:

  1. while döngüsü
  2. Do-while döngüsü
  3. for döngüsü
Hayır. Döngü tipi Açıklama
1. Döngü sırasında While döngüsünde, döngünün gövdesi işlenmeden önce bir koşul değerlendirilir. Bir koşul doğruysa ancak o zaman döngünün gövdesi yürütülür.
2. Do-While Döngüsü Bir do…while döngüsünde koşul her zaman döngünün gövdesinden sonra yürütülür. Aynı zamanda çıkış kontrollü döngü olarak da adlandırılır.
3. Döngü için For döngüsünde, başlangıç ​​değeri yalnızca bir kez uygulanır, ardından koşul test edilir ve her yinelemeden sonra sayaç sabit bir değerle karşılaştırılır, döngü durdurulur.ping false değeri döndürüldüğünde for döngüsü.

Döngü C'de iken

While döngüsü en basit döngü türüdür.ping Yapı. C programlama dilinde while döngüsünün sözdizimi şu şekildedir:

C'de While Döngüsünün Sözdizimi

while (condition) {
             statements;
}

Giriş kontrollü bir döngüdür. While döngüsünde, döngünün gövdesi işlenmeden önce bir koşul değerlendirilir. Bir koşul doğruysa ancak o zaman döngünün gövdesi yürütülür. Döngünün gövdesi çalıştırıldıktan sonra kontrol tekrar başa döner ve koşulun doğru olup olmadığı kontrol edilir, koşul yanlış olana kadar aynı işlem yürütülür. Koşul yanlış olduğunda kontrol döngüden çıkar.

Döngüden çıktıktan sonra kontrol, döngünün hemen ardından gelen ifadelere gider. Bir döngünün gövdesi birden fazla ifadeyi içerebilir. Yalnızca bir ifade içeriyorsa süslü parantezlerin kullanılması zorunlu değildir. Gövdede tek bir ifade olsa bile küme parantezlerini kullanmak iyi bir uygulamadır.

While döngüsünde, eğer koşul doğru değilse, döngünün gövdesi bir kez bile çalıştırılmayacaktır. Birazdan göreceğimiz do while döngüsünde ise durum farklıdır.

Aşağıdaki program, C programlama örneğinde while döngüsünü göstermektedir:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

Çıktı:

1
2
3
4
5
6
7
8
9
10

Yukarıdaki program while döngüsünün kullanımını göstermektedir. Yukarıdaki programda while döngüsünü kullanarak 1'den 10'a kadar sayı dizisini yazdırdık.

Döngü C'de iken

C Programlamada While Döngüsü

  1. Bir işlemi başlattık. değişken "num" adında ve değeri 1 olan bir değişken oluşturduk. 1'den 10'a kadar sayı yazdıracağımız için değişken 1 değeriyle başlatılıyor. Eğer 0'dan itibaren yazdırmak istiyorsanız, başlatma sırasında 0 değerini atayın.
  2. Bir while döngüsünde, bir koşul (num<=10) sağladık, bu, num değeri 10 olana kadar döngünün gövdeyi çalıştıracağı anlamına gelir. Bundan sonra döngü sonlandırılacak ve kontrol, döngünün dışına çıkacaktır.
  3. Bir döngünün gövdesinde, sayımızı yazdırmak için bir yazdırma fonksiyonumuz ve bir döngünün yürütülmesi başına değeri artırmak için bir artırma işlemimiz vardır. Num'un başlangıç ​​değeri 1'dir, çalıştırıldıktan sonra 2 olacak, bir sonraki çalıştırmada 3 olacaktır. Bu işlem değer 10 olana kadar devam edecek ve daha sonra seriyi konsola yazdıracak ve döngüyü sonlandıracaktır. .

'\n' biçimlendirme amacıyla kullanılır ve bu da değerin yeni bir satırda yazdırılacağı anlamına gelir.

C'de Do-While döngüsü

C'deki do…while döngüsü while döngüsüne benzer, tek fark koşulun her zaman döngünün gövdesinden sonra yürütülmesidir. Aynı zamanda çıkış kontrollü döngü olarak da adlandırılır.

C programlama dilinde do while döngüsünün sözdizimi aşağıdaki gibidir:

C'de Do-While Döngüsünün Sözdizimi

 do {
  statements
} while (expression);

While döngüsünde gördüğümüz gibi, gövde ancak ve ancak koşulun doğru olması durumunda çalıştırılır. Bazı durumlarda, koşul yanlış olsa bile döngünün gövdesini en az bir kez çalıştırmamız gerekir. Bu tür işlemler do-while döngüsü kullanılarak gerçekleştirilebilir.

Do-while döngüsünde, bir döngünün gövdesi her zaman en az bir kez yürütülür. Gövde yürütüldükten sonra, koşulu kontrol eder. Koşul doğruysa, döngünün gövdesini tekrar yürütür, aksi takdirde kontrol döngüden dışarı aktarılır.

While döngüsüne benzer şekilde, kontrol döngüden çıktığında döngünün hemen ardından gelen ifadeler çalıştırılır.

While döngüsü ile do-while döngüsü arasındaki en önemli fark, while döngüsünün başında while ifadesinin yazılmasıdır. Do-while döngüsünde while koşulu en sona yazılır ve noktalı virgül (;) ile sonlandırılır.

Aşağıdaki C döngü programı, do-while döngüsünün çalışma şeklini göstermektedir:

Aşağıda C örneğinde 2 numaralı tabloyu yazdırmak için kullanılan bir do-while döngüsü verilmiştir:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

Çıktı:

2
4
6
8
10
12
14
16
18
20

Yukarıdaki örnekte do-while döngüsünü kullanarak 2'nin çarpım tablosunu yazdırdık. Programın seriyi nasıl yazdırabildiğini görelim.

C'de Do-While döngüsü

C Programlamada Do-While Döngüsü

  1. Öncelikle 'num' değişkenini 1 değeriyle başlattık. Daha sonra do-while döngüsü yazdık.
  2. Bir döngüde num değerini 2 ile çarparak seriyi yazdıracak bir yazdırma fonksiyonumuz var.
  3. Her artıştan sonra num değeri 1 artacak ve ekrana yazdırılacaktır.
  4. Başlangıçta num'un değeri 1'dir. Bir döngünün gövdesinde, yazdırma işlevi şu şekilde yürütülecektir: 2*num, burada num=1, ardından 2*1=2, dolayısıyla iki değeri yazdırılacaktır. Bu durum num değeri 10 olana kadar devam edecek. Bundan sonra döngü sonlandırılacak ve döngünün hemen ardından gelen deyim çalıştırılacaktır. Bu durumda 0 değerini döndürün.

C'deki for döngüsü

For döngüsü 'C' programlamasında daha verimli bir döngü yapısıdır. C dilinde for döngüsü sözdiziminin genel yapısı aşağıdaki gibidir:

C'de For Döngüsünün Sözdizimi

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  1. For döngüsünün başlangıç ​​değeri yalnızca bir kez gerçekleştirilir.
  2. Koşul, her yinelemeden sonra sayacı sabit bir değerle karşılaştıran ve test eden bir Boolean ifadesidir, durdur.ping false değeri döndürüldüğünde for döngüsü.
  3. Arttırma/azaltma, sayacı ayarlanan değer kadar artırır (veya azaltır).

Aşağıdaki program C programlama örneğinde for döngüsünü göstermektedir:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

Çıktı:

1
2
3
4
5
6
7
8
9
10

Yukarıdaki program for döngüsünü kullanarak 1'den 10'a kadar olan sayı serilerini yazdırmaktadır.

C'deki for döngüsü

C Programlamada Döngü İçin

  1. Değerleri saklamak için int veri tipinde bir değişken tanımladık.
  2. For döngüsünde başlatma kısmında değişken numarasına 1 değerini atadık. Koşul kısmında koşulumuzu ve ardından arttırma kısmını belirttik.
  3. Bir döngünün gövdesinde, sayıları konsolda yeni bir satıra yazdırmak için bir yazdırma işlevimiz vardır. Sayıda saklanan bir değerimiz var, ilk yinelemeden sonra değer artırılacak ve 2 olacak. Artık sayı değişkeni 2 değerine sahip. Koşul yeniden kontrol edilecek ve koşul doğru olduğundan döngü yürütülecek, ve ekrana iki tane yazdıracak. Değişkenin değeri 10 olana kadar bu döngü işlemeye devam edecektir. Daha sonra döngü sonlandırılacak ve ekrana 1-10 arası bir seri yazdırılacaktır.

C'de for döngüsü, her bölümde virgülle ayrılmış birden fazla ifadeye sahip olabilir.

Örneğin:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

Ayrıca noktalı virgül ekleyerek başlangıç ​​değer ifadesini, koşulunu ve/veya artışını atlayabiliriz.

Örneğin:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

Döngülerin, bir dış döngü ve bir iç döngünün olduğu yerde de iç içe olabileceğine dikkat edin. Dış döngünün her yinelemesinde iç döngü tüm döngüsünü tekrarlar.

C programlamada, iç içe for döngüsünü kullanarak çarpım tablosunu çıktı olarak veren, birden fazla koşullu for döngüsü örneğini ele alalım:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

Çıktı:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

For döngülerinin iç içe kullanımı herhangi bir seviyeye kadar yapılabilir. Kodun okunabilirliğini sağlamak için iç içe döngüler yeterince girintili olmalıdır. 'C' dilinin bazı sürümlerinde iç içe kullanım 15 döngüyle sınırlıdır, ancak bazılarında daha fazlasına izin verilir.

İç içe döngüler daha sonraki derslerde göreceğimiz dizi uygulamalarında çoğunlukla kullanılır.

C dili, üç döngü türünün ötesinde, bir döngünün içten nasıl çalıştığını değiştiren iki ifade daha sunar.

C'de Break İfadesi

Break ifadesi esas olarak aşağıdaki durumlarda kullanılır: anahtar bildirimiAynı zamanda anında durdurmak için de faydalıdır.ping bir döngü.

Bir while döngüsünden çıkmak için break komutunu kullanan aşağıdaki programı ele alalım:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

Çıktı:

5
4

C'de İfadeye Devam Et

Bir sonraki yinelemeye atlamak ancak döngüde kalmak istediğinizde devam ifadesini kullanmalısınız.

Örneğin:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

Çıktı:

6
4
3
2
1

Yani 5 değeri atlanıyor.

Hangi Döngü Seçilecek?

Bir döngünün seçimi bir programcı için her zaman zor bir iştir, bir döngü seçmek için aşağıdaki adımları izleyin:

  1. Sorunu analiz edin ve ön test veya son test döngüsü gerektirip gerektirmediğini kontrol edin.
  2. Ön test gerekiyorsa, while veya for döngüsü kullanın.
  3. Son test gerekiyorsa do-while döngüsü kullanın.

SSS

Koşulu hiçbir zaman yanlış olmadığında sonsuz döngü sonsuza kadar çalışır. Bunu önlemek için, döngü değişkenini gövde içinde güncelleyin ve koşulun sonunda karşılanabileceğinden emin olun veya bir önlem olarak break ifadesi ekleyin.

`break` ifadesi döngüyü tamamen durdurur ve kontrolü kendisinden sonraki ilk ifadeye taşır. `continue` ifadesi ise yalnızca mevcut yinelemedeki kalan ifadeleri atlar ve döngünün bir sonraki aşamasına geçer.

Standart C'de yerleşik bir for-each veya aralık tabanlı döngü bulunmamaktadır. C++ or PythonBir diziyi, her bir elemanı tek tek inceleyen bir indeks veya işaretçi kullanarak, for veya while döngüsüyle manuel olarak yineleyebilirsiniz.

Hayır. `goto` ifadesi, etiketlenmiş bir satıra koşulsuz atlama gerçekleştirir ve `loo` komutunu taklit edebilir.pingAncak bu yapılandırılmış bir döngü değil. for, while veya do-while kullanmak kodu çok daha okunabilir hale getirir.

Virgül operatörü, bir for döngüsünün aynı anda birden fazla değişkeni yönetmesine olanak tanır. for (x = 0, y = n; x < y; x++, y–) ifadesinde, hem başlatma hem de güncelleme bölümü her geçişte iki ifade çalıştırır.

Evet. Koşulları parantez içindeki mantıksal VE (&&) ve VEYA (||) operatörleriyle birleştirin. Örneğin, while (a < 10 && b > 0) döngüsü devam ederkenping yalnızca her iki koşul da doğru olduğu sürece.

Evet. Yapay zekâ kodlama asistanları, basit bir açıklamadan while, do-while ve for döngüleri oluşturabilir, bir eksik olan hataları tespit edebilir ve sonsuza kadar çalışabilecek koşulları işaretleyebilir. RevÜretilen mantığın her zaman doğru olmayabileceği göz önünde bulundurulduğunda, çıktıyı incelemek son derece önemlidir.

GitHub Yardımcı Pilotu Siz yazarken döngü gövdelerinin tamamını önerir, sayaçları ve koşulları otomatik olarak tamamlar ve kısa bir yorumdan iç içe döngü kalıpları önerir. Popüler editörlerde çalışır ve tekrarlayan C kodlamasını hızlandırır.

Bu yazıyı şu şekilde özetleyin: