مفاهیم اولیه زبان C-بخش سوم
در بخش قبلي از آموزش هاي زبان C ويژه ميكروكنترلرها با مفاهيم انواع متغیر و نحوه تعریف آنها در زبان C آشنا شديم در اين بخش با مفهوم کلاس ذخیره سازی متغیرها، انواع آن و همچنین انواع عملگرها آشنا خواهيم شد.
کلاس ذخیره سازی متغیرها
در معرفی یک متغیر می توان نحوه ی ذخیره سازی آن را تعریف کرد. برای تعیین کلاس ذخیره سازی می بایست قبل از تعریف نوع داده متغیر، کلاس آن را تغیین کنیم. فرم کلی :
<متغیر <نوع داده> <کلاس ذخیره سازی ;
انواع کلاس ذخیره سازی
auto: متغیرهایی که در داخل بدنه یک تابع تعریف می شوند، متغیرهای محلی نامیده می شوند. این متغیرها با فراخوانی یک تابع، در درون آن شکل می گیرند و با برگشتن از تابع از بین می روند به این نوع کلاس ذخیره سازی، کلاس حافظه اتوماتیک گفته می شود. این حالت برای متغیرهای محلی، پیش فرض کامپایلر می باشد و نیاز نیست که قبل از نوع داده کلمه auto، بیاید به عبارت دیگر، متغیرهای تعریف شده در یک تابع از نوع اتوماتیک هستند.
static: متغیرهای محلی که از نوع ثابت تعریف می شوند با خارج شدن از یک تابع از بین نمی روند و فقط در بدنه همان تابعی که تعریف شده اند قابل دسترسی هستند. متغیرهای کلی در واقع متغیرهای ثابتی هستند که در تمامی توابع قابل دسترسی اند و محتوای آنها از بین نمی رود.
extern: این نوع کلاس برای متغیرهایی است که در یک فایل دیگر (مثل فایل سرآمد) معرفی و مقداردهی اولیه شده است و در فایل جاری برنامه، می توان از آنها استفاده کرد.
register: این نوع کلاس، نحوه ی ذخیره شدن یک متغیر را در یکی از رجیسترهای میکروکنترلر تعیین می کند و فقط در قالب متغیرهای محلی کاربرد دارند.
عملگرها
در زبان C به علائم منطقی و ریاضیاتی، عملگر گفته می شود. عملگرها را نمی توان به عنوان دستور نامید زیرا آنها فقط فقط یک عمل خاصی را انجام می دهند.
عملگرهای محاسباتی
تقدم عملگر | عملگر | مفهوم | مثال |
اولویت اول | ++ | افزایش به اندازه یک واحد | X++ |
— | کاهش به اندازه یک واحد | X– | |
اولویت دوم | – | علامت منفی | -X |
اولویت سوم
| * | ضرب | X * Y |
/ | تقسیم (خارج قسمت) | X/10 | |
% | تقسیم (باقی مانده) | X%10 | |
اولویت چهارم | – | تفریق | X-Y |
+ | جمع | X+Y |
نکته: هرگاه یک عبارت در بین علامت پرانتز () قرار گیرد، اولویت بالاتری خواهد داشت.
عملگرهای مقایسه ای
تقدم عملگر | عملگر | مفهوم | مثال |
اولویت اول | > | بزرگتر | X>Y |
>= | بزرگتر یا مساوی | X>=Y | |
< | کوچکتر | X<Y | |
<= | کوچکتر یا مساوی | X<=Y | |
اولویت دوم | == | متساوی | X==Y |
!= | نامساوی | X!=Y |
عملگرهای منطقی
تقدم عملگر | عملگر | مفهوم | مثال |
اولویت اول | ! | not | X! |
اولویت دوم | && | and | X && Y |
اولویت سوم | || | or | X || Y |
عملگرهای بیتی و منطقی
عملگر | مفهوم | مثال | معادل |
= | مساوی | X=12 |
|
*= | انتساب ضرب | X*=Y | X=X*Y |
/= | انتساب تقسیم | X/=10 | X=X/Y |
%= | انتساب باقی مانده | X%=10 | X=X%Y |
+= | انتساب جمع | X+=Y | X=X+Y |
-= | انتساب تفریق | X-=Y | X=X-Y |
&= | انتساب AND بیتی | X&=Y | X=X&Y |
^= | انتساب XOR بیتی | X^=Y | X=X^Y |
|= | انتساب OR بیتی | X|=Y | X=X|Y |
<<= | انتساب شیفت به چپ | X<<5 | X=X<<5 |
>>= | انتساب شیفت به راست | X>>5 | X=X>>5 |
عملگرهای انتسابی یا ترکیبی
تقدم عملگر | عملگر | مفهوم | مثال | نتیجه |
اولویت اول | ~ | مکمل 1 | (0x66)~ | 0x9A |
اولویت دوم | >> | شیفت به راست | 0b11001011>>4 | 0b00001100 |
<< | شیفت به چپ | 0b11001011<<4 | 0b10110000 | |
اولویت سوم | & | AND بیتی | 0x66 & 0xff | 0x66 |
اولویت چهارم | ^ | XOR بیتی | 0x12 ^ 0x12 | 0 |
اولویت پنجم | | | OR بیتی | 0x05 | 0x30 | 0x35 |
در این آموزش با مفاهیم کلاس ذخیره سازی متغیرها، انواع آن و همچنین انواع عملگرها آشنا شدیم. در آموزش های بعدی با دستورات زبان C آشنا خواهیم شد.
- لینک دانلود به صورت پارت های 1 گیگابایتی در فایل های ZIP ارائه شده است.
- در صورتی که به هر دلیل موفق به دانلود فایل مورد نظر نشدید به ما اطلاع دهید.
پسورد فایل : پسورد ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید