مقدمات و اصول و قوانین زبان سی C قسمت 1
21 بهمن, 1388
پروگرامر USBasb برای میکروکنترلرهای AVR نسخه 2011-05-28
11 اسفند, 1388بازدیدها: 8
انواع داده ها (متغیر یا همون ثبات ها):
Type Size (Bits) Range
Bit 1 0 , 1
char 8 -128 to 127
unsigned char 8 0 to 255
signed char 8 -128 to 127
int 16 -32768 to 32767
short int 16 -32768 to 32767
unsigned int 16 0 to 65535
signed int 16 -32768 to 32767
long int 32 -2147483648 to 2147483647
unsigned long int 32 0 to 4294967295
signed long int 32 -2147483648 to 2147483647
float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38
برای تعریف یک متغیر ابتدا نوع داده (Type) و سپس نام متغیر را می نویسیم:
متغیر ali از نوع bit بیت Bit ali; //
متغیر ali از نوع char و 8 بیتی است char ali; //
بعد از تعریف نام متغیر حتما علامت ; را باید قرار داد. برای مقدار دهی اولیه یک متغیر به دو صورت می تونم این کار رو انجام بدیم.
اول اینکه ابتدا کتغیر رو تعریف کنیم و بعد یه عددی رو به اون متغیر بدهیم:
Char smgh; Char smgh; Char smgh;
smgh=0x1E; smgh=0b00011110; smgh=30;
دوم اینکه در موقع تعریف یک متغیر همزمان به اون مقدار هم بدیم:
Char smgh=0x1E; Char smgh=0b00011110; Char smgh=30;
در اینجا ما متغیر smgh را از نوع 8 بیتی معرفی کردیم و همزمان هم عدد 30 دسیمال را به 3 روش به اون اختصاص دادیم. اگر بخواهیم عدد در مبنای دسیمال به متغیر بدیم خوب چیزی جلوی اون نمی نویسیم و فقط عدد رو وارد می کنیم؛ اگر بخواهیم عدد رو در مبنای باینری وارد کنیم ابتدا باید 0b بنویسیم و بعد از b عدد باینری رو وارد کنیم؛ اگر بخواهیم عدد را در مبنای هگزا دسیمال وارد کنیم باید اول 0x رو بنوسیم و بعد اون عدد هگز رو قرار بدیم.
سوم اینکه به صورت گروهی چند متغیر از یک نوع تعریف کنیم:
1 Char smgh,ali,a,b,mc;
2 Char smgh=3,ali=5,a=8,b=88,mc=4;
برای روش 1 باید اول نوع متغیر را بنویسیم مثلا char و بعد بین هر متغیر یک , بزاریم و در آخر هم علامت ; رو می گذاریم. که ما پنج متغیر از نوع 8 بیتی char تعریف کردیم.
و در روش 2 همزمان که متغیر ها رو تعریف می کنیم به هر متغیر عدد مورد نظر رو می دهیم.
آرایه ها:
آرایه ها مجوعه ای از متغیر های هم نوع هستند. و برای تعریف آرایه ابتدا نوع داده و بعد هم اسم آرایه و بعد تعداد عناصر آرایه را در داخل [] قرار می دهیم.
آرایه تک بعدی:
Char smgh[4];
اسم آرایه ما smgh هست و از نوع 8 بیتی char هستش که 4 عضو هم دارد. برای دسترسی به عضوهای این آرایه باید به صورت زیر عمل کنیم:
Smgh[0]=0x23;
Smgh[1]=0x56;
Smgh[2]=0x83;
Smgh[3]=0x18;
نکته: برای دسترسی به اولین عنصر یک آرایه باید عدد صفر رو قرار بدیم. یعنی اولین عضو ما 0 و 1 و 2 و3 هست..
برای روشن شدن مبحث آرایه می تونیم همین مثال رو به صورت زیر بنویسیم، با هم فرق میکنند ولی برای روشن شدن موضوع بد نیست:
Char smgh0=0x23,smgh1=0x56,smgh2=83,smgh3=0x18;
یه جورایی می تونیم مثال آرایه رو به مثال بالایی شبیه کنیم. در مثال آرایه smgh[4] یعنی 4 متغیر جداگانه و مجزا از نوع char داریم که تنها smgh در آنها مشترک هستش و برای دسترسی به عنصر 2 این آرایه باید عدد مورد نظر رو به صورت اندیس در [] قرار دهیم گفتیم که عنصر ها از صفر شروع میشن پس برای عنصر دوم یکی ازش کم می کنیم و میشه 1 که می نویسیم smgh[1] که منضور ما همون آرایه دومی هستش.
برای مقدار دهی هر عضو نمی تونیم به روشی قبلی استفاده کنیم چون اگر تعداد عناصر زیاد باشه خیلی باید دستور بنویسیم و احتمال اینکه اشتباه هم بکنیم زیاده هستش پس برای مقدار دهی عناصر یک آرایه به صورت زیر عمل می کنیم:
Char smgh[4]={0x23,0x56,0x83,0x18};
آرایه دو بعدی:
برای تعریف آرایه دو بعدی به صورت زیر عمل می کنیم:
; [تعداد عناصر ستون] [تعداد عناصر سطر] نام آرایه نوع متغیرهای آرایه
مثلا آرایه 3×2 : (2 سطر و 3 ستون)
Char smgh[2][3];
مثال بالا رو مقدار دهی می کنیم:
Char smgh[2][3]={{2,4,7},{5,6,1}};
برای اینکه در نوشتن عناصر قاطی نکنید می تونید به صورت زیر عمل کنید:
Char smgh[2][3]={
{2,4,7},
{5,6,1}
};
مثلا ما می خواهیم یک ماتریس 3×3 داشته ماشیم،همانطور که می دانیم این ماتریس دارای 9 درایه یا عنصر می باشد که برای تعریف اون در زبان سی به صورت زیر عمل می کنیم:
Char smgh[3][3]={
{2,4,6},
{3,5,8},
{9,0,1}
};
نکته: اگر ندانیم که تعداد عناصر یک آریه چند تا است داخل [] را خالی می گذاریم.
رشته ها:
رشته ها آرایه ای از کاراکتر هاست.
Char smgh[]="MC8051.blogfa.com";
پایان قسمت دوم
