نشانه ها(توکن)، کلیدواژه ها، شناسه ها، ثابت ها، متغیرها و نوع داده ها در C، در این مبحث، موارد زیر را می آموزیم:
- مجموعه کاراکتری چیست؟
- نشانه(توکن)
- کلیدواژه ها و شناسه ها
- متغیر چیست؟
- نوع داده صحیح(integer)
- نوع داده ممیزشناور(floating point)
- ثابت ها
مجموعه کاراکتری چیست؟
همانند هر زبان برنامه نویسی، زبان C نیز مجموعه کاراکتری خود را دارا می باشد. یک برنامه، مجموعه ای از دستورالعمل هاست که با اجرایشان خروجی تولید می شود. داده ای که توسط یک برنامه پردازش می شود شامل انواع کاراکترها و نشانه ها(سمبل) می باشد.خروجی تولید شده نیز ترکیبی از کاراکترها و نشانه است.
مجموعه کاراکتری در C به
- حروف الفبا
- اعداد
- کاراکترهای ویژه
- فضاهای سفید(فضاهای خالی)
تقسیم می شود.
کامپایلر همواره استفاده از کاراکترها را نادیده میگیرد، اما این کاراکترها به طور گسترده برای قالب بندی داده استفاده می شوند. در زیر مجمعه کاراکتری در برنامه نویسی C آمده است:
- حروف الفبا
- حروف بزرگ(A-Z)
- حروف کوچک(a-z)
- اعداد
- همه ارقام از 0 تا 9
- فضاهای خالی
- فاصله خالی
- کاراکتر خط جدید
- کاراکتر Carriage return
- کاراکتر تب افقی
- کاراکترهای ویژه
- کاراکترهای ویژه در زبان C در جدول زیر آورده شده اند،
, (comma) | { (opening curly bracket) |
. (period) | } (closing curly bracket) |
; (semi-colon) | [ (left bracket) |
: (colon) | ] (right bracket) |
? (question mark) | ( (opening left parenthesis) |
‘ (apostrophe) | ) (closing right parenthesis) |
” (double quotation mark) | & (ampersand) |
! (exclamation mark) | ^ (caret) |
|(vertical bar) | + (addition) |
/ (forward slash) | – (subtraction) |
\ (backward slash) | * (multiplication) |
~ (tilde) | / (division) |
_ (underscore) | > (greater than or closing angle bracket) |
$ (dollar sign) | < (less than or opening angle bracket) |
% (percentage sign) | # (hash sign) |
نشانه(توکن)
توکن کوچکترین واحد در زبان برنامه نویسی ‘C’ است. توکن ها در زبان C به شش نوع مختلف تقسیم می شوند:
کلیدواژه ها و شناسه ها
در C هر کلمه می تواند یک کلیدواژه و یا یک شناسه باشد. کلیدواژه ها معنای ثابتی داشته و این معنا قابل تغییر نیست. کلیدواژه ها همانند اجزای سازنده اولیه در برنامه ‘C’ عمل میکنند. در کل 32 کلیدواژه در ‘C’ موجود بوده که با حروف کوچک نوشته می شوند. جدول زیر کلیدواژه ها در C را نمایش می دهد.
auto | double | int | struct |
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | short | float | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
شناسه نامی است که به هر المان(عنصر) در برنامه اختصاص می یابد. به عنوان مثال، نام متغیر، تابع و… شناسه ها نام های تعریف شده توسط کاربر بوده که از مجموعه کاراکتری ‘C’ تشکیل شده اند. همانطور که از نامشان پیداست، شناسه ها برای شناسایی یک عنصر خاص در یک برنامه بکار می روند. هر شناسه باید نام یکتایی داشته باشد. قواعد زیر باید در تعریف شناسه ها رعایت شوند:
- اولین حرف حتماً باید حرف الفبا یا زیرخط(_) باشد.
- تنها باید از حروف الفبا، اعداد یا زیرخط تشکیل شده باشند.
- نمی توان یک کلیدواژه را به عنوان یک شناسه بکار برد.
- شناسه نباید شامل هیچ کاراکتر فضای خالی باشد.
- نام شناسه باید بامعنی باشد.
متغیر چیست؟
متغیر شناسه ای است که برای ذخیره یک مقدار استفاده می شود. ثابت ها در زمان اجرا قابل تغییر نیستند. متغیرها را می توان در هنگام اجرای برنامه تغییر داده و مقدار آنها را به روزرسانی کرد.
یک متغیر را می توان در چندین نقطه مختلف برنامه به کار برد. نام متغیر باید معنی دار باشد،یعنی باید هدف استفاده از متغیر را دربر داشته باشد.
مثال: Height, age نامهای با معنی بوده که هدف بکاربردن خود را بیان می کنند. متغیر Height را می توان برای ذخیره قد فرد بکار گرفت. متغیر Age را میتوان برای ذخیره سن فرد استفاده کرد.
یک متغیر را باید قبل از اولین استفاده، در جایی درون برنامه اعلان کرد. نام یک متغیر از کاراکترها، ارقام و زیرخط تشکیل می شود.
قواعد زیر، قواعدی هستند که هنگام ساخت یک متغیر باید رعایت شوند:
- نام یک متغیر باید تنها شامل کاراکترها، ارقام و یک زیرخط باشد.
- نام یک متغیر نباید با یک عدد شروع شود.
- نام یک متغیر نباید شامل فضای خالی باشد.
- نام متغیر نباید شامل یک کلیدواژه باشد.
- ‘C’ زبانی حساس به حروف کوچک و بزرگ(case sensitive) است، بدین معنی که دو متغیر با نام های’age’ و ‘AGE’ دو متغیر تلقی می شوند.
مثالهای زیر مواردی از نام متغیر مجاز در یک برنامه ‘C’ هستند:
height or HEIGHT _height _height1 My_name
مثال های زیر مواردی از نام متغیر غیرمجاز در یک برنامه ‘C’ هستند:
1height Hei$ght My name
برای مثال، ما یک نوع integer با نام my_variable اعلان کرده و مقدار 48 را به آن اختصاص می دهیم:
int my_variable; my_variable = 48;
در ضمن، می توان در یک تک دستور ،یک متغیر را همزمان هم اعلان وهم مقداردهی کرد:
int my_variable = 48;
انواع دادهها در زبان C
زبان C نوع های داده مختلفی فراهم آورده تا برای برنامه نویس این امکان را فراهم کند که مطابق با نیاز برنامه نوع داده مناسب را انتخاب کند. نوع داده ها عبارتند از:
- نوع داده اولیه(Primitive data types)
- نوع داده مشتق شده(Derived data types)
- نوع داده تعریف شده توسط کاربر(User-defined data types)
پنج نوع داده اولیه اصلی در زبان C وجود دارد:
- int برای نوع داده صحیح(integer)
- char برای نوع داده کاراکتر
- float برای نوع داده ممیز شناور(floating point)
- Double برای نوع داده ممیز شناور با دقت مضاعف(double precision floating point)
- هیچ(void)
آرایه ها، توابع، اشاره گرها، و ساختارها نوع داده های مشتق شده هستند. زبان ‘C’ نسخه های توسعه یافته بیشتری از نوع داده های اصلی مذکور فراهم آورده است. نوع داده ها از حیث اندازه و محدوده باهم متفاوت هستند. جدول زیر اندازه و محدوده هر نوع داده را نشان می دهد.
نوع داده | اندازه به بایت | محدوده |
Char یا signed char | 1 | -128 to 127 |
Unsigned char | 1 | 0 to 255 |
int یا signed int | 2 | -32768 to 32767 |
Unsigned int | 2 | 0 to 65535 |
Short int یا Unsigned short int | 2 | 0 to 255 |
Signed short int | 2 | -128 to 127 |
Long int یا Signed long int | 4 | -2147483648 to 2147483647 |
Unsigned long int | 4 | 0 to 4294967295 |
float | 4 | 3.4E-38 to 3.4E+38 |
double | 8 | 1.7E-308 to 1.7E+308 |
Long double | 10 | 3.4E-4932 to 1.1E+4932 |
نکته: در زبان C، نوع داده منطقی (Boolean) وجود ندارد.
نوع داده Integer
Integer چیزی جز یک عدد صحیح نیست. محدوده integer از یک ماشین تا ماشین دیگر متفاوت است.محدوده استاندارد برای نوع داده Integer از -32768 تا 32767 است.
یک integer عموماً شامل 2 بایت است، یعنی 16 بیت از حافظه را اشغال می کند. مقدار یک تک integer 2 بایت از حافظه را اشغال می کند. یک integer به نوع داده های متنوع تری با نام های short int, int و long int تقسیم می شود.
short int بیشتر برای ذخیره اعداد کوچک، int برای ذخیره اعداد متوسط و long int برای ذخیره اعداد صحیح بزرگ استفاده می گردد.
هرزمان که بخواهیم یک نوع داده integer تعریف کنیم، کلیدواژه int را قبل از شناسه قرار می دهیم:
int age;
در اینجا، age متغیری از نوع داده integer بوده که می توان آن را برای ذخایر مقادیر صحیح بکار گرفت.
نوع داده ممیز شناور(Floating point )
همانند integerها، می توان از نوع داده های ممیزشناور در ‘C’ استفاده کرد. کلیدواژه ‘float’ برای بیان نوع داده ممیز شناور استفاده می شود. این نوع می تواند یک مقدار ممیز شناور در خود نگه دارد، که منظور عددی است که یک بخش اعشاری و کسری دارد. مقدار ممیز شناور، یک عدد حقیقی بوده که شامل یک نقطه اعشاری است. نوع داده integer بخش اعشاری را ذخیره نمی کند، بنابراین برای ذخیره بخش اعشاری یک عدد باید از floatها استفاده کرد.
یک float عموماً تا دقت 6 عدد اعشار را ذخیره می کند.اگر نوع داده float کافی نباشد، آنگاه می توانیم از دیگر نوع های داده که مقادیر اعشاری بیشتری ذخیره می کنند استفاده کنیم.نوع داده های double و long double برای ذخیره اعداد حقیقی با دقت به ترتیب 14 و 80 بیت بکار می روند.
هنگام استفاده از یک عدد ممیزشناوری، کلیدواژه float/double/long double را قبل از شناسه قرار می دهیم. مثال های زیر طرز صحیح استفاده این نوع هستند،
float division; double BankBalance;
نوع داده کاراکتر
نوع داده کاراکتر برای ذخیره یک تک کاراکتر درون یک زوج کوتیشن( ‘ ‘) بکار می رود.
نوع داده کاراکتر تا یک بایت از فضای حافظه را اشغال می کند.
مثال،
Char letter;
نوع داده هیچ (void)
نوع داده void هیچ مقداری را شامل نشده و یا چیزی را برنمیگرداند.این نوع داده بیشتر برای تعریف توابع در ‘C’ استفاده می شود.
مثال
void displayData()
اعلان نوع داده یک متغیر
int main() { int x, y; float salary = 13.48; char letter = 'K'; x = 25; y = 34; int z = x+y; printf("%d \n", z); printf("%f \n", salary); printf("%c \n", letter); return 0;}
خروجی:
59 13.480000 K
با جدا کردن متغیرها با یک کاما، می توان چندین متغیر با یک نوع داده را روی یک خط اعلان کرد. همچنین، به استفاده از فرمت دهنده(format specifier) در تابع printf توجه کنید، یعنی فرمت دهنده اعشاری(%f)، فرمت دهنده کاراکتری(%c) و فرمت دهنده عددصحیح(%d).
ثابت ها
ثابت ها مقادیر ثابتی هستند که در حین اجرای برنامه به هیچ وجه تغییر نمی کنند. در زیر انواع متنوع ثابت ها بیان شده است:
ثابت های integer
یک ثابت integer چیزی جز یک مقدار شامل ارقام یا اعداد نیست. این مقادیر در حین اجرای برنامه تغییر نمی کنند. ثابتهای integer ممکن است اکتال(مبنای 8)، دسیمال(مبنای 10) و یا هگزادسیمال(مبنای 16) باشند.
- ثابت دسیمال شامل ارقام 0-9 می باشد، مانند:
Example, 111, 1234
مثالهای بالا ثابتهای دسیمال مجاز هستند.
2.ثابت اکتال شامل ارقام 0-7 بوده و همواره با رقم 0 آغاز می شوند.
Example, 012, 065
مثالهای بالا ثابتهای اکتال مجاز هستند.
- ثابت های هگزادسیمال شامل ارقام 0-9 و همچنین کاراکترهای A-F می باشند.ثابتهای هگزادسیمال همواره با 0X آغاز می شوند.
Example, 0X2, 0Xbcd
ثابت های کاراکتری
هر ثابت کاراکتری تنها شامل یک کاراکتردرون یک جفت تک کوتیشن(‘ ‘) می باشد. همچنین می توان یک کاراکتر را با مقدار ASCII آن نیز بیان کرد.
Example, 'A', '9'
مثال های بالا مثال ای ثابت های کاراکتری مجاز هستند.
ثابت های حقیقی
همانند ثابت های Integer که همواره شامل مقادیر integer هستند، زبان ‘C’ ثابت های حقیقی را دراختیار گذاشته که شامل یک یک نقطه اعشاری و مقدار کسری هستند. ثابت های حقیقی همچنین با عنوان ثابت های ممیزشناوری نامیده می شوند. یک ثابت حقیقی شامل نقطه اعشاری و مقدار کسری است.
Example, 202.15, 300.00
این مثال ها مقادیر مجاز برای ثابت های حقیقی در ‘C’ می باشند.
یک ثابت حقیقی را همچنین می توان به صورت زیر نوشت:
عدد اعشاری یکرقمی e توان
برای مثال، برای اعلان اینکه یک مقدار قابل تغییر نیست(مانند عدد ثابت دایره PI)، دو راه وجود دارد:
- با استفاده از کلیدواژه const در اعلان متغیر، که حافظه را رزرو می کند:
#include <stdio.h> int main() { const double PI = 3.14; printf("%f", PI); //PI++; // This will generate an error as constants cannot be changed return 0;}
2.استفاده از دستور پیش پردازنده define# که برای ذخیره سازی از حافظه استفاده نکرده و و بدون قراردادن کاراکتر سمی کالن(;) در انتهای دستور استفاده می شود:
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
خلاصه متغیرها و انواع داده ها در C
- یک ثابت، مقداری است که در سرتاسر اجرای برنامه تغییر نمیکند.
- توکن کوچکترین واحد در یک برنامه به زبان ‘C’ است.
- کلیدواژه یک کلمه رزرو شده توسط زبان است.
- 32 کلیدواژه در C وجود دارد.
- شناسه برای شناسایی المانهای یک برنامه به کار می رود.
- یک متغیر شناسه ای است که برای ذخیره مقادیر بکار می رود.
- چهار نوع داده پرکاربرد عبارتند از int ، float، char و void .
- هر نوع داده از حیث اندازه و محدوده با دیگر نوع داده متفاوت است.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
اموزش تون عالیه