recent
أخبار ساخنة

العوامل التي تستخدم في المقارنات لغة السي C

الصفحة الرئيسية
comparison operators c

عمليات المقارنة Comparison Operators لغة سي C

عمليات المقارنة Comparison Operators, و التي يكون ناتج إستخدامها هو إما صح True أو خطأ False فهي لا تحتمل سوى هذين الإحتمالين.

سوف نقوم بتوضيح كل من هذه العمليات في لغة C مع شرح معناها و كيفية إستخدامها.

 

رموز عمليات المقارنة في لغة سي

وجد في لغة السي C ستة عمليات مقارنة Comparison Operators يمكن من خلالها مقارنة قيمتين مع بعضهما البعض بحيث يكون ناتج المقارنة إما صح أو خطأ.

و جميع هذه العمليات تتم بين قيمتين عدديتين و هذه العمليات هي:

  1. علامة المساواة ( == ).
  2. علامة اللامساواة ( =! ).
  3. علامة أكبر من ( < ).
  4. علامة أصغر من ( > ).
  5. علامة أكبر من أو يساوي ( =< ).
  6. علامة اصغر من أو يساوي ( => ).

بالنسبة للمساواة == يكون ناتجها صح True فقط في حال كانت كلتا الحالتين متساويتين تماماً و عدا عن ذلك فالناتج خطأ False.

5 == 4 //False
5 == 5 //True

النسبة لعدم المساواة =! فيكون ناتجها خاطئ False فقط في حال كانت كلتا القيمتين متساويتين تماماً عدا ذلك فالناتج صحيح True أي أنها معاكسة تماماً لمبدأ عملية المساواة كما يلي.

5 != 4 //False
5 != 5 //True

بالنسبة لعملية المقارنة اكبر من < فناتجها يكون صحيح في حال كانت القيمة الأولى من الجهة اليسرى اكبر من القيمة الثانية من الجهة اليمنى.

8 > 2 //True
8 > 8 //False

فهذا هو الإختلاف الرئيسي بين عمليتي اكبر من و اكبر او يساوي =< حيث سيكون الناتج True عند إستخدام عملية اكبر من او يساوي.

8 >= 8 //True

ناتج صحيح لأن 8 تساوي 8.

بالنسبة لعمليتي المقارنة اصغر من > و اصغر او يساوي => فهي مشابهة لمبدأ عمليتي اكبر من و اكبر او يساوي, إلا أنها معاكسة لها.

فعملية اصغر من ناتجها سيكون True في حال كانت القيمة الأولى في الجهة اليسرى اصغر من القيمة الثانية في الجهة اليمنى و عملية => ناتجها True في حال كانت القيمة الأولى اصغر من القيمة الثانية أو انهما متساويان.

 

ماذا نستفيد من ناتج عمليات المقارنة و كيف نستخدمها؟

يمكن إستخدام عمليات المقارنة في الجمل الشرطية كـ جملة if التي تعرَّفنا عليها في الدروس السابقة, كما. يوجد في لغة سي C نوع بيانات خاص يسمى bool و يرمز للمصطلح boolean حيث يحتمل هذا النوع إما True او False.

يمكننا تعريف متغير بيانات bool تماماً بنفس طريقة تعريف اي متغير آخر مثل (int, float).

مثال

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(int argc, char** argv)
{
    int x = 1;
    int y = 5;
    bool var = x == y;
    printf("x==y ? %d",var);
    return 0;
}

قُمنا بإنشاء مُتغيرين و هما x يساوي 1 و مُتغير آخر و هو y يساوي 5 ثم أنشأنا متغير من نوع bool و إسمه var و عيننا له القيمة هي x==y ثم قُمنا بطباعة الـ var.

ونتيجته هي:

x == y ? 0

نلاحظ أنه طَبَعَ لنا القيمة 0 أي تعني False و هي أن 1 لا يساوي الـ 5, أما إذا وضعنا للمتغير x القيمة 5 و المتغير y يبقى نفس القيمة 5 حينها سيتحقق هذا الأمر و يطبع لنا رقم 1 أي True كما بالشكل.

x == y ? 1

قم بزياردة موقع أكاديمية أمن المعلومات من هنا

google-playkhamsatmostaqltradent