الثوابت في لغة ++C

اقرأ في هذا المقال


ما هي الثوابت في لغة ++C؟

الثوابت (Constants): هي عبارة عن قيم ثابتة لا تتغير قيمتها طوال فترة تنفيذ البرنامج، أيّ تُصبح قابلة للقراءة فقط، وتنقسم إلى ثوابت عددية وثوابت رمزية.

أنواع الثوابت:

1- الثوابت العددية:

وتشتمل على:

  1. الثابت العددي الصحيح(Integer): مثل الأعداد 1 و -6 و+7.700.
  2. الثابت العددي الحقيقي(Float): مثل 17.5 و+655.3 و-636.9.

2- الثوابت الرمزية:

وهي عبارة عن رموز اللغة، وتتكوّن من الحروف والأرقام، وتكون بين علامتي تنصيص مثل: (“Tamara” – “2001” – “T” – “2+6 – “$”)

يُمكن أن تكون الثوابت عدد، حرف، رمز، أو نص، حيث لا يُمكن تغيّر قيمتها. وفي بعض الأحيان نحتاج أن نستخدم قيم قد تكون معروفة مسبقًا قبل تنفيذ البرنامج، ولا يُمكن أن تتغير هذه القيمة داخل البرنامج، مثل النسبة الثابتة باي({\displaystyle {\pi }}) والتي تبلغ قيمتها التقريبية (3.14159)، هذه القيم الثابتة سواء أكانت ذات قيمة معروفة مسبقًا، أو أيّ قيمة مُمكن أن تستند إلى متغير، جميعها مُمكن أن يعلن عنها في أيّ مكان من جسم البرنامج بأكثر من طريقة.

ملاحظة: المعرّفات التي تُعرف على أنها ثوابت لا يُمكن أن تتغير قيَمُها أثناء تنفيذ البرنامج بأيّ شكل من الأشكال.

كيفية الإعلان عن الثابت:

الطريقة الأولى وتكون باستخدام (Const):

وهي تسبق أنواع البيانات لتعرِّف واحد أو أكثر من المتغيرات على أنها ثابتة، حيث تبدأ الجملة بكلمة (Const)، ثمّ يذكر نوع التمغيّر ثم اسمه بحيث يفصل بينهما فراغ ثم علامة – وبعدها قيمة الثابت، وتنتهي الجملة بفاصلة منقوطة.
مثال على ذلك: ;Const Float Pi=3.14.

الطريقة الثانية باستخدام Define#:

حيث تقوم بتعريف رموز كثوابت، وبالرغم من عدم شيوع استخدام هذا الهيكل في لغة (++C)، ولكن بالإمكان استخدامه لتعريف المتغيرات الحسابية أو الرمزية في بداية البرنامج، وتعوض قيمتها الحسابية أو الرمزية في أيّ مكان تذكر فيه هذه الأسماء في البرنامج وتستخدم الحروف الأبجدية الكبيرة عادة لتعريف أسماء هذه المتغيرات، مثال:

  • 1- define EOE#.
  • define TRUE 1 #.

الشكل العام (Public format):

#define Constant value:

;Step 1: #define MAX 97
()Step 2: main
} :Step 3
;Step 4: cout<<MAX
{:Step5
سوف يكون الناتج: 100

ملاحظة:هذا الهيكل شائع في لغة (C)، وإنَّ كل ما هو موجود في لغة (C) مُمكن استخدامه في لغة (++C)، والعكس ليس صحيح.


شارك المقالة: