العامل الشرطي الثلاثي
جزء من قسم Fundamentals في رحلة C على Coddy — الدرس 29 من 63.
المعامل الشرطي الثلاثي هو طريقة مختصرة للتعبير عن جملة if-else في سطر واحد.
الصيغة هي:
condition ? value_if_true : value_if_false;لنلقِ نظرة على مثال. أولاً، إليك جملة if-else التقليدية:
int max;
if (a > b) {
max = a;
} else {
max = b;
}الآن، لنقم بإعادة كتابتها باستخدام العامل الثلاثي (ternary operator):
int max = (a > b) ? a : b;في هذا المثال:
a > bهو الشرط- إذا كان الشرط صحيحاً، يتم إرجاع
a - إذا كان الشرط خاطئاً، يتم إرجاع
b
يمكن أيضاً تداخل العامل الثلاثي (ternary operator)، ولكن هذا قد يجعل الكود أصعب في القراءة:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);التحدي
سهلأنشئ برنامجًا يتحقق مما إذا كان الرقم "positive" أو "negative" أو "zero" باستخدام العامل الشرطي. يجب على البرنامج:
- أخذ مدخل صحيح (integer) من المستخدم.
- استخدام العامل الشرطي لتحديد ما إذا كان الرقم "positive" أو "negative" أو "zero".
- طباعة النتيجة بالتنسيق التالي:
"The number is [positive/negative/zero]".
ورقة مرجعية
يوفر العامل الشرطي الثلاثي (ternary operator) طريقة مختصرة للتعبير عن جملة if-else في سطر واحد.
الصيغة:
condition ? value_if_true : value_if_false;مثال يقارن بين جملة if-else التقليدية والعامل الثلاثي:
// جملة if-else التقليدية
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// العامل الثلاثي
int max = (a > b) ? a : b;يمكن تداخل العامل الثلاثي، على الرغم من أن هذا يقلل من قابلية القراءة:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);جرّب بنفسك
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// اكتب كودك بالأسفل
char* result =
printf("The number is %s\n", result);
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4تدفق التحكم
جملة Ifجملة If - Elseجملة Else-Ifجملة Switch Caseالعامل الشرطي الثلاثيتحدي المراجعةجمل If - Else المتداخلة2المتغيرات
أنواع البياناتالأعداد الصحيحة (Integer)الأعداد العشرية (Float - Double)المحارف (Characters)القيم المنطقية (Booleans)الثوابتأساسيات printfقواعد تسمية المتغيراتتحويل الأنواع (Type Casting) - الجزء 1تحويل الأنواع (Type Casting) - الجزء 2تحدي المراجعة3المعاملات
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانمعاملات الإسنادالمعاملات العلائقيةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيالمعاملات المنطقية - الجزء الثالثتحدي المراجعة