انواع ساختارها در زبان C – ساختار شرط if

انواع ساختار در C – ساختار شرط if در C

انواع ساختار در C - دستور if در C

تمامی برنامه هایی که نوشته میشه 3 ساختار کلی دارن :

انواع ساختار در C :

1 –ساختار ترتیب: همان اجرای دستورات بصورت پشت سرهم است.

2 –ساختار شرط یا انتخاب: به برنامه نویس اجازه میدهد که براساس درستی یا نادرستی یک شرط تصمیم بگیرد کدام مجموعه از دستورات اجرا شود.

3 –ساختار تکرار(حلقه ها): به برنامه نویس اجازه میدهد مجموعه خاصی از دستورات را تا زمانیکه شرط خاصی برقرار است، تکرار نماید.

 

در انواع ساختار در C،  ابتدا با ساختار شرط و if قراره آشنا بشیم.

دستور if یا شرط در C:

با مکانیزم شرط میتونیم درستی یا نادرستی یک عبارت رو بررسی کنیم و متناسب با نتیجه بررسی شرط عملیات خاصی رو انجام بدیم یا از انجام بعضی از عملیات صرفنظر کنیم. شکل کلی دستور شرط بصورت زیره:

یا ممکنه از دوستور else استفاده نکنیم.

 

else در دستور IF چیست و چه کاربردی دارد؟

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

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

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

شکل کلی شرط های تو در تو بصورت زیره.

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

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

(کد رو در Devcpp بنویسید بعد کد من رو نگاه کنید، با صرفا خوندن ، کدنویسی یاد نمیگیرین.تمرین میخاد 😉 )

 

مثال2 : برنامه اي بنویسید که ماکسیمم سه عدد را محاسبه و چاپ نماید.

 

مثال 3 : برنامه بالا را با استفاده از شرطهای تو در تو بنویسید.

برنامه ی حل معادله درجه 2 :

مثال4 :برنامه ای بنویسید که ضرایب یک معادله درجه 2 را دریافت و ریشه هاي آن را محاسبه و چاپ نماید.

جواب:الگوریتم رو اینطوری در نظر بگیرید که  یک معادله درجه 2 بصورت c+bx+a^2x وجود داره که اگر مقدار 0=a باشد دیگر معادله درجه 2 نیسـت و 2 معادله برحسب اینکه دلتا یعنی b^2-4ac مقدارش منفی، مثبت یا صفر باشد جوابهای مختلف دارد. اگـر مقدار دلتا
منفی باشد معادله جواب ندارد، اگر مقدار دلتا صفر باشد معادله یک جواب دارد و اگر مقدار دلتا مثبت باشد معادله دو جواب دارد.

 

 

مثال آخر برای توضیح بخش انواع ساختار در C و ساختار شرط مقداری طولانی هست ، اما پیچیدگی در  الگوریتمش وجود نداره پس نترسین 😀 ، فقط توجه داشته باشین برای استفاده از تابه exit (که باعث میشه برنامه دیگه ادامه پیدا نکنه) از هدرفایل stdlib.h استفاده کردیم و برای تایع sqrt هم که عملیات جزر رو انجام میده از تابع math.h استفاده کردیم.

 

اگر 2 شرط داشتیم در if چگونه شرط گذاری کنیم؟

بطور مثال در یک برنامه باید 2 شرط رو همزمان چک کنیم.

اینطور مواقع 2 راه داریم.

یا از شروط تو در تو استفاده کنیم و یا شرط هارو با عملگرهای منطقی and یا or کنیم.

عملگرهای منطقی در c:

 

 

AND

OR

NOT

&&

||

!

and به معنی “وَ” هستش. یعنی شرط اول و دوم باید صحیح باشه.

or به معنی “یا” هستش. یعنی یکی از 2 شروط باید صحیح باشه تا شرط صحیح باشه و اگر یکی از 2 شرط درست باشه دستورات اجرا خواهند شد.

 

مثال 5:

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

 

 

 

بیشتر بدانیم طور : 😀

! با نام عملگر نات یا منفی یکی دیگر از عملگرهای c است.

این عملگر وظیفه ی متفاوتی از 2 عملگر قبلی داره .

این عملگر مقدار رو عکس میکنه.

مثلا عدد a=10 تعریف شده ، اگر در شرطی بنویسیم :

 

در شرط مقدار نات شده(معکوس شده) a! یعنی -10 رو بررسی میکنه.

بجز در شرط ها متغیر رو معکوس هم میشه کرد :

 

در جلسات بعدی ساختار while و حلقه (for)  رو هم توضیح میدم.

ADS

حمیدرضا مودت

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

مطالب مرتبط

4 دیدگاه‌

  1. sabarad گفت:

    سلام
    آموزشتون واقعا عالی
    می خواستم بدونم با if فقط یک شرط میشه نوشت و نمی شه با یک if چندتا شرط نوشت ؟
    و آموزش c هم تو سایتتون کامله ؟

    • سلام.
      به پایان مطلب اضافه کردم سوالتون رو.
      بجز رشته ها بله همه ی ساختار زبان C رو توضیح دادم ولی کامل رو نمیشه تایید کرد. برای کسی که بخواد با این زبون آشنا بشه مخصوصا دانشجویان برق بله کامل هستش اما برای دانشجویان کامپیوتر که بعد از ساختار باید وارد محیط شی گرایی و c++ بشن خیر. (برای کاردانی کامپیوتر هم تا حدود زیادی میشه گفت کامل هستش.)

  2. عاطفه گفت:

    وب سایتت و آموزشات واقعا عالی بود مرسی