دربارهی متغیرها، Identifierها، نکات مهم در برنامه نویسی و ...
در این جلسه نیز در ادامهی مطالب جلسه پیش، سعی میکنیم کمی بیشتر با نحوهی برنامه نویسی در زبان C آشنا شویم... |  |
به نام خدا
با عرض سلام خدمت همهي دوستان عزيز
در اين جلسه نيز در ادامهي مطالب جلسه پيش، سعي ميکنيم کمي بيشتر با نحوهي برنامهنويسي در زبان 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 صحبت کنيم تا تنوعي هم در مطالب ارائه شده داشته باشيم.
در ضمن،از اين هفته سعي مي کنيم هر هفته يک جلسه مطلب بر روي سايت قرار دهيم. جلسه ي بعد نيز 3شنبه ي هفته ي آينده بر روي سايت قرار داده خواهد شد.
منتظر سوالات و نظرات دوستان خوبم هستم
تا جلسه ي آينده خدا نگه دار
دوست شما، فراز