if statement
इफ स्टेटमेंट C भाषा में शर्तों के आधार पर कुछ कोड ब्लॉक को चलाने के लिए इस्तेमाल किया जाता है। इफ स्टेटमेंट उन स्थितियों के लिए उपयोगी होता है जब आपको कुछ कोड को केवल जब की शर्त पूरी होती है, चलाना होता है।
इसे आमतौर पर इस तरह से लिखा जाता है:
if (condition) {
// code block to be executed if condition is true
}
यहां condition शर्त है जो सत्य होने पर आपके कोड ब्लॉक को चलाता है। इफ स्टेटमेंट के बाद दी गई शर्त का मूल्य true या false होता है। अगर शर्त सत्य होती है तो इफ स्टेटमेंट के भीतर के कोड ब्लॉक को चलाया जाता है अन्यथा इसे छोड़ दिया जाता है।
अधिक जानकारी के लिए, यहां एक उदाहरण है:
int x = 10;
if (x > 5) {
printf("x is greater than 5\n");
}
इस उदाहरण में, x की मान 10 है। शर्त x > 5 सत्य है तो इसे printf फंक्शन के माध्यम से "x is greater than 5" प्रिंट कर दिया जाएगा।
if else statement
इफ एल्स स्टेटमेंट C भाषा में एक शर्त के आधार पर कोड ब्लॉक को चलाने के लिए इस्तेमाल किया जाता है लेकिन यह एक अतिरिक्त विकल्प भी प्रदान करता है जो कि उस स्थिति के लिए होता है जब शर्त न सत्य होती है।
इसे आमतौर पर इस तरह से लिखा जाता है:
if (condition) {
// code block to be executed if condition is true
} else {
// code block to be executed if condition is false
}
यहां condition एक शर्त है जो सत्य होने पर आपके पहले कोड ब्लॉक को चलाता है। अगर शर्त सत्य होती है तो पहले कोड ब्लॉक को चलाया जाता है और यदि शर्त गलत होती है तो दूसरे कोड ब्लॉक को चलाया जाता है।
अधिक जानकारी के लिए, यहां एक उदाहरण है:
int x = 5;
printf("x is greater than 10\n");
} else {
printf("x is less than or equal to 10\n");
}
इस उदाहरण में, x की मान 5 है। शर्त x > 10 गलत है इसलिए दूसरे printf कोड ब्लॉक को चलाया जाएगा और वह "x is less than or equal to 10" प्रिंट कर देगा।
if...else if...else Statement
एक if स्टेटमेंट के बाद एक और if...else स्टेटमेंट आ सकता है, जो सिंगल if...else if स्टेटमेंट का उपयोग करके विभिन्न स्थितियों का परीक्षण करने के लिए बहुत उपयोगी है। if , else if , else कथनों का उपयोग करते समय ध्यान में रखने के लिए कुछ बिंदु हैं:
- एक if में शून्य या एक और हो सकता है और इसे किसी और if के बाद आना चाहिए।
- एक if में शून्य से कई और if हो सकते हैं और उन्हें दूसरे से पहले आना चाहिए।
- एक बार और यदि सफल हो जाता है, तो शेष में से किसी का भी परीक्षण नहीं किया जाएगा।
C भाषा में if...else if...else statement का उपयोग एक से अधिक शर्तों को टेस्ट करने के लिए किया जाता है। यह इस तरह से लिखा जाता है:
if (condition1) {
// code block to be executed if condition1 is true
} else if (condition2) {
// code block to be executed if condition2 is true and condition1 is false
} else {
// code block to be executed if both condition1 and condition2 are false
}
यहां, condition1 से शुरू होता है, जो सत्य होने पर पहले कोड ब्लॉक को चलाता है। अगर यह गलत होता है तो दूसरी शर्त condition2 का जांच किया जाता है, और यदि यह सत्य होता है तो दूसरे कोड ब्लॉक को चलाया जाता है। अगर दोनों शर्तों में से कोई भी सत्य नहीं होती है, तो अंतिम कोड ब्लॉक चलाया जाता है।
एक उदाहरण देखते हैं:
int x = 10;
if (x < 0) {
printf("x is negative\n");
} else if (x > 0) {
printf("x is positive\n");
} else {
printf("x is zero\n");
}
इस उदाहरण में, x की मान 10 है। शर्त x < 0 गलत है, इसलिए दूसरी शर्त x > 0 का जांच किया जाएगा और वह पहले कोड ब्लॉक को छोड़कर दूसरे कोड ब्लॉक को चलाएगा, जो "x is positive" प्रिंट करेगा।
Nested if statements
C भाषा में Nested if statements का उपयोग शर्तों के एक से अधिक स्तरों की जांच करने के लिए किया जाता है। Nested if statements का उपयोग एक से अधिक शर्तों के एक साथ टेस्ट करने के लिए भी किया जा सकता है। एक Nested if statement के अंदर एक या एक से अधिक if statements होते हैं। नीचे एक उदाहरण दिया गया है:
int x = 5;
int y = 10;
if (x > 0) {
if (y > 0) {
printf("Both x and y are positive\n");
} else {
printf("x is positive but y is not\n");
}
} else {
printf("x is not positive\n");
}
Switch statement
स्विच स्टेटमेंट का सिंटेक्स (Syntax) निम्नलिखित है:
switch(expression) {
case constant-expression1:
// code to execute if expression matches constant-expression1
break;
case constant-expression2:
// code to execute if expression matches constant-expression2
break;
.default:
// code to execute if no case matches the expression
}
- एक स्विच स्टेटमेंट में उपयोग की जाने वाली अभिव्यक्ति में एक अभिन्न या प्रगणित प्रकार होना चाहिए, या एक वर्ग प्रकार का होना चाहिए जिसमें वर्ग का एकल रूपांतरण फ़ंक्शन एक अभिन्न या प्रगणित प्रकार का हो।
- आपके पास एक स्विच के भीतर कई केस स्टेटमेंट हो सकते हैं। प्रत्येक मामले के बाद मूल्य की तुलना की जाती है और एक कोलन होता है।
- किसी मामले के लिए निरंतर-अभिव्यक्ति स्विच में चर के समान डेटा प्रकार होना चाहिए, और यह स्थिर या शाब्दिक होना चाहिए।
- जब स्विच ऑन किया जा रहा वेरिएबल एक केस के बराबर होता है, तो उस केस के बाद के स्टेटमेंट ब्रेक स्टेटमेंट तक पहुंचने तक निष्पादित होंगे।
- जब एक ब्रेक स्टेटमेंट पहुंच जाता है, तो स्विच समाप्त हो जाता है, और नियंत्रण का प्रवाह स्विच स्टेटमेंट के बाद अगली पंक्ति में कूद जाता है।
- जरूरी नहीं कि हर मामले में विराम हो। यदि कोई विराम नहीं दिखाई देता है, तो नियंत्रण का प्रवाह बाद के मामलों में एक विराम तक पहुंच जाएगा।
- एक स्विच स्टेटमेंट में एक वैकल्पिक डिफ़ॉल्ट केस हो सकता है, जो स्विच के अंत में दिखाई देना चाहिए। किसी भी मामले के सत्य न होने पर कार्य करने के लिए डिफ़ॉल्ट केस का उपयोग किया जा सकता है। डिफ़ॉल्ट मामले में किसी ब्रेक की आवश्यकता नहीं है।
जब expression की value किसी constant-expression से मिलती है, तो उसके corresponding case block में code execution होता है। इसके बाद, switch statement को break के द्वारा terminate किया जाता है ताकि दूसरे case blocks में code execution नहीं होता है। अगर expression को एक भी constant-expression से match नहीं होता है तो default block में code execution होता है।
इसके लिए एक उदाहरण निम्नलिखित है:
int choice = 2;
case 1:
printf("You chose option 1.\n");
break;
case 2:
printf("You chose option 2.\n");
break;
case 3:
printf("You chose option 3.\n");
break;
default:
printf("Invalid choice.\n");
}
इस उदाहरण में, choice के value 2 होने के कारण इसका matching case block execute होता है और "You chose option 2." print होता है।
Nested switch statements
C भाषा में nested switch statements एक switch statement के block में दूसरा switch statement होता है। इसका मतलब है कि, switch के case block में एक दूसरे switch statement को लिखा जा सकता है।
यहां nested switch statements का एक उदाहरण दिया गया है:
int num1 = 3;
int num2 = 4;
char operator = '+';
case 1:
switch (num2) {
case 1:
printf("Invalid operation.\n");
break;
case 2:
printf("Invalid operation.\n");
break;
case 3:
switch (operator) {
case '+':
printf("%d + %d = %d\n", num1, num2, num1 + num2);
break;
case '-':
printf("%d - %d = %d\n", num1, num2, num1 - num2);
break;
default:
printf("Invalid operator.\n");
}
break;
case 4:
printf("Invalid operation.\n");
break;
}
break;
case 2:
printf("Invalid operation.\n");
break;
case 3:
printf("Invalid operation.\n");
break;
default:
printf("Invalid operation.\n");
}
इसके माध्यम से, हमने nested switch statements का उदाहरण बनाया है। पहले switch statement में, num1 की value 3 है जो कि matching case में है। इसके बाद, nested switch statement के block में हम num2 की value को evaluate करते हैं। num2 की value 4 होने के कारण, matching case में हम "Invalid operation." print करते हैं।
इस तरह, हम nested switch statements के माध्यम से एक switch statement के block में दूसरा switch statement लिख सकते हैं।
The ? : Operator
C भाषा में, conditional operator या ternary operator को ? : operator भी कहा जाता है। इसका उपयोग किसी condition के आधार पर दो विभिन्न values में से एक को select करने के लिए किया जाता है।
इसका syntax निम्नलिखित है:
condition ? value_if_true : value_if_false;
जहां condition को evaluate किया जाता है। यदि condition true होता है, तो value_if_true return किया जाता है, अन्यथा value_if_false return किया जाता है।
यहां कुछ उदाहरण दिए गए हैं:
int num1 = 5;
int num2 = 10;
int max_num = (num1 > num2) ? num1 : num2; // max_num को num2 की value से initialize किया जाएगा, क्योंकि num1 > num2 नहीं है।
char grade = (num1 > 60) ? 'A' : 'F'; // grade को 'F' से initialize किया जाएगा, क्योंकि num1 > 60 नहीं है।
इस तरह, हम दो values में से एक को select करने के लिए conditional operator का उपयोग कर सकते हैं।


