قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 10:49 PM المشاركة 33   
افتراضي




1- عوامل المقارنة Relational Operators :
تستخدم عوامل المقارنة فى "اختبار" عبارات التساوى أو عدم التساوى . إذا تم تقييم عبارة على أنها صواب true , فتكون نتيجتها (عائدها) بواحد وإلا كان عائدها بصفر .
جميع معاملات المقارنة مرتبطة من اليسار لليمين .
تستخدم عوامل المقارنة فى "مقارنة العبارات " , وتستخدم على نطاق واسع فى "مقارنة الشروط التى تتحكم فى مسار تنفيذ البرنامج" , لذلك فإن هذه العوامل غالبا ما تدخل فى بناء عبارات الشرط .



ملحوظة :
  • تم تصميم العوامل الحسابية وعوامل المقارنة بطريق بحيث تسمح بالعبارات المعقدة بدون استخدام أقواس كما فى المثال التالى :

كود:
a + 5 >= c - 1.0 / e   /* → (a + 5) >= (c - (1.0 / e)) */
· لا تنسى أن عائد عوامل المقارنة إما صفر أو واحد كما فى الأمثلة التالية :
كود:
/* ok: */ 5 > 7 /* returns 0 */ 10 <= 20 /* returns 1 */ /* this can be tricky: */ 8 == 13 > 5 /* returns 0, as: 8 == (13 > 5) → 8 == 1 → 0 */ 14 > 5 < 3 /* returns 1, as: (14 > 5) < 3 → 1 < 3 → 1 */ a < b < 5 /* returns 1, as: (a < b) < 5 → (0 or 1) < 5 → 1*/


اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 10:52 PM المشاركة 34   
افتراضي



1- عوامل العمليات المنطقية أو البولية Boolean or logical operators :
معاملات Operands العمليات المنطقية إما أن تكون واحد true أو صفر false أى غير- الصفر أو صفر . دائما تكون نتيجة (عائد) العوامل المنطقية بواحد أو بصفر . المعاملات فى العبارات المنطقية يجب أن تكون بدن إشارة .
العوامل المنطقية ( AND&& ) و (OR|| ) مرتبطة من اليسار لليمين . عامل النفى المنطقى ! مرتبط من اليمين لليسار .
ملاحظات :
  • العوامل المنطقية أو البولية ذات أهمية كبرى فى إنشاء اختبارات الشرط .
  • أسبقية العوامل المنطقية والعوامل الحسابية وعوامل المقارنة مصممة بطريقة تسمح بعبارات معقدة بدون استخدام الأقواس كما فى الأمثلة التالية :
كود:
c >= '0' && c <= '9';             /* reads as: (c >= '0') && (c <= '9') */
a + 1 == b || ! f(x);                /* reads as: ((a + 1) == b) || (! (f(x))) */
كود:
· المنطق AND && يعود بواحد فقط إذا كان تقييم كلا العبارتين بغير الصفر وإلا عاد بصفر . إذا تم تقييم العبارة الأولى بصفر false فإنه لن يتم تقييم العبارة الثانية كما فى المثال التالى :
a > b && c < d; /* reads as (a > b) && (c < d) */ /* if (a > b) is false (0), (c < d) will not be evaluated */

· المنطق OR || يعود بواحد إذا كان تقييم أى من العبارتين بغير الصفر وإلا عاد بصفر . إذا تم تقييم العبارة الأولى بصواب true فلن يتم تقييم العبارة الثانية كما فى المثال التالى :
كود:
a && b || c && d; /* reads as: (a && b) || (c && d) */ /* if (a && b) is true (1), (c && d) will not be evaluated */
· القاعدة العامة لقراءة العبارات المنطقية المعقدة هى : إن تقييم المعاملات المنطقية المتتابعة سوف يقف عند اللحظة التى يعرف فيها التقييم النهائى . على سبيل المثال إذا كان لدينا العبارة

a && b && c حيث a=0 , عندئذ فإن المعامل b والمعامل c لن يتم تقييمهما . وهذا مهم للغاية إذا كان اللعبارة b والعبارة c لها تأثير جانبى فإنه لن يتم لذلك يجب أخذ الحيطة عند ترتيب العوامل .
  • عن طريق هذه العوامل يمكننا عمل علاقات نسبية لشروط مختلفة فى نفس الاختبار المنطقى كما يلى

كود:
if (c = 10 && b = 5) c = 5; /* condition test : true: if the variable "c" is" equal to 10)"and "the variable b = 5" then "c" will take the value 5.*/ if (c> 0 || a == 0) b = a; /*condition test : true: if the "variable "c" is greater than 0" or ""a" equal to 0" then ""b" is equal to the variable "a" .*/ if (! a) b = c; /* condition test : true: if "the variable "a" is not equal to 0" then, "the variable "b" takes on the value of the variable "c"".
لاحظ أننا نستخدم عامل النفى "!" NOT , لذلك فإن المتغير "a" يأخذ القيمة true حيث أن قيمته بصفر .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 11:01 PM المشاركة 35   
افتراضي



1- عوامل العمليات بين البتات المفردةBit –Bit Operators أو bitwise operators
تستخدم عوامل البتات المفردة فى "تعديل بتات المعاملات العددية بشكل فردى أى كل بت على حدة " .
عوامل البتات المفردة مرتبطة من اليسار لليمين . الاستثناء الوحيد هو عامل البت المفردة الخاص بالنفى أو المكمل complement operator ~ حيث يرتبط من اليمين لليسار .

عوامل البت المفردة &, | , ^ تقوم بتنفيذ العمليات المنطقية على زوج البتات المتناظر فى كل من معاملاتها . العامل ~ يكمل أو يتمم complements كل بت بمعامله فإن كانت البت بواحد يحولها إلى الصفر وأن كانت بصفر يحولها إلى الواحد .
مثال :

كود:
0x1234 & 0x5678 /* equals 0x1230 */ /* because .. 0x1234 : 0001 0010 0011 0100 0x5678 : 0101 0110 0111 1000 ---------------------------- & : 0001 0010 0011 0000 .. that is, 0x1230 */ /* Similarly: */ 0x1234 | 0x5678; /* equals 0x567C */ 0x1234 ^ 0x5678; /* equals 0x444C */ ~ 0x1234; /* equals 0xEDCB */

ملحوظة : يمكن أن يستخدم العامل & كمؤشر pointer.
تستخدم عوامل العمليات بين البتات المفردة فى تنفيذ "العمليات المنطقية" بين عناصر أو متغيرات .
أ‌- العامل " و" AND :
يتم تنفيذ العملية المنطقية AND على كل بت على حدة من المعاملات operands (الموجودة كطرفين للعامل) .
نستخدم هذا العامل بكثرة فى عملية إخفاء AND "mask" البايت , من أجل تمكين enable أو عدم تمكين disable " البتات التى نريدها فقط " كما فى المثال التالى :


كود:
int, b;
a = 100;
b = 28;
a = a & b;
تتم عملية AND كما يلى :


كود:
a = 100 ---->    01100100              
AND (&)
b = 28 ---->     00011100
___________________
Result =          00000100        // or 4 decimal – only one bit – mask others


كود:

ب‌- العامل أو OR Operator (|) :
العامل OR سهل للغاية بالمقارنة بالعامل AND , أيضا عمله ينفذ على كل بت على حدة من بتات المعاملات كما فى المثال التالى :

كود:
int, b;
a = 100;
b = 28;
a = a | b;

تتم عملية OR كما يلى :

كود:
a = 100 ---->    01100100
OR (|)
b = 28 ---->     00011100
___________________
Result =          01111100 // or 124 decimal





ت‌- عامل "أو المنفردة أو الحصرية" XOR operator (^) :
يستخدم العامل XOR على نطاق واسع فى المقارنة بين القيم , لأن فى عملياته المنطقية , سوف تكون النتيجة صواب true (logic 1) فقط "إذا كان أحد وفقط أحد طرفى المقارنة صواب true " كما فى المثال التالى :
كود:
int, b;
a = 100;
b = 28;
a = a ^ b;

تتم عملية XOR كما يلى :


كود:
a = 100 ---->    01100100
XOR (^)
b = 28 ---->     00011100
___________________
Result =          01111000 // or 120 decimal



ث‌- عامل النفى أو المعكوس NOT operator (~) :
يقوم عامل النفى NOT " بعكس حالة كل بت من المعامل الذى يليه كما فى المثال التالى :


كود:
int a, b, c;
a = 1;
b = 1;
b = ~ a
~ c = b

يتم تنفيذ عملية النفى كما يلى

كود:
a = 0B00000001; NOT "a" ----> 0b11111110;
b = 0b00000001; NOT "b" ----> 0b11111110;



ج‌- عوامل الإزاحة جهة اليمين وجهة اليسار shift operator << >> :
عوامل الإزاحة << , >> ثنائية المعاملات و"تحرك move بتات "المعامل الأيسر" بعدد من المواضع المحددة "بالمعامل الأيمن" جهة اليسار أو جهة اليمين على الترتيب . المعامل الأيمن يجب أن يكون موجبا .
عند استخدام عامل الإزاحة جهة اليسار (<<) , فإن "أبعد بتات جهة اليسار سوف يتم التخلص منها والبتات الجديدة (التى أصبحت خالية) جهة اليمين يخصص لها أصفار " . نتيجة لذلك فإن "إزاحة معامل جهة اليسار بعدد n موقع" يكافىء "ضرب هذا المعامل فى 2n إذا كانت جميع البتات التى تم التخلص منها بأصفار .
عند استخدام عامل الإزاحة جهة اليمين (>>) , فإن "أبعد بتات جهة اليمين سوف يتم التخلص منها والبتات التى أصبحت خالية جهة اليسار يخصص لها أصفار " . نتيجة لذلك فإن "إزاحة معامل جهة اليمين بعدد n موقع" يكافىء "قسمة هذا المعامل فى 2n إذا كانت جميع البتات التى تم التخلص منها بأصفار .

مثال :
كود:
int a, b, c;
a = 10;
b = 10;
b = a >> 2;
c =b<< 5;

فى هذا المثال تم إزاحة قيم بتات المتغير "a" لموقعين جهة اليمين بينما تم إزاحة بتات المتغير " b " لخمس مواقع جهة اليسار .

تتم عملية الإزاحة كما يلى :
كود:
variable // ----> 00001010 - value 10 in binary >> // ----> 00000101 - value 5 in binary




مقارنة بين عوامل البتات المفردة والعوامل المنطقية Bitwise vs. Logical :

يجب أن تكون على علم تام بالأختلاف الأساسى بين عمل كل من عوامل البتات المفردة والعوامل المنطقية .

مثال :


كود:

0222222 & 0555555; /* equals 000000 -bitwise AND >>> 5=101 & 2 =010 =0*/ 0222222 && 0555555; /* equals 1- Logical AND && returns 1 only if both expressions evaluate to be nonzero*/ ~ 0x1234; /* equals 0xEDCB >>> 0xE=~0x1,0xD=~0x2 … bitwise complement (unary); inverts each bit */ ! 0x1234; /* equals 0 >>> logical negation, negation of non-zero is zero-Logical operators always return 1 or 0 */


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 11:02 PM المشاركة 36   
افتراضي



1- عوامل العمليات بين البتات المفردةBit –Bit Operators أو bitwise operators
تستخدم عوامل البتات المفردة فى "تعديل بتات المعاملات العددية بشكل فردى أى كل بت على حدة " .
عوامل البتات المفردة مرتبطة من اليسار لليمين . الاستثناء الوحيد هو عامل البت المفردة الخاص بالنفى أو المكمل complement operator ~ حيث يرتبط من اليمين لليسار .

عوامل البت المفردة &, | , ^ تقوم بتنفيذ العمليات المنطقية على زوج البتات المتناظر فى كل من معاملاتها . العامل ~ يكمل أو يتمم complements كل بت بمعامله فإن كانت البت بواحد يحولها إلى الصفر وأن كانت بصفر يحولها إلى الواحد .
مثال :

كود:
0x1234 & 0x5678 /* equals 0x1230 */ /* because .. 0x1234 : 0001 0010 0011 0100 0x5678 : 0101 0110 0111 1000 ---------------------------- & : 0001 0010 0011 0000 .. that is, 0x1230 */ /* Similarly: */ 0x1234 | 0x5678; /* equals 0x567C */ 0x1234 ^ 0x5678; /* equals 0x444C */ ~ 0x1234; /* equals 0xEDCB */

ملحوظة : يمكن أن يستخدم العامل & كمؤشر pointer.
تستخدم عوامل العمليات بين البتات المفردة فى تنفيذ "العمليات المنطقية" بين عناصر أو متغيرات .
أ‌- العامل " و" AND :
يتم تنفيذ العملية المنطقية AND على كل بت على حدة من المعاملات operands (الموجودة كطرفين للعامل) .
نستخدم هذا العامل بكثرة فى عملية إخفاء AND "mask" البايت , من أجل تمكين enable أو عدم تمكين disable " البتات التى نريدها فقط " كما فى المثال التالى :


كود:
int, b;
a = 100;
b = 28;
a = a & b;
تتم عملية AND كما يلى :


كود:
a = 100 ---->    01100100              
AND (&)
b = 28 ---->     00011100
___________________
Result =          00000100        // or 4 decimal – only one bit – mask others


كود:

ب‌- العامل أو OR Operator (|) :
العامل OR سهل للغاية بالمقارنة بالعامل AND , أيضا عمله ينفذ على كل بت على حدة من بتات المعاملات كما فى المثال التالى :

كود:
int, b;
a = 100;
b = 28;
a = a | b;

تتم عملية OR كما يلى :

كود:
a = 100 ---->    01100100
OR (|)
b = 28 ---->     00011100
___________________
Result =          01111100 // or 124 decimal





ت‌- عامل "أو المنفردة أو الحصرية" XOR operator (^) :
يستخدم العامل XOR على نطاق واسع فى المقارنة بين القيم , لأن فى عملياته المنطقية , سوف تكون النتيجة صواب true (logic 1) فقط "إذا كان أحد وفقط أحد طرفى المقارنة صواب true " كما فى المثال التالى :
كود:
int, b;
a = 100;
b = 28;
a = a ^ b;

تتم عملية XOR كما يلى :


كود:
a = 100 ---->    01100100
XOR (^)
b = 28 ---->     00011100
___________________
Result =          01111000 // or 120 decimal



ث‌- عامل النفى أو المعكوس NOT operator (~) :
يقوم عامل النفى NOT " بعكس حالة كل بت من المعامل الذى يليه كما فى المثال التالى :


كود:
int a, b, c;
a = 1;
b = 1;
b = ~ a
~ c = b

يتم تنفيذ عملية النفى كما يلى

كود:
a = 0B00000001; NOT "a" ----> 0b11111110;
b = 0b00000001; NOT "b" ----> 0b11111110;




الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 11:06 PM المشاركة 37   
افتراضي



1- عوامل العمليات بين البتات المفردةBit –Bit Operators أو bitwise operators
تستخدم عوامل البتات المفردة فى "تعديل بتات المعاملات العددية بشكل فردى أى كل بت على حدة " .
عوامل البتات المفردة مرتبطة من اليسار لليمين . الاستثناء الوحيد هو عامل البت المفردة الخاص بالنفى أو المكمل complement operator ~ حيث يرتبط من اليمين لليسار .







عوامل البت المفردة &, | , ^ تقوم بتنفيذ العمليات المنطقية على زوج البتات المتناظر فى كل من معاملاتها . العامل ~ يكمل أو يتمم complements كل بت بمعامله فإن كانت البت بواحد يحولها إلى الصفر وأن كانت بصفر يحولها إلى الواحد .
مثال :

كود:
0x1234 & 0x5678 /* equals 0x1230 */
/* because ..
0x1234 : 0001 0010 0011 0100 0x5678 : 0101 0110 0111 1000 ---------------------------- & : 0001 0010 0011 0000
.. that is, 0x1230 */
/* Similarly: */
0x1234 | 0x5678; /* equals 0x567C */ 0x1234 ^ 0x5678; /* equals 0x444C */ ~ 0x1234; /* equals 0xEDCB */


ملحوظة : يمكن أن يستخدم العامل & كمؤشر pointer.
تستخدم عوامل العمليات بين البتات المفردة فى تنفيذ "العمليات المنطقية" بين عناصر أو متغيرات .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 17-03-2012, 11:11 PM المشاركة 38   
افتراضي


أ‌- العامل " و" AND :
يتم تنفيذ العملية المنطقية AND على كل بت على حدة من المعاملات operands (الموجودة كطرفين للعامل) .
نستخدم هذا العامل بكثرة فى عملية إخفاء AND "mask" البايت , من أجل تمكين enable أو عدم تمكين disable " البتات التى نريدها فقط " كما فى المثال التالى :



كود:
int, b; a = 100; b = 28; a = a & b;
تتم عملية AND كما يلى :



كود:
a = 100 ----> 01100100 AND (&) b = 28 ----> 00011100 ___________________ Result = 00000100 // or 4 decimal – only one bit – mask others

ب‌- العامل أو OR Operator (|) :
العامل OR سهل للغاية بالمقارنة بالعامل AND , أيضا عمله ينفذ على كل بت على حدة من بتات المعاملات كما فى المثال التالى :

كود:
int, b; a = 100; b = 28; a = a | b;
تتم عملية OR كما يلى :

كود:
a = 100 ----> 01100100 OR (|) b = 28 ----> 00011100 ___________________ Result = 01111100 // or 124 decimal

ت‌- عامل "أو المنفردة أو الحصرية" XOR operator (^) :
يستخدم العامل XOR على نطاق واسع فى المقارنة بين القيم , لأن فى عملياته المنطقية , سوف تكون النتيجة صواب true (logic 1) فقط "إذا كان أحد وفقط أحد طرفى المقارنة صواب true " كما فى المثال التالى :
كود:
int, b; a = 100; b = 28; a = a ^ b;
تتم عملية XOR كما يلى :


كود:
a = 100 ----> 01100100 XOR (^) b = 28 ----> 00011100 ___________________ Result = 01111000 // or 120 decimal
ث‌- عامل النفى أو المعكوس NOT operator (~) :
يقوم عامل النفى NOT " بعكس حالة كل بت من المعامل الذى يليه كما فى المثال التالى :


كود:
int a, b, c; a = 1; b = 1; b = ~ a ~ c = b
يتم تنفيذ عملية النفى كما يلى

كود:
a = 0B00000001; NOT "a" ----> 0b11111110; b = 0b00000001; NOT "b" ----> 0b11111110;



ج‌- عوامل الإزاحة جهة اليمين وجهة اليسار shift operator << >> :
عوامل الإزاحة << , >> ثنائية المعاملات و"تحرك move بتات "المعامل الأيسر" بعدد من المواضع المحددة "بالمعامل الأيمن" جهة اليسار أو جهة اليمين على الترتيب . المعامل الأيمن يجب أن يكون موجبا .
عند استخدام عامل الإزاحة جهة اليسار (<<) , فإن "أبعد بتات جهة اليسار سوف يتم التخلص منها والبتات الجديدة (التى أصبحت خالية) جهة اليمين يخصص لها أصفار " . نتيجة لذلك فإن "إزاحة معامل جهة اليسار بعدد n موقع" يكافىء "ضرب هذا المعامل فى 2n إذا كانت جميع البتات التى تم التخلص منها بأصفار .
عند استخدام عامل الإزاحة جهة اليمين (>>) , فإن "أبعد بتات جهة اليمين سوف يتم التخلص منها والبتات التى أصبحت خالية جهة اليسار يخصص لها أصفار " . نتيجة لذلك فإن "إزاحة معامل جهة اليمين بعدد n موقع" يكافىء "قسمة هذا المعامل فى 2n إذا كانت جميع البتات التى تم التخلص منها بأصفار .

مثال :
كود:
int a, b, c; a = 10; b = 10; b = a >> 2; c =b<< 5;

فى هذا المثال تم إزاحة قيم بتات المتغير "a" لموقعين جهة اليمين بينما تم إزاحة بتات المتغير " b " لخمس مواقع جهة اليسار .

تتم عملية الإزاحة كما يلى :
كود:
variable // ----> 00001010 - value 10 in binary >> // ----> 00000101 - value 5 in binary




مقارنة بين عوامل البتات المفردة والعوامل المنطقية Bitwise vs. Logical :

يجب أن تكون على علم تام بالأختلاف الأساسى بين عمل كل من عوامل البتات المفردة والعوامل المنطقية .

مثال :


كود:
 
 
0222222 & 0555555; /* equals 000000 -bitwise AND >>> 5=101 & 2 =010 =0*/
0222222 && 0555555; /* equals 1- Logical AND && returns 1 only if both expressions evaluate to be nonzero*/
~ 0x1234; /* equals 0xEDCB >>> 0xE=~0x1,0xD=~0x2 … bitwise complement (unary); inverts each bit */
! 0x1234; /* equals 0 >>> logical negation, negation of non-zero is zero-Logical operators always return 1 or 0 */


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 18-03-2012, 02:38 AM المشاركة 39   
افتراضي


الدرس السابق فى ملف بصيغة pdf على الرابط :

http://www.eeecb.com/vb/attachment.php?attachmentid=107&d=1332027338


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 18-03-2012, 02:52 AM المشاركة 40   
افتراضي


الدرس الحادى عشر

عبارات التحكم فى مسار تنفيذ البرنامج وحلقات التكرار


Control structures andrepeat loops


عبارات التحكم Control Structures
تستخدم عبارات التحكم فى البرامج فى الأماكن التى تحتاج لتكرار العمليات أو إتخاذ قرار لتحويل مسار تنفيذ البرنامج .

أولا : عبارات إتخاذ القرار باستخدام if
1- عبارة if
تستخدم عبارة if فى تنفيذ "عبارة شرط" . أى أنها عبارة " إتخاذ قرار" decisionإستنادا على النتيجة المنطقية ( true=1 أو false=0 ) لاختبار شرط هذه العبارة .
الصيغة العامة



كود:
if (condition) statement; or if (condition) { block commands};
فى لغة السى , أى عدد "غير الصفر" يعتبر "حقيقى" أو صواب true . هذا يعنى أن الشرط فى لغة السى يعتبر "غير حقيقى " أو خطأ false فقط عندما تكون نتيجة تقييمه (عائده) بصفر (0) . أى قيمة أخرى , حتى لو كانت سالبة تعتبر "حقيقى" true أو غير صفر .
فى عبارة if , إذا كان الشرط (condition)حقيقى (غير صفرى) true (non-zero)فسوف يتم تنفيذ العبارة statementأو مجموعة (بلوك) الأوامر { block commands}, وأن لم يكن , إى عندما تكون نتيجة تقييم الشرط بصفر false (0 zero) فسوف يتم تجاهل العبارة .

مثال :



كود:
void main () { char a = 10; char b = 0; if (a) b --; }
يتم تخصيص القيمة 10 عشرى للمتغير "a"بالنوع char (char a = 10), هذه القيمة تختلف عن الصفر أى أن a=true . بالتالى عند الوصول إلى الأمر if (a) b --; يتم تقييم الشرط (a) فإن كانت النتيجة صواب true , وهو بالفعل صواب , يتم تنفيذ العبارة b – (تناقص المتغير b بواحد )



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:54 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)