1. المقدمة
لغة C من اللغات الأساسية التي يجب تعلمها عند دراسة البرمجة. من بين الأنواع الهامة فيها هو النوع bool
، والذي لا غنى عنه في بناء الجمل الشرطية والحلقات التكرارية وغيرها من هياكل التحكم. في هذه المقالة، سنستعرض أساسيات استخدام نوع bool
في لغة C مع أمثلة عملية، بهدف تعزيز فهم المبتدئين والمستوى المتوسط.
2. ما هو نوع bool
؟
2.1 التعريف والخصائص
نوع bool
هو نوع بيانات يمكن أن يحمل قيمتين فقط: صحيح (true
) أو خطأ (false
). يسمى أيضاً بالقيمة المنطقية ويستخدم للحكم على الشروط في الجمل الشرطية والحلقات. تم إدخال نوع bool
في لغة C مع معيار C99؛ وقبل ذلك، كان يتم استخدام الأنواع العددية للتعبير عن القيم المنطقية.
2.2 إدخال نوع bool
في لغة C
لاستخدام نوع bool
في لغة C، يجب تضمين ملف الترويسة <stdbool.h>
. بعد إدراجه، يمكن استخدام الكلمات المحجوزة bool
، true
، وfalse
.
#include <stdbool.h>
bool isProgrammingFun = true;
bool isFishTasty = false;
المتغيرات من نوع bool
المعلنة بهذه الطريقة يمكن أن تحمل القيم true
أو false
.
3. كيفية استخدام نوع bool
في لغة C
3.1 التصريح والتهيئة
للتصريح عن متغير من نوع bool
، استخدم الكلمة المفتاحية bool
، ويُنصح بتهيئته مباشرةً بقيمة true
أو false
.
bool isProgrammingFun = true;
bool isFishTasty = false;
في المثال أعلاه، تم تخزين true
في isProgrammingFun
وfalse
في isFishTasty
.
3.2 كيفية إخراج قيمة نوع bool
عند إخراج قيمة متغير من نوع bool
في لغة C، يتم تمثيله كعدد صحيح: true
يعادل 1
وfalse
يعادل 0
. لذا عند استخدام دالة printf
، استخدم %d
.
printf("%d", isProgrammingFun); // يطبع 1 (true)
printf("%d", isFishTasty); // يطبع 0 (false)
من المفيد تذكر أن قيم bool
تظهر على شكل 1
أو 0
عند الإخراج.
4. نوع bool
وعوامل المقارنة
4.1 عوامل المقارنة الأساسية
غالباً ما ينتج نوع bool
عن استخدام عوامل المقارنة في التعبيرات الشرطية. من أشهر عوامل المقارنة: >
، <
، ==
وغيرها. عند استخدامها، ينتج عنها قيمة true
أو false
.
printf("%d", 10 > 9); // يطبع 1 (true)
printf("%d", 5 == 5); // يطبع 1 (true)
printf("%d", 3 < 2); // يطبع 0 (false)
4.2 أمثلة عملية
دعنا نرى مثالاً باستخدام جملة if
. إذا تحقق الشرط داخل if
وكانت القيمة true
، يتم تنفيذ الكود داخل البلوك.
int x = 10;
int y = 9;
if (x > y) {
printf("x أكبر من y
");
} else {
printf("x أصغر من أو يساوي y
");
}
في هذا المثال، حيث x
أكبر من y
، سيتم طباعة “x أكبر من y”.

5. استخدام نوع bool
في الدوال
5.1 الاستخدام كقيمة إرجاع
يمكن استخدام نوع bool
كقيمة إرجاع في الدوال. على سبيل المثال، عند التحقق مما إذا كان العدد زوجياً يمكننا كتابة دالة تُرجع bool
.
#include <stdbool.h>
bool isEven(int number) {
return number % 2 == 0;
}
int main() {
printf("%d
", isEven(4)); // يطبع 1 (true)
printf("%d
", isEven(7)); // يطبع 0 (false)
return 0;
}
هذه الدالة تعيد true
(أي 1) إذا كان العدد زوجياً، وfalse
(أي 0) إذا كان فردياً.
5.2 أمثلة متقدمة
يُستخدم النوع المنطقي في التحقق من صحة النماذج أو في العمليات المتعلقة بالأمان، مثلاً عند التأكد ما إذا كانت بيانات المستخدم تحقق شروطاً معينة.
bool isValidAge(int age) {
return age >= 18;
}
هذه الدالة تتحقق مما إذا كان العمر 18 عاماً أو أكثر.
6. أمثلة تطبيقية على نوع bool
6.1 التعلم الآلي والذكاء الاصطناعي
يُستخدم النوع المنطقي أيضاً في مجالات التعلم الآلي والذكاء الاصطناعي عند اتخاذ قرارات بناءً على الشروط. مثلاً، عند تحديد ما إذا كانت الصورة تحتوي على قطة أم لا، يُستخدم نوع bool
للحكم على الشرط.
6.2 مثال عملي على الكود
لنرى مثالاً عملياً على التحقق من سن التصويت.
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("أنت تبلغ من العمر ما يكفي للتصويت!
");
} else {
printf("عمرك غير كافٍ للتصويت.
");
}
في هذا المثال، بما أن myAge
أكبر من votingAge
، ستتم طباعة “أنت تبلغ من العمر ما يكفي للتصويت!”.
7. الخلاصة
نوع bool
هو من الأنواع الأساسية لإجراء الشروط والحلقات في لغة C. في هذه المقالة، استعرضنا أساسيات استخدام نوع bool
، الجمع بينه وبين عوامل المقارنة، واستخدامه في الدوال. مع هذه المعلومات، ستتمكن من بناء برامج أكثر تعقيداً وكفاءة.