Sorry, no posts matched your criteria.

این سایت در ستاد ساماندهی ثبت شده و تابع قوانین جمهوری اسلامی میباشد

جملات شرطی در برنامه نویسی C

۹ مهر ۱۳۹۷
بدون نظر


جملات شرطی در برنامه نویسی C

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

عبارت شرطی IF

۱-  عبارت شرطی IF
ساختار if که نام دیگرش، دستور انتقال کنترل شرطی است، شرطی را تست می‌کند و در صورتیکه آن شرط دارای ارزش درستی باشد، مجموعه ای از دستورات را اجرا میکند. این دستور به صورت زیر به کار میرود:



عبارت شرطی IF

۱-۱- شرطهای تو در تو :



در شرط های تو در تو هر else مربوط به نزدیکترین if است.

 اگر شرط موردنظر برقرار باشد، کدهای درون {  } در زیر if اجرا خواهند شد. اگر شرط موردنظر برقرار نباشد، کدهای درون { } در زیر else اجرا خواهند شد

*مثال زیر عددی را از ورودی دریافت می کند و زوج یا فرد بودن آنرا مشخص و درخروجی پیغام مناسب را چاپ کند.

 *در مثال زیر زوج یا فرد بودن عدد ورودی مورد بررسی قرار می گیرد.



خروجی کد بالا:



برنام مشخص کردن عدد اول در برنامه نویسی c*در مثال زیر بررسی می کند که آیا عدد اول می باشد یا خیر.



خروجی کد بالا:

۱-۲- کاربرد else در دستور IF چیست

اگرشرط روبروی if (چیزی که داخل پرانتز نوشته شده) برقرار باشد مجموعه ی دستورات داخل if اجرا میشود و اگر شرط برقرار نباشد مجموعه دستورات داخل else اجرا میشود.

نکته: اگر مجموعه دستورات if شامل فقط یک دستور باشه نیازی به { } نداریم.

۱-۳- انتقال کنترل غیر شرطی:

  • دستور کنترل شرطی if بعد از بررسی کردن شرط , با توجه به نتیجه شرط اقدام به اجرای دستورالعمل ها می کند.برخی دستورات دیگر بدون بررسی کردن هیچ شرطی قادر به انتقال کنترل برنامه از نقطه ای به نقطه دیگر هستند.(break ; continue ; goto).
  • دستور break موجب خروج از حلقه تکرار می شود.نحوه استفاده از این دستور به این صورت است : ;break . اگر چندین حلقه تودرتو وجود داشته باشد , این دستور موجب خروج از حلقه ای که در آن است می شود.برای خاتمه دادن به ساختار switch نیز از این دستور استفاده می شود.
  • دستور continue در حلقه تکرار موجب انتقال کنترل به ابتدای حلقه می شود.پس از انتقال کنترل به ابتدای حلقه , شرط حلقه مورد بررسی قرار می گیرد.چنانچه شرط درست باشد , اجرای دستورات حلقه ادامه می یابد وگرنه حلقه تکرار خاتمه می یابد.استفاده از این دستور به این صورت است: ;continue .
  • دستور goto سبب انتقال کنترل از نقطه به نقطه دیگر برنامه می شود.این دستور معمولا به ندرت مورد استفاده قرار می گیرد.چون استفاده از آن خوانایی برنامه را بسیار کاهش می دهد.نحوه استفاده از آن به این صورت است: ;<برچسب>goto  .برچسب دستور همانند متغیرها نامگذاری می شود و به ( ; ) ختم می شود.انتقال کنترل توسط goto فقط داخل یک تابع امکان پذیر است.

ساختار تصمیم  switch۲- ساختار تصمیم  switch
ساختار switch یکی از ساختارهای مهم و جالب در برنامه نویسی  است. از این ساختار برای تصمیم‌گیری‌های چندگانه بر اساس مقادیر مختلف یک عبارت، استفاده می شود. اگر چه ساختار شرطی if-else-if می تواند تست های چندگانه انجام دهد، با این حال مشکل ساز نیز می باشد. حتی نویسنده این ساختار بعدا نمی تواند گردش برنامه را ردیابی کند. به همین دلیل، در تمام تصمیم‌گیری‌هایی که بیش از سه اتخاب وجود داشته باشد، بهتر است از ساختار switch استفاده شود به عنوان مثال، فرض کنید یک متغیر به نام X تعریف می شود، و مقادیر ۱، ۳، ۷، ۹، ۱۵ از ورودی می پذیرد. مقرر است بسته به هر مقدار دستور خاصی اجرا شود. و اگر X مقداری غیر از این مقادیر داشته باشد دستور دیگری اجرا شود. این ساختار با switch  پیاده سازی می شود.

ساختار تصمیم  switch



این ساختار به صورت زیر مورد استفاده قرار می گیرد:

  • ابتدا عبارت مقابل switch به مقدار صحیح ارزیابی می شود و مقدار آن تعیین می شود.
  • اگر مقدار عبارت برابر با <مقدار ۱> باشد <دستورات ۱> اجرا می شوند و اجرای دستورات تا رسیدن به break ادامه خواهد یاقت.
  • دستور break اجرای برنامه را از ساختار switch خارج می سازد.
  • در صورتی که مقدار غبارت با <مقدار ۱> برابر نباشد با <مقدار ۲> مقایسه می شود و همین روند ادامه می یابد.
  • تا زمانی که مقدار عبارت برابر با یکی از مقادیر نباشد عمل مقایسه ادامه می یابد.
  • اگر مقدار عبارت با هیچ کدام از مقادیر برابر نباشد , دستورات بخش default به اجرا در می آید.






در ساختار switch به چند مورد باید توجه کرد:

  • ساختار switch می‌تواند بدون بخش default باشد، در این صورت اگر عبارت محاسبه شده با هیچ کدام از مقادیر مساوی نباشد، هیچ کدام از دستورات داخل switch اجرا نمی شود.
  • مقادیر موجود در case های switch نمی توانند با هم مساوی باشند. یعنی دستورات ۱، ۲ ،۳ و …n نباید مساوی باشند.
  • اگز ثوابت کاراکتری در ساختار switch مورد مقایسه قرار گیرند، به مقدار صحیح تبدیل می شوند.
  • اگر در یک case از دستور break استفاده نشود، با مقدار case بعدی or می شود. برای این که دو یا چند شرط را ساختار switch با هم or کنید، آنها را بدون break پشت سر هم قرار دهید.
  • یکی از تفاوت های if و switch در این است که در ساختار if می توان عبارت منطقی یا رابطه ای را مورد بررسی قرار داد ولی در ساختار switch فقط مساوی بودن مقادیر مورد بررسی قرار می گیرد.
  • چند ساختار switch را می توان به صورت تودرتو مورد استفاده قرار داد.

ساخت ماشین حساب ساده با دستورات switch...case*ساخت ماشین حساب ساده با دستورات switch…case



خروجی کد بالا:




لینک کوتاه مطلب

http://1computeri.ir/?p=227

برچسب ها

مطالب مشابه