[Powered by Google Translate] Precendence هي الطريقة التي يجيب على السؤال، ما الذي يجب أن نقوم به أولا عملية؟
حل المعادلات سواء الرياضيات أو خطوط إعراب كود الكمبيوتر،
هناك قواعد صارمة الأسبقية التي نتمسك
بحيث يمكن لجميع أجهزة الكمبيوتر والناس على الحصول على نفس النتيجة.
>> أولا، أهم قاعدة لنتذكر، وخاصة في اختبار الشوائب،
هو أن نعمل دائما من الأقواس الأعمق الخارج.
يمكن استخدام الأقواس إضافية تكون مفيدة تكتيك التصحيح،
ولكنها ليست جيدة لممارسة القمامة التعليمات البرمجية غير الضرورية مع أقواس.
تأخذ من الوقت لتعلم قواعد الأسبقية المشغل الأساسي.
>> القاعدة الثانية العام هو أنه عندما يكون مشغلي priorty على قدم المساواة،
يمكنك حل ببساطة من اليسار إلى اليمين.
عند التعامل مع الرياضيات البسيطة نبدأ مع الأقواس،
ثم القيام الضرب والقسمة، وأخيرا القيام الجمع والطرح.
الضرب والقسمة يكون لها نفس الاولوية،
لأنهم يؤدون نفس العملية أساسا.
بعد كل شعبة يتم ببساطة عن طريق ضرب معكوس قيمة.
وبالمثل، يتم الطرح مجرد إضافة قيمة سالبة.
>> دعونا نفعل مثال على ذلك.
بعد ترتيب الأسبقية، سنبدأ مع الأقواس. تسعة ناقص 1.
سوف تعطينا 8. ثم يمكننا أن ننتقل إلى الانقسام والتكاثر.
سوف نحل من اليسار إلى اليمين. حتى 10 مقسوما على 2 هو 5.
لدينا 5 8 مرات هنا، والتي من شأنها أن تعطينا 40.
ثم ننتقل إلى النظام المقبل الأسبقية.
لذلك نحن تركنا مع 3 مضافا إليه 40 ناقص 1.
مرة أخرى حل عادل اليسار إلى اليمين،
لأن هناك أولوية متساوية بين الجمع والطرح.
يمكننا أن نقول 3 زائد 40 هو 43، هو 42 ناقص 1. هذا ردنا.
>> هناك 2 أنواع من مشغلي إنقاص مقدار و؛
شكل بادئة، وشكل لاحقة.
شكل لاحقة، وأنا + +، والتي يشيع استخدامها في حلقات ل،
مما يعني أن يتم استخدام القيمة الحالية في التعبير، ومن ثم يتم زيادة عليه.
لذلك سوف تكون القيمة فقط مختلفة في المرة القادمة يتم استخدام المتغير.
من ناحية أخرى، فإن الزيادة البادئة أو إنقاص يعني أن القيمة الحالية
يتم زيادة أو decremented أولا، ثم يتم استخدامه في التعبير.
>> دعونا نأخذ مثالا مع X عدد صحيح.
سنقوم بتعيين أنه يساوي 5.
إذا كان لنا أن استخدام عامل التشغيل لاحقة عليها، ويقول X + +، X على هذا الخط ما زال 5.
إذا كان لنا أن طباعته ويمكن الحصول على قيمة 5.
ولكن الواقع للمضي قدما X1 تساوي 6.
حتى هنا على هذا الخط X يساوي 6، وإذا كان لنا أن المطبوعة من ذلك أننا سوف تحصل على قيمة 6.
إذا نحن الآن استخدام عامل التشغيل البادئة، + + X، X يتم زيادة أولا، ثم يتم استخدام القيمة.
لذلك على قدم المساواة إلى 7 على هذا الخط.
تزايد من الدورة 6 إلى 7، وإذا كان لنا أن طباعته كنا الحصول على قيمة 7.
>> الفرق الدقيق مشاركة في precendence أننا سوف ننظر في العروض مع تدوين المؤشر.
المشغل إلغاء مرجعية، نجمة، له الأولوية على مشغلي الرياضيات الأساسية،
ولكن ليس على incement احقة ومشغلي إنقاص.
هذا يقودنا إلى المثال النهائي.
لنأخذ X عدد صحيح وضعه على قدم المساواة إلى 7.
سنقوم أيضا جعل ذ المؤشر وضعه على قدم المساواة إلى عنوان X.
بحيث أننا عندما ذ إلغاء مرجعية ينبغي لنا أن الحصول على قيمة 7.
الآن في هذا الخط من التعليمات البرمجية، لدينا وضعا غامضا بعض الشيء.
نحن يعتبر إلغاء مرجعية ذ أولا، ثم تزايد قيمة 7؟
أم أننا تزايد مؤشر ومن ثم يعتبر إلغاء مرجعية ذلك؟
في الواقع، وذلك لأن الزيادة المشغل لاحقة له الأسبقية على
المشغل إلغاء مرجعية، ونحن محاولة زيادة ذ المؤشر،
التي من شأنها أن تحرك المؤشر حسب حجم بايت الباحث.
إعطاء أساسا لنا عنوان في بعض نقطة مختلفة تماما في الذاكرة،
ويعتبر إلغاء مرجعية ثم نحن عليه.
لذلك هذا هو معنى خط جدا.
إذا أردنا فعلا لزيادة قيمة 7،
سيكون لدينا لوضع المشغل إلغاء مرجعية مع ذ بين قوسين.
ثم يمكننا زيادة عليه.
في حين ذلك نحن لن تزايد على قيمة x مع الثانية إلى السطر الأخير من التعليمات البرمجية،
في السطر الأخير من التعليمات البرمجية بما نستطيع أن انفاكت ذ إلغاء مرجعية
للحصول على قيمة x وزيادة ذلك.
سيترك نحن مع قيمة x تساوي 8.
>> وهنا خلاصة سريعة من النظام precendence التي تحدثنا عنها.
سنبدأ مع الأقواس الأعمق والعمل في الخارج.
ثم ننتقل إلى المشغلين لاحقة مثل ط ط + + أو -.
ثم إلغاء مرجعية وعنوان مشغلي مثل X أو X نجمة العطف،
ومشغلي بادئة مثل + + أنا أو - ط.
وأخيرا نقوم به عمليات حسابية بسيطة مثل تقسيم، الضرب، مودولو.
بالإضافة إلى ذلك الحين، الطرح.
هذا precendence. أنا الأردن Jozwiak، وهذا هو CS50.
سنقوم إلغاء مرجعية واستخدام عنوان و- كيف العبارة التي؟
أنا فعلت. حسنا.