لیترال و ثابت در ++C
1395/05/07

حوزه تعریف متغییرها در ++c
1395/04/24

تعریف متغییر و تابع در ++C
1395/03/29

انواع تعریف متغییرها
1393/09/05

انواع داده ها در جاوا
1393/10/11

لیترال و ثابت در ++C


ناصر نادری 1395/05/07

بنام خدا. در این جلسه از آموزشهای زبان C++ قصد داریم مبحث ثابت ها و لیترال ها رو بررسی کنیم. تعریف ثابت یا constant : ثابتها در واقع تعاریفی هستند که یک مقدار ثابت میگیرن و در طول برنامه نمیشه اونها رو تغییر داد. البته این نتونستن منطقیه. یعنی اصولا وقتی نمی خواییم یک مقدار تغییر کنه از ثوابت استفاده میکنیم. در صورتی که در C++ راههایی برای تغییر مقدار ثوابت وجود داره... برای تعریف یک ثابت قبل از نوع شناسه کلمه کلیدی const  رو قرار میدیم. تعریف لیترال یا literal : مقادیری که متغییر ها و ثوابت میتونن بگیرن لیترال میگیم. یعنی وقتی متغییری از نوع integer تعریف میکنیم و بعد عدد 1500 رو بهش اختصاص میدیم. 1500 یک لیترال از نوع صحیح هست. به مثال زیر توجه لازم را مبذول دارید !!!! (چی گفتم؟)


#include <iostream>
using namespace std;
//تعریف یک ثابت از نوع اعشاری بزرگ 
const double pi = 3.14159;//مقدار 3.14 در واقع لیترال هست
//تعریف یک ثابت از نوع کاراکتری با مقدار کاراکتر بازگشت 
const char newline = '\n';
int main ()
{
  //تعریف متغییر
  double r=5.0; // مقدار 0.5 لیترال اعشاری هست
  double circle;
    //محاسبه با استفاده از مقدار ثابت که عدد پی هست
  circle = 2 * pi * r;
  cout << circle;
  //استفاده از ثابت کاراکتری
  cout << newline;
}

در مثال بالا احتمالا تئضیحات کافی هست. فرق تعریف یک متغییر با یک ثابت توی کلمه کلیدی const  هست. همچنین منطق استفاده از ثوابت حکم میکنه که برای نگه داری اعداد خاصی مثل عدد پی و مقادیری که بار ها ازش استفاده میشه  و تغییر نمیکنه ازش استفاده کنیم. اما در C++ میشه ثوابتی رو در بخش پیش پردازه نیز تعریف کرد. این ثوایت یه فرق اساسی با ثوابت نوع const دارن که اونهم مقادیرشون هست. شما میتونید نه تنها یک مقدار بلکه حتی یک عبارت محاسباتی رو هم توی ثوابت پیش پردازنده ذخیره کنید و بعدا ازش بارها استفاده کنید. اگر میخواستیم برنامه بالا رو با این نوع ثابت بنویسیم باید تعریفمون این شکلی میبود :


#define PI 3.14159
#define NEWLINE '\n'

اول یک کاراکتر # بعد کلمه کلیدی define بعد نام ثابت و بعد مقدار اون رو باید تعیین میکنیم. اما مقادیری رو که یک ثابت و یا متغییر میتونه بگیره یا همون لیترال ها رو در لیست زیر آوردم :



//لیترال های صحیح
75         // دسیمال
0113       // مبنای هشت هشتی یا اکتال
0x4b       // مبنای شانزده یا هگزا دسیمال

75u        // صحیح بدون علامت
75l        // صحیح بزرگ
75ul       // صحیح بدون علامت بزرگ
75lu       // صحیح بدون علامت بزرگ

//لیترال های اعشاری
3.14159    // 3.14159
6.02e23    // 6.02 x 10^23
1.6e-19    // 1.6 x 10^-19
3.0        // 3.0 

3.14159L   // اعشاری بزرگ
6.02e23f   // اعشاری

//لیترالهای کاراکتری و رشته ای
'z'//کاراکتری
"Hello world" //رشته ای از کاراکترها

تا جلسه بعد در پناه حق...

فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin
ناصر نادری
prgnaderi@hotmail.com
فوق لیسانس مهندسی نرافزار- برنامه نویس و مدرس دانشگاه
نظرات شما
نظر جدید