ثابت ها
در ++C Constants
in !!
" ثابت ها، نمادهایی با مقادیر ارزشی ثابت هستند! "
این جمله خیلی سنگینه!، و شاید یه نفر که واسه اولین بار می خواد با ثابت ها آشنا بشه، نامفهوم باشه!
اگه نفهمیدید، مهم نیست، تا آخر مطلبو که بخونید متوجه مفهومش میشین!!
ثابت های عددی:
خود اعداد ریاضی، ثابت به شمار میروند. چون مقدار ارزشی یک عدد مثل 32 همیشه ثابته.
ثابت های عددی از نوع اعداد صحیح:
1776
707
273-
در محاسبات فقط از مبنای 10 استفاده نمیشه، مبناهایی مثل 8 و 16 خیلی پرکاربرد هستند. شیوه نوشتن ثابت ها در مبنای 8 و 16 رو می بینیم:
75 // Decimal مبنای 10
0113 // Octal مبنای 8
0x4b // Hexadecimal مبنای 16
صفر ابتدای عدد در ریاضیات بی ارزشه، ولی در کدنویسی C++ مشخص کننده ی اینه که عدد در مبنای 8 بیان شده!
و عدد در مبنای 16 هم با پیشوند 0x نوشته میشه.
ثابت های عددی مثل متغییرها، نوع داده ای دارند (integer, long, float, …)
اعدادی را که به صورت ساده، مثل 72 می نویسیم، در حالت پیش فرض int در نظر گرفته میشن.
با این حال می تونیم در هنگام نوشتن عدد، نوع داده ای اون رو مشخص کنیم:
75 // int
75u // unsigned int
75l // long int
75ul // unsigned long
نکته) پسوندهای تعیین کننده ی نوع داده ای رو می تونیم به هر دو شکل الفبایی بزرگ و کوچک بنویسیم، هیچ فرقی نداره!
ثابت های اعشاری:
به اعداد زیر و معادل آنها توجه کنید:
3.14159 // 3.14159
6.02e23 // 6.02 * 10^23
1.6e-19 // 1.6 * 10^-19
3.0 // 3.0
این چهار نمونه اعداد اعشاری هستند که در C++ شناخته میشن.
اولی عدد PI (همون عدد پی)، دومی عدد آووگادرو، سومی بار الکتریکی الکترون و آخری عد3 با یک ممیز در انتها می باشد.
نوع پیش فرض اعداد اعشاری، double است. ولی اگر بخواهیم عدد را از نوع float یا long double تعریف کنیم، اینجوری می نویسیم:
3.14159L // long double
6.02e23f // float
دوباره میگم که پسوندها و میانوندها به کوچکی و بزرگی حروف حساس نیستند.
ثابت های کاراکتری و رشته ای:
ثابت های غیر عددی هم وجود دارند، مثل:
'z'
'P'
"Hello World"
"How do you do?"
ثابت های اول، ثابت های کاراکتری هستند که فقط حاوی یک کاراکتر می باشند.
ولی دو ثابت آخر، ثابت های رشته ای هستند که حاوی رشته ای از کاراکترها هستند.
ثابت های کاراکتری را بین single quotes (') و ثابت های رشته ای را بین double quotes (") می نویسیم.
توجه داشته باشید که مثلا G به تنهایی یک شناسه (identifier) است، در حالی که 'G' نمایان گر کارکتر G است.
برای استفاده از بعضی از کارکترهای خاص که نوشتن آنها در سورس کد برنامه مشکل یا غیر ممکن است، نمادهایی قراردادی در نظر گرفته شده است، مثلا اگر بخواهیم پس از چاپ یک سطر، به طر بعدی برویم، باید کاراکتر '\n' را چاپ کنیم.
چندتا از این کاراکترها رو اینجا می بینید:
\n new line
\r carriage return
\v vertical tab
\b back space
\a alert (beep)
\' single quote (')
\" double quote (")
\? Question mark (?)
\\ back slash (\)
اینا رو ترجمه نکردم چون انگلیسیش قابل درک تره!
ثابت های منطقی:
دو مقدار تعریف شده برای ثابت های منطقی وجود داره: true و false
روش تعریف ثابت ها در C++ :
در کد نویسی، بهتره بعضی از مقادیر ثابتی رو که از ابتدا تا انتهای برنامه تغییر نمی کنند، نام گذاری کنیم و از نام (شناسه) اونها در کد نوشتن استفاده کنیم، مثل عدد پی (PI) ، این کار فواید خیلی زیادی داره که کم کم به اونها هم میرسیم!
برای تعریف کردن ثابت ها در C++ دو روش وجود داره:
روش اول: Defined Constants
مثلا:
#define PI 3.14159
#define NEWLINE '\n'
که این تعریف باید بالای تابع main نوشته شود.
1- // defined constants
2- #include <iostream>
3- using namespace std;
4- #define PI 3.14159
5- #define NEWLINE '\n'
6- int main ()
7- {
8- double r = 5.0; // radius
9- double circle;
10- circle = 2 * PI * r ;
11- cout << circle;
12- cout << NEWLINE;
13- return 0;
14- }
خروجی: 31.4159
با این کار کامپایلر قبل از کامپایل کد، به جای شناسه های ثابت ها، مقدار آنها رو قرار میده!
روش دوم: Declared Constants
این روش، شیوه ی بهتر و قابل درک تری برای تعریف ثابت هاست. بهتون توصیه می کنم فقط از این روش استفاده کنید.
این مثال رو ببینید:
Const double PI = 3.14159 ;
یعنی: ثابتی از نوع double ، به نام PI ، مقداری برابر 3.14159 دارد.
صورت های کلی تعریف ثوابت:
#define [identifier] [value]
Const [type] [identifier] = [value] ;
توجه) نمی تونیم مقدار ثابت ها رو در طول اجرای برنامه تغییر بدبم!
سلام. با برگی دیگر از یادداشتهای سال 83 به روزم.
چشمان خسته از آرامش کودکان بهشتی در جستجوی سعادت اند. و من چه سعادتمندم از داشتن چشمانت.
The eyes tired of calmness of heaven kids search for happiness. And so happy I am for having your eyes.
سلام. سال نو را پیشاپیش به شما و خانواده محترمتان تبریک عرض می کنم.
با برگی دیگر از یادداشتهای سال 83 به روزم:
تو از سکوت مهتاب شعری شده ای برای من
You’ve become a poem from moonlight’s silence for me
سلام. با برگی دیگر از یادداشتهای سال 83 به روزم:
سبزِ سبز در سبزه زار با هم بودن.
Much greens in plain of being together.
سلام،
مهلت تمدید ثبت این دامنه در تاریخ 1389/05/02 تمام خواهد شد و این دامنه غیرفعال خواهد شد، ولی بهمدت 10 روز پس از تاریخ فوق برای صاحبامتیاز دامنه، بهمنظور تمدید ثبت، باقی خواهد ماند.
هزینه ثبت مجدد سالیانه این دامین 10 هزارتومان می باشد که می توانید از طریق وب سایت اصلی شرکت نسبت به ثبت یا حذف دامین خود اقدام کنید .
با تشکر
ایرانی نیک
05117267217