دستورهای شرطی برای انجام آزمون منطقی و برگزیدن یکی از دو حالت ممکن که به نتیجه آزمون بستگی دارد استفاده میشود. به عبارت دیگر این دستورها موجب میگردند تا در صورت وجود شرط یا شرایطی، مجموعهای از دستورها اجرا گردند و یا در صورت وجود شرط یا شرایطی، یک مجموعه از دستورها و در صورت عدم وجود آن، مجموعه دیگری از دستورها اجرا شوند. این دستورها را ساختارهای تصمیم نیز می نامند.
دستور if به صورتهای if وif-else به کار میرود. سادهترین شکل دستور if به صورت زیر است.
در هر دو شکل if دستورها درصورتی اجرا میگردد که شرط مورد نظر، که پس از کلمه کلیدی if در داخل یک زوج پرانتز بیان شده است، برقرار باشد. در هر حال پس از پایان اجرای ساختار if، دستورهای پس از ساختار if اجرا میگردند. شرط مورد نظر ممکن است به صورت عبارت منطقی بیان گردد که در این صورت اگر نتیجه آن true (یا عدد غیرصفر) باشد، باز هم دستورهای داخل زوج آکولاد اجرا میگردد و سپس کنترل به اولین دستور بعد از ساختار if انتقال مییابد؛ و اگر نتیجه آن نادرست یعنی false (یا عدد صفر) باشد، مشابه حالت شرطی کنترل مستقیماً به بعد از ساختار if انتقال مییابد.
شکل کلی دستور if-else به صورت زیر است.
در این حالت condition عبارت شرطی یا عبارت منطقی است که اگر شرط مورد نظر برقرار باشد یا نتیجه عبارت منطقی درست باشد، دستورهای داخل زوج آکولاد اول اجرا میگردد و کنترل به next statement انتقال مییابد وگرنه دستورهای داخل زوج آکولاد دوم اجرا میشود و باز هم کنترل به next statement انتقال مییابد.
نمودار هر دو ساختار در شکل ۵ـ۴ نشان داده شده است. اگر دستورهای بعد از if یا else بیش از یک دستور نباشد، به استفاده از زوج آکولاد نیازی نخواهد بود. ساختار if را میتوان به صورت تودرتو نیز به کار برد که در این صورت هم if و هم else به صورت تودرتو تا هرچند سطح که منطق برنامه نیاز داشته باشد تکرار میشوند.