آموزش C++ ثابت ها و لیترال ها

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

لیترال های عددی در c++

یک لیترال عددی می تواند یک ثابت دهدهی، دسیمال و یا هگزادسیمال باشد. برای مثال از پیشوند 0X و یا 0x در هگزادسیمال و از پیشوند 0 برای اعداد دهدهی استفاده می شود و اعداد دسیمال پیشوندی ندارند.
یک لیترال عددی می تواند پسوند نیز داشته باشد که ترکیبی از U و L  برای unsigned و long است. پسوند می تواند با حروف بزرگ و کوچک و با هر ترتیبی باشد. چند نمونه از لیترال عددی به این ترتیب است:

 

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

همچنین مثال هایی از سایر مدلهای لیترال عددی به شرح زیر است:
 

85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

لیترال های اعشاری درc++

یک لیترال اعشاری تشکیل شده از یک عدد صحیح، یک نقطه اعشار، یک قسمت کسری و یک بخش توان است. لیترال های اعشاری قابل نمایش به صورت دسیمال و نمایی هستند. 
اگر بخواهید به صورت دسیمال نمایش دهید، باید از یک نقطه اعشار یا توان و یا هرد دو استفاده کنید و اگر قصد دارید آن را به صورت نمایی نشان دهید باید از بخش عدد صحیح یا بخش کسری و یا هر دو استفاده کنید.
چند مثال از لیترال های اعشاری در زیان برنامه نویسی C++ :

 

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

لیترال های بولی در c++

به طور کلی دو نوع لیترال بولی وجود دارد که همه آنها بخشی از کلمات کلیدی استاندارد ++C هستند.

  • true که نشان دهنده درست بودن است
  • false که نشان دهنده نادرست بودن است

توجه کنید که مقدار true برابر با یک و یا مقدار false برابر با صفر نیست.

لیترال های کاراکتری

لیترال کاراکتری در تک کوتیشن قرار می گیرد. اگر لیترال کاراکتری با L شروع شود ( تنها حروف بزرگ) مانند (L'x ') ، باید در نوع متغیر wchar_t ذخیره شود. در غیر این صورت  لیترال های کاراکتری  (مثلا "x") را می توان در یک متغیر ساده از نوع char ذخیره شود.
یک لیترال کاراکتری شامل یک کاراکتر ساده مانند ('x') ، کاراکتر کنترلی مانند ('\t') و یا کاراکتر جهانی مانند ('\u02c0')  است.
کاراکتر های به خصوصی در C++ وجود دارند که اگر قبل از آنها یک بک اسلش (\) قرار بگیرد، معنی خاصی پیدا می کنند برای مثال برای خط جدید n\، یا برای تب t\ استفاده می شود. در اینجا لیستی از این کاراکتر ها برای شما قرار گرفته است.

کاراکترهای کنترلی عملکرد
\\ درج کاراکتر بک اسلش \
\' درج کاراکتر تک کوتیشن '
\" درج کاراکتر دابل کوتیشن "
\? درچ کاراکتر علامت سوال ?
\a صدای اخطار یا بیپ
\b جرکت به عقب یا Backspace
\f Form feed
\n خط جدید
\r Carriage return
\t ایجاد فاصله افقی
\v ایجاد فاصله عمودی
\ooo درج اعداد بر مبنای 8 از یک تا 3 عدد
\xhh . . . درج اعداد بر مبنای 16 از یک تا چند عدد

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

#include <iostream>
using namespace std;

int main() {
   cout << "Hello\tWorld\n\n";
   return 0;
}

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

Hello   World

لیترال های رشته ای در c++

لیترال رشته ای در داخل دو کوتیشن می گیرد و کاراکترهای آن مانند یک لیترال کاراکتری است.
شما می توانید یک خط طولانی را به چندین خط کوتاه با استفاده از لیترال رشته ای  تبدیل کنید و آنها را با استفاده از فضای خالی سفید از بقیه جدا کنید.
در اینجا مثال هایی از فرم مختلف لیترال رشته ای قرار داده شده است که هر سه فرم کاملا نتیجه یکسانی دارند:

 

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

تعریف یک ثابت در c++

روش بسیار ساده ای در++C برای تعریف ثابت ها وجود دارد.

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

دستور #define

نحوه استفاده از دستور #define برای تعریف یک ثابت به صورت زیر است:

#define identifier value

حال به شرح آن می پردازیم:

#include <iostream>
using namespace std;

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

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

50

کلمه کلیدی const

می توانید با استفاده از پیشوند const به اعلان یک ثابت از نوع خاص بپردازید.

const type variable = value;

حال به شرح آن می پردازیم:

#include <iostream>
using namespace std;

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

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

50

توجه کنید که برای نوشتار خوب و خوانایی بهتر در برنامه نویسی بهتر است برای تعریف ثابت ها از حروف بزرگ استفاده کنید.

برای درج نظر و یا طرح سوالات خود لطفا در سایت ثبت نام کنید و یا وارد سایت شوید

نظرات کاربران

برای این مطلب تاکنون نظری ارسال نشده است. شما اولین نفر باشید