آموزش C

مباحث پایه زبان C

ثابت ها و لیترال ها در زبان C – آموزش زبان C

  • جمعه ۲ شهریور ۱۳۹۷
  • بازدید ۵۴۱ نفر

c constants and literals 3554 تصویر

ثابت ها و لیترال ها در زبان C

ثوابت به مقادیر ثابتی اشاره می کنند که در طول اجرای برنامه نمی توان آن ها را تغییر داد، به این مقادیر ثابت لیترال نیز می گویند. ثوابت می توانند از هر نوع داده پایه ای که در زبان برنامه نویسی C وجود دارد (مانند ثابت عددی، ثابت رشته، ثابت کاراکتر و غیره)، باشند. همچنین نوع داده شمارشی (enumeration) نیز می تواند به صورت ثابت باشد. عملکرد ثوابت درست مانند متغیرهای عادی می باشد با این تفاوت که مقدار ثوابت بعد از تعریف شدن قابل تغییر نیستند.

لیترال های عددی (Integer Literals)

لیترال عددی می تواند یک ثابت از نوع دسیمال یا هگزادسیمال باشد. یک پیشوند مبنا را مشخص می کند، مثلا از پیشوند ۰x یا ۰X در اعداد هگزادسیمال استفاده می شود ولی برای اعداد دسیمال پیشوندی وجود ندارد. همچنین از پسوند های U و L (Unsigned و Long) نیز می توان در لیترال های عددی استفاده کرد. ترتیب و بزرگ یا کوچک بودن حرف مهم نیست.

در اینجا چند مثال از لیترال های عددی را مشاهده می کنید:

در مثال زیر انواع مختلفی از لیترال های عددی را مشاهده می کنید:

لیترال های اعشاری (Floating-point Literals)

یک لیترال اعشاری شامل یک بخش عدد صحیح، یک نقطه اعشار، یک بخش کسری و یک بخش توان تشکیل شده است. شما می توانید لیترال های اعشاری را به شکل دسیمال یا نمایی نمایش دهید. زمانی به شکل دسیمال نمایش می دهید، باید از نقطه اعشاری، توان و یا هر دو استفاده کنید. و زمانی که به شکل نمایی نشان می دهید، باید از بخش عدد صحیح، بخش کسری و یا هر دو استفاده کنید.

چند نمونه از لیترال های اعشاری:

لیترال های کاراکتری (Character Constants)

لیترال های کاراکتری در بین علامت نقل قول تکی (‘)  قرار می گیرند. برای نمونه ‘X’ یک لیترال کاراکتری است و می تواند درون یک متغیر از نوع char ذخیره شود. یک لیترال کاراکتری می تواند یک کاراکتر ساده (مانند ‘x’)، یک کاراکتر کنترلی (مانند ‘\t’) و یا یک کاراکتر جهانی (مانند ‘\u02C0’) باشد. در زبان C تعداد معینی از کاراکتر ها وجود دارند که با یک علامت (\) مشخص می شوند و به آن ها کاراکتر کنترلی گفته می شود. آن ها هر کدام مفهوم خاصی دارند مثلا \n برای ایجاد خط جدید یا \t برای ایجاد فصله از نوع tab به کار می رود.

در جدول زیر برخی از کاراکترهای کنترلی در زبان برنامه نویسی C را مشاهده می کنید:

کاراکتر کنترلیمعنی
\\\ character
\’‘ character
\”” character
\?? character
\aAlert or bell
\bBackspace
\fForm feed
\nNewline
\rCarriage return
\tHorizontal tab
\vVertical tab
\oooOctal number of one to three digits
\xhh . . .Hexadecimal number of one or more digits

مثال زیر نحوه استفاده از کاراکتر های کنترلی در زبان C را نشان می دهد:

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

لیترال های رشته ای (String Literals)

لیترال های رشته ای یا ثوابت بین علامت نقل قول دوتایی (“”) قرار میگرند. یک رشته مانند لیترال های کاراکتری، می تواند حاوی کاراکترهای ساده (مانند ‘x’)، کاراکترهای کنترلی (مانند ‘\t’) و یا کاراکترهای جهانی (مانند ‘\u02C0’) باشد. شما می توانید یک خط طولانی را با استفاده از لیترال های رشته ای به چند خط کوتاه تقسیم کنید و یا با استفاده از فضای خالی سفید بخش های مختلف را از هم جدا کنید.

در اینجا چند نمونه از لیترال های رشته ای را مشاهده می کنید:

تعریف یک ثابت در زبان C

در زبان C دو روش ساده برای تعریف ثابت وجود دارد:

  • استفاده از پیش پردازنده #define
  • استفاده از کلمه کلیدی const

دستور پیش پردازنده #define

در زیر فرم کلی تعریف یک ثابت با استفاده از #define را مشاهده می کنید:

مثال زیر فرم بالا را توضیح می دهد:

امتحان کنید

نتیجه کامپایل و اجرای کد بالا:

کلمه کلیدی const

در زیر فرم کلی تعریف یک ثابت با استفاده از کلمه کلیدی const را مشاهده می کنید:

مثال زیر فرم بالا را توضیح می دهد:

امتحان کنید

نتیجه کامپایل و اجرای کد بالا:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۲ مورد)
  1. تصویر آواتار کاربر 0
    علی دوشنبه , ۱۷ دی

    کلمه کلیدی const زیرش متن در زیر فرم کلی تعریف یک باثت با استفاده از کلمه کلیدی const را مشاهده می کنید: ثابت رو درست کن قصد جسارت نداشتم

    • تصویر آواتار کاربر 124
      AmRoدوشنبه , ۱۷ دی

      اصلاح شد. با تشکر از توجه شما دوست عزیز