جلسه‌25
رباتیک والکترونیک روبواچ پیRoboHp
رباتیک والکترونیک

به نام خدا

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

در اين جلسه نيز در ادامه‌ي مطالب جلسه پيش، سعي مي‌کنيم کمي بيشتر با نحوه‌ي برنامه‌نويسي در زبان 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شنبه ي هفته ي آينده بر روي سايت قرار داده خواهد شد.

منتظر سوالات و نظرات دوستان خوبم هستم

تا جلسه ي آينده خدا نگه دار

 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:







درباره سایت


به فروشگاه رباتیک والکترونیک RoboHpخوش آمدید
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان فروشگاه رباتیک و آدرس robohp.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


ورود اعضا:

نام :
وب :
پیام :
2+2=:
(Refresh)

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 45
بازدید دیروز : 35
بازدید هفته : 176
بازدید ماه : 173
بازدید کل : 130525
تعداد مطالب : 164
تعداد نظرات : 20
تعداد آنلاین : 1


IS
Google

در اين سایت
در كل اينترنت

تولید ملی حمایت از کار و سرمایه ایرانی