أولوية المعاملات
ترتيب التقييم
أولوية المعاملات درس مجاني في C Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 4 دروس في المجموع.
أهمية أسبقية العوامل
تحدّد الأسبقية العامل الذي يُنفّذ أولًا في تعبير يحتوي على عدة عوامل. وهي تحاكي الرياضيات المعتادة: الضرب قبل الجمع.
#include <stdio.h>
int main(void) {
printf("%d\n", 2 + 3 * 4);
return 0;
}الأقواس تتجاوز الأسبقية
تفرض الأقواس ترتيب التقييم. استخدمها لتوضيح المقصود وتجاوز القواعد الافتراضية.
#include <stdio.h>
int main(void) {
printf("%d\n", (2 + 3) * 4);
return 0;
}أسبقية العوامل الحسابية
من بين العوامل الحسابية، تتمتع * / % بأسبقية أعلى من + -، ولذلك تُنفَّذ العوامل ذات الأسبقية الأعلى أولًا.
#include <stdio.h>
int main(void) {
int r = 10 - 2 * 3;
printf("r = %d\n", r);
return 0;
}الترابطية
عندما تشترك العوامل في الأسبقية نفسها، تحدد الترابطية اتجاه التقييم. وتُقيَّم معظم العمليات الحسابية من اليسار إلى اليمين.
#include <stdio.h>
int main(void) {
int r = 20 / 4 / 2;
printf("r = %d\n", r);
return 0;
}الترابطية من اليمين للإسناد
يُجمَّع الإسناد من اليمين إلى اليسار. لذلك يُسنِد a = b = 5 القيمة 5 إلى b أولًا، ثم إلى a.
#include <stdio.h>
int main(void) {
int a, b;
a = b = 5;
printf("a = %d, b = %d\n", a, b);
return 0;
}المقارنات مقابل العمليات الحسابية
تتمتع العمليات الحسابية بأسبقية أعلى من العوامل العلائقية، ولذلك يحسب a + b > c قيمة a + b أولًا.
#include <stdio.h>
int main(void) {
int a = 2, b = 3, c = 4;
printf("%d\n", a + b > c);
return 0;
}العوامل العلائقية مقابل المنطقية
تتمتع العوامل العلائقية بأسبقية أعلى من &&، الذي يتمتع بدوره بأسبقية أعلى من ||.
#include <stdio.h>
int main(void) {
int x = 5;
if (x > 0 && x < 10)
printf("single digit positive\n");
return 0;
}العامل الأحادي قبل الثنائي
تتمتع العوامل الأحادية مثل ! و- الأحادي بأسبقية عالية جدًا، فتُطبَّق قبل العوامل الثنائية.
#include <stdio.h>
int main(void) {
int x = 0;
printf("%d\n", !x + 1);
return 0;
}تعبير مخادع
من دون أقواس، يخلط هذا التعبير بين عدة مستويات من الأسبقية. تتبّع خطواته بعناية.
#include <stdio.h>
int main(void) {
int r = 2 + 3 * 4 > 10 && 1;
printf("r = %d\n", r);
return 0;
}عند الشك، استخدم الأقواس
يستخدم كود C الجيد الأقواس بكثرة. فهي لا تكلّف شيئًا أثناء التنفيذ وتمنع الأخطاء الخفية.
#include <stdio.h>
int main(void) {
int a = 1, b = 2, c = 3;
if ((a < b) && (b < c))
printf("ascending\n");
return 0;
}أسبقية العوامل في التطبيق
تتيح لنا الأسبقية هنا كتابة صيغة واضحة من دون أقواس إضافية.
#include <stdio.h>
int main(void) {
int base = 10, rate = 2, hours = 3;
int pay = base + rate * hours;
printf("pay = %d\n", pay);
return 0;
}تحقق سريع
اختبر مدى فهمك لأسبقية العوامل.
مراجعة: أسبقية العوامل
لقد تعلمت كيف يرتب C العوامل.
* / %قبل+ -- العمليات الحسابية قبل العلائقية، والعلائقية قبل المنطقية
- معظم العوامل مترابطة من اليسار، أما الإسناد فمترابط من اليمين
- العوامل الأحادية تتمتع بأسبقية عالية
- توضح الأقواس القصد صراحةً
الأسئلة الشائعة
هل درس «أولوية المعاملات» مجاني؟
نعم — نص درس «أولوية المعاملات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 4 دروس في المجموع.
ماذا ستتعلم في «أولوية المعاملات»؟
ترتيب التقييم تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟
لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «أولوية المعاملات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟
نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المعاملات الحسابية
- العلاقات والمنطق
- الإسناد والزيادة
- أولوية المعاملات