مهندس موفق الکترونیک

کلیدواژه ها، ثابت ها، متغیرها و انواع داده ها در C

نشانه ها(توکن)، کلیدواژه ها، شناسه ها، ثابت ها، متغیرها و نوع داده ها در C، در این مبحث، موارد زیر را می آموزیم:

  • مجموعه کاراکتری چیست؟
  • نشانه(توکن)
  • کلیدواژه ها و شناسه ها
  • متغیر چیست؟
  • نوع داده صحیح(integer)
  • نوع داده ممیزشناور(floating point)
  • ثابت ها

مجموعه کاراکتری چیست؟

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

مجموعه کاراکتری در C به

  • حروف الفبا
  • اعداد
  • کاراکترهای ویژه
  • فضاهای سفید(فضاهای خالی)

تقسیم می شود.

کامپایلر همواره استفاده از کاراکترها را نادیده میگیرد، اما این کاراکترها به طور گسترده برای قالب بندی داده استفاده می شوند. در زیر مجمعه کاراکتری در برنامه نویسی  C آمده است:

  1. حروف الفبا
    • حروف بزرگ(A-Z)
    • حروف کوچک(a-z)
  2. اعداد
    • همه ارقام از 0 تا 9
  3. فضاهای خالی
    • فاصله خالی
    • کاراکتر خط جدید
    • کاراکتر Carriage return
    • کاراکتر تب افقی
  4. کاراکترهای ویژه
    • کاراکترهای ویژه در زبان 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 هر کلمه می تواند یک کلیدواژه و یا یک شناسه باشد. کلیدواژه ها معنای ثابتی داشته و این معنا قابل تغییر نیست. کلیدواژه ها همانند اجزای سازنده اولیه در برنامه ‘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’ تشکیل شده اند. همانطور که از نامشان پیداست، شناسه ها برای شناسایی یک عنصر خاص در یک برنامه بکار می روند. هر شناسه باید نام یکتایی داشته باشد. قواعد زیر باید در تعریف شناسه ها رعایت شوند:

  1. اولین حرف حتماً باید حرف الفبا یا زیرخط(_) باشد.
  2. تنها باید از حروف الفبا، اعداد یا زیرخط تشکیل شده باشند.
  3. نمی توان یک کلیدواژه را به عنوان یک شناسه بکار برد.
  4. شناسه نباید شامل هیچ کاراکتر فضای خالی باشد.
  5. نام شناسه باید بامعنی باشد.
مطلب پیشنهادی:  توابع در زبان C

متغیر چیست؟

متغیر شناسه ای است که برای ذخیره یک مقدار استفاده می شود. ثابت ها در زمان اجرا قابل تغییر نیستند. متغیرها را می توان در هنگام اجرای برنامه تغییر داده و مقدار آنها را به روزرسانی کرد.

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

مثال: Height, age نامهای با معنی بوده که هدف بکاربردن خود را بیان می کنند. متغیر Height را می توان برای ذخیره قد فرد بکار گرفت. متغیر Age را میتوان برای ذخیره سن فرد استفاده کرد.

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

قواعد زیر، قواعدی هستند که هنگام ساخت یک متغیر باید رعایت شوند:

  1. نام یک متغیر باید تنها شامل کاراکترها، ارقام و یک زیرخط باشد.
  2. نام یک متغیر نباید با یک عدد شروع شود.
  3. نام یک متغیر نباید شامل فضای خالی باشد.
  4. نام متغیر نباید شامل یک کلیدواژه باشد.
  5. ‘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 نوع های داده مختلفی فراهم آورده تا برای برنامه نویس این امکان را فراهم کند که مطابق با نیاز برنامه نوع داده مناسب را انتخاب کند. نوع داده ها عبارتند از:

  1. نوع داده اولیه(Primitive data types)
  2. نوع داده مشتق شده(Derived data types)
  3. نوع داده تعریف شده توسط کاربر(User-defined data types)

پنج نوع داده اولیه اصلی در زبان C وجود دارد:

  1. int برای نوع داده صحیح(integer)
  2. char برای نوع داده کاراکتر
  3. float برای نوع داده ممیز شناور(floating point)
  4. Double برای نوع داده ممیز شناور با دقت مضاعف(double precision floating point)
  5. هیچ(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 با malloc ، calloc ، realloc و free

نکته: در زبان 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).

مطلب پیشنهادی:  دستور Switch Case در زبان C همراه با مثال

ثابت ها

ثابت ها مقادیر ثابتی هستند که در حین اجرای برنامه به هیچ وجه تغییر نمی کنند. در زیر انواع متنوع ثابت ها بیان شده است:

ثابت های integer

یک ثابت integer چیزی جز یک مقدار شامل ارقام یا اعداد نیست. این مقادیر در حین اجرای برنامه تغییر نمی کنند. ثابتهای integer ممکن است اکتال(مبنای 8)، دسیمال(مبنای 10) و یا هگزادسیمال(مبنای 16) باشند.

  1. ثابت دسیمال شامل ارقام 0-9 می باشد، مانند:
Example, 111, 1234

مثالهای بالا ثابتهای دسیمال مجاز هستند.

2.ثابت اکتال شامل ارقام 0-7 بوده و همواره با رقم 0 آغاز می شوند.

Example, 012, 065

مثالهای بالا ثابتهای اکتال مجاز هستند.

  1. ثابت های هگزادسیمال شامل ارقام 0-9 و همچنین کاراکترهای A-F می باشند.ثابتهای هگزادسیمال همواره با 0X آغاز می شوند.
Example, 0X2, 0Xbcd

ثابت های کاراکتری

هر ثابت کاراکتری تنها شامل یک کاراکتردرون یک جفت تک کوتیشن(‘ ‘) می باشد. همچنین می توان یک کاراکتر را با مقدار ASCII آن نیز بیان کرد.

Example, 'A', '9'

مثال های بالا مثال ای ثابت های کاراکتری مجاز هستند.

ثابت های حقیقی

همانند ثابت های Integer که همواره شامل مقادیر integer هستند، زبان ‘C’ ثابت های حقیقی را دراختیار گذاشته که شامل یک یک نقطه اعشاری و مقدار کسری هستند. ثابت های حقیقی همچنین با عنوان ثابت های ممیزشناوری نامیده می شوند. یک ثابت حقیقی شامل نقطه اعشاری و مقدار کسری است.

Example, 202.15, 300.00

این مثال ها مقادیر مجاز برای ثابت های حقیقی در ‘C’ می باشند.

یک ثابت حقیقی را همچنین می توان به صورت زیر نوشت:

عدد اعشاری یکرقمی e توان

برای مثال، برای اعلان اینکه یک مقدار قابل تغییر نیست(مانند عدد ثابت دایره PI)، دو راه وجود دارد:

  1. با استفاده از کلیدواژه 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 .
  • هر نوع داده از حیث اندازه و محدوده با دیگر نوع داده متفاوت است.

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

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

یک دیدگاه

  1. اموزش تون عالیه