القائمة الرئيسية

الصفحات

العمليات الحسابية في لغة سي Arithmetic operators

العمليات الحسابية Arithmetic operators


التعبيرات الرياضية في لغة سي Arithmetic Expression In C Language

يطلق علي اي ترتيب توجد عليه المتغيرات و المؤثرات بما يمثل علاقة يُطلب من البرنامج حساب ناتج لها مصطلح Expression اي تعبير فالعبارة Sum + 12  و العبارة Total / 2 كلها امثلة لتعبيرات و الفارق بين عبارات البرنامج وما تتضمنه من تعبيرات ، أن العبارة هي أمر للجهاز بتنفيذ عمل ما ، وتنتهي بفاصلة منقوطة ( ; )
اما التعبير فعلاقته مطلوب حساب ناتج لها ، يكون في الغالب قيمة حسابية ، وقد تتضمن العبارة عدة تعبيرات ، وتتكون التعبيرات الرياضية Arithmetic Expression من أرقام و متغيرات عددية تربط بينهم العلامات الرياضية مثل
. , + , - , / , *

أولويات تنفيذ العمليات الرياضية

تنفذ العمليات الحسابية طبقاً للأولويات الآتية :

·        الضرب و القسمة
·        الجمع و الطرح

وعندما تكون العمليات لها نفس الأولويات فإن التنفيذ يتم من أقصي اليسار إلي اتجاه اليمين ، وهذه الأسبقيات تنفذ في حالة عدم وجود أقواس في الصيغة الرياضية.

اما في حالة وجود اقواس فإن الأسبقية تكون للأقواس وفي حالة وجود أكثر من قوس فيتم أجراء العمليات الحسابية للأقواس الداخلية ثم الأقواس الخارجية.

مثال ( 1 )


أوجد ناتج التعبيرات الرياضية التالية :
- ( - 3 * ( 5 + 2 * 6 ) ) + ( 3 * 4 + 4 ) / 2
الحل
- ( - 3 * ( 5 + 12 ) ) + ( 3 * 4 + 4 ) / 2
- ( - 3 * 17 ) + ( 3 * 4 + 4 ) / 2
- - 51 + ( 3 * 4 + 4 ) / 2
- - 51 + ( 12  + 4 ) / 2
- - 51 + 16 / 2
51 + 16 / 2
51 + 8
59

مثال ( 2 )

a = 2 + 3 * 4
الحل
a = 2 + 12
a = 14

علماُ أن الرمز = ما هو إلا رمز حسابي Operator وليس علامة يساوي Equation mark ويكون له آخر رتبة في أولويات العمليات الحسابية.

عمليات الزيادة و النقصان Increment Operator


تشتمل لغة سي علي أثنان من المؤثرات الأحادية شائعاً للأستخدام وهما مؤثر زيادة الخطوة ++ Increment Operator
ومؤثر نقصان الخطوة Decrement Operator ، ويقوم مؤثر زيادة الخطوة بزيادة قيمة المتغير بالثابت 1 ، اما مؤثر نقصان الخطوة فينتج عنه طرح المقدار 1 من المتغير

وهي ما يمكن تحقيقة بالصيغة التالية :
i = i + 1;
ويمكن استخدام الصيغة التالية :
i + = 1;
علي انه زيادة في الأختصار ، امدتنا لغة سي C بصيغة أكثر رشاقة :
i ++;
or
++i;
ونتبع نفس الطريقة في حالة النقصان
i = i - 1;
ويمكن استخدام الصيغة التالية :
i--;
or
++i;
ويسمي المؤثر + + "مؤثر التزايد Increment Operator"

كذلك يسمي المؤثر - - "Decrement Operator"

ولهذا المؤثر صورتان للأستخدام ، أما سابق للمتغير prefix او لاحق له Postfix ، واذا استخدمت هذا المؤثر operators داخل معادلة تحتوي علي اكثر من متغير ، فإن موقع العلامات prefix أو Postfix يؤدي إلي اختلاف القيمة الناتجة في كل حاجة.

مثال :

أوجد ناتج البرنامج التالي :
#include <stdio.h>
Void main ()
{
               Int a=10 , b=20;
               Printf(“++a=%d\n”,++a);
               Printf(“b++=%d\n”,b++);
               Printf(“b=%d\n”,b);
}
عند تنفيذ ذلك البرنامج فإن الناتج يكون كالتالي :
++a = 11
b++ = 20
b    = 21

هل اعجبك الموضوع :

تعليقات