1 00:00:00,000 --> 00:00:02,420 >> [संगीत बजाना] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 अध्यक्ष: ठीक है। 4 00:00:05,980 --> 00:00:08,540 तो चलो एक और के बारे में बात करते हैं सी के लिए तरह की अनूठी बात यह है कि, 5 00:00:08,540 --> 00:00:10,010 जो डेटा प्रकार और चर है। 6 00:00:10,010 --> 00:00:12,340 जब मैं कहता हूँ अनोखी सी के लिए, मैं वास्तव में केवल के संदर्भ में मतलब है, 7 00:00:12,340 --> 00:00:14,470 आप एक प्रोग्रामर किया गया है एक बहुत लंबे समय के लिए, 8 00:00:14,470 --> 00:00:16,270 आप शायद नहीं किया है डेटा प्रकार के साथ काम किया 9 00:00:16,270 --> 00:00:18,470 आप आधुनिक का उपयोग किया है प्रोग्रामिंग की भाषाएँ। 10 00:00:18,470 --> 00:00:20,432 जैसे आधुनिक भाषाओं PHP और जावास्क्रिप्ट, 11 00:00:20,432 --> 00:00:22,640 हम भी एक छोटे से देखेंगे जो पर बाद में पाठ्यक्रम में, 12 00:00:22,640 --> 00:00:25,550 आप वास्तव में निर्दिष्ट करने के लिए नहीं है एक चर के डेटा प्रकार 13 00:00:25,550 --> 00:00:26,270 जब आप इसे उपयोग। 14 00:00:26,270 --> 00:00:28,067 >> तुम बस इसे घोषित करने और इसे का उपयोग शुरू करते हैं। 15 00:00:28,067 --> 00:00:29,900 यह एक पूर्णांक है, यह यह एक पूर्णांक है पता है। 16 00:00:29,900 --> 00:00:31,960 यह एक चरित्र है, यह है यह एक चरित्र है जानता है। 17 00:00:31,960 --> 00:00:35,320 यह एक शब्द है, तो यह जानता है यह तथाकथित एक स्ट्रिंग, है। 18 00:00:35,320 --> 00:00:37,300 >> लेकिन सी, में जो है एक पुराने भाषा, हम की जरूरत है 19 00:00:37,300 --> 00:00:39,420 डेटा निर्दिष्ट करने के लिए हर चर के प्रकार 20 00:00:39,420 --> 00:00:42,990 हम पहली बार बना है कि हम चाहते हैं कि चर का उपयोग करें। 21 00:00:42,990 --> 00:00:45,030 इतनी सी कुछ के साथ आता है निर्मित में डेटा प्रकार के। 22 00:00:45,030 --> 00:00:46,972 और चलो परिचित हो जाने उन में से कुछ के साथ। 23 00:00:46,972 --> 00:00:50,180 और फिर बाद में हम भी एक बात करेंगे डेटा प्रकार के कुछ के बारे में थोड़ा सा 24 00:00:50,180 --> 00:00:54,450 हम आप के लिए लिखा है कि, इसलिए आप CS50 में उन का उपयोग कर सकते हैं। 25 00:00:54,450 --> 00:00:56,130 >> पहले पूर्णांक है। 26 00:00:56,130 --> 00:00:59,110 पूर्णांक डेटा प्रकार चर के लिए प्रयोग किया जाता है कि पूर्णांक मूल्यों की दुकान है। 27 00:00:59,110 --> 00:01:03,210 तो 1, 2, 3, नकारात्मक 1, 2, 3, और इतने पर। 28 00:01:03,210 --> 00:01:05,960 तुम्हें कुछ है जो पूर्णांक, प्रश्नोत्तरी के लिए ध्यान में रखना चाहिए, 29 00:01:05,960 --> 00:01:09,590 हमेशा चार बाइट्स ऊपर ले स्मृति की, जो 32 बिट है। 30 00:01:09,590 --> 00:01:11,620 एक बाइट में आठ बिट कर रहे हैं। 31 00:01:11,620 --> 00:01:14,470 >> तो यह है की सीमा का मतलब है कि एक पूर्णांक स्टोर कर सकते हैं कि मूल्यों 32 00:01:14,470 --> 00:01:19,130 भीतर फिट कर सकते हैं क्या द्वारा सीमित है जानकारी के लायक 32 बिट। 33 00:01:19,130 --> 00:01:21,850 अब यह पता चला है, के रूप में यह लंबे समय से पहले निर्णय लिया गया था 34 00:01:21,850 --> 00:01:24,310 हम अलग होता है कि 32 बिट की है कि सीमा 35 00:01:24,310 --> 00:01:26,650 नकारात्मक पूर्णांकों में और सकारात्मक integers, 36 00:01:26,650 --> 00:01:28,390 रेंज में से प्रत्येक के लिए हो रही आधा। 37 00:01:28,390 --> 00:01:32,230 हम प्रतिनिधित्व करते हैं कि मूल्यों की सीमा तो नकारात्मक 2 से एक पूर्णांक रेंज के साथ 38 00:01:32,230 --> 00:01:36,520 2 से 31 सत्ता में करने के लिए 31 शक्ति शून्य से 1, 39 00:01:36,520 --> 00:01:38,190 आप भी 0 के लिए एक जगह की जरूरत के कारण। 40 00:01:38,190 --> 00:01:41,650 >> संभव मूल्यों की तो बुनियादी तौर पर आधा आप नकारात्मक हैं एक पूर्णांक में फिट कर सकते हैं 41 00:01:41,650 --> 00:01:42,610 और आधा सकारात्मक रहे हैं। 42 00:01:42,610 --> 00:01:47,270 और मोटे तौर पर यहाँ, इस बारे में नकारात्मक है 2 अरब सकारात्मक 2 अरब के बारे में करने के लिए। 43 00:01:47,270 --> 00:01:50,207 दो या दो सौ करोड़ ले। 44 00:01:50,207 --> 00:01:52,290 तो यह है कि आप फिट कर सकते हैं क्या है एक पूर्णांक चर में। 45 00:01:52,290 --> 00:01:55,490 अब हम भी कुछ है एक अहस्ताक्षरित पूर्णांक कहा जाता है। 46 00:01:55,490 --> 00:01:59,220 अब अहस्ताक्षरित ints नहीं एक हैं चर के अलग-अलग प्रकार के। 47 00:01:59,220 --> 00:02:01,590 बल्कि, अहस्ताक्षरित है क्या एक क्वालीफायर कहा जाता है। 48 00:02:01,590 --> 00:02:04,990 यह डेटा को संशोधित थोड़ा पूर्णांक के प्रकार। 49 00:02:04,990 --> 00:02:07,850 >> और इस मामले में, क्या अहस्ताक्षरित means-- और आप भी कर सकते हैं 50 00:02:07,850 --> 00:02:11,530 अहस्ताक्षरित अन्य डेटा प्रकार का उपयोग करें, पूर्णांक केवल एक ही नहीं है। 51 00:02:11,530 --> 00:02:15,310 क्या इसे प्रभावी ढंग से करता है युगल है मूल्यों के सकारात्मक रेंज 52 00:02:15,310 --> 00:02:19,350 एक पूर्णांक पर ले जा सकते हैं अब कोई इजाजत देने का खर्च 53 00:02:19,350 --> 00:02:21,140 आप नकारात्मक मूल्यों पर लेने के लिए। 54 00:02:21,140 --> 00:02:25,400 क्या आप जानते हैं कि संख्या है, तो अधिक से अधिक 2 अरब लेकिन कम मिल जाएगा 55 00:02:25,400 --> 00:02:31,280 4 अरब से, example-- के लिए जो 32 वीं करने के लिए 2 है power-- 56 00:02:31,280 --> 00:02:33,330 आप उपयोग करना चाहते हो सकता है अगर आप एक अहस्ताक्षरित पूर्णांक 57 00:02:33,330 --> 00:02:35,050 अपने मूल्य नकारात्मक होना कभी नहीं होगा पता है। 58 00:02:35,050 --> 00:02:37,216 >> आप कभी-कभी होगा अहस्ताक्षरित चर के लिए इस्तेमाल किया 59 00:02:37,216 --> 00:02:39,460 मैं यहाँ यह उल्लेख क्यों CS50 में, जो है। 60 00:02:39,460 --> 00:02:43,830 लेकिन मूल्यों की फिर से, सीमा कि आप एक अहस्ताक्षरित पूर्णांक के साथ प्रतिनिधित्व कर सकते हैं 61 00:02:43,830 --> 00:02:48,240 नियमित पूर्णांक के लिए टी के रूप में, 0 कर रहे हैं 32 वीं शक्ति शून्य से 1 से 2 को, 62 00:02:48,240 --> 00:02:50,840 या लगभग 0-4000000000। 63 00:02:50,840 --> 00:02:53,730 तो आप को प्रभावी ढंग से दोगुना कर दिया है आप फिट कर सकते हैं कि सकारात्मक रेंज, 64 00:02:53,730 --> 00:02:56,270 लेकिन आप यह सब छोड़ दिया है नकारात्मक मूल्यों। 65 00:02:56,270 --> 00:03:00,040 >> अब एक तरफ, अहस्ताक्षरित के रूप में केवल क्वालीफायर नहीं है 66 00:03:00,040 --> 00:03:01,790 हम देख सकते हैं कि चर डेटा प्रकार के। 67 00:03:01,790 --> 00:03:05,779 कहा जाता बातें भी कर रहे हैं छोटी और लंबी और const। 68 00:03:05,779 --> 00:03:07,820 कंस्ट्रक्शन हम एक छोटे से देखेंगे थोड़ी देर बाद पाठ्यक्रम में। 69 00:03:07,820 --> 00:03:10,830 छोटी और लंबी, हम शायद नहीं होगी। 70 00:03:10,830 --> 00:03:12,830 >> लेकिन सिर्फ इतना है कि वहाँ पता अन्य क्वालिफायर हैं। 71 00:03:12,830 --> 00:03:14,080 अहस्ताक्षरित केवल एक ही नहीं है। 72 00:03:14,080 --> 00:03:16,596 लेकिन यह हम कर रहे हैं केवल एक ही है के बारे में अभी बात करने के लिए जा रहा है। 73 00:03:16,596 --> 00:03:17,310 तो सब ठीक है। 74 00:03:17,310 --> 00:03:18,393 इसलिए हम पूर्णांकों को कवर किया है। 75 00:03:18,393 --> 00:03:19,200 आगे क्या होगा? 76 00:03:19,200 --> 00:03:20,130 >> कैरेक्टर। 77 00:03:20,130 --> 00:03:23,620 तो घर का काम चर के लिए इस्तेमाल कर रहे हैं कि एक अक्षर की दुकान है। 78 00:03:23,620 --> 00:03:24,850 चार चरित्र के लिए कम है। 79 00:03:24,850 --> 00:03:27,870 और कभी कभी आप सुन सकते हैं लोग कार के रूप में यह उच्चारण। 80 00:03:27,870 --> 00:03:32,020 >> अक्षर हमेशा ऊपर ले तो सिर्फ 8 बिट है जो स्मृति की बाइट,। 81 00:03:32,020 --> 00:03:35,700 तो यह है कि वे केवल फिट कर सकते हैं कि इसका मतलब है नकारात्मक 2 की सीमा में मूल्यों 82 00:03:35,700 --> 00:03:42,430 सातवीं शक्ति, या नकारात्मक 128, 2 से 7 वीं शक्ति 1, या 127 शून्य करने के लिए। 83 00:03:42,430 --> 00:03:45,710 >> आस्की करने के लिए धन्यवाद, यह था बहुत पहले एक तरह से निर्णय लिया 84 00:03:45,710 --> 00:03:50,805 से उन सकारात्मक संख्या नक्शा करने के लिए विभिन्न पात्रों के लिए 0-127 85 00:03:50,805 --> 00:03:52,182 हमारे सभी कीबोर्ड पर मौजूद है। 86 00:03:52,182 --> 00:03:54,640 हम बाद में देखेंगे तो बेशक, और आप शायद हूँ 87 00:03:54,640 --> 00:03:57,700 कुछ को याद करने के लिए आ बिंदु, राजधानी ए, example-- के लिए 88 00:03:57,700 --> 00:04:00,732 चरित्र राजधानी एक-- संख्या 65 के लिए नक्शे। 89 00:04:00,732 --> 00:04:02,940 और उस के लिए कारण है क्योंकि है कि यह क्या हो रहा है 90 00:04:02,940 --> 00:04:05,490 आस्की मानक द्वारा आवंटित किया गया। 91 00:04:05,490 --> 00:04:07,850 >> लोअरकेस एक 97 है। 92 00:04:07,850 --> 00:04:11,900 जब आप के लिए चरित्र 0 वास्तव में, चरित्र नहीं टाइप 93 00:04:11,900 --> 00:04:13,532 संख्या शून्य का प्रतिनिधित्व करने, 48 है। 94 00:04:13,532 --> 00:04:15,240 तुम एक जोड़े सीख जाओगे इनमें से रूप में तुम जाओ। 95 00:04:15,240 --> 00:04:17,990 और आप निश्चित रूप से जरूरत के लिए आया हूँ उन्हें थोड़ा बाद में CS50 में। 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> अगले प्रमुख डेटा प्रकार चल बिन्दु संख्या है। 98 00:04:23,390 --> 00:04:26,100 तो चल बिन्दु संख्या रहे हैं यह भी वास्तविक संख्या के रूप में जाना जाता है। 99 00:04:26,100 --> 00:04:28,850 वे मूल रूप से संख्या रहे हैं कि उन में एक दशमलव बिंदु है। 100 00:04:28,850 --> 00:04:33,360 चल बिन्दु मूल्यों पूर्णांकों की तरह भी कर रहे हैं 101 00:04:33,360 --> 00:04:36,090 स्मृति के 4 बाइट्स के भीतर निहित। 102 00:04:36,090 --> 00:04:37,580 अब यहाँ कोई चार्ट नहीं है। 103 00:04:37,580 --> 00:04:40,890 कोई नंबर लाइन है, क्योंकि वहाँ एक नाव की सीमा का वर्णन 104 00:04:40,890 --> 00:04:44,550 बिल्कुल स्पष्ट या सहज नहीं है। 105 00:04:44,550 --> 00:04:47,350 >> आप इतना ही कहना है के साथ काम करने के लिए 32 बिट्स है। 106 00:04:47,350 --> 00:04:49,730 और अगर आप एक नंबर है है जो की तरह गड़बड़ी, 107 00:04:49,730 --> 00:04:55,510 एक पूर्णांक भाग 3, और एक अस्थायी बिंदु हिस्सा है, या दशमलव हिस्सा .१४१५९, 108 00:04:55,510 --> 00:04:58,735 और हां, तो आप की जरूरत है it-- के सभी का प्रतिनिधित्व करने के लिए सक्षम 109 00:04:58,735 --> 00:05:02,420 पूर्णांक भाग और दशमलव हिस्सा है। 110 00:05:02,420 --> 00:05:04,550 >> तो क्या आपको लगता है कि इसका मतलब यह हो सकता है लगता है? 111 00:05:04,550 --> 00:05:08,180 एक बात है कि दशमलव यदि हिस्सा है, अब और अब हो जाता है 112 00:05:08,180 --> 00:05:10,660 मैं एक बहुत बड़ी है, तो पूर्णांक हिस्सा है, मैं नहीं हो सकता है 113 00:05:10,660 --> 00:05:13,090 के रूप में सटीक होना करने में सक्षम हो दशमलव भाग के साथ। 114 00:05:13,090 --> 00:05:15,280 और कहा कि वास्तव में है एक नाव की सीमा। 115 00:05:15,280 --> 00:05:17,229 >> तैरता एक सटीक समस्या है। 116 00:05:17,229 --> 00:05:19,270 हम केवल 32 बिट के लिए है साथ काम करते हैं, तो हम ही कर सकते हैं 117 00:05:19,270 --> 00:05:22,510 हमारे दशमलव भाग के साथ इतनी सटीक होना। 118 00:05:22,510 --> 00:05:27,300 हम जरूरी एक दशमलव नहीं हो सकता 100 या 200 अंक के लिए सटीक हिस्सा है, 119 00:05:27,300 --> 00:05:29,710 हम केवल इसलिए है क्योंकि 32 बिट के साथ काम करने के लिए। 120 00:05:29,710 --> 00:05:31,590 तो यह है कि एक नाव की एक सीमा है। 121 00:05:31,590 --> 00:05:33,590 >> अब सौभाग्य से वहाँ नामक एक और डेटा प्रकार 122 00:05:33,590 --> 00:05:36,530 डबल जो कुछ हद तक इस समस्या से संबंधित है। 123 00:05:36,530 --> 00:05:39,980 डबल्स, मंगाई तरह, यह भी करने के लिए इस्तेमाल कर रहे हैं वास्तविक संख्या, या चल बिन्दु की दुकान 124 00:05:39,980 --> 00:05:40,840 मूल्यों। 125 00:05:40,840 --> 00:05:44,340 फर्क यह है कि डबल्स में डबल सटीक हैं। 126 00:05:44,340 --> 00:05:48,177 वे 64 बिट्स फिट कर सकते हैं डेटा, या आठ बाइट्स। 127 00:05:48,177 --> 00:05:49,010 इसका क्या मतलब है? 128 00:05:49,010 --> 00:05:51,801 खैर, यह हम हो सकता है इसका मतलब है एक बहुत अधिक दशमलव बिंदु के साथ सटीक। 129 00:05:51,801 --> 00:05:54,830 इसके बजाय सात को गड़बड़ी होने की एक नाव के साथ शायद स्थानों, 130 00:05:54,830 --> 00:05:56,710 हम शायद 30 स्थानों के लिए यह हो सकता है। 131 00:05:56,710 --> 00:05:59,824 महत्वपूर्ण है कि अगर आप चाहते हैं, हो सकता है बजाय एक नाव के एक डबल का उपयोग करने के लिए। 132 00:05:59,824 --> 00:06:01,740 असल में, आप कर रहे हैं कुछ भी है, जहां पर काम 133 00:06:01,740 --> 00:06:06,540 एक बहुत लंबे दशमलव स्थान होने और परिशुद्धता के एक बहुत महत्वपूर्ण है, 134 00:06:06,540 --> 00:06:08,630 आप शायद करना चाहते हैं एक डबल overfloat का उपयोग करें। 135 00:06:08,630 --> 00:06:11,250 अब में अपने काम के अधिकांश के लिए CS50, एक नाव पर्याप्त होना चाहिए। 136 00:06:11,250 --> 00:06:15,340 लेकिन युगल में एक के रूप में मौजूद है कि क्या जानते हो कुछ हद तक परिशुद्धता के साथ सौदा करने के लिए रास्ता 137 00:06:15,340 --> 00:06:20,980 आप 32 एक अतिरिक्त देकर समस्या बिट्स अपनी संख्या के लिए साथ काम करने के लिए। 138 00:06:20,980 --> 00:06:23,650 >> अब यह एक डेटा प्रकार नहीं है। 139 00:06:23,650 --> 00:06:24,390 यह एक प्रकार है। 140 00:06:24,390 --> 00:06:25,340 और यह शून्य कहा जाता है। 141 00:06:25,340 --> 00:06:27,506 और मैं इसके बारे में बात कर रहा हूँ यहाँ हम शायद है क्योंकि 142 00:06:27,506 --> 00:06:29,520 पहले से ही एक बार कुछ CS50 में यह देखा। 143 00:06:29,520 --> 00:06:32,020 और तुम सोच हो सकता है क्या यह सब के बारे में है। 144 00:06:32,020 --> 00:06:33,390 >> तो शून्य एक प्रकार है। 145 00:06:33,390 --> 00:06:34,097 यह मौजूद है। 146 00:06:34,097 --> 00:06:35,180 लेकिन यह डेटा प्रकार नहीं है। 147 00:06:35,180 --> 00:06:39,350 >> हम प्रकार की एक चर नहीं बना सकते शून्य और इसे करने के लिए एक मूल्य निर्दिष्ट। 148 00:06:39,350 --> 00:06:42,519 लेकिन काम करता है, उदाहरण के लिए, एक शून्य वापसी प्रकार हो सकता है। 149 00:06:42,519 --> 00:06:45,060 असल में, आप एक समारोह में दिखाई देता है तो कि एक शून्य वापसी प्रकार है, 150 00:06:45,060 --> 00:06:46,970 यह एक मूल्य वापस नहीं करता है इसका मतलब है। 151 00:06:46,970 --> 00:06:49,440 आप एक आम के बारे में सोच सकते हैं हम अब तक का उपयोग किया है कि समारोह 152 00:06:49,440 --> 00:06:52,780 CS50 में एक मूल्य वापस नहीं करता है? 153 00:06:52,780 --> 00:06:54,700 >> Printf एक है। 154 00:06:54,700 --> 00:06:56,820 Printf वास्तव में नहीं है आप के लिए कुछ भी वापसी। 155 00:06:56,820 --> 00:06:59,850 यह करने के लिए कुछ प्रिंट स्क्रीन है, और यह मूल रूप से है 156 00:06:59,850 --> 00:07:01,650 printf क्या करता है, का एक पक्ष प्रभाव। 157 00:07:01,650 --> 00:07:03,620 लेकिन इसे आप एक मूल्य वापस देना नहीं है। 158 00:07:03,620 --> 00:07:08,419 आप परिणाम और दुकान पर कब्जा नहीं है कुछ चर में यह बाद में इसका इस्तेमाल करने के लिए। 159 00:07:08,419 --> 00:07:10,710 यह बस के लिए कुछ प्रिंट स्क्रीन और आप कर रहे हैं। 160 00:07:10,710 --> 00:07:14,360 >> इसलिए हम printf का कहना है कि एक शून्य समारोह है। 161 00:07:14,360 --> 00:07:16,450 यह कुछ भी नहीं लौटाता है। 162 00:07:16,450 --> 00:07:18,580 >> एक की परिधि सूची समारोह भी शून्य हो सकता है। 163 00:07:18,580 --> 00:07:21,410 और तुम भी देखा है कि बहुत CS50 में काफी एक सा है। 164 00:07:21,410 --> 00:07:22,300 Int मुख्य शून्य। 165 00:07:22,300 --> 00:07:23,260 क्या इससे कोई घंटी बजेगी? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 असल में क्या मतलब है कि मुख्य कोई पैरामीटर नहीं ले करता है। 168 00:07:27,220 --> 00:07:29,520 कोई तर्क नहीं है कि मुख्य में पारित हो। 169 00:07:29,520 --> 00:07:32,780 अब बाद में हम है कि वहाँ देखेंगे एक तरह से, मुख्य में तर्क पारित करने के लिए 170 00:07:32,780 --> 00:07:36,189 लेकिन अभी तक हम है क्या int मुख्य शून्य देखा है। 171 00:07:36,189 --> 00:07:37,730 मुख्य बस किसी भी तर्क नहीं ले करता है। 172 00:07:37,730 --> 00:07:40,236 और इसलिए हम शून्य कह कर कि निर्दिष्ट करें। 173 00:07:40,236 --> 00:07:42,110 हम बस बहुत हो जा रहा है इस तथ्य के बारे में स्पष्ट 174 00:07:42,110 --> 00:07:44,430 यह किसी भी तर्क नहीं ले करता है। 175 00:07:44,430 --> 00:07:47,160 >> तो अब के लिए, यह करने के लिए पर्याप्त मूल रूप से उस शून्य को कहना 176 00:07:47,160 --> 00:07:50,789 सिर्फ एक प्लेसहोल्डर के रूप में काम करना चाहिए आप के लिए कुछ भी नहीं के रूप में के बारे में सोच रहे हैं। 177 00:07:50,789 --> 00:07:52,080 यह वास्तव में कुछ भी नहीं कर रही है। 178 00:07:52,080 --> 00:07:53,550 यहां कोई वापसी मूल्य नहीं है। 179 00:07:53,550 --> 00:07:54,770 यहां कोई पैरामीटर नहीं है। 180 00:07:54,770 --> 00:07:55,709 यह शून्य है। 181 00:07:55,709 --> 00:07:57,250 ऐसा लगता है कि एक छोटे से अधिक जटिल है। 182 00:07:57,250 --> 00:08:00,640 लेकिन इसके लिए पर्याप्त होना चाहिए पाठ्यक्रम के बेहतर हिस्सा है। 183 00:08:00,640 --> 00:08:05,010 और उम्मीद है कि अब आप एक छोटे से है शून्य क्या है की एक अवधारणा के अधिक सा। 184 00:08:05,010 --> 00:08:08,460 >> उन तो पांच प्रकार आप करेंगे रहे हैं निर्मित कर रहे हैं कि सी को मुठभेड़ 185 00:08:08,460 --> 00:08:10,670 लेकिन CS50 में हम भी एक पुस्तकालय है। 186 00:08:10,670 --> 00:08:13,550 आप शामिल हो सकते हैं जो CS50.h। 187 00:08:13,550 --> 00:08:15,930 और आप प्रदान करेगा, जो दो अतिरिक्त प्रकार के साथ 188 00:08:15,930 --> 00:08:18,280 आप शायद सकेंगे कि अपने कार्य पर उपयोग करने के लिए, 189 00:08:18,280 --> 00:08:21,210 या सिर्फ आम तौर पर काम कर रहा प्रोग्रामिंग। 190 00:08:21,210 --> 00:08:23,030 >> इनमें से पहला बूल है। 191 00:08:23,030 --> 00:08:26,780 तो बूलियन डेटा प्रकार, बूल, चर के लिए प्रयोग किया जाता है 192 00:08:26,780 --> 00:08:28,114 कि एक बूलियन मान की दुकान है। 193 00:08:28,114 --> 00:08:29,863 क्या आपने कभी सुना है इस अवधि से पहले, आप 194 00:08:29,863 --> 00:08:31,960 एक बूलियन जानते हैं कि हो सकता है मूल्य केवल करने में सक्षम है 195 00:08:31,960 --> 00:08:34,440 दो अलग अलग मूल्यों पकड़े। 196 00:08:34,440 --> 00:08:35,872 सही और गलत। 197 00:08:35,872 --> 00:08:37,580 अब इस सुंदर लगती है मौलिक अधिकार? 198 00:08:37,580 --> 00:08:40,496 यह यह है कि एक आश्चर्य की तरह है यह निर्मित में है के रूप में सी में मौजूद नहीं है। 199 00:08:40,496 --> 00:08:42,640 और कई आधुनिक भाषाओं में, जाहिर है, Booleans 200 00:08:42,640 --> 00:08:45,390 एक मानक डिफ़ॉल्ट डेटा प्रकार हैं। 201 00:08:45,390 --> 00:08:47,192 लेकिन सी में, वे वास्तव में नहीं कर रहे हैं। 202 00:08:47,192 --> 00:08:48,400 लेकिन हम इसे आप के लिए बनाया है। 203 00:08:48,400 --> 00:08:51,910 यदि आप कभी भी बनाने की जरूरत है तो अगर जिसका प्रकार बूल है एक चर, 204 00:08:51,910 --> 00:08:55,230 सिर्फ CS50.h # शामिल करना सुनिश्चित करें अपने कार्यक्रम की शुरुआत में, 205 00:08:55,230 --> 00:08:57,800 और आप पैदा करने में सक्षम हो जाएगा बूल प्रकार के चर। 206 00:08:57,800 --> 00:09:02,095 >> आप CS50.h # शामिल करना भूल जाते हैं, और अगर आप, बूलियन प्रकार चर का उपयोग शुरू 207 00:09:02,095 --> 00:09:04,970 आप कुछ समस्याओं का सामना कर सकते हैं जब आप अपने प्रोग्राम संकलन कर रहे हैं। 208 00:09:04,970 --> 00:09:06,490 तो बस उस के लिए तलाश में है। 209 00:09:06,490 --> 00:09:11,180 और हो सकता है कि तुम सिर्फ ठीक कर सकते हैं CS50.h. सहित आधा किलो से समस्या 210 00:09:11,180 --> 00:09:14,590 >> अन्य प्रमुख डेटा प्रकार है कि हम CS50 पुस्तकालय में आप के लिए प्रदान 211 00:09:14,590 --> 00:09:15,670 स्ट्रिंग है। 212 00:09:15,670 --> 00:09:17,130 तो एक स्ट्रिंग क्या है? 213 00:09:17,130 --> 00:09:18,520 स्ट्रिंग्स वास्तव में सिर्फ शब्द हैं। 214 00:09:18,520 --> 00:09:20,000 वे पात्रों का संग्रह कर रहे हैं। 215 00:09:20,000 --> 00:09:20,640 वे शब्द हैं। 216 00:09:20,640 --> 00:09:21,390 वे वाक्य रहे हैं। 217 00:09:21,390 --> 00:09:22,480 वे पैराग्राफ कर रहे हैं। 218 00:09:22,480 --> 00:09:25,850 यहां तक ​​कि सारी किताबें हो सकता है। 219 00:09:25,850 --> 00:09:29,690 >> बहुत लंबे समय के लिए बहुत ही कम पात्रों की श्रृंखला। 220 00:09:29,690 --> 00:09:34,310 तुम तार का उपयोग करने की जरूरत है, उदाहरण के लिए, एक शब्द की दुकान के लिए, 221 00:09:34,310 --> 00:09:37,609 सिर्फ CS50.h शामिल कर लें अपने कार्यक्रम की शुरुआत में 222 00:09:37,609 --> 00:09:38,900 इसलिए यदि आप स्ट्रिंग प्रकार का उपयोग कर सकते हैं। 223 00:09:38,900 --> 00:09:43,910 और फिर आप चर बना सकते हैं जिसका डेटा प्रकार स्ट्रिंग है। 224 00:09:43,910 --> 00:09:46,160 अब बाद में पाठ्यक्रम में, हम यह भी है कि देखेंगे कि 225 00:09:46,160 --> 00:09:47,752 या तो नहीं पूरी कहानी,। 226 00:09:47,752 --> 00:09:49,460 हम चीजों को मुठभेड़ हूँ कहा जाता संरचनाओं, 227 00:09:49,460 --> 00:09:54,249 क्या हो सकता है समूह के लिए आप की अनुमति है जो एक पूर्णांक और एक इकाई में एक स्ट्रिंग। 228 00:09:54,249 --> 00:09:56,290 और हम के लिए उपयोग कर सकते हैं कुछ उद्देश्य, जो हो सकता है 229 00:09:56,290 --> 00:09:57,750 पाठ्यक्रम में बाद में काम में आते हैं। 230 00:09:57,750 --> 00:09:59,500 >> और हम भी सीख जाओगे परिभाषित प्रकार के बारे में, 231 00:09:59,500 --> 00:10:01,720 जो तुम बनाने के लिए अनुमति अपने खुद के डेटा प्रकार के। 232 00:10:01,720 --> 00:10:03,060 हम चिंता करने की जरूरत नहीं है अब के लिए उस बारे में। 233 00:10:03,060 --> 00:10:04,550 लेकिन सिर्फ इतना है कि पता है कि क्षितिज पर कुछ है, 234 00:10:04,550 --> 00:10:07,633 इस पूरे करने के लिए एक बहुत अधिक है कि वहाँ मैं सिर्फ तुम्हें बता रहा हूँ की तुलना प्रकार की बात 235 00:10:07,633 --> 00:10:08,133 अब। 236 00:10:08,133 --> 00:10:10,591 तो अब हम एक सीखा है कि बुनियादी डेटा के बारे में थोड़ा सा 237 00:10:10,591 --> 00:10:14,230 प्रकार और CS50 डेटा प्रकार, चलो चर के साथ काम करने के बारे में बात करते हैं 238 00:10:14,230 --> 00:10:18,530 और इन का प्रयोग कर उन्हें बनाने हमारे कार्यक्रमों में डेटा प्रकार के। 239 00:10:18,530 --> 00:10:22,670 आप एक चर बनाना चाहते हैं, आप सब करने की ज़रूरत दो बातें है। 240 00:10:22,670 --> 00:10:24,147 >> सबसे पहले, आप इसे एक प्रकार देने की जरूरत है। 241 00:10:24,147 --> 00:10:26,230 आप की जरूरत है दूसरी बात यह है कि ऐसा करने के लिए यह एक नाम देना है। 242 00:10:26,230 --> 00:10:28,740 आप जो कुछ किया और थप्पड़ मारा करने के बाद एक कि लाइन के अंत में अर्धविराम, 243 00:10:28,740 --> 00:10:29,830 आप एक चर बना लिया है। 244 00:10:29,830 --> 00:10:32,370 >> तो यहाँ दो उदाहरण है। 245 00:10:32,370 --> 00:10:35,744 इंट संख्या; चार पत्र ;. 246 00:10:35,744 --> 00:10:36,660 मैं यहाँ क्या किया है? 247 00:10:36,660 --> 00:10:38,110 मैं दो चर बना लिया है। 248 00:10:38,110 --> 00:10:40,190 >> चर का, प्रथम नाम संख्या है। 249 00:10:40,190 --> 00:10:44,830 और संख्या पूर्णांक धारण करने में सक्षम है इसके प्रकार पूर्णांक है, क्योंकि मान लिखें। 250 00:10:44,830 --> 00:10:48,040 पत्र में एक और चर रहा है अक्षर है कि पकड़ कर सकते हैं 251 00:10:48,040 --> 00:10:50,240 अपने डेटा प्रकार चार है। 252 00:10:50,240 --> 00:10:51,772 >> बहुत सीधा है, है ना? 253 00:10:51,772 --> 00:10:53,480 आप अपने आप को मिल जाए जहां एक की स्थिति में 254 00:10:53,480 --> 00:10:56,250 यदि आप एकाधिक बनाने की जरूरत है एक ही प्रकार के चर, 255 00:10:56,250 --> 00:10:58,740 आप केवल निर्दिष्ट करने की आवश्यकता एक बार प्रकार का नाम। 256 00:10:58,740 --> 00:11:01,600 तो बस के रूप में कई चर सूची उस प्रकार के आप की जरूरत है। 257 00:11:01,600 --> 00:11:04,230 >> इसलिए मुझे लगता है, उदाहरण के लिए, यहाँ सकता है कोड की इस तीसरी लाइन में, 258 00:11:04,230 --> 00:11:07,420 पूर्णांक ऊंचाई ;, नई लाइन कहते हैं। 259 00:11:07,420 --> 00:11:08,291 इंट चौड़ाई ;. 260 00:11:08,291 --> 00:11:09,290 और वह भी काम करेगा। 261 00:11:09,290 --> 00:11:12,039 मैं अभी भी दो चर बुलाया जाना चाहिए ऊंचाई और चौड़ाई, जिनमें से प्रत्येक का 262 00:11:12,039 --> 00:11:12,730 एक पूर्णांक है। 263 00:11:12,730 --> 00:11:16,970 लेकिन मुझे लगता है, करने के लिए सी वाक्य रचना करने के लिए चीजों की अनुमति हूँ एक भी लाइन में यह मजबूत। 264 00:11:16,970 --> 00:11:20,230 इंट ऊंचाई, चौड़ाई; एक ही बात है। 265 00:11:20,230 --> 00:11:23,900 मैंने फोन दो चर, एक बना लिया है चौड़ाई बुलाया ऊंचाई से एक है, जो दोनों के 266 00:11:23,900 --> 00:11:26,730 धारण करने में सक्षम हैं पूर्णांक प्रकार मूल्यों। 267 00:11:26,730 --> 00:11:30,920 >> इसी प्रकार यहां, मैं तीन बना सकते हैं एक बार में चल बिन्दु मूल्यों। 268 00:11:30,920 --> 00:11:33,350 मुझे लगा कि शायद एक चर बना सकते हैं 2-- का वर्गमूल बुलाया 269 00:11:33,350 --> 00:11:35,766 जो संभवतः अंततः होगा चल point-- पकड़ 270 00:11:35,766 --> 00:11:39,222 वर्ग का प्रतिनिधित्व है कि 2-- वर्ग 3 की जड़ है, और गड़बड़ी की जड़। 271 00:11:39,222 --> 00:11:41,180 मैं यह कर सकता था तीन अलग-अलग लाइनों पर। 272 00:11:41,180 --> 00:11:47,690 फ्लोट, वर्गमूल 2; वर्गमूल फ्लोट 3; गड़बड़ी तैरने लगते हैं; और वह भी काम करेगा। 273 00:11:47,690 --> 00:11:50,590 >> लेकिन फिर, मैं सिर्फ मजबूत कर सकते हैं कोड की एक लाइन में यह। 274 00:11:50,590 --> 00:11:54,050 एक छोटी सी बातें सा बना देता है छोटा है, साथ भद्दा नहीं। 275 00:11:54,050 --> 00:11:57,259 >> अब सामान्य रूप में, यह केवल करने के लिए अच्छा डिजाइन है जब आप यह आवश्यकता एक चर घोषणा। 276 00:11:57,259 --> 00:11:59,050 और हम एक छोटे से बात करेंगे उस बारे में थोड़ा और अधिक 277 00:11:59,050 --> 00:12:00,945 पर बाद में पाठ्यक्रम में जब हम गुंजाइश पर चर्चा की। 278 00:12:00,945 --> 00:12:03,320 इसलिए जरूरी करने की जरूरत नहीं है अपने चर के सभी बनाने 279 00:12:03,320 --> 00:12:05,990 कार्यक्रम की शुरुआत में जो कुछ लोगों को अतीत से किया गया हो सकता है 280 00:12:05,990 --> 00:12:08,700 या निश्चित रूप से एक बहुत ही आम बात थी कोडिंग अभ्यास कई साल पहले 281 00:12:08,700 --> 00:12:11,700 सी के साथ काम करते हैं तो आपको बस हो सकता है जब एक चर सही बनाना चाहते हैं 282 00:12:11,700 --> 00:12:13,140 आपको इसकी आवश्यकता पड़ेगी। 283 00:12:13,140 --> 00:12:13,640 ठीक है। 284 00:12:13,640 --> 00:12:15,150 इसलिए हम चर बना लिया है। 285 00:12:15,150 --> 00:12:16,790 हम उन्हें कैसे इस्तेमाल करते हैं? 286 00:12:16,790 --> 00:12:18,650 हम घोषित करने के बाद एक चर, हम की जरूरत नहीं है 287 00:12:18,650 --> 00:12:21,237 डेटा प्रकार निर्दिष्ट करने के लिए उस चर का अब और नहीं। 288 00:12:21,237 --> 00:12:24,070 यदि आप ऐसा करते हैं, तो वास्तव में, आप कर सकते हैं कुछ अजीब परिणामों के साथ खत्म 289 00:12:24,070 --> 00:12:25,490 हम किस तरह का अब के लिए पर चमक करेंगे। 290 00:12:25,490 --> 00:12:27,365 लेकिन कहने के लिए पर्याप्त, अजीब बातें जा रहे हैं 291 00:12:27,365 --> 00:12:30,740 अनजाने में आप यदि हो रहा शुरू करने के लिए एक ही नाम के साथ चर-घोषित कर रहे हैं 292 00:12:30,740 --> 00:12:32,210 बार बार। 293 00:12:32,210 --> 00:12:33,882 >> तो यहाँ मैं कोड की चार लाइनें है। 294 00:12:33,882 --> 00:12:36,090 और मुझे लगता है की एक जोड़ी है बस का संकेत है वहाँ टिप्पणी 295 00:12:36,090 --> 00:12:37,840 पर क्या हो रहा है प्रत्येक पंक्ति सिर्फ मदद करने के लिए 296 00:12:37,840 --> 00:12:40,520 आप पर क्या हो रहा है में स्थित हो। 297 00:12:40,520 --> 00:12:41,520 तो पूर्णांक नंबर ;. 298 00:12:41,520 --> 00:12:42,520 आपको लगता है कि पहले देखा था। 299 00:12:42,520 --> 00:12:44,000 यही कारण है कि एक चर घोषणा है। 300 00:12:44,000 --> 00:12:46,670 >> मैं अब एक चर बना लिया है है कि कहा जाता संख्या 301 00:12:46,670 --> 00:12:48,970 पूर्णांक प्रकार मूल्यों धारण करने में सक्षम। 302 00:12:48,970 --> 00:12:50,210 मैं यह घोषित किया है। 303 00:12:50,210 --> 00:12:53,770 >> मैं निर्दिष्ट कर रहा हूँ अगली पंक्ति नंबर के लिए एक मूल्य। 304 00:12:53,770 --> 00:12:54,992 संख्या 17 के बराबर होती है। 305 00:12:54,992 --> 00:12:55,950 वहां क्या हो रहा है? 306 00:12:55,950 --> 00:12:58,880 मैं नंबर 17 डाल रहा हूँ उस चर के अंदर। 307 00:12:58,880 --> 00:13:02,760 >> मैंने कभी तो प्रिंट आउट तो क्या संख्या की सामग्री पर बाद में कर रहे हैं, 308 00:13:02,760 --> 00:13:04,030 वे यह 17 है मुझे बता दूँगा। 309 00:13:04,030 --> 00:13:07,030 तो मैं एक चर घोषित किया है, और फिर मैं इसे सौंपा है। 310 00:13:07,030 --> 00:13:10,570 >> हम इस प्रक्रिया को दोहरा सकते हैं फिर चार पत्र के साथ ;. 311 00:13:10,570 --> 00:13:11,640 यही कारण है कि एक घोषणा है। 312 00:13:11,640 --> 00:13:14,010 पत्र पूंजी के बराबर होती है एच यही एक काम है। 313 00:13:14,010 --> 00:13:16,030 बहुत सीधा है, भी। 314 00:13:16,030 --> 00:13:18,319 >> अब इस प्रक्रिया से हो सकता है मूर्ख की तरह लग रहे हैं। 315 00:13:18,319 --> 00:13:20,110 हम यह क्यों कर रहे हैं कोड की दो पंक्तियों में? 316 00:13:20,110 --> 00:13:21,401 इसे करने का कोई बेहतर तरीका है? 317 00:13:21,401 --> 00:13:22,250 वास्तव में, वहाँ है। 318 00:13:22,250 --> 00:13:24,375 कभी-कभी आप देख सकते हैं इस आरंभीकरण बुलाया। 319 00:13:24,375 --> 00:13:28,446 आप एक चर घोषित यह है जब और एक ही समय में एक मूल्य प्रदान। 320 00:13:28,446 --> 00:13:30,320 यह वास्तव में एक बहुत है आम बात करने के लिए। 321 00:13:30,320 --> 00:13:32,870 आप एक चर, आप आमतौर पर बनाते हैं यह कुछ बुनियादी मूल्य है चाहता हूँ। 322 00:13:32,870 --> 00:13:34,330 यहां तक ​​कि यह 0 या कुछ है। 323 00:13:34,330 --> 00:13:36,180 तुम बस आप इसे एक मूल्य दे। 324 00:13:36,180 --> 00:13:38,360 >> आप एक चर को प्रारंभ कर सकते हैं। 325 00:13:38,360 --> 00:13:42,320 17 के बराबर होती नंबर इंट रूप में ही है ऊपर कोड के पहले दो लाइनों। 326 00:13:42,320 --> 00:13:46,829 चार पत्र ज के रूप में ही है के बराबर होती है ऊपर कोड के तीसरे और चौथे लाइनों। 327 00:13:46,829 --> 00:13:49,620 यहाँ सबसे महत्वपूर्ण उपलब्धि हम घोषणा और बताए रहे हैं जब 328 00:13:49,620 --> 00:13:51,740 हम है के बाद चर है यह घोषित, नोटिस 329 00:13:51,740 --> 00:13:53,700 मैं फिर से डेटा प्रकार का उपयोग नहीं कर रहा हूँ। 330 00:13:53,700 --> 00:13:57,916 मैं पूर्णांक नंबर पर 17 के बराबर होती है नहीं कह रहा हूँ उदाहरण के लिए कोड की दूसरी पंक्ति,। 331 00:13:57,916 --> 00:13:59,290 मैं तो बस संख्या 17 के बराबर होती है कह रहा हूँ। 332 00:13:59,290 --> 00:14:02,537 >> फिर, एक चर के बाद फिर से की घोषणा आप पहले से ही यह नेतृत्व कर सकते हैं घोषित किया है 333 00:14:02,537 --> 00:14:03,620 कुछ अजीब परिणाम के लिए। 334 00:14:03,620 --> 00:14:05,950 तो बस इस बात का सावधान रहना होगा। 335 00:14:05,950 --> 00:14:06,660 >> मैं डौग लॉयड हूँ। 336 00:14:06,660 --> 00:14:08,870 और इस CS50 है। 337 00:14:08,870 --> 00:14:10,499