المعاملات Operators

 

     تحتوي C++ على أنواع عديدة من المعاملات Operators, و المعاملات هي رموز تقوم بتنفيذ عمليات مختلفة على المتحولات فهناك معاملات مختصة بالعمليات الرياضية و أخرى بالعمليات المنطقية ..الخ, و كنت قد تعاملت في الدروس السابقة مع معامل الجمع و معامل الإسناد, و ستتعرف الآن بعون الله تعالى على أنواع هذه المعاملات, و لكن قبل البدء سنفرض أن لدينا المتحولات التالية A = 5 و B = 3 و C = 10 و R الذي سنضع فيه النتيجة, حيث سنقوم بتطبيق الأمثلة عليهم.

يوجد في C++ أربع مجموعات من المعاملات مصنفة حسب الوظيفة التي تقوم بها و هي:

1. المعاملات الرياضية Mathematics Operators :

 

اسم المعامل

رمزه

وظيفته

مثال

الجمع

+

يقوم بجمع متحولين على الأقل

R = A + B è R = 8

الطرح

-

يقوم بطرح المتحولات

R = A – B è R = 2

الضرب

*

يقوم بضرب المتحولات ببعضها البعض

R = A*B è R = 15

القسمة

/

لقسمة المتحولات*

R = A/B è R = 1

باقي القسمة

%

لإظهار باقي قسمة عددين صحيحين حصراً

R = A%B è R = 2

معامل الإسناد

=

الأمثلة السابقة كلها تشرح عمل معامل الإسناد

معامل الأقواس

( )

تستخدم لتحديد أولوية معالجة العمليات

R = (A+B)*C è R = 80

 

* في حال تم استخدام معامل القسمة مع أعداد صحيحة فإن ما بعد الفاصلة ستهمل من النتيجة, و كي لا تهمل الفاصلة يجب أن تكون المتحولات من النمط الذي يقبل الفاصلة أي من النمط float أو double

 

2. المعاملات المنطقية Logical Operators

     تقوم المعاملات المنطقية بالمقارنة بين شيئين و بما أنها منطقية فإنها تعيد فقط أحد النتيجتين التاليتين فإذا كانت المقارنة صحيحة تعيد القيمة true أو 1 و إذا كانت المقارنة خاطئة فإنها تعيد القيمة false أو 0

 

اسم المعامل

رمزه

وظيفته

مثال

أكبر تماماً من

<

المقارنة

R = A>B è R = 1

أصغر تماماً من

>

المقارنة

R = A<B è R = 0

أكبر أو يساوي

=<

للمقارنة

R = A >= B è R = 1

أصغر أو يساوي

=>

للمقارنة

R = A <= B è R = 0

المساواة

==

للمقارنة

R = A == B è R = 0

عدم المساواة

=!

للمقارنة

R = A != B è R = 0

و

&&

تستخدم للتحقق من صحة شرطين معاً فإذا كان كلاهما صحيحاً يكون الناتج 1 أو true أما إذا كان أحدهما على الأقل خطأ فإنه يعيد القيمة 0 أو false

أو

||

تستخدم للتحقق من صحة شرط واحد على الأقل, فإذا كان أحدهما أو كلاهما صحيحاً يكون الناتج 1 أو true حتى لو كان الثاني خاطئ أما إذا كان كليهما شرطين خاطئين فإنه يعيد القيمة 0 أو false

 

     في كل من الأمثلة السابقة يتم تخزين نتيجة المقارنة في المتحول R فالمقارنة الأولى كانت نتيجة المقارنة صحيحة فتم تخزين القيمة 1 في المتحول R و في المقارنة الثانية كانت نتيجة المقارنة خاطئة فتم تخزين القيمة 0 في المتحول R سنذكر هنا مثالاً على && و ||

R = (A > B) && (C != 13 ) è R = 1 ;

     لدينا هنا شرطين, الأول سيتحقق من أن المتحول A يحوي قيمة أكبر تماماً من المتحول B و الشرط الثاني سيتحقق من أن المتحول C يحوي قيمة لا تساوي من العدد 13 فإذا كان كلا الشرطين صحيح فسيخزن في المتحول R القيمة 1 و إذا كان أحد الشرطين على الأقل خطأ فسيتم تخزين القيمة 0 في المتحول R

R = (A == B) || (C <= 13) è R = 1 ;

     لدينا هنا شرطين, الأول سيتحقق من أن المتحول A يساوي المتحول B و الشرط الثاني سيتحقق من أن المتحول C يحوي قيمة أصغر أو تساوي العدد 13 فإذا كان أحد الشرطين على الأقل صحيح فسيخزن في المتحول R القيمة 1 و إذا كان كلا الشرطين خاطئ فسيتم تخزين القيمة 0 في المتحول R

 

بقي لدينا نوعين من المعاملات وهما

3. المعاملات الأحادية Unary Operators

4. المعاملات على مستوى البت Bit-Wise Operators

و سنتكلم عنهما في الدروس القادمة إن شاء الله تعالى

  • Currently 75/5 Stars.
  • 1 2 3 4 5
25 تصويتات / 446 مشاهدة
نشرت فى 15 فبراير 2006 بواسطة mara

ساحة النقاش

عدد زيارات الموقع

946,059