الدرس الرابع : دورة تعلم لغة البرمجة C || أهلا وسهلا بكم متابعينا الكرام , نعود اليكم مرة اخرى لكي نكمل رحلتنا في دورة تعلم لغة البرمجة C في درسها الرابع . درسنا لهذا اليوم سيكون سهل وقصير لان أغلب استخداماته لن تكون في المرحلة الحالية بل ستكون في الدروس القادمة بعد تعلم الشروط والتكرار . درسنا لهذا اليوم سيكون حول العمليات المنطقية وبعض العمليات الاخرى .حيث تحدثنا في الدرس السابق عن العمليات في لغة C وذكرنا إنه يوجد نوعين من العمليات الرئيسية وهي العمليات الحسابية والعمليات المنطقية . وتحدثنا عن العمليات الحسابية وجاء الدور لتعلم العمليات المنطقية .
إن المنطق هو علم بحد ذاته ويوجد عشرات الكتب والدورات التي تختص بالمنطق أو الدوائر المنطقية أو الانظمة الرقمية أو الديجيتال سيستم ( digital system ) وقد تتعدد اسماء الكتب واسماء المواضيع لكن النتيجة واحدة . ونحن بدورنا لن نشرح لك الدوائر المنطقية بالتفصيل لاننا سنحتاج الى دورة لهذا الغرض ولكننا سنفترض انك تعرف ولو الاساسيات والتي ستساعدك لكي تجتاز دورتنا بنجاح .
لابد أن تعرف إن المنطق أو الدوائر المنطقية لها قيمتين فقط وهي أما 0 أو 1 أي أما false أو true .
وسنتعلم الجزء الذي سينفعنا في دورتنا فقط , هناك ثلاث عمليات منطقية رئيسية في لغة C وهي :
AND -1
تكتب بالصيغة ( && ) وتقارن بين شرطين أو أكثر ويجب أن تتحقق جميع الشروط لتكون قيمة إرجاعها تساوي 1 أو TRUE وإلا فأن قيمة الارجاع لها هي 0 أو FALSE
مثلاً:
(2<9)&&(6>1)&&(5<7)
هنا قيمة الإرجاع 1 لأن كل الشروط تحققت بشكل صحيح .
(2<9)&&(6>1)&&(5>7)
هنا قيمة الإرجاع 0 لأن هناك شرط واحد لم يتحقق بشكل صحيح .
إلى هنا تنتهي العمليات المنطقية ، وسنوضح بشكل مبسط بعض الأنواع الأخرى من العمليات التي تستخدم بشكل قليل في اللغة وهي :
يقصد بـ bit wise إن العمليات تجري بين البتات . أي إن العملية تجري بين كل بت في المتغير الاول مع البت المقابل له في المتغير الثاني لو أدخلنا رقم في النظام العشري فسوف يتم تحويله الى النظام الثنائي أي ( 0 و 1 ) ثم تجري العملية ثم يحول مرة ثانية الى النظام العشري .
والعمليات هي :
برنامج للتوضيح
إن المنطق هو علم بحد ذاته ويوجد عشرات الكتب والدورات التي تختص بالمنطق أو الدوائر المنطقية أو الانظمة الرقمية أو الديجيتال سيستم ( digital system ) وقد تتعدد اسماء الكتب واسماء المواضيع لكن النتيجة واحدة . ونحن بدورنا لن نشرح لك الدوائر المنطقية بالتفصيل لاننا سنحتاج الى دورة لهذا الغرض ولكننا سنفترض انك تعرف ولو الاساسيات والتي ستساعدك لكي تجتاز دورتنا بنجاح .
لابد أن تعرف إن المنطق أو الدوائر المنطقية لها قيمتين فقط وهي أما 0 أو 1 أي أما false أو true .
وسنتعلم الجزء الذي سينفعنا في دورتنا فقط , هناك ثلاث عمليات منطقية رئيسية في لغة C وهي :
AND -1
تكتب بالصيغة ( && ) وتقارن بين شرطين أو أكثر ويجب أن تتحقق جميع الشروط لتكون قيمة إرجاعها تساوي 1 أو TRUE وإلا فأن قيمة الارجاع لها هي 0 أو FALSE
مثلاً:
(2<9)&&(6>1)&&(5<7)
هنا قيمة الإرجاع 1 لأن كل الشروط تحققت بشكل صحيح .
(2<9)&&(6>1)&&(5>7)
هنا قيمة الإرجاع 0 لأن هناك شرط واحد لم يتحقق بشكل صحيح .
2- OR
تكتب بالصيغة ( || ) وتقارن بين شرطين أو أكثر ويجب أن يتحقق شرط واحد على الأقل لتكون قيمة إرجاعها 1 و إذا لم تتحقق كل الشروط بشكل صحيح يكون إرجاعها 0 .
مثلاً:
(سنأخذ نفس المثال ليكون الفرق أوضح)
(2>9)||(6<1)||(5<7)
هنا قيمة الإرجاع 1 لأن شرط واحد تحقق بشكل صحيح .
(2>9)||(6<1)||(5>7)
هنا قيمة الإرجاع 0 لأن كل الشروط لم تتحقق بشكل صحيح .
NOT -3
تكتب بالصيغة ( ! ) و تكون قيمة إرجاعها دائماً عكس القيمة الحقيقية , فلو مثلاً أخذنا نفس الأمثلة السابقة مع وضع ! فتكون بالشكل:
تكتب بالصيغة ( || ) وتقارن بين شرطين أو أكثر ويجب أن يتحقق شرط واحد على الأقل لتكون قيمة إرجاعها 1 و إذا لم تتحقق كل الشروط بشكل صحيح يكون إرجاعها 0 .
مثلاً:
(سنأخذ نفس المثال ليكون الفرق أوضح)
(2>9)||(6<1)||(5<7)
هنا قيمة الإرجاع 1 لأن شرط واحد تحقق بشكل صحيح .
(2>9)||(6<1)||(5>7)
هنا قيمة الإرجاع 0 لأن كل الشروط لم تتحقق بشكل صحيح .
NOT -3
تكتب بالصيغة ( ! ) و تكون قيمة إرجاعها دائماً عكس القيمة الحقيقية , فلو مثلاً أخذنا نفس الأمثلة السابقة مع وضع ! فتكون بالشكل:
((2<9)&&(6>1)&&(5<7))!
بدون ! كانت قيمة الإرجاع هي 1 أما بعد أن وضعنا ! فإن قيمة إرجاعها تصبح 0 .
( (2>9)||(6<1)||(5>7) ) !
بدون ! كانت قيمة الإرجاع هي 0 أما بعد أن وضعنا ! فإن قيمة إرجاعها تصبح 1 .
بدون ! كانت قيمة الإرجاع هي 1 أما بعد أن وضعنا ! فإن قيمة إرجاعها تصبح 0 .
( (2>9)||(6<1)||(5>7) ) !
بدون ! كانت قيمة الإرجاع هي 0 أما بعد أن وضعنا ! فإن قيمة إرجاعها تصبح 1 .
وهذا مثال لبرنامج بلغة C يوضح جميع الحالات مع ناتج البرنامج .
ملاحظة : اضغط على الصور لظهورها بالحجم الطبيعي .
ملاحظة : اضغط على الصور لظهورها بالحجم الطبيعي .
Assignment operators:
وسنوضح رمز العملية وما يكافئها بالتفصيل ... ولتوضيح هذه العمليات نفرض لدينا المتغيرين x و y
+=
|
x+=y
|
x=x+y
|
-=
|
x-=y
|
x=x-y
|
*=
|
x*=y
|
x=x*y
|
/+
|
x/=y
|
x=x/y
|
%=
|
x%=y
|
x=x%y
|
&=
|
x&=y
|
x=x&y
|
^=
|
x^=y
|
x=x^y
|
.x والناتج يوضع في y مرفوع للأس x العملية الأخيرة تعني
Relational operators:
>
|
x>y
|
؟y
أكبر من x تعني أن هل
|
<
|
x<y
|
؟y
أصغر من x تعني أن هل
|
>=
|
x>=y
|
؟y
أكبر من أو يساوي x تعني أن هل
|
<=
|
x<=y
|
؟y
أصغر من أو يساوي x تعني أن هل
|
==
|
x==y
|
؟y
يساوي x تعني أن هل
|
!=
|
x!=y
|
؟y
لا يساوي x تعني أن هل
|
هذه العمليات سوف تستخدم أكثر في دروس لاحقة
إن شاء الله .
Bit wise operators :
يقصد بـ bit wise إن العمليات تجري بين البتات . أي إن العملية تجري بين كل بت في المتغير الاول مع البت المقابل له في المتغير الثاني لو أدخلنا رقم في النظام العشري فسوف يتم تحويله الى النظام الثنائي أي ( 0 و 1 ) ثم تجري العملية ثم يحول مرة ثانية الى النظام العشري .
والعمليات هي :
&
|
AND
|
x&y
|
|
|
OR
|
x|y
|
~
|
NOT
|
~x
|
^
|
XOR
|
x^y
|
<<
|
Left shift
|
x<<y
|
>>
|
Right shift
|
x>>y
|
0 التعليقات :
إرسال تعليق