এখানে আমরা C/C++-এ do-while লুপ এবং while লুপের মূল পার্থক্য দেখব।
while লুপ দিয়ে একটি স্টেটমেন্ট বারবার এক্সিকিউট হয় যতক্ষণ না কন্ডিশন সত্য থাকে। সিনট্যাক্স:
while(condition) {
statement(s);
}
এখানে statement(s) এক বা একাধিক স্টেটমেন্ট হতে পারে। কন্ডিশন যেকোনো এক্সপ্রেশন হতে পারে, নন-জিরো মান সত্য বোঝায়। কন্ডিশন মিথ্যা হলে লুপের পরের লাইনে কন্ট্রোল চলে যায়।
উদাহরণ
#include <stdio.h>
int main() {
int a = 10;
while(a < 20) {
printf("value of a: %d\n", a);
a++;
}
return 0;
}
আউটপুট
value of a: 10 value of a: 11 ... value of a: 19
do-while লুপ-এ কন্ডিশন লুপের নিচে চেক হয়। for এবং while লুপে কন্ডিশন লুপের শুরুতে চেক হয়। do-while লুপ নিশ্চিত করে লুপ বডি কমপক্ষে একবার এক্সিকিউট হবে।
do {
statement(s);
} while(condition);
কন্ডিশনাল এক্সপ্রেশন লুপের শেষে থাকে, তাই স্টেটমেন্ট একবার এক্সিকিউট হওয়ার পর কন্ডিশন টেস্ট হয়। কন্ডিশন সত্য হলে কন্ট্রোল আবার do-তে ফিরে যায়।
উদাহরণ
#include <stdio.h>
int main() {
int a = 10;
do {
printf("value of a: %d\n", a);
a = a + 1;
} while(a < 20);
return 0;
}
আউটপুট
value of a: 10 value of a: 11 ... value of a: 19
পারফরম্যান্স সারসংক্ষেপ:
| While Loop | Do-While Loop |
|---|---|
| এন্ট্রি কন্ট্রোল্ড লুপ। লুপে প্রবেশের আগে কন্ডিশন চেক করে। | এক্সিট কন্ট্রোল্ড লুপ। লুপ থেকে বের হওয়ার সময় কন্ডিশন চেক করে। |
| while লুপ শূন্য বা অধিকবার চলতে পারে। | do-while লুপ কমপক্ষে একবার চলে। |
| টেস্ট কন্ডিশনের ভেরিয়েবল লুপে প্রবেশের আগে ইনিশিয়ালাইজ করতে হয়। | লুপ কন্ডিশনের ভেরিয়েবল লুপের ভিতরেও ইনিশিয়ালাইজ করা যায়। |
while(condition){ //statement } | do{ //statement }while(condition); |