>> [संगीत बजाना]
>> डौग लॉयड: हाय, तो चलो सी में ऑपरेटरों के बारे में बात
तो, हम पहले से ही एक देखा है, वास्तव में, असाइनमेंट ऑपरेटर के बराबर होती है।
यह हमें सिर्फ डाल देता है एक चर में एक मूल्य।
यही काम है ऑपरेटर, एकल बराबर चिह्न।
में हेरफेर करने के लिए और काम में सी में मूल्यों और चर के साथ,
हम ऑपरेटरों की एक संख्या है हमारे निपटान पर हम उपयोग कर सकते हैं।
पर एक नज़र रखना आम लोगों में से कुछ
अंकगणितीय ऑपरेटर्स के साथ शुरू।
आप उम्मीद कर सकते हैं, तो हम क्या कर सकते हैं सी में सुंदर बुनियादी गणित संचालन
हम जोड़, घटाना, गुणा, और कर सकते हैं प्लस का उपयोग कर डिवाइड संख्या, शून्य, सितारा,
और क्रमश: स्लेश।
यहाँ की लाइनों की एक जोड़ी है कोड में जो हम करते हैं।
तो, हम int एक्स वाई प्लस 1 के बराबर होती है।
कहीं मान लेते हैं कि कोड के इस लाइन के ऊपर
हम int y 10 के बराबर होती है कहा था।
X का मान मैं के बाद क्या है कोड की इस पहली पंक्ति पर अमल?
आप 11 में कहा था?
आप सही था।
ऐसा क्यों?
खैर, Y 10 साल का था।
कुछ मैं कह रहा हूँ पूर्णांक एक्स 10 प्लस 1 के बराबर होती है।
10 प्लस 1 11 है।
तो, मूल्य 11 हो जाता है चर x में संग्रहीत।
बहुत बुरा नहीं है, है ना?
>> कैसे की इस अगली पंक्ति के बारे में कोड? एक्स एक्स 5 बार के बराबर होती है।
खैर, इससे पहले कि हम मार डाला कोड के इस लाइन, एक्स 11 थी।
तो, का मूल्य क्या है एक्स कोड की इस पंक्ति के बाद?
एक दूसरा ले लो।
तो, एक्स एक्स 5 बार के बराबर होती है।
एक्स 11 थी।
तो, एक्स 11 बार 5 के बराबर होती है।
या 55।
आप 55 कहा तो, अगर तुम सही होगा।
>> अब, यह थोड़ा भ्रमित हो सकता है, लेकिन हो सकता है उस काम सी में काम करता है जिस तरह से साथ
सही पर मूल्य हो जाता है बाईं तरफ के मूल्य को सौंपा।
तो, सबसे पहले हम एक्स 5 बार मूल्यांकन।
तो, 11 बार 5 55 है।
और फिर हम एक्स में है कि मूल्य की दुकान।
वहाँ गया था कि 11 अब से पहले ओवरराइट है।
तो एक्स के मूल्य अब 55 है।
उम्मीद है कि काफी स्पष्ट है।
>> आप है कि दूसरे ऑपरेटर भी नहीं है शायद जरूरी नहीं सुना
यह कहा जाता है, लेकिन आप है निश्चित रूप से अतीत में साथ काम किया है
आप लंबे समय के अपने दिनों को याद करता है, तो ग्रेड स्कूल में वापस विभाजन तरीका है।
यह मापांक ऑपरेटर कहा जाता है।
क्या मापांक करता है कि यह है आप शेष देता है
आप एक साथ दो नंबर बांटने के समय।
अगर मैं कहूँ तो, 13 से विभाजित 4, शेष क्या है?
और कहा कि मूल्य की गणना होगी मापांक ऑपरेटर द्वारा।
>> तो, मैं कोड की एक पंक्ति है यहाँ, पूर्णांक मीटर 13 आधुनिक 4 के बराबर होती है।
और मैं एक टिप्पणी में यहाँ कहना कि मीटर के मूल्य अब 1 है।
मैं ऐसा क्यों कहुं?
खैर, में लंबे समय विभाजन बाहर करना अपने सिर आप एक दूसरे के लिए मेरे साथ सहन है।
तो, मैं 4 13 से विभाजित किया है।
4 13 तीन बार में चला जाता है 1 के एक शेष के साथ।
तो, मूल रूप से, सभी मापांक ऑपरेटर करता है
यह आप जब आपको बताता है विभाजन, आप शेष मिलता है।
आपको लगता है कि वास्तव में लगता है कि हो सकता है नहीं एक बहुत उपयोगी चीज है,
लेकिन आप वास्तव में, हैरानी होगी कितनी बार है कि मापांक द्वारा
ऑपरेटर के काम में आ सकता है।
>> समस्याओं का कुछ भी नहीं है हम इसके साथ सौदा है कि CS50 कर देंगे।
यह भी करने के लिए अच्छा है यादृच्छिक संख्या की तरह बातें।
तो, उदाहरण के लिए यदि आप कभी भी है कि अगर एक यादृच्छिक संख्या जनरेटर के बारे में सुना,
कि आप एक नंबर देने जा रहा है 0 से कुछ बड़ी संख्या के लिए।
लेकिन हो सकता है कि आप केवल सच 0-20 एक नंबर की आवश्यकता है।
आप मापांक ऑपरेटर का उपयोग करते हैं कि विशाल संख्या पर कि
द्वारा उत्पन्न हो जाता है रैंडम संख्या जनरेटर,
आपको लेने के लिए जा रहे हैं जो कुछ भी यह है बड़ी कीमत, 20 से विभाजित
और शेष के लिए मिलता है।
शेष ही कर सकते हैं 0-19 मूल्य हो।
तो, अगर आप मापांक ऑपरेटर का उपयोग इस विशाल नंबर लेने के लिए
और नीचे कुछ में छीलना यह एक छोटे से अधिक सार्थक।
मैं तुम हो जाएगा पूरा यकीन है कि उन दोनों का उपयोग करने में सक्षम
CS50 में भविष्य में कुछ बिंदु पर।
>> तो, सी भी हमें एक रास्ता देती है एक अंकगणितीय लागू करने के लिए
एक एकल चर करने के लिए ऑपरेटर एक छोटे से अधिक आशुलिपि रास्ते में।
तो, पिछली स्लाइड में, हम एक्स एक्स 5 बार के बराबर होती है देखा।
वह काम किया।
एक्स 5 बार फिर एक्स में वापस जमा हो जाता है।
यह करने के लिए एक छोटा रास्ता सोचा, नहीं है, और यह वाक्य रचना एक्स 5 बार के बराबर होती है।
यह रूप में ही सही बात है कह एक्स एक्स 5 बार के बराबर होती है।
यह सिर्फ एक थोड़ा है यह करने के लिए छोटा रास्ता।
और अगर आप कुछ देखते हैं जब वितरण कोड या आप
कुछ नमूना कोड देखें कि इस तरह से बातें करता है,
बस के साथ परिचित हो वाक्य रचना का मतलब क्या है।
तुम निश्चित रूप से नहीं है यदि आप इसे इस्तेमाल करते हैं, लेकिन करने के लिए,
यह अपने कोड बना सकता है एक छोटी बरसाती कोट देखो।
और तुम भी के किसी भी उपयोग कर सकते हैं कि पता है विभिन्न ऑपरेटरों हम पहले से ही है
पहले के बजाय बार देखा।
आप एक्स प्लस 5, शून्य के बराबर होती है कह सकते हैं 5, गुना, विभाजन, और आधुनिक बराबर होती है।
वो काम सब के सब।
>> कुछ भी नहीं है कि सी में तो आम है
हम तय कर लिया है कि आगे भी है कि परिष्कृत करें।
1 से एक चर Incrementing या एक से एक चर decrementing
जैसे एक आम thing-- विशेष रूप से है हम बात के बारे में जब एक छोटे से बाद छोरों
on-- हम बजाय फैसला किया है कि , एक्स प्लस की तरह कुछ 1 के बराबर होती है, कह रही
या एक्स एक्स प्लस 1 के बराबर होती है, हम भी है लघु कि एक्स प्लस प्लस को सौंप दिया।
तो, एक्स एक्स प्लस 1, एक्स के बराबर होती है प्लस 1 के बराबर होती है, और एक्स प्लस प्लस सब एक ही बात करते हैं।
वे 1 से सभी वेतन वृद्धि एक्स।
लेकिन उस incrementing और 1 से decrementing
हमारे पास इतना आम है कि प्लस प्लस और माइनस माइनस
कि हमें आशुलिपि करने की अनुमति आगे भी कि।
>> तो, चलो दूसरे के लिए स्विच गियर जाने और बूलियन अभिव्यक्ति के बारे में बात करते हैं।
यह भी एक तरह से कर रहे हैं सभी में गिरावट ऑपरेटरों के समग्र श्रेणी।
लेकिन बूलियन अभिव्यक्ति, अंकगणितीय ऑपरेटर के विपरीत,
मूल्यों की तुलना के लिए इस्तेमाल कर रहे हैं।
सी में तो, फिर से, सभी बूलियन अभिव्यक्ति दो संभव मूल्यों में से एक के रूप में मूल्यांकित,
याद आता है।
सही या गलत।
यही कारण है कि केवल दो मूल्यों है कि बूलियन चर पर ले जा सकते हैं।
हम परिणाम का उपयोग कर सकते हैं एक बूलियन अभिव्यक्ति की
प्रोग्रामिंग में तरीकों का एक बहुत में।
वास्तव में, आप हो जाएगा यह काफी एक बहुत कुछ कर रही।
>> उदाहरण के लिए, हम फैसला हो सकता है, खैर, कुछ शर्त सही है, तो
शायद मैं यह ले जाऊँगा मेरे कोड नीचे शाखा।
एक सशर्त, तो बात करो।
हम भी जल्द ही उन लोगों के बारे में सीखना होगा।
या हो सकता है, के रूप में लंबे समय के रूप में यह है कि मैं चाहता हूँ, सच है
यह कर रखने के लिए और अधिक से अधिक और अधिक से अधिक।
एक पाश।
दोनों ही मामलों में, हम प्रयोग कर रहे हैं कि पता सही है या गलत एक एक बूलियन अभिव्यक्ति,
तय है या नहीं करने के लिए एक विशेष पथ लेने के लिए।
कभी-कभी जब हम काम कर रहे हैं बूलियन अभिव्यक्ति के साथ,
हम प्रकार Bool के चर का उपयोग करेगा।
आप घोषित हो सकता है एक bool, चर टाइप किया
और आप में इस्तेमाल करेंगे अपनी बूलियन अभिव्यक्ति।
लेकिन आप हमेशा से करना नहीं है।
यह, सी में, हर गैर 0 बाहर जाती है मूल्य सच कह के रूप में ही है।
आप घोषित कर दिया था, तो एक प्रकार बूलियन के चर,
और वह है, सच यह मूल्य सौंपा एक पूर्णांक की घोषणा के रूप में एक ही
और यह मूल्य बताए 1, 2, 3, या वास्तव में किसी भी मूल्य
0 के अलावा अन्य जो भी।
सी में, क्योंकि हर गैर 0 मान सच है।
0, दूसरे हाथ पर, गलत है।
इस में आ सकता है पता करने के लिए बाद में काम,
लेकिन अभी कुछ मन में रखने के लिए।
हम हमेशा का उपयोग करने की जरूरत नहीं है बूलियन प्रकार चर जब हम
बूलियन भाव के साथ काम कर रहे हैं।
>> बूलियन के दो मुख्य प्रकार हैं हम साथ काम करेंगे कि भाव।
तार्किक ऑपरेटर्स और संबंधपरक संकारक।
वहाँ की भाषा बहुत महत्वपूर्ण नहीं है।
यह मैं उनका समूह कर रहा हूँ बस कैसे सच है।
और आप निश्चित रूप से होगा, मैं जल्दी से लगता है कि, एक रिलेशनल ऑपरेटर है क्या एहसास
के आधार पर वे क्या कर रहे हैं जब हम एक दूसरे में उनके बारे में बात करते हैं।
लेकिन जरूरी नहीं के बारे में चिंता मत करो अवधि तार्किक ऑपरेटर को याद रखना
या रिलेशनल ऑपरेटर।
मैं सिर्फ समूह के लिए यह प्रयोग कर रहा हूँ उन्हें एक तार्किक तरीके से।
>> तो, चलो पर एक नजर डालते हैं तीन तार्किक ऑपरेटर्स
हम काफी देखेंगे कि CS50 में प्रोग्रामिंग में बिट
और प्रोग्रामिंग में अधिक आम तौर पर।
तार्किक और, अगर यह सच है और केवल दोनों ऑपरेंड सत्य हैं, तो।
अन्यथा गलत।
कि कहाँ क्या मतलब है?
तो, चलो मैं एक में हूँ कि हम कहते हैं मेरे पास है, जहां मेरी कोड में बात
दो चर, एक्स और वाई।
और मुझे लगता है कि क्या यह तय करना चाहते हैं अपने कोड में कुछ करने के लिए
एक्स सच है और y अगर यह सच है पर आधारित है।
मैं सिर्फ अगर यह करना चाहते हैं उन दोनों सही हैं,
अन्यथा मुझे लगता है कि नीचे जाने के लिए नहीं करना चाहते हैं पथ यह मेरी मदद करने के लिए नहीं जा रहा है क्योंकि।
मैं क्या कह सकता एक्स और और यदि y है।
यही कारण है कि एक तार्किक बूलियन होगी अभिव्यक्ति की तुलना एक्स और वाई
और एक निश्चित पथ ले रही है उनके मूल्यों को क्या कर रहे हैं पर आधारित है।
एक्स सच है और अगर ऐसा है, वाई सच है यहां यह सच तालिका के आधार पर,
उसके बाद ही हम उस रास्ते नीचे जाना होगा।
एक्स, और और वाई हैं।
यह केवल true-- और ही है है एक्स सच है और y सच है अगर सही है।
या तो एक झूठा है, हम सच तालिका देखने के रूप में,
तो एक्स और वाई दोनों सच नहीं हैं।
और हां, एक्स और और वाई गलत है।
>> तार्किक या तभी सच है कम से कम एक संकार्य अगर यह सच है।
अन्यथा गलत।
तो तार्किक हैं और आवश्यक एक्स और वाई दोनों सच हो सकता है।
तार्किक या सच है या Y होने के लिए एक्स की आवश्यकता है सच करने के लिए या दोनों एक्स और वाई सच हो सकता है।
तो, फिर से, हम किस तरह की मिल एक स्थिति में खुद को
हम अपने कोड के लिए जा रहे हैं, जहां और हम सड़क में एक कांटा पर पहुंच गया।
और हम एक नीचे जाने के लिए चाहते हैं विशेष पथ x सच है कि अगर
या वाई सच है, लेकिन नहीं जरूरी है, तो दोनों सही हैं।
लेकिन संभवतः यदि दोनों सही हैं।
एक्स सच है और अगर ऐसा y है यह सच है कि हम उस रास्ते नीचे जाना होगा।
एक्स सच है।
उनमें से एक सही है, सही है?
एक्स सच है और y सच है।
एक्स सच है, और y गलत है, तो उनमें से एक अभी भी सच है।
तो, एक्स या वाई अभी भी सच है।
एक्स गलत है, और y सच है, उनमें से एक सही है, अभी भी सच है?
Y, इस मामले में सच है।
इसलिए, यह एक्स या वाई सच है कि यह सच है।
एक्स गलत है और y झूठी है तभी हम उस रास्ते नीचे जाना नहीं है,
एक्स और न ही Y न तो सच है।
अब, आप देख रहे हैं स्क्रीन पर अब ठीक है
और क्या है कि सोच प्रतीक तार्किक या के लिए है,
यह ऊर्ध्वाधर बार कहा जाता है।
और यदि आप अपने कीबोर्ड पर देख एक मिनट के लिए, अब मैं क्या कर रहा हूँ के रूप में,
यह बस के ऊपर आमतौर पर है कुंजी दर्ज करें, सबसे बोर्ड पर,
बैकस्लैश के रूप में एक ही कुंजी पर।
यह भी आम तौर पर सही है वर्ग कोष्ठक के बगल में।
इसलिए, यह एक महत्वपूर्ण हो सकता है कि आप अतीत में बहुत ज्यादा नहीं लिखा है।
लेकिन, क्या आपने कभी कर रहे हैं तार्किक तुलना,
हम एक कर रही हो जाएगा के रूप में पाठ्यक्रम में बहुत कुछ है, यह है
के लिए उपयोगी होने जा रहा कि चाबी खोजने और इसे इस्तेमाल करते हैं।
इसलिए, यह एक ही कुंजी पर आमतौर पर है बैकस्लैश के रूप में बस के ऊपर दर्ज करें।
>> अंतिम तार्किक ऑपरेटर नहीं है।
और नहीं बहुत सीधा है।
यह अपने संकार्य के मूल्य inverts।
X सच है, तो नहीं एक्स गलत है।
एक्स झूठी है, तो नहीं x सच है।
कभी-कभी आप इस प्रतीक सुनेंगे धमाके या विस्मयादिबोधक के रूप में घोषित
या नहीं।
यह बहुत ज्यादा सब एक ही बात है।
मामले में आपको लगता है कि बोली जाने वाली सुना है और आपको लगता है कि इसका क्या मतलब है यकीन नहीं कर रहे
यह सिर्फ विस्मयादिबोधक है बिंदु, लेकिन कभी कभी यह है
एक जोड़े को अलग अलग चीजों का आह्वान किया।
ठीक है, तो उस लेता है तार्किक ऑपरेटर्स का ध्यान रखते हैं।
तो, चलो के बारे में बात करते हैं संबंधपरक संकारक।
फिर, आप इस बात से परिचित हैं, तो वापस ग्रेड स्कूल में गणित,
आप शायद परिचित हो साथ कैसे ये काम पहले से ही।
आप की उम्मीद थी के रूप में ये बिल्कुल व्यवहार करते हैं।
तो कम यह इस में सच है, की तुलना में उदाहरण के लिए, एक्स वाई से कम है तो।
एक्स 4 है और यदि हां, y है 6, एक्स वाई से भी कम है।
यह सच है।
से कम या बराबर बहुत इसी तरह काम करता है।
एक्स 4 है, और y तो, 4 है एक्स वाई करने के लिए कम से कम या बराबर है।
से अधिक। एक्स वाई से अधिक है।
और अधिक से अधिक या, एक्स के लिए बराबर Y से अधिक या बराबर है।
अगर यह सच है, तो आप हूँ कि अभिव्यक्ति से गुजरती हैं,
और आप नीचे जाना होगा सड़क पर उस पथ।
एक्स वाई से अधिक है, तो आप एक है, और एक्स, वास्तव में, वाई की तुलना में अधिक है,
आप जो कुछ भी कर दूँगा उस हालत के अधीन।
>> हम एक नहीं है कि नोटिस से भी कम समय के लिए ही चरित्र
या इसके बराबर के रूप में तुम हो सकता है गणित की किताबों से परिचित।
तो, हम, प्रतीक की तुलना में कम है एक बराबर चिह्न द्वारा पीछा किया।
यही कारण है कि हम प्रतिनिधित्व करते हैं कि कैसे है से कम या बराबर।
और इसी तरह, हम ऐसा करते हैं से अधिक या बराबर करने के लिए।
>> अंतिम दो रिलेशनल महत्वपूर्ण हैं कि ऑपरेटरों
समानता और असमानता के लिए परीक्षण कर रहे हैं।
तो, एक्स के बराबर होती है, तो Y के बराबर होती है सच है एक्स और वाई के मूल्य में ही है।
एक्स 10 है, और y तो 10 है, तो एक्स के बराबर होती है Y सच है के बराबर होती है।
एक्स 10 है और y एक्स 11 है Y सच नहीं है बराबर होती है।
हम यह भी का उपयोग कर असमानता के लिए परीक्षण कर सकते हैं विस्मयादिबोधक बिंदु या धमाके या नहीं,
फिर से।
अगर एक्स, तो Y के बराबर नहीं है कि, हम यहाँ का उपयोग कर रहे हैं परीक्षण है
हम जाने के लिए अच्छा होगा।
तो, एक्स के लिए बराबर नहीं है तो वाई, हम उस रास्ते नीचे जाना होगा।
>> यहां वास्तव में सावधान रहें।
यह एक बहुत ही आम mistake-- है और एक मैं निश्चित रूप से बनाया काफी है जब
मैं started-- हो रही थी गलती से गलती करने के लिए
असाइनमेंट ऑपरेटर, एकल के बराबर होती है, समानता तुलना ऑपरेटर के लिए,
डबल बराबर होती है।
यह कुछ अजीब करने के लिए नेतृत्व करेंगे अपने कोड में व्यवहार,
और आम तौर पर संकलक होगा आप कोशिश करते हैं इसके बारे में जब तुम्हें चेतावनी
और अपने कोड संकलन है, लेकिन कभी-कभी आप से यह घुसने के लिए सक्षम हो सकता है।
यह जरूरी नहीं कि एक अच्छी बात नहीं है आप से यह घुसने कि, यद्यपि।
जरा सोचो कि तुम क्या कर रहे हैं, इसलिए यदि एक असमानता परीक्षण,
आप दो कि क्या जाँच कर रहे हैं विभिन्न चर एक ही मूल्य है
उन के अंदर, उपयोग सुनिश्चित करें बराबर है, और न ही बराबर होती है।
और कहा कि जिस तरह से अपने कार्यक्रम होगा आप का इरादा व्यवहार किया है।
मैं डौग लॉयड हूँ और इस CS50 है।