أهلا ومرحبا. الآن بعد أن تحدثنا عن جميع المشغلين
الرئيسيين ، الأساسيين ، الغريبين ، علينا أن نتحدث عن
هذا المفهوم الصغير لأسبقية المشغل.
لذا فإن هذا يلعب دورًا أساسيًا عند كيفية تقييم ترتيب هذه العوامل.
لذا فإن أسبقية عامل التشغيل تحدد تجميع المصطلحات والتعبير
وتقرر كيفية تقييم التعبير.
الآن لا تحتاج حقًا إلى فهم أي من هذا إذا
استخدمت الأقواس التي سنصل إليها في ثانية ، لكن عليك أن تفهم
هذا المفهوم لأنه جزء من اللغة وهو جزء من فهم اللغة.
لذا فإن الأسبقية ستحدد ترتيب التقييم عندما يشترك
عاملان في المعامل.
وسيتضح هذا بمثال.
على سبيل المثال ، عامل الضرب له أسبقية أعلى من عامل الضرب
الإضافي.
سيكون لبعض المشغلين ترتيب مختلف للتقييمات. لذلك ، إذا كنت ستفعل جملة مركبة حيث
تقوم بالعديد من العمليات
الحسابية المختلفة ، على سبيل المثال ، 7 زائد 3 في 2.
يمكن أن يكون لهذا نتائج متعددة
، بالإضافة إلى أنك تقوم بعملية الضرب.
عليك أن تفهم هل يجب أن أقوم بعملية الجمع أولاً أم يجب أن أقوم بعملية الضرب أولاً ، لأنه
بناءً على ما تفعله أولاً ، يغير النتيجة.
على سبيل المثال ، هذا x يساوي 7 زائد 3 في 2 ، يمكن
أن تكون النتيجة إما 13 أو 20 اعتمادًا على
ترتيب تقييم كل معامل.
لذا فإن ترتيب تنفيذ العمليات المختلفة يمكن أن يحدث فرقًا كبيرًا.
وهذا هو السبب في أنك بحاجة إلى فهم الأسبقية.
يوفر C قواعد محددة لاختيار ما يجب القيام به أولاً.
في هذه الحالة ، سأقوم بضرب الموجب. حسنًا ، سيخبرك c بما سيحدث.
من الناحية المثالية ، إذا قمت بلفها بين قوسين ، فستخبرها بما يجب أن
تفعله ، وستتخذ هذا القرار. لكن إذا لم تضع ذلك بين قوسين ، فإن لغة
البرمجة ستتخذ القرار نيابةً عنك.
إذن في c ، سيكون للضرب أسبقية أعلى
من عامل الجمع. إذن ما سيحدث هو أن النتيجة ستكون 13.
يمكنك الآن قول 7 زائد 3 ، وهو ما يساوي 10
ثم الضرب في 2 ، فالنتيجة ستكون 20.
أو يمكنك القيام بـ 7 زائد 3 في 2 ، وهو ما يساوي 7 زائد 6 وهو 13.
هذه هي الطريقة التي يمكنك بها الحصول على قيم مختلفة.
هذا غامض. هل تفعل الجمع أولًا أم الضرب أولاً.
لحسن الحظ ، مرة أخرى ، هذا هو ما تقرره اللغة. لكن يمكنك أن ترى كيف توجد نتيجتان مختلفتان.
7 زائد 3 ضرب 2 أو
7 زائد 3 ضرب 2. ترى التوقف هناك.
الآن c سوف تفعل هذا الأخير. ستقوم بعملية الضرب أولاً لأن
ذلك له أسبقية أعلى.
إذن سيكون الناتج 3 ضرب 2 ، وهو ما يساوي 6 ثم نضيفه إلى 7.
لذا فإن النتيجة x ستكون 13 لأن علامة النجمة
لها أسبقية أعلى من الإضافة.
وبالتالي ، هناك قواعد لكل عامل ، أي
عامل له الأسبقية على الآخر.
هناك مستوى أسبقية.
والضرب والقسمة لهما أسبقية أعلى من الجمع والطرح.
لذلك يتم أداؤهم أولاً ، على سبيل المثال.
يمكنك تجنب كل هذه الأسبقية وجعل اللغة تقرر
لك إذا قمت بتوفير الأقواس.
ستقوم الأقواس دائمًا بتجميع التعبيرات
بأعلى أولوية. لذا ، إذا قلت 7 زائد 3 وضمنت ذلك بين قوسين ، فسيتم
دائمًا إجراء عملية الجمع أولاً.
إذا قلت 3 في 2
وضمنت ذلك بين قوسين ، فسيتم
دائمًا الضرب ثم إضافة أي شيء خارج الأقواس.
لذلك يجب أن تستخدم الأقواس فقط. استخدم الأقواس دائمًا.
خلاف ذلك ، ستقرر اللغة لك. عليك أن تحفظ جميع مستويات الأسبقية
التي يصعب القيام بها كما سأريكم في الجدول التالي.
هناك العديد من المشغلين المختلفين وعليك أن تعرف الأسبقية
لكل هؤلاء المشغلين المختلفين.
لذلك يمكن أن تصبح مربكة للغاية.
هذا مشابه لما تعلمه إما أنك تركت اللغة تقوم بتحويل ضمني لك أو تفعل
ذلك بتحويل صريح باستخدام عامل صب ، نفس النوع من الفكرة
هنا ، فقط استخدم الأقواس.
لذلك إذا نظرنا إلى هذا الجدول ، والذي سنلقي نظرة عليه ثانية أعتقد لأنني أريد
أولاً أن أتحدث عن الترابطية.
الترابطية مرتبطة بالأسبقية لأن ما يحدث إذا
كان لمشغلين نفس الأسبقية. ثم كيف يمكنك معرفة الترتيب.
حسنًا ، إذن أنت تطبق الترابطية. لذلك عندما يكون للعوامل
نفس مستوى الأولوية ، فإنك تطبق قواعد إضافية.
لذا فإن الترابطية هي أساسًا ما إذا كنت تبدأ من الجانب
الأيسر أم لا وتتجه إلى اليمين أو اليمين إلى اليسار.
لذلك إذا قمت بمشاركة معامل وتم تنفيذ كلاهما بنفس الترتيب
، فسوف تقوم بتنفيذهما بترتيب البيان بناءً على قاعدة
الارتباط. لذلك بالنسبة لمعظم المشغلين ، يكون
الترتيب من اليسار إلى اليمين. لذا اسمحوا لي أن أريكم مثالا.
إذا قلت أن 1 يساوي 2 لا يساوي 3 ، فإن علامة
التعجب تساوي و لا يساوي عوامل التعجب
تساوي نفس الأسبقية.
لذلك في هذه الحالة لدينا غموض. لدينا مشكلة.
لا نعرف ما الذي يجب تقييمه أولاً. لا نعرف ما إذا كان علينا أن
نجعل 1 يساوي 2 أو 2 لا
يساوي 3 وهذا مهم لأنك تقوم بتعبير منطقي.
هذا تعبير منطقي هنا ، لذلك يعود الرجال إلى الصواب أو الخطأ.
لذا ما ستفعله هنا هو أنك ستطبق الترابطية.
الترابط بين كل من يساوي و لا يساوي من اليسار إلى اليمين.
ستقوم أولاً بعمل 1 يساوي 2 ، وهذا سيكون خطأ.
ثم ستقول خطأ ، وهو لا
يساوي 3 ، وهو
ليس كذلك. إذن 1 يساوي 2
ثم هذا لا يساوي 3.
لذا فإن النتيجة ستكون خاطئة. لذلك يتم تنفيذ التعبير الموجود على
اليسار أولاً ويتحرك نحو اليمين.
إذن ، كيف تريد أن تفكر في ذلك هو أنه يساوي هذه الأقواس.
أولًا ، عليك تقييم واحد يساوي 2.
ثم إذا كانت قيمته صحيحة أو خاطئة ، فستقول إن هذا يساوي 3.
وهذا محير لأنه لا يحتوي على
قيم صحيحة أو خاطئة.
لكن 1 يساوي يساوي ، تذكر أن هذا هو عامل المقارنة ، وليس عامل الإسناد.
ونحن لا نستخدم المتغيرات هنا ، لذا فالأمر أكثر إرباكًا.
لكن إذا وضعت هذه الأرقام في
متغيرات ، فستقول مثل ، إذا كانت x تساوي y ، لذلك إذا كانت
x تساوي 1 و y كانت 2 ، فسيكون ذلك ناتجًا عن 2 خطأ.
لأن كلاهما لا يتساوى. ثم إذا كان 3 هو متغير
آخر z يساوي 3 ، فستقول
هل x يساوي y خطأ ، و z يساوي 3.
لذا
فالخطأ لا يساوي 3. لذلك سيكون خطأ.
إذن 1 يساوي 2 يُنفذ أولاً ، والنتيجة 0 خطأ مرة أخرى.
ثم 0 لا يساوي 3 ، وينتج عن 1 صحيح.
لقد قلت خطأ في البداية ، ولكن من الواضح أن 0 لا يساوي 3 ، والتي سيتم
تقييمها بالكامل على أنها خطأ.
كل شيء سيصبح صحيحًا ، أنا آسف لأن 0 لا يساوي 3.
إذن ، 0 لا يساوي 3 كنت أقول أنه خطأ لأنهما ليسا متساويين ، لكن هذا يعني
أنه يتم تقييمه بالفعل على أنه صحيح.
أنيق جدا هناك. الآن ها هو جدولنا الذي يوضح كل قواعد
الأسبقية والترابطية ومن الصعب جدًا حفظ ذلك.
مرة أخرى ، ماذا تفعل ، استخدم الأقواس.
ولكن هنا الجدول. أعلى مستوى للأسبقية في الأعلى
، لذا فإن عوامل postfix لها أعلى مستوى تفضيل.
وإذا كنت تستخدم أيًا من هؤلاء في نفس التعبير ، فأنت تقرأ من
اليسار إلى اليمين.
إذن ، معاملات postfix ، أشياء مثل
الأقواس هي الأسبقية الأعلى.
لذلك في كل مرة تقوم فيها بتضمين شيء ما بين قوسين ، سيصبح هذا ساري المفعول.
لكن لديك الأقواس ومن ثم لديك
عوامل postfix. لم نتحدث عن زوج من عناصر
المؤشر ، وهي هذه الشرطة أكبر من ، لكننا نعرف الآن
عن موجب زائد وناقص ناقص ، وهما
بعد الإصلاح اللذان لهما
أعلى أسبقية. عوامل التشغيل الأحادية مثل علامة زائد ناقص ، وعلامة
التعجب في حالة عدم وجودها ، والتيلدا للبت ، بالإضافة إلى علامة زائد ناقص
ناقص ، ثم عامل الصب يُشار إليه على أنه عامل تشغيل أحادي لأنه يحتوي على معامل واحد فقط.
ثم عامل النجمة هو مشغل المؤشر. علامة العطف هي أحادي المعامل
وحجمها.
هؤلاء لديهم الأسبقية الأعلى التالية.
ولكن هنا تقرأ في الواقع من اليمين إلى اليسار
للتقييم إذا كان لديك اثنان في نفس بيان الحالة الخطية.
ثم مرة أخرى نذهب فقط في الأوامر. عليك أن تعرف هذا الترتيب وتحفظه. من الصعب جدًا القيام بذلك ، لكنني
أردت أن أعرضه عليك ، أردت فقط الحصول على رسم
توضيحي صغير لإظهار بعض الطاولات. هناك الكثير من المشغلين.
وبالتالي هناك الكثير من مستويات الحضور ، وهناك الترابط في معظم الأحيان كما قلنا
سابقًا من اليسار إلى اليمين.
لديك فقط ارتباط اليمين واليسار للمشغلين الأحاديين.
لذا فإن عوامل تشغيل البت تتبع اتجاه الأسفل ، وكلها
من اليسار إلى اليمين. العوامل الثلاثية الشرطية من اليمين إلى اليسار.
دائمًا ما يكون مشغلو التخصيص في الأسفل. هذا دائمًا يتم تقييمه أخيرًا.
ثم إذا كانتا متساويتين ، فإن القيم الأخرى الموجودة هناك تحسبها من اليمين إلى اليسار.
ثم يشار إلى الفاصلة أيضًا باسم عامل التشغيل. هذا من اليسار إلى اليمين.
مفهوم آخر على الرغم من الأسبقية والترابط
الذي لن نتطرق إليه حقًا بهذه الأمثلة
الأخرى. سننتهي باستخدام الأقواس طوال
الوقت ، وهذا ما تريد القيام به.
لكن مرة أخرى ، إذا كنت تريد أن تفهم اللغة تمامًا ، فأنت تريد أن تفهم هذه المفاهيم ولهذا السبب أقولها لك.
لا أحد يستطيع في الواقع أن يدعي أنه يعرف اللغة إذا لم يعرف بعض التفاصيل مثل هذا.
لكن استخدم الأقواس بقدر ما تستطيع. شكرًا لك.