লুপিং এর কাজে সবছেয়ে বেশি ব্যবহৃত হয় for loop. এ for loop এর তিনটি অংশ রয়েছে। তার আগে আমরা দেখেনি for loop সাধারন ব্যবহার নিয়ম।
for(exprission1;Exprission2;Expression3)Statement
বিদ্রঃ এখানে প্রত্যেকটি Expression ; (সেমিকোলন) দিয়ে আলাদা করে দিতে হবে।
এখানে প্রথম exprission1 হচ্ছে for loop এর প্রথম অংশ। এটি দ্বারা একটি নির্দিষ্ট বিষয়ের প্রাথমিক মান দেওয়া হয় । যাকে বলা হয় initial অংশ। এই বিষয়টিকে বলা হয় Index. এটি পুরো লুপিং প্রক্রিয়াকে নিয়ন্ত্রন করে। প্রাথমিক মানটি কোন কিছু যাছাই না করেই আউটপুট দেয়। মানে হচ্ছে প্রথমিক মান টা কোন কিছু যাচাই না করেই আউটপুট দিবে (যেমন প্রিন্ট বা অন্য কোন কাজে)।
দ্বিতীয় অংশটি অর্থাৎ Exprission2 দ্বারা একটি শর্ত দেওয়া হয়। লুপটি কতক্ষন পর্যন্ত চলবে তা এটি নির্নয় করে। Exprission2 তে সাধারনত একটি logical expression থাকে যা শুধু সত্য মিথ্যে বুঝতে পারে। যদি সত্য হয় তাহলে 1 রিটার্ন করে আর যদি মিথ্যে হয় তাহলে 0 রিটার্ন করে। এটি যদি 0 ছাড়া অন্য কোন মান রিটার্ন করে তাহলে লুপটি চলবে, আর যদি 0 রিটার্ন করে তাহলে লুপটি আর চলবে না।
Expression3 কাজ হচ্ছে আমারা প্রথমে যে প্রাথমিক মান নিলাম তাকে আমাদের ইচ্ছে মত মডিফাই করা। এটি প্রত্যেক লুপের শেষ ধাপে কাজ করে।
আর আগেই বলছি লুপটি ততক্ষনই চলবে যতক্ষন পর্যন্ত Exprission2 মিথ্যে বা 0 রিটার্ন না করে।
For loop সম্পর্কে আমরা এতক্ষন অনেক কিছু জানলাম, এবার প্রোগ্রামে এটাকে কিভাবে ব্যবহার করব তা দেখি। তার জন্য একটি প্রোগ্রাম লিখি যা 1 থেকে 10 পর্যন্ত সংখা গুলো প্রিন্ট করবে।
আপনাদের জন্য নিচের প্রোগ্রামটি। এটার আউটপুট কি হবে কিভাবে হবে তা বের করুন।
আপনাদের জন্য নিচের প্রোগ্রামটি। এটার আউটপুট কি হবে কিভাবে হবে তা বের করুন।
#include<stdio.h>
int main(void)
{
int i;
for(i=0;i<=10;i++)
printf("%d\n",i);
}
এর আউট পুট হচ্ছেঃ
০
1
2
3
4
5
6
7
8
9
10
এখানে আমরা একটি integer variable নিয়েছি। for loop এর প্রথম Expression এ আমরা এর প্রাথমিক মান নিলাম ০. প্রাথমিক মানটি for loop এর দ্বিতীয় অংশ অর্থাৎ logical অংশ দ্বারা যাচাই না হয়েই প্রিন্ট করবে। এবং প্রথম Expression কাজ শেষ হয়ে যাবে। এর আর কোন কাজ নেই।
Print করার পর এবার তৃতীয় অংশ অর্থাৎ Exprission3 এখানে i++ অংশ দ্বারা মডিফাই হবে। আমরা জানি i++=i+1 সুতরাং এখানে i এর মান এক বাড়বে এবং ০ থেকে 1 হবে। এবং এবার দ্বিতীয় অংশ Expression2 এখানে i
এবং দ্বিতীয় বার এসে 1 প্রিন্ট করবে। আবার Exprission3 তে এসে মডিপাই হবে। আগের লুপ থেকে i এর মান পেয়েছি 1 এখন আবার 1 এর সাথে এক বেড়ে 2 হবে ( এ অংশ i++ দ্বারা) । আবার দ্বিতীয় অংশ i
#include
int main(void)
{
int i;
for(i=0;i<=50;i++)
{
if(i%2==1)
printf("%d\n",i);
}
}