بولین ها (Booleans) در زبان C

هرگاه نیاز به داده ای داشتیم که تنها دو مقدار را برگرداند از نوع بولین (Booleans) استفاده می کنیم.

  • (درست - نادرست)
  • (بله - خیر)
  • (0 - 1)

بولین ها قابلیت نمایش صحیح یا غلط بودن را دارند.

متغیرهای بولین (Booleans)

از آنجایی که متغیرهای بولین (Booleans) در کتابخانه #include <stdio.h> تعریف نشده اند، باید برای استفاده از این نوع داده حتما کتابخانه #include <stdbool.h> را اضافه کنید.

برای تعیین نوع متغیرهای بولین (booleans) از مشخصه bool استفاده می کنند.

bool isProgrammingFun = true;

bool isFishTasty = false;

نوع داده های بولین (Booleans) مقدار عدد صحیح را بر می گرداند، پس برای نمایش آن باید از تعیین کننده قالب %d استفاده کنید.

همچنین عدد 1 (هر عددی بغیر از 0) مقدار True را بر می گرداند و عدد 0 مقدار False را بر می گرداند.

#include <stdio.h>
#include <stdbool.h>  //  فراخوانی کتابخانه بولین

int main() {
  bool isProgrammingFun = true;
  bool isFishTasty = false;
  printf("%d\n", isProgrammingFun);  // مقدار 1 (صحیح) را بر می گرداند
  printf("%d", isFishTasty);         // مقدار 0 (غلط) را بر می گرداند
  
  return 0;
}

مقایسه مقادیر و متغیرها

در زبان های برنامه نویسی، یافتن پاسخ صحیح در تصمیم گیری های برنامه تاثیر زیادی داشته و دقت برنامه نوشته شده را افزایش می دهد.

به عنوان مثال از عملگر بزرگتر ( > ) برای مقایسه دو مقدار استفاده می کنیم.

#include <stdio.h>

int main() {
  printf("%d", 10 > 9);  //مقدار 1 را بر می گرداند چون مقدار 10 بزرگتر از 9 است
  
  return 0;
}

در مثال بالا دیدیم که مقدار برگشتی بولی عدد 1 می باشد.

همچنین می توان دو متغیر را مقایسه کرد.

#include <stdio.h>

int main() {
  int x = 10;
  int y = 9;
  
  printf("%d", x > y); // مقدار 1 را برمی گرداند چون عدد 10 از 9 بزرگتر است
  return 0;
}

برای مقایسه مقادیر مختلف می توان از عملگر انتساب ( == ) هم استفاده کرد.

#include <stdio.h>

int main() {
  printf("%d\n", 10 == 10); // مقدار 1 را بر می گرداند چون مقدار 10 مساوی با 10 است
  printf("%d\n", 10 == 15); // مقدار 0 را بر می گرداند چون مقدار 10 با 15 برابر نیست
  printf("%d", 5 == 55); // مقدار 0 را بر می گرداند چون مدار 5 مساوی با 55 نیست
  
  return 0;
}

همچنین بغیر از اعداد می توان آرایه ها و حتی ساختارهای خاص را با هم مقایسه کرد.

#include <stdio.h>
#include <stdbool.h>  // فراخوانی کتابخانه بولین

int main() {
  bool isHamburgerTasty = true;
  bool isPizzaTasty = true;
  printf("%d", isHamburgerTasty == isPizzaTasty);
  
  return 0;
}

فراموش نکنید که هنگام استفاده از متغیرهای نوع bool حتما کتابخانه #include <stdbool.h> را به پروژه خود اضافه کنید.

تمرین

نتیجه مثال زیر را بنویسید.

printf("%d", 15 > 5);

مشاهده پاسخ
توسعه دهندگان
امین آهن کوبی