शाखाकरण: if-else, ternary, switch-case
स्पष्ट शाखाकरण के लिए if-else शृंखलाओं, ternary expressions और switch कथनों में से उपयुक्त विकल्प चुनें।
शाखाकरण: if-else, ternary, switch-case, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
if कथन
यह मूल सशर्त संरचना है। शर्त सही होने पर इसका बॉडी निष्पादित होता है। एकल कथन के लिए घुंघराले कोष्ठक वैकल्पिक हैं, लेकिन उनका उपयोग हमेशा सुझाया जाता है।
int score = 85;
if (score >= 60) {
std::cout << "Pass\n";
}if-else शृंखलाएँ
else if और अंत में else का उपयोग करके विकल्पों की जाँच करें। पहली सही शाखा चलती है।
if (score >= 90) std::cout << "A";
else if (score >= 80) std::cout << "B";
else if (score >= 70) std::cout << "C";
else std::cout << "F";बूलियन शर्तें
bool में बदली जा सकने वाली कोई भी अभिव्यक्ति काम करती है। नल होने पर पॉइंटर का मान false माना जाता है और शून्य होने पर पूर्णांक का मान false माना जाता है। स्पष्टता के लिए इसे साफ़-साफ़ लिखें।
if में प्रारंभिकीकरण (C++17)
C++17 आपको if के भीतर कोई चर घोषित करने देता है। इस चर का दायरा if-else बॉडी तक सीमित रहता है।
if (auto it = map.find(key); it != map.end()) {
std::cout << it->second;
}टर्नरी ऑपरेटर
condition ? a : b दो मानों में से एक लौटाता है। सरल विकल्पों के लिए यह बहुत उपयोगी है, लेकिन जटिल रूप से नेस्ट किए गए तर्क के लिए अनुपयुक्त है।
int max = (a > b) ? a : b;
std::string msg = (n == 1) ? "item" : "items";नेस्टेड टर्नरी से बचें
नेस्टेड टर्नरी को पढ़ना कठिन होता है। इसके बजाय if-else का उपयोग करें या इसे किसी सहायक फलन में पुनर्गठित करें।
// Hard to read
auto label = (n < 0) ? "neg" : (n == 0) ? "zero" : "pos";
// Clearer
std::string label;
if (n < 0) label = "neg";
else if (n == 0) label = "zero";
else label = "pos";switch कथन
एक मान की तुलना कई स्थिरांकों से करें। अगले case में अनचाहे रूप से जाने से बचने के लिए प्रत्येक शाखा में break आवश्यक है।
switch (day) {
case 1: std::cout << "Mon"; break;
case 2: std::cout << "Tue"; break;
default: std::cout << "?"; break;
}जानबूझकर अगले case में जाना
ऐसे कई case समूहित करें जिनमें समान कोड चलता हो। C++17 ने कंपाइलर के लिए संकेत के रूप में [[fallthrough]] जोड़ा है।
switch (c) {
case 'a': case 'e': case 'i': case 'o': case 'u':
std::cout << "vowel"; break;
default:
std::cout << "consonant";
}switch की सीमाएँ
switch केवल पूर्णांक और enum प्रकारों पर काम करता है। स्ट्रिंग के लिए if-else या हैश मैप का उपयोग करें।
switch में प्रारंभक (C++17)
if की तरह, आप switch हेडर के भीतर कोई चर घोषित कर सकते हैं।
switch (auto value = compute(); value) {
case 0: ...
default: ...
}पैटर्न: लुकअप मैप
स्ट्रिंग-कुंजी वाली शाखाओं के लिए std::unordered_map, if-else शृंखला की तुलना में अधिक साफ़ हो सकता है।
std::unordered_map<std::string, std::function<void()>> commands = {
{"start", []{ start(); }},
{"stop", []{ stop(); }}
};
if (auto it = commands.find(cmd); it != commands.end())
it->second();त्वरित जाँच
यदि switch में किसी case के बाद break न हो और अगला case खाली न हो, तो क्या होता है?
पुनरावलोकन
सामान्य शाखाकरण के लिए if-else, छोटे मान-चयनों के लिए टर्नरी ऑपरेटर, और एक मान की कई पूर्णांक स्थिरांकों से तुलना करने के लिए switch का उपयोग करें। C++17 के init-statements दायरे को व्यवस्थित करते हैं।
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “शाखाकरण: if-else, ternary, switch-case” पाठ निःशुल्क है?
हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “शाखाकरण: if-else, ternary, switch-case” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“शाखाकरण: if-else, ternary, switch-case” में मैं क्या सीखूँगा?
स्पष्ट शाखाकरण के लिए if-else शृंखलाओं, ternary expressions और switch कथनों में से उपयुक्त विकल्प चुनें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“शाखाकरण: if-else, ternary, switch-case” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- शाखाकरण: if-else, ternary, switch-case
- लूप के तरीके: for, while, do-while
- कंटेनरों के साथ range-based for लूप
- शीघ्र वापसी: break, continue और goto