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

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

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

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

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

 সি ফাংশন

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

 সি অ্যারে

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

 সি স্ট্রিং

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

 সি পয়েন্টার

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

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

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

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

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

 

সি if...else এবং নেস্টেড if...else স্টেটমেন্ট


সিদ্ধান্ত গ্রহণের জন্য প্রোগ্রামিং এ সচরাচর কন্ডিশনাল(conditional) স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি if...else এবং নেস্টেড if...else স্টেটমেন্ট ব্যবহার করে সিদ্ধান্ত গ্রহণ করা শিখবেন।

সি if...else স্টেটমেন্ট

কন্ডিশন True হলে কিছু কোড এবং False হলে অন্য কিছু কোড সম্পাদন(execution) এর জন্য সি if...else স্টেটমেন্ট ব্যবহৃত হয়।


if...else সিনট্যাক্স


if (testExpression) {
    // True হলে এই কোড এক্সিকিউট হবে। 
}
else {
    // False হলে এই কোড এক্সিকিউট হবে। 
}

টেস্ট এক্সপ্রেশন True হলে if স্টেটমেন্টের কোড ব্লক এক্সিকিউট হবে এবং else স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।

টেস্ট এক্সপ্রেশন false হলে else স্টেটমেন্টের কোড ব্লক সম্পাদিত হবে এবং if স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।


if...else স্টেটমেন্টের ফ্লোচার্ট

if...else statement এর ফ্লোচার্ট


উদাহরন ১: সি if...else স্টেটমেন্ট


#include<stdio.h>
#include<conio.h>

int main()
{
    int time=16;
    clrscr();
    if(time<12)
    {
        printf("Good morning."); // সময় ১২ টার কম হলে প্রিন্ট হবে।
    }
    else
    {
        printf("Good after noon");// সময় ১২ টার বেশি হলে প্রিন্ট হবে।
    }
    getch();
}

আউটপুট

Good after noon.

উদাহরন ২: সি if...else স্টেটমেন্ট

//ইউজার কর্তৃক ইনপুট দেওয়া ইন্টেজার সংখ্যা জোড় না বিজোড়  চেক করার জন্য প্রোগ্রাম।

#include <stdio.h>
int main()
{
    int testNumber;
    printf("Enter an integer: ");
    scanf("%d",&testNumber);

    // ভাগশেষ শূন্য(0) হলে True হবে
    if(testNumber%2 == 0 ){
        printf("%d is an even integer.",testNumber);
        } 
    else{
       printf("%d is an odd integer.",testNumber); 
       }
        
    return 0;
}

আউটপুট

Enter an integer: 9
9 is an odd integer.

যখন ইউজার 9 প্রবেশ করায় তখন টেস্ট এক্সপ্রেশন (testNumber%2 == 0 ) এর ভ্যালু false হয়। সুতরাং else স্টেটমেন্টের মধ্যে অবস্থিত printf("%d is an odd integer"); স্টেটমেন্ট এক্সিকিউশন হয় এবং if এর মধ্যে অবস্থিত স্টেটমেন্টকে এড়িয়ে যায়।


নেস্টেট if...else স্টেটমেন্ট

কন্ডিশন True/False যাই হোক না কেন আমরা কোড এক্সিকিউট করতে চাই অর্থাৎ সিদ্ধান্ত গ্রহণ করতে চাই সেক্ষেত্রে if...else স্টেটমেন্ট ব্যবহৃত হয়। কিন্তু মাঝে মাঝে সিদ্ধান্ত গ্রহণ দুই এর অধিক কন্ডিশনের উপর নির্ভর করতে পারে।

দুই এর অধিক এক্সপ্রেশনকে টেস্ট করে কোড এক্সিকিউট করার জন্য নেস্টেড if...else স্টেটমেন্ট ব্যবহৃত হয়।


নেস্টেট if...else সিনট্যাক্স


if (testExpression1) 
{
   //testExpression1  True হলে এই কোড এক্সিকিউট হবে।  
}
else if(testExpression2) 
{
   // testExpression1 false এবং testExpression2  True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
else if (testExpression3) 
{
   //testExpression1  ও testExpression2 false এবং testExpression3 True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
.
.
else 
{
   // সকল testExpression false হলে এই কোড ব্লক এক্সিকিউট হবে। 
}

উদাহরন ১: সি নেস্টেড if...else স্টেটমেন্ট


#include<stdio.h>  
#include<conio.h>  
int main(){  
    int number=0;  
    clrscr();  
  
    printf("enter a number:");  
    scanf("%d",&number);  
  
    if(number==10){  
    printf("number is equals to 10");  
    }  
    else if(number==50){  
    printf("number is equal to 20");  
    }  
    else if(number==100){  
    printf("number is equal to 30");  
    }  
    else{  
    printf("number is not equal to 10, 20 or 30"); 
    } 
  
    getch();
}

আউটপুট

enter a number:5
number is not equal to 10, 20 or 30

enter a number:100
number is equal to 30

উদাহরন ২: সি নেস্টেড if...else স্টেটমেন্ট

// =, > অথবা < ব্যবহার করে দুটি ইন্টেজারের মধ্য সম্পর্ক তৈরি

#include <stdio.h>
int main()
{
    int testNumber1,testNumber2;
    printf("Enter two integers: ");
    scanf("%d %d", &testNumber1, &testNumber2);

    //দুটি ইন্টেজার সমান কিনা চেক করে। 
    if(testNumber1 ==testNumber2)
    {
        printf("Result: %d = %d",testNumber1, testNumber2);
    }

    //testNumber2 থেকে testNumber1 বড় কিনা চেক করে
    else if (testNumber1 >testNumber2)
    {
        printf("Result: %d > %d",testNumber1, testNumber2);
    }

    // যদি উভয় এক্সপ্রেশন false হয়।
    else
    {
        printf("Result: %d < %d",testNumber1, testNumber2);
    }

    return 0;
}

আউটপুট

Enter two integers: 15
225
Result: 15 < 25

অনেক ভ্যালুর বিপরীতে সিদ্ধান্ত গ্রহণের জন্য আপনি সুইস(switch) স্টেটমেন্টও ব্যবহার করতে পারেন।