advertise laitec sharif univercity تبلیغات در سایت سورس کد تبلیغات در سایت سورس کد
دانلود مقاله ای در مورد الگوریتم  کرم شب تاب FireFly در هوش مصنوعی

دانلود مقاله ای در مورد الگوریتم کرم شب تاب FireFly در هوش مصنوعی

3000 تومان
دانلود پروژه فروشنده دوره گرد با الگوریتم گرانشی در #C

دانلود پروژه فروشنده دوره گرد با الگوریتم گرانشی در #C

4800 تومان
دانلود سورس پروژه فروشگاه کیف با asp.net و sql express

دانلود سورس پروژه فروشگاه کیف با asp.net و sql express

3000 تومان
پروژه کامل مدیریت شرکت نرم افزاری با سی شارپ و SQL

پروژه کامل مدیریت شرکت نرم افزاری با سی شارپ و SQL

15000 تومان
دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

3000 تومان

دستورات پیش پردازنده در زبان سی پلاس پلاس ++C

پیش پردازنده، نوعی مترجم است که دستورات توسعه یافته ای از یک زبان برنامه نویسی را گرفته، به دستورات قابل فهم برای کامپایلر همان زبان تبدیل میکند.
دستورات پیش پردازنده در زبان سی پلاس پلاس ++C

دستورات پیش پردازنده در زبان سی پلاس پلاس C++

پیش پردازنده، نوعی مترجم است که دستورات توسعه یافته ای از یک زبان برنامه نویسی را گرفته، به دستورات قابل فهم برای کامپایلر همان زبان تبدیل میکند. به عبارت دیگر، ورودی پیش پردازنده برنامه ای با دستورات توسعه یافته است و خروجی آن،برنامه دیگری است که توسط پردازنده (CPU) قابل ترجمه و اجراست. دستورات توسعه یافته ای در زبان C وجود دارند که توسط پردازنده قابل ترجمه و اجرا نیست، بلکه فقط توسط پیش پردازنده قابل فهم هستندو به دستورات پیش پردازنده معروفند. دستورات پیش پردازنده در زبان C از اهمیت ویژه ای برخوردارند.

 

تعریف ماکرو

ماکرو، نامی برای یک رشته است که این رشته میتواند ترکیبی از حروف، ارقام، مقادیر ثابت، توابع و  غیره باشد. دستور پیش پردازنده #define برای تعریف ماکرو استفاده میشود. این دستور قبل از تابع main() به دو صورت به کار میرود که یک روش آن بصورت زیر است:

<رشته>    <نام ماکرو>     #define

نام ماکرو، همانند نام یک متغیر در C است که حداقل باید با رشته تعریف کننده ماکرو، یک فاصله داشته باشد و بهتر است جهت مشخص بودن در برنامه با حروف بزرگ انتخاب شود. در مورد دستورات پیش پردازنده در زبان C باید این نکته را در نظر داشت که آنها علیرغم سایر دستورات زبان C به ; ختم نمیشوند.

 

کاربرد دیگر دستور #define در تعریف ماکروهایی است که دارای پارامتر باشند. در این مورد از این دستور بصورت زیر استفاده میشود:

تعریف ماکرو  (اسامی پارامترها)   نام ماکرو  #define

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

برخلاف توابع، در ماکروها نیازی به تعریف نوع پارامترها نیست. بعنوان مثال دستور #define  READINT(I) ماکرویی به نام READINT تعریف میکند که دارای پارامتر "I" است. اگر بخواهیم متغیری مثل distance   را از ورودی بخوانیم کافیست ماکروی فوق را بصورت  READINT (distance); فراخوانی کنیم.

اگر تعریف ماکرو شامل عبارتی طولانی باشد (طوری که در یک خط قابل بیان نباشد) میتوان آن را در دو یا چند خط ادامه داد. بدین منظور باید در انتهای هر خط ناتمام از کاراکتر back slash() استفاده نمود.

 

دستورات پیش پردازنده شرطی

در حالت معمولی، دستور if برای تصمیم گیری در نقاط مختلف به کار میرود. شرط هایی که در دستور if ذکر میشوند و در حین اجرای برنامه ارزشیابی میشوند. یعنی اگر شرط ذکر شده در دستور if چه درست باشد چه نادرست، این دستور و کلیه دستورات دیگر که در بلاک if قرار دارند ترجمه میشوند  ولی در دستورات پیش پردازنده ی شرطی، شرطی که در آن ذکر میشود در حین ترجمه ارزشیابی میشود.

دستورات پیش پردازنده شرطی عبارتنداز:

► #if

► #else

► #elif

► #endif

► #ifdef

► #ifndef

 

دستور #if بصورت زیر بکار میرود:

#if          عبارت شرطی

                    مجموعه دستورات

#endif

 

عبارت شرطی که در دستور #if ذکر میشود، عبارتی است که مقدار آن در زمان ترجمه معلوم است. این عبارت در حین ترجمه ارزیابی میشود. چنانچه دارای ازش درستی باسد مجموعه دستورات موجود در بین #if و #endif ترجمه خواهد شد وگرنه این مجموعه دستورات ترجمه نمیگردد.

 

#elif مشابه دستور else  if رفتار میکند و بصورت زیر استفاده میشود:

#if         1 عبارت شرطی

               1  مجموعه دستورات

#elif        عبارت شرطی2

                مجموعه دستورات2

.

.

.

#elif   n عبارت شرطی

            n   مجموعه دستورات   

#endif

 

هر #elif بهمراه یک عبارت شرطی است که اگر نتیجه ارزیابی آن ارزش درستی داشته باشد مجموعه دستورات مربوط به آن ترجمه شده کنترل به دستور بعد از #endif برمیگردند وگرنه شرط های موجود در #elif های بعدی مورد بررسی قرار میگیرند. اگر هیچکدام از عبارات شرطی ذکر شده در این ساختار ارزش درستی نداشته باشند، هیچ یک از مجموعه دستورات 1 تا n ترجمه نخواهد شد.

 

حذف ماکروی تعریف شده

اگر در برنامه ماکرویی توسط دستور #define تعریف گردد، دستور #undef میتواند از یک نقطه دلخواه برنامه (ازجایی که این دستور قرار میگیرد) به بعد، تعریف ماکرو را بی اثر میسازد. این دستور بصورت <نام ماکرو>    #undef  بکار میرود.

 



1
نظرات
  • user avatar علی اصغر:
    ۱۲:۴۲:۰۷ __ ۱۳۹۴/۱۲/۲۰

    خیییییییلی مطالبه تون باحال بود ممنون

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
تعریف و معرفی پیش پردازنده در زبان ++Cدستورهای پیش پردازنده شرطی در ++C کدامند؟حذف ماکروی تعریف شده در ++C چگونه است؟آموزش تعریف ماکرو در سی پلاس پلاسدستورات پیش پردازنده ماکروی شرطیپیش پردازنده چیست؟دستوات پیش پردازنده چه دستوراتی هستند؟آشنایی با انواع دستورات پیش پردازنده C plus plusتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

سفارش پروژه در سورس کد

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php