Read in Hindi
Read in English

Moving forward with this tutorial today we will lean about if-else statement. before this we should learn comparison operator hence let us see this 1st below. As we have seen some operators earlier like +, - ... Comparison operator given Boolean output, meaning that they tell if statement is true or false.
  • < and > : Eg 3 > 1 given true but 3 < 1 gives false. Similarly 3 > 3 gives false because 3 is not greater than 3. 3 < 3 is also false.
  • <= and >= : They are similar as above but 3 >= 3 and 3 <= 3 will give true. Note that =< can not be used in place of <=. = should come after > or <.
  • == : Tells if 2 valued are equal. This operator can compare int, char... every datatype. Remember that == is not same as =. = is assignment operator which assigns value on right side to variable on left sidebut == compares 2 values.

Now we will see how to use them in if else.
Format of if statement is following.

if(booelan expression1) {
statement1;
} else if(booelan expression2) {
statement2;
}
.....
....
....
else {
statementN;
}

boolean expression evaluates to true or false. If booelan expression1 evaluates to true then only statement1 will be executed. If booelan expression1 is false we see booelan expression2. If this is true then statement2 will be execute. Similarly we will ahead. Wherever booelan expression evaluates to true, related statement will be execute, nothing else. If none of booelan expression evaluates to true then statements under else will be executed. Lets see this by an example
In the example given below based on total marks and obtained marks we will calculate percent then grade and print it.
#include <stdio.h>

int main() {

int total_marks = 500;
int obtained_marks = 272;

int percent = obtained_marks*100/total_marks;

if(percent >= 60) {
printf("Congrats!! You passed in 1st division.\n");
printf("Your percentage is %d.\n",percent);
}
else if(percent >= 45) {
printf("You passed in 2nd division.\n");
printf("Your percentage is %d.\n",percent);
}
else if(percent >= 33) {
printf("You just passed in 3rd division.\n");
printf("Your percentage is %d.\n",percent);
}
else {
printf("Sorry! you failed.\n");
printf("Your percentage is %d.\n",percent);
}

scanf("%s");
return 1;
}

Here value of percent will be calculated as 54.(Note that it's value won't be 54.4 because in our progrm it's not int) percent is below 60 hence 1st condition (percent >= 60) will give false hence we will check next condition(percent >= 45) which will be true hence on screen this will be printed.
You passed in 2nd division.
Your percentage is 54

If any of the condition is true, only related statement will be executed, subsequent conditions will not be checked, hence this program will not print anything else. One more thing to note that we have used \n inside printf which is not printed because meaning of \n is new line hence whatever comes after \n will be printed on new line. You can try to remove \n and run program again. Similarly try to change value of obtained_marks in given example and run C/C++ program and see output carefully. If you have any question related to this, comment below to ask.

In next topic we will see some other examples related to if-else.
If you like this tutorial, share it with your friends on facebook, orkut, twitter etc.

आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम if-else statement के बारे में जानेंगे. इससे पहले comparison operator के बारे में जानना आवश्यक है अतः इसकी जानकारी नीचे दी जा रही है. operator का मतलब है चिन्ह (जैसे की +, - ...). नीचे दिए गए comparison operator Boolean output देते हैं, मतलब ये यह बताते हैं की दिया गया statement true है या false
  • < और > : जैसे की 3 > 1 का output है true जबकि 3 < 1 ka output है false. इसी तरह 3 > 3 का output false होगा 3 से बड़ा 3 नहीं है. 3 < 3 का output भी false है.
  • <= और >= : ये ऊपर वाले की तरह ही हैं परन्तु 3 >= 3 और 3 <= 3 का output true हो जायेगा. ध्यान रहे की <= की जगह =< का उपयोग नहीं कर सकते. = का चिन्ह > या < के बाद ही आना चाहिए.
  • == : यह बताता है की दो value बराबर हैं या नहीं. यह int, char, आदि सभी को compare कर सकता है. याद रहे की यह = से अलग है. = assignment operator है जो की बाये और लिखे variable को दाई और लिखी value देता है, जबकि == दोनों और लिखे variable या value को compare करता है.

अब हम देखते हैं की इनका उपयोग if else में कैसे करते हैं.
if statement का format निम्न है.

if(boolean expression1) {
statement1;
} else if(boolean expression2) {
statement2;
}
.....
....
....
else {
statementN;
}

boolean expression वह है जिसकी value true हो या false. अगर boolean expression1 का मान true है तो सिर्फ statement1 execute होगा. अगर boolean expression1 का मान false है तो हम boolean expression2 देखेंगे. अगर यह true है तो statement2 execute होगा. इसी तरह आगे बढ़ते जायेंगे. जहाँ भी हमें boolean expression का मान true प्राप्त होगा केवल उसी से सम्बन्धित statement execute होगा, कोई और नहीं. अगर कोई boolean expression true नहीं है तो else के अन्दर जो statement है वो execute होगा. इसे एक उदहारण के द्वारा समझते हैं.
नीचे दिए गए example में दिए गए total marks और obtained marks के अनुसार हम percent निकालेंगे और percent के आधार पर grade print करेंगे.
#include <stdio.h>

int main() {

int total_marks = 500;
int obtained_marks = 272;

int percent = obtained_marks*100/total_marks;

if(percent >= 60) {
printf("Congrats!! You passed in 1st division.\n");
printf("Your percentage is %d.\n",percent);
}
else if(percent >= 45) {
printf("You passed in 2nd division.\n");
printf("Your percentage is %d.\n",percent);
}
else if(percent >= 33) {
printf("You just passed in 3rd division.\n");
printf("Your percentage is %d.\n",percent);
}
else {
printf("Sorry! you failed.\n");
printf("Your percentage is %d.\n",percent);
}

scanf("%s");
return 1;
}

ऊपर दिखाई गई values के अनुसार percent की value 54 आएगी.(यहाँ गौर करने लायक बात यह है कि percent कि value 54.4 नहीं आएगी क्योंकि हमने अपने program को int बनाया है. ) चूंकि percent 60 से छोटा है अतः पहली वाली condition (percent >= 60) का result false आएगा आएगा इसलिए हम अगली वाली condition (percent >= 45) check करेंगे जो कि true है अतः स्क्रीन पर print होगा
You passed in 2nd division.
Your percentage is 54

अब चूंकि कोई भी condition true होने पर उसके अन्दर वाले statement ही execute होते हैं. अतः यह C/C++ program और कुछ print नहीं करेगा. यहाँ एक बात ध्यान देने लायक है कि हमने printf के अन्दर \n का उपयोग किया है परन्तु यह print नहीं हुआ, क्योंकि \n का मतलब है new line character अर्थात \n के बाद जो भी print होगा वो अगली line में print होगा. यहाँ आप \n को हटाकर run करें और output देखें. इसी तरह दिए गए example में obtained_marks की अलग अलग value रख कर C/C++ program को run करें और output को ध्यान से देखें. अगर इससे संबधित कोई सवाल आपके पास है तो नीचे comment के माध्यम से पूछ सकते हैं.

अगले topic में हम if else के कुछ और अलग तरह के example देखेंगे.