في لغة C، تُستخدم العوامل (Operators) لإجراء العمليات على المتغيرات والقيم. تُعتبر العوامل جزءًا أساسيًا من أي لغة برمجة، حيث تُمكن المبرمج من إجراء العمليات الحسابية والمنطقية وعمليات التعيين وغيرها.

أنواع العوامل في لغة C:

  1. العوامل الحسابية (Arithmetic Operators): تُستخدم لإجراء العمليات الحسابية الأساسية.

    • +: الجمع (Addition)
    • -: الطرح (Subtraction)
    • *: الضرب (Multiplication)
    • /: القسمة (Division)
    • %: باقي القسمة (Modulo)

    مثال:

    C
    int x = 10;
    int y = 3;
    int sum = x + y; // sum = 13
    int difference = x - y; // difference = 7
    int product = x * y; // product = 30
    int quotient = x / y; // quotient = 3 (قسمة صحيحة)
    int remainder = x % y; // remainder = 1
  2. عوامل التعيين (Assignment Operators): تُستخدم لتعيين قيمة لمتغير.

    • =: تعيين قيمة (Assignment)
    • +=: إضافة وتعيين (Add and assign)
    • -=: طرح وتعيين (Subtract and assign)
    • *=: ضرب وتعيين (Multiply and assign)
    • /=: قسمة وتعيين (Divide and assign)
    • %=: باقي قسمة وتعيين (Modulo and assign)

    مثال:

    C
    int x = 5;
    x += 3; // x = x + 3; x becomes 8
    x -= 2; // x = x - 2; x becomes 6
    x *= 4; // x = x * 4; x becomes 24
  3. عوامل الزيادة والنقصان (Increment and Decrement Operators): تُستخدم لزيادة أو إنقاص قيمة متغير بمقدار واحد.

    • ++: زيادة بمقدار واحد (Increment)
    • --: إنقاص بمقدار واحد (Decrement)

    تأتي هذه العوامل في شكلين:

    • لاحقة (Postfix): تُستخدم القيمة الحالية للمتغير أولاً، ثم يتم زيادته أو إنقاصه.
    • سابقة (Prefix): يتم زيادة أو إنقاص قيمة المتغير أولاً، ثم تُستخدم القيمة الجديدة.

    مثال:

    C
    int x = 5;
    int y = x++; // y = 5, x = 6 (لاحقة)
    int z = ++x; // z = 7, x = 7 (سابقة)
  4. العوامل العلائقية (Relational Operators): تُستخدم لمقارنة قيمتين. تُرجع هذه العوامل قيمة منطقية (إما 1 بمعنى "صحيح" أو 0 بمعنى "خطأ").

    • ==: يساوي (Equal to)
    • !=: لا يساوي (Not equal to)
    • >: أكبر من (Greater than)
    • <: أصغر من (Less than)
    • >=: أكبر من أو يساوي (Greater than or equal to)
    • <=: أصغر من أو يساوي (Less than or equal to)

    مثال:

    C
    int x = 10;
    int y = 5;
    int result = (x > y); // result = 1 (صحيح)
    result = (x == y); // result = 0 (خطأ)
  5. العوامل المنطقية (Logical Operators): تُستخدم لربط أو نفي تعابير منطقية.

    • &&: "و" المنطقية (Logical AND)
    • ||: "أو" المنطقية (Logical OR)
    • !: "ليس" المنطقية (Logical NOT)

    مثال:

    C
    int x = 5;
    int y = 10;
    int result = (x > 0 && y < 20); // result = 1 (صحيح)
    result = (x < 0 || y > 5); // result = 1 (صحيح)
    result = !(x == y); // result = 1 (صحيح)
  6. عوامل المستوى البِتي (Bitwise Operators): تُستخدم لإجراء العمليات على مستوى البتات في الأعداد الصحيحة.

    • &: "و" البِتية (Bitwise AND)
    • |: "أو" البِتية (Bitwise OR)
    • ^: "أو" حصرية بِتية (Bitwise XOR)
    • <<: إزاحة إلى اليسار (Left shift)
    • >>: إزاحة إلى اليمين (Right shift)
    • ~: "ليس" البِتية (Bitwise NOT)

    تُستخدم هذه العوامل عادة في البرمجة منخفضة المستوى والتعامل مع الأجهزة.

  7. عامل الشرط الثلاثي (Ternary Conditional Operator): يُعتبر اختصارًا لعبارة if-else.

    • condition ? expression1 : expression2

    إذا كان الشرط condition صحيحًا، يتم تنفيذ expression1، وإلا يتم تنفيذ expression2.

    مثال:

    C
    int x = 10;
    int y = 5;
    int max = (x > y) ? x : y; // max = 10

أولوية العوامل (Operator Precedence):

تحدد أولوية العوامل ترتيب تنفيذ العمليات. على سبيل المثال، الضرب والقسمة لهما أولوية أعلى من الجمع والطرح. يُمكن استخدام الأقواس () لتغيير أولوية العمليات.

فهم العوامل وأولويتها أمر بالغ الأهمية لكتابة برامج C صحيحة وفعالة.