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

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

در این آموزش به کمک مثال های مختلف با دستورهای 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
تیم تولید محتوا

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

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

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

مشاهده همه
آموزش برنامه نویسی سی پلاس پلاس
آموزش برنامه نویسی سی پلاس پلاس
قیمت محصول 80٪ 70,000 تومان 350,000
ادامه مطلب

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

1 2 3 4 5

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

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

    درود بر شما

    پاسخ
  • ناشناس
    ناشناس آیا این دیدگاه مفید بود ؟

    برنامه راtrace میکنیم اگر بلاک اول اجرا شد یعنی شرط درست است اگر بلاک اول اجرا نشد یعنی شرط غلط است

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