সি প্রোগ্রামিং এইচটিএমএল সিএসএস জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল
ফোরাম
×

 সি টিউটোরিয়াল

সি প্রোগ্রামিং কি? সি এর ইতিহাস সি এর বৈশিষ্ট্যসমূহ কেন সি শিখবেন? সি ইন্সটলেশন প্রথম সি প্রোগ্রাম সি প্রোগ্রামের ফ্লো প্রোগ্রামিং শেখার সঠিক পদ্ধতি সি কীওয়ার্ড সি আইডেন্টিফায়ার সি ভ্যারিয়েবল সি কনস্ট্যান্ট সি ডাটা টাইপ সি মোডিফায়ার সি ইনপুট/আউটপুট সি অপারেটর সি কমেন্ট সি অপারেটর অগ্রাধিকার

সি কন্ট্রোল স্টেটমেন্ট

সি ইফ সি ইফ...ইলস সি ফর লুপ সি হোহাইল লুপ সি ডু...হোহাইল লুপ সি ব্রেক সি কন্টিনিউ সি সুইচ স্টেটমেন্ট সি goto স্টেটমেন্ট

 সি ফাংশন

সি ফাংশন পরিচিতি সি ইউজার কর্তৃক ফাংশন সি ফাংশন টাইপ সি রিকার্সন সি ভ্যারিয়েবল স্কোপ

 সি অ্যারে

সি অ্যারে পরিচিতি সি মালটি-ডাইমেনশনাল অ্যারে সি অ্যারে ফাংশন

 সি স্ট্রিং

সি স্ট্রিং সি স্ট্রিং ফাংশন

 সি পয়েন্টার

সি পয়েন্টার পরিচিত সি পয়েন্টার অ্যারে সি পয়েন্টার ফাংশন সি মেমোরি ম্যানেজমেন্ট

 সি ফাইল এবং স্ট্রাকচার

স্ট্রাকচার পরিচিত স্ট্রাকচার ও পয়েন্টার সি স্ট্রাকচার ও ফাংশন সি ইউনিয়ন ফাইল হ্যান্ডেলিং

 সি অতিরিক্ত টিউটোরিয়াল

সি লাইব্রেরী সি প্রিপ্রোসেসর এবং ম্যাক্রো সি ইনুমিরেশন সি এরর নিয়ন্ত্রণ সি টাইপ কাস্টিং সি বিট ফিল্ড সি ভ্যারিয়েবল আর্গুমেন্ট সি কমান্ড লাইন আর্গুমেন্ট

 

সি goto স্টেটমেন্ট


এই অধ্যায়ে আপনি সি প্রোগ্রামে goto স্টেটমেন্ট তৈরি করা শিখবেন। এছাড়া goto স্টেটমেন্ট কখন ব্যবহার করতে হবে এবং কখন করতে হবে না তাও শিখবেন।

সি প্রোগ্রামে goto স্টেটমেন্ট জাম্প(jump) স্টেটমেন্ট হিসাবে পরিচিত।

সি প্রোগ্রামের সাধারণ ধারাকে পরিবর্তন করার জন্য goto স্টেটমেন্ট ব্যবহার করা হয়।


goto সিনট্যাক্স

goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;

এখানে label হলো আইডেন্টিফায়ার। যখন প্রোগ্রাম goto স্টেটমেন্টের দেখা পায় তখন প্রোগ্রামের কন্ট্রোল label:এর কাছে জাম্প(jump) করে এবং label ব্লকের এক্সিকিউশন(execution) শুরু হয়।

How goto statement works?


উদাহরনঃ goto Statement


// সর্বোচ্চ ৫ টি নাম্বারের যোগফল এবং গড়  নির্ণয়। 
// ইউজার নেগেটিভ নাম্বার ইনপুট দিলে পূর্ববর্তী নাম্বারসমূহের যোগফল এবং গড় প্রদর্শিত হবে। 

# include <stdio.h>

int main()
{

    const int maxInput = 5;
    int i;
    double number, average, sum=0.0;
    
    for(i=1; i<=maxInput; ++i)
    {
        printf("%d. Enter a number: ", i);
        scanf("%lf",&number);

    //ইউজার নেগেটিভ নাম্বার প্রবেশ করালে প্রোগ্রামের কন্ট্রোল  jump লেবেলের কাছে যাবে।         
    if(number < 0.0){
       goto jump;
       }
        sum += number; // sum = sum+number;
    }

    jump:

    average=sum/(i-1);
    printf("Sum = %.2f\n", sum);
    printf("Average = %.2f", average);

    return 0;
}

আউটপুট

1. Enter a number: 3
2. Enter a number: 4.3
3. Enter a number: 9.3
4. Enter a number: -2.9
Sum = 16.60
Average = 5.53

goto স্টেটমেন্ট ব্যবহার না করার কারণ

goto এর ব্যবহার প্রোগ্রামকে কঠিন করে ফেলে এবং অনেক সময় মনে হতে পারে প্রোগ্রামে bug রয়েছে। উদাহরনস্বরুপঃ

one: 
for (i = 0; i < number; ++i)
{
    test += i;
    goto two;
}
two: 
if (test > 5) {
  goto three;
}
... .. ...

যাইহোক goto statement মাঝে মাঝে উপকারীও হতে পারে। যেমন- নেস্টেট লুপ থেকে ব্রেক নিতে চাইলে।


goto স্টেটমেন্ট ব্যবহার উচিৎ/ উচিৎ না?

আপনি যদি মনে করেন goto স্টেটমেন্টের ব্যবহার আপনার প্রোগ্রামকে সহজ করে তুলবে তাহলে আপনি ইহা ব্যবহার করতে পারেন। কারণ এখানকার উদ্দেশ্য হলো কোড সহজ করা যতে আপনার অনুসারীরা খুব সহজেই আপনার কোড বুঝতে পারে।