ठीक है।
तो अब कुछ के बारे में बात करते हैं programming-- में वास्तव में उपयोगी
सशर्त बयान।
तो सशर्त भाव अपने कार्यक्रमों की अनुमति देते हैं
निर्णय लेने और विभिन्न लेने के लिए सड़क, कुछ में कांटे
मैं छोटे से पहले के लिए alluded चर के मूल्यों पर निर्भर करता है,
या के आधार पर क्या उपयोगकर्ता आदानों पर प्रोग्रामर, कमांड लाइन पर,
या आप एक संकेत है कि अगर या कुछ इस तरह का।
सी अलग अलग तरीके के एक जोड़े के लिए है सशर्त भाव व्यक्त जो
हम भी कभी कभी एक कॉल करेंगे अपने कार्यक्रमों में सशर्त शाखा।
और इनमें से कुछ देखने के लिए जा रहे हैं खरोंच से आप के लिए बहुत परिचित,
इसलिए हम भी उन्हें खींच लेंगे कंधे से कंधा मिलाकर ऊपर बस
आप अपने सिर में है कि सादृश्य बना सकते हैं।
>> तो, if-- एक सुंदर है, तो सशर्त सरल।
आप से याद करते हैं यहाँ सही पर खरोंच
कि षट्भुज है में आप भर सकता है एक नीले रंग की अभिव्यक्ति नीचे माउस यदि साथ
या एक्स कम से कम 10 है, या कुछ इस तरह का।
और फिर, अगर एक्स, कम से कम 10 साल का था या माउस वास्तव में था, तो नीचे,
के अंदर कोड के सभी पहेली टुकड़ा पर अमल होगा।
फिट है कि सभी बातें कि सी आकृति के अंदर।
>> इसी तरह, हम क्या है वहाँ पर छोड़ दिया है।
बुलियन एक्सप्रेशन, तो मैं तो बस का उपयोग कर रहा है, जो
बूलियन में से एक के लिए एक विकल्प के रूप में हम पहले से चर्चा भाव,
खुले घुंघराले गले लगा, करीब घुंघराले ब्रेस।
तो खुले घुंघराले के बारे में सोच ब्रेस और बंद घुंघराले ब्रेस
सैंडविच के रूप में एक तरह से अनुरूप सही पर यदि ब्लॉक का असर
शुरुवात से।
>> बूलियन अभिव्यक्ति हैं यदि बयान में सच है,
कोड की तो सभी लाइनों घुंघराले ब्रेसिज़ के बीच
आदेश में अमल करेंगे ऊपर से नीचे तक।
बूलियन अभिव्यक्ति हैं गलत है, हम करेंगे
सब कुछ पर छोड़ बीच में घुंघराले ब्रेसिज़, क्योंकि हम केवल
सड़क में है कि कांटा नीचे जाना चाहता हूँ यदि बूलियन अभिव्यक्ति सच है।
>> हम इस एक कदम ले जा सकते हैं आगे और अगर साथ।
इसलिए इस स्क्रैच ब्लॉक है एक करने के लिए बहुत समान
हम छोड़कर, बस एक पल पहले देखा था यह आधारित दो अलग अलग रास्तों लेता है
क्या होता है पर।
माउस नीचे था तो, अगर या एक्स, तो कम से कम 10 साल का था
हम दोनों के बीच में है कि सब कुछ करना होगा पहली बार है कि कांटा, कि पहले सी,
>> अन्यथा, माउस है, तो ऊपर, या एक्स 10 से कम नहीं है,
हम दूसरे सेट में सब कुछ करना होगा।
और कहा कि आप क्या देख के अनुरूप है यहां सी हैं बूलियन अभिव्यक्ति के लिए,
के बीच सामान करना पहले सर्पाकार की स्थापना की।
वरना, के बीच सामान करना दूसरी सर्पाकार की स्थापना की।
बूलियन तो अगर अभिव्यक्ति हम करेंगे, सच है
पहले सेट के बीच जो कुछ भी करते हैं।
बूलियन अभिव्यक्ति है झूठी, कि किसी और को गति प्रदान करेगा,
और हम में जो कुछ भी का क्या होगा घुंघराले ब्रेसिज़ के दूसरे सेट।
फिर, नीचे से ऊपर, सब ब्रेसिज़ के बीच में लाइनों।
>> सी में, इसे बनाने के लिए संभव है एक अगर-और अगर-और श्रृंखला।
वास्तव में हो सकता है आप अगर-और अगर-और अगर-और इतने पर है और अगर ऐसा है, और इतने पर, और
पर।
स्क्रैच में, यह आवश्यक ब्लॉकों घोंसले के शिकार।
आप एक अगर-और जोड़ सकते हैं, और आप के लिए किया था बाकी के अंदर एक और एक डाल दिया,
और इतने पर है, और यह किस तरह मिला के नेस्टेड और जटिल है।
लेकिन सी, हम ऐसा करने की जरूरत नहीं है।
हम वास्तव में सिर्फ हो सकता है यह इस तरह एक श्रृंखला हो।
फिर, आप के सभी उम्मीद कर सकते हैं इन शाखाओं परस्पर अनन्य हैं।
तुम ही कभी नहीं जा सकती शाखा के नीचे।
अगर यह सच है।
अन्यथा, अगर यह सच है।
अन्यथा, यह करते हैं।
तो इस में शाखाओं के सभी चार उदाहरण के परस्पर अनन्य हैं।
यह एक अगर-और अगर-और श्रृंखला है।
>> हालांकि यह संभव है और कभी कभी बहुत उपयोगी है,
की एक श्रृंखला नहीं बनाने के लिए परस्पर अनन्य शाखाओं।
इस उदाहरण में, केवल तीसरे और चौथे शाखाएं परस्पर अनन्य हैं।
यह तुम सकता है कि हो सकता है पहली शर्त को पूरा करना,
और आप को संतुष्ट कर सकता दूसरी शर्त,
और आप को संतुष्ट कर सकता तीसरे condition-- जिस स्थिति में
आप पहली शाखा नीचे जाना होगा, तो आप एक दूसरी शाखा नीचे जाना,
तो आप तीसरी शाखा नीचे जाना होगा।
या शायद आप पहली बार संतुष्ट हालत, और दूसरी शर्त,
लेकिन आप संतुष्ट नहीं है तीसरी शर्त।
इस मामले में आप पहले नीचे जाना शाखा और दूसरी शाखा,
और फिर चौथी शाखा,
>> इस का कारण कुछ और है कि केवल यदि निकटतम करने के लिए बाध्य होगा।
तो वहाँ है, भले ही और यहाँ एक, कि
जरूरी नहीं कि एक पारस्परिक रूप से पैदा नहीं करता सब कुछ के अनन्य श्रृंखला।
यह केवल अभिव्यक्ति है वहाँ बूलियन साथ
अभिव्यक्ति 3-- है कि बाकी के साथ परस्पर अनन्य।
इसलिए यह संभव है, और कभी कभी बहुत उपयोगी है,
जैसा कि मैंने कहा, की एक श्रृंखला बनाने के लिए परस्पर अनन्य नहीं शाखाओं।
चलो एक अलग पर एक नज़र रखना सशर्त की तरह है, जो
आप स्क्रैच में पहले नहीं देखा है।
कहा जाता है कुछ भी नहीं है स्विच बयान।
स्विच बयान है क्योंकि यह एक तरह से साफ
अनुमति देता है कि एक सशर्त बयान आप अलग-अलग मामलों निर्दिष्ट करने के लिए
बजाय बूलियन पर भरोसा कर के भाव के लिए निर्णय लेने के लिए।
तो उदाहरण के लिए, हम कहते हैं मैं इस कार्यक्रम है,
और मैं उपयोगकर्ता पूछ रहा हूँ मेरे लिए इनपुट प्रदान करने के लिए।
तो मैं कहता हूँ, पूर्णांक एक्स =) (इंट जाओ, और आप अभी तक परिचित नहीं हैं,
पूर्णांक मिलता है कि एक समारोह है इसके अलावा, CS50 पुस्तकालय में शामिल
आप CS50.h # शामिल है, इसलिए यदि आप होगा पहुँच इंटरनैशनल (जाओ) और सब करने के लिए अपने
cousins-- GetFloat, GetString, और इतने पर।
असल में हर एक के लिए समारोह जाओ हम पहले से ही चर्चा की है कि डेटा प्रकार।
>> तो int x GetInt बराबर होती है।
असल में क्या हो रहा है मैं टर्मिनल पर हूँ है।
मैं एक संख्या में टाइप करने के लिए उपयोगकर्ता पूछ रहा हूँ।
>> और यहाँ मैं स्विचन हूँ मैं क्या कर रहा हूँ, निर्भर करता है
उपयोगकर्ता प्रॉम्प्ट पर क्या टाइप पर।
वे एक टाइप किया, तो मैं एक प्रिंट आउट।
और फिर मैं टूट गया।
वे दो लिखते हैं, तो मैं दो बाहर प्रिंट।
और फिर मैं टूट गया।
यह महत्वपूर्ण है प्रत्येक मामले के बीच तोड़ने
अन्यथा आप के माध्यम से गिर जाएगी क्योंकि।
मैं किसी भी नहीं था तो अगर वहाँ टूटता है, और उपयोगकर्ता
टाइप एक है, यह है क्या होगा क्षमा करें, एक, दो, तीन प्रिंट होगा।
यह ठीक है, अजीब व्यवहार की तरह है?
तुम्हें ऐसा लगता है हो सकता है।
लेकिन वास्तव में कुछ मामलों में जहां देखते हैं यह एक बहुत उपयोगी बात हो सकती है।
यहाँ तो एक स्विच की एक और उदाहरण है मैं टूट न आना जहां बयान।
लेकिन मैं यह उद्देश्य पर करते हैं।
>> तो यहाँ क्या होता है?
एक पल के लिए सोचो।
आप भी वीडियो को थामने के लिए चाहते हो सकता है।
>> क्या होगा अगर यहां होता है उपयोगकर्ता प्रकार चार?
इसलिए मैं इनपुट के लिए उपयोगकर्ता से पूछा है।
और वे मूल्य 4 प्रदान करते हैं।
मुझे लगता है कि क्या करना मुद्रित हो जाता है?
पिछली स्लाइड पर, वहाँ थे सभी मामलों के बीच टूट जाता है।
और तो यह सिर्फ होगा मुद्रित चार और फिर बंद।
लेकिन इस मामले में, यह नहीं होगा।
क्या होगा यदि आप है प्रत्येक मामले के माध्यम से गिर जाएगी।
>> तो इस मामले में मैं अपने मामलों का आयोजन किया है इस तरह से है कि उपयोगकर्ता प्रकार 4, अगर
मैं प्रिंट होगा चार, तीन, दो, एक, बंद विस्फोट।
वे 5 टाइप किया, तो मैं शुरू होगा और पांच में ही बात करते हैं।
वे एक टाइप किया है, मैं करूंगा बस, विस्फोट से एक बंद करो।
>> इस मामले में तो, मैं उपयोग कर रहा हूँ एक स्विच की तरह है चतुराई से इतनी
मैं गिर करने का इरादा है कि सभी मामलों के माध्यम से।
लेकिन आम तौर पर आप शायद करने वाले रहे हैं उन सभी के बीच तोड़ना चाहते हैं,
आप एक ऐसी स्थिति है जब तक आप कर रहे हैं, जहां यह एक तरह
एक तरह से इस तथ्य का लाभ आप हूँ कि एक ब्रेक के बिना मामलों के माध्यम से गिर जाते हैं।
तो यह है कि प्रमुख का दूसरा है सशर्त बयान के प्रकार।
? जिनमें से पिछले है: तो मैं यहां सी कोड के दो स्निपेट है।
बाईं ओर एक और सही पर एक।
बाईं ओर एक चाहिए शायद आप के लिए बहुत परिचित हो।
>> मैं int x है।
और मैं शायद चाहिए उपयोगकर्ता से कहा है कि
for-- यह शायद int x होना चाहिए GetInt, या ऐसा कुछ के बराबर होती है।
और फिर मैं एक निर्णय बना रहा हूँ।
कुछ बूलियन अभिव्यक्ति है यह सच है कि मूल्य 5 एक्स आवंटित।
अन्यथा, मूल्य 6 एक्स आवंटित।
>> बाईं तरफ यही कारण है कि शायद होना चाहिए हमारी चर्चा से बहुत परिचित
की बस एक पल पहले यदि नहीं तो।
आप जानकर आश्चर्य होगा सही पर लाइन है कि
सटीक एक ही बात करता है?
>> ? तो यह कहा जाता है: या कभी-कभी त्रिगुट ऑपरेटर बुलाया।
और यह बहुत अच्छा है।
यह आमतौर पर एक प्यारा चाल के रूप में प्रयोग किया जाता है।
>> लेकिन यह अनुमति देता है क्या आप के लिए है करने के लिए वास्तव में छोटे के साथ किसी और एक तो अनुकरण,
वास्तव में तुच्छता से कम सशर्त शाखाओं।
आप आम तौर पर उपयोग नहीं होता: अगर आप प्रत्येक सेट के बीच कोड के छह लाइनों की थी
की सर्पाकार।
लेकिन तुम सिर्फ कर रहे हैं एक त्वरित निर्णय लेने,
आपको एक बात करने के लिए जा रहे हैं या अन्य और यह बहुत आसान है,
यह करने के लिए कैसे का एक उदाहरण हो सकता है के साथ करते हैं? त्रिगुट ऑपरेटर।
तो int x अभिव्यक्ति के बराबर होती है?
सवाल के बाद बात मार्क के एक्स क्या मूल्य है
अभिव्यक्ति सत्य है, तो हो जाएगा।
>> बाद बात पेट के क्या एक्स के मूल्य है
अभिव्यक्ति गलत था, तो हो सकता है।
तो मैं अपने आप से पूछ रहा हूँ, अभिव्यक्ति सच है?
अगर ऐसा है, मूल्य 5 एक्स आवंटित।
ऐसा नहीं है, तो मान 6 एक्स आवंटित।
फिर, जैसा मैंने कहा।
यह आम तौर पर सिर्फ एक प्यारा चाल है।
और कभी कभी तुम हो जाते हैं वास्तव में इसके साथ आराम से,
यह लग रहा है क्योंकि आप इस करूँगा अपने कार्यक्रमों में शांत की तरह।
आम तौर पर मैं इसे करने के लिए प्रस्तुत कर रहा हूँ आप अब तो आप इसे से परिचित हो
आप इसे देख सकते हैं।
लेकिन निश्चित रूप से आप नहीं जानते अपने कोड में से किसी में यह लिखने के लिए।
लेकिन यह कुछ के साथ परिचित होने के लिए है, आप निश्चित रूप से मुठभेड़ हूँ क्योंकि
यहाँ कोड के टुकड़े और वहाँ जहां यह? वाक्य रचना,
त्रिगुट ऑपरेटर उर्फ ​​प्रयोग किया जाता है।
>> पर इतनी जल्दी सारांश क्या सशर्त कर रहे हैं,
और विकल्प उपलब्ध हैं तुम्हारे पास सी में आप के लिए तो और अगर-और,
और अगर और यदि, वगैरह।
आप बूलियन अभिव्यक्ति का उपयोग कर सकते हैं उन लोगों के लिए निर्णय लेने के लिए।
>> स्विच बयानों के साथ आप का उपयोग असतत मामलों में निर्णय लेने के लिए।
अगर यह आप विशेष रूप से कहते हैं, एक, या यह तीन अगर यह दो है, या अगर,
मैं इस बात करते हैं, या हूँ इस बात को, या इस बात।
और:? जगह इस्तेमाल किया जा करने के लिए कर सकते हैं बहुत ही सरल अगर-और शाखाओं,
या चेन बनाने के लिए किसी और यदि अपने कोड एक छोटे फैंसी लग रही है।
>> मैं डौग लॉयड हूँ।
और इस CS50 है।