دستور if و if…else در برنامه نویسی C

رتبه: 5 ار 1 رای SSSSS
دستور if 1
نویسنده: میلاد حیدری زمان مطالعه 2 دقیقه
Banner Image

در این آموزش به کمک مثال های مختلف با دستورهای if، if…else، if…else نردبانی و if…else تودرتو در برنامه نویسی C آشنا خواهید شد.

دستور if در C

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

if (عبارت شرطی)

{

// اجرا می شوند if اگر عبارت شرطی درست باشد، دستورات

}

دستور if چگونه کار می کند؟

در دستور if ابتدا عبارت شرطی داخل پرانتز بررسی می شود:

  • اگر عبارت شرطی درست (true) باشد، دستورات داخل بدنه if اجرا می شوند.
  • اگر عبارت شرطی نادرست (false) باشد، دستورات داخل بدنه if اجرا نمی شوند و کنترل برنامه به بعد از دستور if (بعد از }) منتقل خواهد شد.

عبارات شرطی

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

مثال ۱: دستور if

// برنامه نمایش عدد منفی

#include <stdio.h>

int main() {

int number;

printf(“Enter an integer: “);

scanf(“%d”, &number);

// اگر عدد کوچکتر از ۰ باشد، عبارت شرطی درست و برقرار است

if (number < 0) {

printf(“You entered %d.n”, number);

}

printf(“The if statement is easy.”);

return 0;

}

خروجی

Enter an integer: -2

You entered -2.

The if statement is easy.

وقتی کاربر عدد -۲ را وارد کند، شرط number<0  درست ارزیابی شده و رشته “You entered -2” درصفحه خروجی نمایش داده می شود.

خروجی ۲

Enter an integer: 5

The if statement is easy.

هنگامی که کاربر عدد ۵ را وارد کند، عبارت شرطی number<0 نادرست ارزیابی شده و دستور داخل بدنه if اجرا نمی شود. در ادامه، برنامه به بعد از دستور if می رود.

دستور if…else در C

دستور if ممکن است یک بلوک اختیاری با نام else داشته باشد. ساختار دستور if…else به صورت زیر است:

if (عبارت شرطی) {

// اجرا می شوند if اگر عبارت شرطی درست باشد، دستورات

}

else {

// اجرا می شوند else اگر عبارت شرطی نادرست باشد، دستورات

}

دستور if…else چگونه کار می کند؟

اگر عبارت شرطی درست باشد:

  • دستورات داخل بدنه if اجرا می شوند.
  • از دستورات داخل بدنه else رد شده و اجرا نمی شوند.

اگر عبارت شرطی نادرست باشد:

  • دستورات داخل بدنه else اجرا می شوند.
  • دستورات داخل بدنه if اجرا نمی شوند.

دستور if...else مثال ۲: دستور if…else

// عدد زوج است یا فرد؟

#include <stdio.h>

int main() {

int number;

printf(“Enter an integer: “);

scanf(“%d”, &number);

// اگر باقیمانده تقسیم عدد به ۲ صفر باشد، شرط درست است.

if (number%2 == 0) {

printf(“%d is an even integer.”,number);

}

else {

printf(“%d is an odd integer.”,number);

}

return 0;

}

خروجی

Enter an integer: 7

۷ is an odd integer.

وقتی کاربر عدد ۷ را وارد کند، عبارت شرطی

number%2==0

نادرست ارزیابی می شود و مقدار صفر را برمی گرداند. در نتیجه دستور داخل بدنه else اجرا شده است.

if…else نردبانی در C

در دستور if…else براساس درست یا نادرست بودن عبارت شرطی، دو کد مختلف اجرا می شود. گاهی انتخاب بین بیش از ۲ گزینه است.

if…else نردبانی (Ladder) این امکان را فراهم می کند که بین چندین عبارت شرطی بررسی شود و دستورات متفاوتی را اجرا کند.

ساختار if…else نردبانی:

if (عبارت شرطی ۱) {

// دستور(ها)

}

else if(عبارت شرطی ۲) {

// دستور(ها)

}

else if (عبارت شرطی ۳) {

// دستور(ها)

}

.

.

else {

// دستور(ها)

}

مثال ۳: if…else نردبانی در C

//

// = > < برنامه ای برای ارتباط دو عدد صحیح با استفاده از یکی از نمادهای

#include <stdio.h>

int main() {

int number1, number2;

printf(“Enter two integers: “);

scanf(“%d %d”, &number1, &number2);

// بررسی می کند آیا دو عدد مساوی است

if(number1 == number2) {

printf(“Result: %d = %d”,number1,number2);

}

// است number2 بزرگتر از number1 بررسی می کند آیا

else if (number1 > number2) {

printf(“Result: %d > %d”, number1, number2);

}

//اگر دو شرط قبلی نادرست باشند

else {

printf(“Result: %d < %d”,number1, number2);

}

return 0;

}

خروجی

Enter two integers: 12

۲۳

Result: 12 < 23

if…else تودرتو در C

می توانید یک دستور if…else را در داخل بدنه دستور if…else دیگری بنویسید.

مثال ۴: if…else تودرتو

برنامه زیر مشابه مثال ۳ است و با استفاده از نمادهای (<>=) ارتباط بین دو عدد صحیح رانشان می دهد ولی در اینجا برای حل مسئله از دستورات if…else تودرتو استفاده می شود.

#include <stdio.h>

int main() {

int number1, number2;

printf(“Enter two integers: “);

scanf(“%d %d”, &number1, &number2);

if (number1 >= number2) {

if (number1 == number2) {

printf(“Result: %d = %d”,number1,number2);

}

else {

printf(“Result: %d > %d”, number1, number2);

}

}

else {

printf(“Result: %d < %d”,number1, number2);

}

return 0;

}

اگر بدنه دستور if یا else فقط یک دستور داشته باشد، نیازی به استفاده از براکت نیست {}.

به عنوان مثال، این کد

if (a > b) {

printf(“Hello”);

}

printf(“Hi”);

با کد زیر یکی است،

if (a > b)

printf(“Hello”);

printf(“Hi”);

profile name
میلاد حیدری

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

1 نظر درباره «دستور if و if…else در برنامه نویسی C»

  • حامد
    حامد آیا این دیدگاه مفید بود ؟

    درود بر شما

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید