advertise laitec sharif univercity استخراج بیت کوین با کامپیوتر استخراج بیت کوین با کامپیوتر
دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

3000 تومان
دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

12000 تومان
دانلود پروژه وب سایت هتل با HTML و ASP.NET

دانلود پروژه وب سایت هتل با HTML و ASP.NET

4900 تومان
دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

3000 تومان
دانلود سورس هوش مصنوعی رنگ آمیزی گراف با ژنتیک در #C

دانلود سورس هوش مصنوعی رنگ آمیزی گراف با ژنتیک در #C

4800 تومان

دستورات پیش پردازنده در زبان سی پلاس پلاس ++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  بکار میرود.

 



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

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

  • user avatar شایان:
    ۱۴:۳۳:۳۶ __ ۱۳۹۷/۰۳/۳۱

    ممنون از راهنمائی تون عالی بود

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



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


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

کسب درآمد با کامپیوتر
تولید بیت کوین با کامپیوتر

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

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