🔁
Basics

Loops (for, while, do-while)

Repeating Work
💡 Loop ek runner hai jo track par chakkar lagata hai jab tak coach na bole "ruk jao" — Java ke loops se syntax bilkul same hai.

for loop tab use hota hai jab pata ho kitni baar repeat karna hai — for(init; condition; update) format. while loop tab jab condition ke true rehne tak repeat karna ho, count pehle se pata na ho.

do-while loop kam se kam ek baar zaroor chalta hai (condition check baad mein hoti hai) — jaise ek menu jo kam se kam ek baar dikhna chahiye chahe user turant exit kare.

for (int i = 1; i <= 5; i++) {
  printf("%d ", i);
}
// 1 2 3 4 5

int i = 0;
do {
  printf("Chalega ek baar!\n");
} while (i > 0);
🔁
Loop ek runner hai jo track par chakkar lagata hai jab tak coach na bole "ruk jao" — Java ke loops se syntax bilkul same hai.
1 / 5
⚡ Quick Recap
  • for = jab count pata ho
  • while = jab count pata na ho
  • do-while = kam se kam ek baar zaroor chalega
On this page (3 subtopics)

break loop ko turant rok deta hai (chahe condition abhi bhi true ho). continue current iteration skip karke seedha next iteration par jump karta hai, bina baaki code chalaye is iteration ka.

for (int i = 1; i <= 10; i++) {
  if (i == 5) break;      // 5 par loop hi ruk jaata hai
  if (i % 2 == 0) continue; // even numbers skip
  printf("%d ", i);
}
// 1 3

for(;;) ya while(1) infinite loop banate hain — condition hamesha true rehti hai. Ye jaan-boojh kar use hote hain (jaise server jo hamesha requests sun raha ho), lekin ek break statement zaroor hona chahiye kahi andar, warna program hamesha ke liye atak jaayega.

while (1) {
  int input;
  scanf("%d", &input);
  if (input == 0) break;  // exit condition
  printf("Tumne %d diya\n", input);
}
⚠️Common Mistake: Infinite loop bina break ke likhna ek bahut common bug hai — program hang ho jaata hai. Hamesha confirm karo ki loop ke andar kahi na kahi exit condition hai.

Loop ke andar loop — jaise 2D array traverse karna (outer loop rows ke liye, inner loop columns ke liye). Time complexity multiply hoti hai — agar outer n baar chale aur inner m baar, total n*m iterations hote hain.

for (int i = 1; i <= 3; i++) {
  for (int j = 1; j <= 3; j++) {
    printf("(%d,%d) ", i, j);
  }
}
// (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) (3,1) (3,2) (3,3)