تبلیغات
با عرض سلام خدمت همه‌ی دوستان عزیز

در این جلسه نیز در ادامه‌ی مطالب جلسه پیش، سعی می‌کنیم کمی بیشتر با نحوه‌ی برنامه‌نویسی در زبان C آشنا شویم.




متغیّر چیست؟



متغیر قسمتی از حافظه است که ما برای آن یک نام دلخواه انتخاب می کنیم و از آن برای نگه داری اطلاعات مورد نیاز خود در روند اجرای برنامه استفاده می کنیم.

1- متغیرها با خاموش شدن مدار پاک می شوند و حافظه ی دائمی نیستند.

2- باید نوع اطلاعاتی که قرار است در متغیر نگه داری شود، معلوم گردد، مثلاً قرار است در آن عدد ذخیره شود یا حروف، یا عدد اعشاری یا .... .

3- کامپیلر به صورت خودکار بخشی از حافظه را به متغیر مورد نیاز ما اختصاص می دهد و نیازی نیست ما برای آن مشخص کنیم که اطلاعات را در کجای حافظه ذخیره کند. البته می توان در صورت نیاز آدرس بخشی از حافظه را مشخص کنیم تا اطلاعات ما در ان جا ذخیره شود(که فعلاً به آن نمی پردازیم).



تعریف متغیر:



برای تعریف یک متغیر ابتدا باید نوع یا تایپ (Type) اطلاعاتی که قرار است در آن ذخیره شود، نوشته شود، و بعد از یک فاصله (Space) نام متغیر نوشته شود. به مثال زیر دقت کنید:

int a;

در اینجا متغیری با نام "a" و از نوع integer یا همان عددی تعریف شده است، یعنی در این متغیر فقط می توان یک عدد صحیح (غیر اعشاری) را ذخیره کرد.

نکته: اگر یک عدد اعشاری در آن ریخته شود، بخش اعشاری آن حذف می شود.

هر متغیر از جنس int، دو بایت حافظه را به خود اختصاص می دهد و می توان در آن اعداد در گستره ی32767 تا 32768- را ذخیره کرد.

برای ذخیره سازی حروف(Character) باید متغیر از نوع Char تعریف شود. متغیرهای Char یک بایت حافظه را به خود اختصاص می دهند و در آن ها می توان تنها یک حرف را ذخیره سازی کرد. برای ذخیره سازی حروف در حافظه، کد اسکی (ASCII code) حروف در آن ذخیره می شود.

در جدول زیر چند نوع داده(Data Type) ی دیگر نیز معرفی شده است.


بازه ی تحت پوشش
اندازه (size)
Type

2147483647 تا 2147483648 -
4 بایت
Long int

4294967295 از 0 تا
4 بایت
Unsigned long int

برای اعداد اعشاری
4 بایت
Float

65535 از 0 تا
2 بایت
Unsigned int



برای ذخیره سازی اطلاعات در داخل متغیرها نیز از همان عملگر "=" استفاده می کنیم. مثلاً:

sum1=75;

می توانیم متغیرها در همان موقع تعریف مقدار دهی کنیم. به این کار مقدار دهی اولیه یا "Initialize" کردن میگویند. مثلاً:

int sum1=75;

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

int Cross1=34;
.
.
.
Cross1= 68;


اگر بخواهیم مقدار متغیر ثابت و غیر قابل تغییر باشد باید قبل از تعیین نوع متغیر، کلمه ی "const" را بنویسیم. مثلاً

Const float pi=3.14;

می توان چند متغیر را با هم تعریف کرد و انها را مقدار دهی کرد. مثلاً:

char a1='a', a2, a3, a4='B';


توجه:برای مقدار دهی متغیرهایی که از جنس "char" تعریف میشوند، باید مقدار در داخل ' ' قرار بگیرد، به مثال بالا دقت کنید.


قوانین نام گذاری شناسه ها(Identifiers) در زبان C:



شناسه ها همان نام هایی هستند که برای متغیرها، توابع و ... انتخاب می شوند.

برای انتخاب یک شناسه فقط می توانیم از حروف زیر استفاده کنیم:

1- اعداد 9 تا 0

2- حروف z تا a (حروف کوچک)

3- حروفZ تا A (حروف بزرگ)

4- خط فاصله "_" (Under Line)

5- علامت $

به غیر از این کاراکترها مجاز به استفاده از هیچ کاراکتر دیگری (حتی فاصله(Space) ) نیستیم.

همچنین در ابتدا شناسه ها نمی توانیم از اعداد استفاده کنیم. مثلاً شناسه ی 1loop غلط است، ولی Loop1 درست است.

طول شناسه ها نیز نمیتواند بیش از 32 کاراکتر باشد.

بعضی کلمات در این زبان جزو کلمات رزرو شده (Reserved word) هستند و نمی توانند به عنوان شناسه استفاده شوند مانند:int, float, void, char, while, if ، و ...




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



1- در پایان هر دستور باید یک ";" گذاشته شود.

2- جملات و عبارات غیر عددی را باید در داخل " " قرار دهیم. مثلاً اگر می خواهیم کارکتر B را در داخل متغیری با نام Temp که از جنس char تعریف شده است ذخیره کنیم، باید بنویسیم:

Temp='B';

3- زبان C در اصطلاح یک زبان Case sensitive است، یعنی در این زبان بین حروف بزرگ و کوچک تفاوت وجود دارد. مثلاً در یک برنامه ما می توانیم دو متغیر با نام های "temp" و "Temp" داشته باشیم که ارتباطی هم با یکدیگر ندارند.

4- اگر بخواهیم در هر قسمت از برنامه توضیحاتی رو بنویسیم، باید یک "//" در ابتدای جمله بنویسیم. مثلاً:

int a; // etelaate porte C dar in moteghayer rikhte mishavad

همچنین اگر بخواهیم چند خط پشت سر هم را موقتاً از روند اجرای برنامه حذف کنیم، باید علامت"*/" را در ابتدا، و "/*" را در انتهای ان خطوط قرار دهیم. هرگاه این 2 علامت را پاک کنیم، دوباره آن قسمت، به روند اجرای برنامه اضافه می شود.

5- در ساختار زیر، هردستور یا دستوراتی که در داخل{} نوشته شود، بی نهایت بار انجام می شود. در حقیقت while(1)، یک حلقه ی بی پایان است که دستورات داخل آن تا وقتی که مدار فعال باشد، تکرار می شوند. در جلسات آیند شما با ساختار حلقه ها بیشتر آشنا خواهید شد.

while(1)

{

PORTD.3=PINA.2;

PORTD.4=PINA.3;

}

این 2 دستور مکرراً تا زمانیکه میکروکنترلر فعال باشد، اجرا می شوند.


در بخش برنامه نویسی مطالب بسیار گسترده ای برای آموزش هست، ولی جلسه ی آینده سعی می کنیم کمی هم از سایر بخش های نرم افزاری میکروکنترلر یعنی همان Code vision صحبت کنیم تا تنوعی هم در مطالب ارائه شده داشته باشیم.