1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence არის როგორ ჩვენ კითხვაზე, თუ რა ოპერაცია უნდა გავაკეთოთ პირველ რიგში? 2 00:00:10,540 --> 00:00:14,250 თუ არა გადაჭრის მათემატიკის განტოლებების ან დამუშავების ხაზები კომპიუტერული კოდი, 3 00:00:14,250 --> 00:00:17,230 არსებობს მკაცრი წესების პრეცენდენტის, რომელსაც ჩვენ ვიცავთ 4 00:00:17,230 --> 00:00:20,270 ისე, რომ ყველა კომპიუტერი და ხალხს შეუძლია მიიღოს იგივე შედეგი. 5 00:00:20,270 --> 00:00:24,710 >> პირველ რიგში, ყველაზე მნიშვნელოვანი წესი უნდა გვახსოვდეს, განსაკუთრებით bug ტესტირება, 6 00:00:24,710 --> 00:00:27,680 ის არის, რომ ჩვენ ყოველთვის იმუშაოს innermost ბრჭყალების გარეთ. 7 00:00:27,680 --> 00:00:31,120 გამოყენება ზედმეტი ფრჩხილებში შეიძლება გამოსადეგი გამართვის ტაქტიკა, 8 00:00:31,120 --> 00:00:34,640 მაგრამ არ არის კარგი პრაქტიკა litter თქვენი კოდექსი unneeded ფრჩხილებში. 9 00:00:34,640 --> 00:00:38,220 მიიღეთ დრო უნდა ვისწავლოთ ძირითადი ოპერატორით პირველობა წესები. 10 00:00:38,220 --> 00:00:42,450 >> მეორე წესი ისაა, რომ როდესაც ოპერატორები თანაბარი priorty, 11 00:00:42,450 --> 00:00:44,820 თქვენ უბრალოდ გადაჭრას მარცხნიდან მარჯვნივ. 12 00:00:44,820 --> 00:00:47,690 როდესაც საქმე მარტივი math ჩვენ დავიწყებთ ფრჩხილებში, 13 00:00:47,690 --> 00:00:52,110 მაშინ ნუ გამრავლება და გაყოფა, და ბოლოს გავაკეთოთ დამატებით და გამოკლება. 14 00:00:52,110 --> 00:00:54,400 გამრავლება და გაყოფა აქვს იგივე პრიორიტეტი, 15 00:00:54,400 --> 00:00:56,870 რადგან ისინი არსებითად ასრულებდა იგივე ოპერაცია. 16 00:00:56,870 --> 00:01:00,880 ყოველივე ამის შემდეგ სამმართველოს უბრალოდ გამრავლებით მიერ უკუპროპორციულობით of ღირებულება. 17 00:01:00,880 --> 00:01:04,300 ანალოგიურად, გამოკლება უბრალოდ დასძინა უარყოფითი მნიშვნელობა. 18 00:01:04,300 --> 00:01:06,150 >> მოდით მაგალითს. 19 00:01:14,470 --> 00:01:18,300 შემდეგ ბრძანებით პრეცენდენტის, დავიწყოთ ფრჩხილებში. ცხრა მინუს 1. 20 00:01:18,300 --> 00:01:23,410 რომელიც მოგვცემს 8. მაშინ ჩვენ შეგვიძლია გადაადგილება, რათა სამმართველოს და გამრავლება. 21 00:01:23,410 --> 00:01:27,450 ჩვენ გადაჭრით მარცხნიდან მარჯვნივ. ასე რომ 10 გაყოფილი 2 არის 5. 22 00:01:27,450 --> 00:01:31,290 ჩვენ გვყავს 5 ჯერ 8 აქ, და რომ მოგვცემს 40. 23 00:01:33,230 --> 00:01:35,410 მაშინ ჩვენ გადავალთ მომდევნო ბრძანებით პრეცენდენტის. 24 00:01:35,410 --> 00:01:38,730 ამიტომ ჩვენ დარჩა 3 Plus 40 მინუს 1. 25 00:01:42,400 --> 00:01:43,700 ერთხელ უბრალოდ გადაჭრის მარცხნიდან მარჯვნივ, 26 00:01:43,700 --> 00:01:47,650 რადგან არსებობს თანაბარი პრიორიტეტი შორის ამისა და გამოკლება. 27 00:01:47,650 --> 00:01:51,510 ჩვენ შეგვიძლია ვთქვათ, 3 Plus 40 არის 43, მინუს 1 არის 42. სწორედ ჩვენი პასუხი. 28 00:01:53,920 --> 00:01:56,730 >> არსებობს 2 ტიპის decrement და წუთობრივი ოპერატორებს; 29 00:01:56,730 --> 00:02:01,000 პრეფიქსი სახით, ხოლო სუფიქსი ფორმით. 30 00:02:01,000 --> 00:02:06,130 სუფიქსით ფორმა, მე + +, ძირითადად გამოიყენება ამისთვის მარყუჟების, 31 00:02:06,130 --> 00:02:10,500 რაც იმას ნიშნავს, რომ მიმდინარე ღირებულება გამოიყენება გამოხატვის, და მაშინ იგი incremented. 32 00:02:10,500 --> 00:02:14,240 ამიტომ ღირებულება იქნება სხვადასხვა დროს ცვლადი გამოიყენება. 33 00:02:14,240 --> 00:02:17,910 მეორეს მხრივ, პრეფიქსი ნამატი ან decrement იმას ნიშნავს, რომ მიმდინარე ღირებულება 34 00:02:17,910 --> 00:02:22,760 არის incremented ან decremented პირველი, ხოლო შემდეგ იგი გამოიყენება გამოხატვის. 35 00:02:22,760 --> 00:02:25,310 >> ავიღოთ მაგალითი მთელი რიცხვი x. 36 00:02:25,310 --> 00:02:27,220 ჩვენ ვაყენებთ მას ტოლი 5. 37 00:02:27,220 --> 00:02:36,500 თუ ჩვენ ვიყენებთ სუფიქსი ოპერატორს მასზე და ამბობენ x + +, X ამ ხაზის კვლავ 5. 38 00:02:36,500 --> 00:02:39,230 თუ ჩვენ უნდა ამობეჭდოთ ჩვენ დაიჭერს ღირებულების 5. 39 00:02:39,230 --> 00:02:42,540 მაგრამ წინსვლის x1 ფაქტი შეადგენს 6. 40 00:02:42,540 --> 00:02:48,770 ასე რომ სწორედ აქ, ამ ხაზის x უდრის 6, და თუ ჩვენ დაბეჭდილი ის ჩვენ დაიჭერს ღირებულება 6. 41 00:02:48,770 --> 00:02:57,380 ახლა თუ ჩვენ გამოყენებული პრეფიქსი ოპერატორის, + + X, X-ის incremented პირველი, ხოლო შემდეგ ღირებულება გამოიყენება. 42 00:02:57,380 --> 00:03:00,110 ასე რომ ტოლი 7 ამ სტრიქონიდან. 43 00:03:00,110 --> 00:03:04,750 დამატება რა თქმა უნდა 6 ​​დან 7 და, თუ ჩვენ უნდა ამობეჭდოთ ჩვენ დაიჭერს ღირებულება 7. 44 00:03:04,750 --> 00:03:09,160 >> ბოლო Nuance in precendence რომ ჩვენ შევხედოთ ეხება მაჩვენებელი ნოტაცია. 45 00:03:09,160 --> 00:03:15,050 Dereference ოპერატორი, ვარსკვლავი, აქვს უპირატესი ძირითადი მათემატიკის ოპერატორები, 46 00:03:15,050 --> 00:03:18,550 მაგრამ არ დამთავრებულა სუფიქსი incement და decrement ოპერატორები. 47 00:03:18,550 --> 00:03:20,690 ეს მივყავართ ჩვენი საბოლოო მაგალითი. 48 00:03:20,690 --> 00:03:24,500 ავიღოთ რიცხვი x და ვაყენებთ მას ტოლი 7. 49 00:03:24,500 --> 00:03:30,540 ჩვენ ასევე მაჩვენებელი Y და ვაყენებთ მას ტოლი მისამართი x. 50 00:03:30,540 --> 00:03:34,920 ასე რომ, როდესაც ჩვენ dereference Y ჩვენ უნდა მიიღოს ღირებულება 7. 51 00:03:34,920 --> 00:03:39,380 ახლა ამ ხაზი კოდი, ჩვენ გვაქვს გარკვეულწილად ორაზროვანი სიტუაცია. 52 00:03:39,380 --> 00:03:44,310 ჩვენ dereferencing Y პირველი და შემდეგ დამატება ღირებულება 7? 53 00:03:44,310 --> 00:03:48,300 ან ჩვენ დამატება მაჩვენებელი და შემდეგ dereferencing ეს? 54 00:03:48,300 --> 00:03:52,800 სინამდვილეში, რადგან სუფიქსი ნამატი ოპერატორს აქვს უპირატესი 55 00:03:52,800 --> 00:03:55,370 dereference ოპერატორი, ჩვენ ცდილობს წუთობრივი მაჩვენებელი Y, 56 00:03:55,370 --> 00:03:59,170 რომელიც გადაინაცვლებს მაჩვენებელი ზომის მიხედვით int bytes. 57 00:03:59,170 --> 00:04:03,040 არსებითად გვაძლევს მისამართი ზოგიერთ სრულიად სხვა წერტილი მეხსიერება, 58 00:04:03,040 --> 00:04:05,010 და მაშინ ჩვენ dereferencing იგი. 59 00:04:05,010 --> 00:04:07,350 ასე რომ, ეს ძალიან უაზრო ხაზი. 60 00:04:07,350 --> 00:04:10,250 თუ ჩვენ რეალურად სურდა წუთობრივი ღირებულება 7, 61 00:04:10,250 --> 00:04:14,260 ჩვენ უნდა დააყენოს dereference ოპერატორი ერთად Y ფრჩხილებში. 62 00:04:14,260 --> 00:04:17,290 მაშინ ჩვენ შეგვიძლია ნამატი იგი. 63 00:04:17,290 --> 00:04:21,089 ასე რომ ჩვენ კი არ იქნება დამატება ღირებულების x მეორე ბოლო ხაზი კოდი, 64 00:04:21,089 --> 00:04:23,380 ამ ბოლო ხაზი კოდი გვსურს infact dereference Y 65 00:04:23,380 --> 00:04:26,380 მიიღოს ღირებულება x და ნამატი, რომ. 66 00:04:26,380 --> 00:04:29,540 ჩვენ დიდი დარჩა ღირებულება შეადგენს x 8. 67 00:04:31,580 --> 00:04:33,580 >> აი სწრაფი recap of precendence წესები, რომ ჩვენ ვისაუბრეთ. 68 00:04:33,580 --> 00:04:37,210 დავიწყოთ innermost ფრჩხილებში და მუშაობა გარე. 69 00:04:37,210 --> 00:04:41,210 მაშინ ჩვენ გადაადგილება, რათა სუფიქსი ოპერატორების მსგავსად I + + ან მე -. 70 00:04:41,210 --> 00:04:45,920 მაშინ dereference და მისამართი ოპერატორების მსგავსად ვარსკვლავი x ან ampersand x, 71 00:04:45,920 --> 00:04:50,260 და პრეფიქსი ოპერატორების მოსწონს + + მე ან - მე. 72 00:04:50,260 --> 00:04:54,920 საბოლოოდ გავაკეთოთ უბრალო მათემატიკის ოპერაციების მოსწონს გამრავლება, გაყოფა, modulo. 73 00:04:54,920 --> 00:04:58,400 შემდეგ ამისა, გამოკლება. 74 00:04:58,400 --> 00:05:02,170 სწორედ precendence. მე იორდანიის Jozwiak, და ეს არის CS50. 75 00:05:04,160 --> 00:05:10,480 ჩვენ ყველაფერს dereference და გამოიყენოს მისამართი და - როგორ ფრაზა, რომ? 76 00:05:12,380 --> 00:05:13,190 მე გაკეთდეს. Okay.