Home » #C » متغیر ها در زبان برنامه نویسی C

متغیر ها در زبان برنامه نویسی C

معمولا متغیر ها در زبان برنامه نویسی به جایگاهی در حافظه اشاره می کنند. این فضا ها، به صورت رزرو شده در حافظه می باشند که مقادیری را در آن ها ذخیره می کنیم، بدین معنا که در زمان ایجاد یک متغیر، بخشی از حافظه اشغال شده و به آن متغیر تخصیص داده می شود. برای این که بتوانیم در زبان برنامه نویسی C از متغیرها استفاده کنیم می بایست سه نکته را همواره مد نظر داشته باشیم: هر متغیر شامل نوع، نام و مقدار متغیر می باشد، در واقع اگر متغیر ما هر یک از این سه مورد را نداشه باشد، ما یک متغیر ناقص ایجاد کرده ایم. پس در ادامه مطالب آشنایی با برنامه نویسی C، به دو موضوع متغیر ها و تعریف متغیر ها در برنامه نویسی C و همچنین چگونگی مقدار دهی  به متغیر ها می پردازیم.

متغیر ها در زبان برنامه نویسی C

مجموعه کاراکتر های زبان  c

مجموعه کاراکتر های زبان C به موارد زیر تقسیم می شوند:

  • حروف و ارقام
  • دو کاراکتر های فاصله خالی
  • کاراکتر های دستوری و ویژه جدید

۱- حروف و ارقام:
کاراکترهای زبان c شامل حروف کوچک و بزرگ زبان انگلیسی و ده رقم دهدهی هستند. با این حروف و ارقام می تواند. ثبات ها، شناسه‌ها، و کلمات کلیدی را ایجاد کنیم.

توجه: کامپایلر c به حروف کوچک و بزرگ حساس هستند

۲- کارکترهای فاصله خالی:
برخی از کارکتر ها که لیست آنها در زیر اورده شده به عنوان کارکتر فاصله خالی یا  white space charecters  نامیده می شوند. FF(FORM FEED)

  • Space
  • LF(line feed)
  • CR(carriage return)
  • Vertical tab

 ۳- کارکتر های دستوری و ویژه: 
این کاراکترها به منظور های مختلفی به کار می‌روند، از سازمان دادن یک متن تا دستور دادن جدید با کامپایلر و تعیین وظیفه برای آن و یا تعیین وظیفه برای برنامه های کامپایل شده.

کارکترهای دستوری و مخصوص در زبان برنامه نویسی C

شناسه ها ( Indentifiers)

شناسه‌ها، اسامی هستند که برای متغیرها، توابع و برچسب هایی که در برنامه استفاده میشوند اختصاص می یابند. یک شناسه C دنباله ای است از حروف، ارقام یا علامت زیرخط که با هر ترتیبی میتوانند قرار گیرند. اما اولین کاراکتر باید حرفی باشد. در شناسه ها هر دو شکل حروف بزرگ و کوچک مجاز شناخته میشوند. برحسب قرارداد شناسه هایی که با علامت زیرخط شروع میشوند فقط در برنامه های سیستم کاربرد دارند و در برنامه های کاربردی قابل استفاده نیستند. در مورد تعداد کاراکترها در اسامی از نظر C محدودیتی وجود ندارد گرچه هر مفسر ویژگیها و محدودیتهای خاص خودش را به کار می برد. طول اسامی در زبان C استاندارد تا ۳۱ کاراکتر مجاز است.

یک شناسه، رشته ای از یک یا چند حرف، رقم یا (-) است که حتما با یک حرف یا “_” باید شروع شود. و همیشه به خاطر داشته باشید که زبان C به حروف بزرگ و کوچک حساس است.

مثال:

  • j
  • CNT
  • TEMP1
  • TOP-OF-PAGE
  • SKIP-12

کلمات کلیدی:

بعضی از شناسه های زبان C کلمات رزرو شده یا کلمات کلیدی اند. یعنی معنی و مفهوم آن از قبل در زبان تعریف و پیش بینی شده است. بنابراین شناسه های تعریف شده برنامه نویس نیستند. کلمات کلیدی را نمی توان به عنوان یک نام یا متغییر تعریف کرد. عبارتند از: 

کلمات کلیدی دربرنامه نویسی C

انواع داده های اساسی (basic date types)

به طور کلی داده به دو نوع ۱- ثبات ۲- متغییر تقسیم می شوند.

۱-ثبات ها

محتوای درون یک ثبات در طول برنامه تغییر نمی کند. زبان برنامه نویسی C چهار نوع  ثبات دارد:

  • عدد صحیح
  • عدد صحیح شناور ( اعشار)
  • کارکتر
  • رشته های حرفی

۱-۱- ثبات های صحیح:

ثبات های صحیح، یک عدد دهدهی یا اکتال ( مبانی هشت) و هگز (مبنای ۱۶) است که مقداری صحیح را نشان می دهد.

۱-۲- ثبات ممیز شناور:

عدد ممیز شناور عددی است که دارای علامت بوده و شامل یک قسمت صحیح و یک قسمت کسری  و یک نماد E به صورت زیر دارد:

[ارقام نماد E][تعداد رقم های اعشاری.][رقم ها]

۱۵۷۵e2 , -20.5e-3

نقطه اعشار نشان دهنده ثابت ممیزشناور است. ثابت های ممیزشناور را می توان به صورت نماد علمی هم بیان کرد.

۱-۳- ثابت های کارکتری:

ثابت کاراکتری، شامل عدد، رقم و یا علائم دستوری است که درون یک زوج تک گیومه قرار گرفته و به فرم زیر می‌باشد:

‘A’ – ‘B’…..

۱-۴- رشته های حرفی:

رشته ای از حروف و ارقام و علائم هستند که درون دو گیومه قرار می گیرند.

“SOURSEIRAN”

۲- متغیرها

متغیر نامی برای کلمات حافظه است که  داده ها در آن قرار می گیرند و ممکن است در طول برنامه تغییر کنند. برای مراجعه به متغیرها از نامشان استفاده می کنیم برای نامگذاری متغیرها میتوان از ترکیبی از حروف a تا z یا Aتا Z ، ارقام و خط ربط ( _) استفاده کرد. البته نباید اولین کاراکتر آن رقم باشد. نام  متغیر می تواند با هر طولی باشد ولی ۳۱ یک کاراکتر اول آن مورد استفاده قرار می گیرد.

مثال:

اسامی مجاز مانند:

Test121-Sum-S_1-count

اسامی غیر مجاز مانند:

۱test-high!there-grade.1-.dak

 در زبان C، کامپایلر داده ثابت را با مشاهده آن تشخیص می‌دهند. اما یک متغیر نیاز دارد که نوع آن در جمله تعریفی مشخص شود. زبان C، هفت کلمه کلیدی برای بیان نوع متغیر دارد.

int-long-short-unsigned – که برای اعداد صحیح  مثبت و منفی به کار می روند.

(unsigned)  برای اعداد مثبت و صفر استفاده می شود.

( float- double)  اعداد اعشاری 

(char) برای تعریف حروغ الفبا 

۲-۱- تعریف متغیرها

گفته شد که متغیرها محل ذخیره داده ها هستند و چون داده ها دارای نوع هستند، متغیر ها نیز باید دارای نوع باشند. در برنامه نویسی c متغیر های فاقد نوع شناخته شده نیستند قبل از به کار گرفتن متغیرهای باید نوع آن‌ها را مشخص کنیم نوع متغیر، مقادیری را که متغیر می تواند بپذیرد و اعمالی را که می‌تواند بر روی مقادیر انجام شود را مشخص می‌کند تغییر نوع متغیر را تعریف متغیر می‌گوییم برای تعیین نوع متغیر به صورت زیر عمل می کنیم:

; نام متغیر     نوع  داده

int i,j,l;
short int st;
unsigned int ui;
double balance,profit,loss;

در زبان C متغیر ارتباطی با نوع ان ندارد. سه مکان اساسی برای تعریف متغیرها وجود دارد: درون توابع به صورت متغیر های محلی ، در تعریف پارامترهای تابع ، در بیرون تمام توابع یا همان متغیر های خارجی

۲-۲- مقدار دادن به متغیرها

برای مقدار دادن به متغیرها به سه روش می توانیم عمل کنیم:

  • هنگام تعریف یا همان (تعیین نوع) متغیر
  • پس از تعریف نوع متغیر و با دستور انتساب (=)
  • دستورات ورودی

۱- مقدار دادن متغیر هنگام تعریف آنها

int x,y=5;
char ch1='a',ch2='m';

دستور اول، دو متغییر  x , y  را از نوع  int  مشخص می کند و مقدار y ر ا برابر ۵  قرار می دهد. دستور دوم متغییر های ch1 , ch2 را از نوع char تعریف و مقدار ch1 را برابر a و مقدار ch2 را برابر m قرار می دهد

۲- مقدار دادن به متغییر با دستور انتساب

int x,y,m;
float f1,f2;
char ch1,ch2;
f1=15.5;
f=20;
x=y=m=0;
ch1=ch2='a';

سه دستور اول، متغییر ها را تعریف می کند. دستور چهارم مقدار ۱۵٫۵ را در f1  و دستور پنجم مقدار ۲۰ را در متغییر f2 قرار می دهد و دستور ششم سه متغیر x,y,z را برابر  صفر قرار می دهد. دستور هفتم: حرف  a را در دو متغییر ch1 , ch2 قرار می دهد.

۳- مقدار دادن متغیر با دستورات ورودی

int x,y;
scanf ("%d%d",&x,&y);

یک نکته در مورد مقدار دهی به متغیر ها حائز اهمیت زیادی می باشد و آن اینکه علاوه بر مقدار متناسب با هر متغیر که شما می توانید آن را داخل متغیر خود جای دهید، شما قادر به تخصیص یک متغیر دیگر و یا یک تابع به عنوان مقدار و موجودی متغیر خود هستید. اولین شرط این است که مقداری که متغیر جایگذاری شده دارد باید با نوع متغیر شما متناسب باشد. مثلاً اگر متغیر b را داخل متغیر a می گذارید ( به عنوان مقدار و موجودی متغیر a تعریف می کنید ) باید مقداری که b دارد از نوع متغیر a باشد. مثلاً یک متغیر کاراکتری را نمی توانید به عنوان مقدار و موجودی یک متغیر صحیح تعریف کنید. شرط دوم نیز همانند شرط اول است ولی در مورد تابعی است که شما می خواهید آن را به عنوان مقدار و موجودی یک متغیر استفاده کنید. مثلاً متغیر a یک متغیر صحیح int است، اگر می خواهید مقدار آن را یک تابع بنویسید تا خروجی آن به عنوان مقدار و موجودی متغیر a قرار بگیرد، باید خروجی تابع حتماً یک عدد صحیح باشد.

تعریف ثوابت

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

۱- استفاده از دستور #define

#define   <مقدار>  <نام ثبات>

#define M 100
#define p 3.1

۲- استفاده از دستور  .const

const  <مقدار>=  <نام ثابت >  <نوع داده>

const  int a = 20 , int b = 30;
const  char s = ‘a’;

ثوابت a و b  از نوع int  و با مقادیر ۲۰ و ۳۰ تعریف شده اند و ثابت s از نوع کارکتر (Char) و با مقدار اولیه a تعریف شده است .

کاربرد ثوابت در برنامه حایز اهمیت است . به عنوان مثال اگر بخواهیم در هر بار اجرای برنامه مقدار m را  در مثال بالا عوض کنیم ،لازم نیست کلیه دستورات برنامه را که با m سروکار دارد تغییر دهیم بلکه کافی است ، مقدار m را در دستور  const به مقدار مورد نظر تغییر دهیم.

Add a Comment

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