if –else operatoru – vahid bir operatordur, ona görə də “əgər” blokunu
yekunlaşdıran mötərizə (}) və else sözün arasında heç bir operator yazılabilməz;
else sözündən sonra heç vaxt şərt yazılmır. “əks hal” bloku başlıqdakı şərt yalan olduqda yerinə yetirilir;
əgər“əgər” və “əks hal” blokların tərkibində bir operator yazılırsa, onda fiqur mötərizələri yazmamaq daolar;
Şərtdə aşağıdakı müqayisə operatorlardan istifadə etməkolar:
< böyük
> kiçik
<= kiçik və ya bərabər
>= böyük və ya bərabər
== bərabər
!= bərabər deyil
C dilində sıfıra bərabər olmayan ədəd doğru şərt deməkdir, sıfır isə - yalanşərtdir;
Əgər “əks hal” blokunda heç nə etmək lazım deyilsə, onda “əks hal” blokunu yazmamaq olar. Məsələn, əgər a≠0, onda c=b/a (əks halda heç nə etmək lazım deyil). if –else operatorun qısaldılmış variantıbelədir:
if ( şərt )
{
… // şərt doğru olduqda bu operatorlar yerinəyetiriləcəkdir
}
Əvvəlki məsələnin həlli belə ola bilərdi:
#include #include main()
{
float A, B, Max;
printf ( “A ve B-ni daxil edin: ” ); scanf ( “%f%f”, &A, &B );
Max = A ;
if ( B > A )
Max =B;
printf ( “Boyuk eded %f”, Max ); getch ();
}
“əgər” və “əks hal” bloklarının tərkibində digər operatorlar ola bilər. Bir if – else operatorun tərkibində digər if – else operatoru ola bilər. Belə olduğu halda else operatoru ən yaxın if operatoruna aidedilir.
if ( A > 300)
if ( A > 600 )
printf ( “Sizin qebul baliniz yuksekdir! “ ); else
printf ( “Siz kifayyet qeder bal yigmisiniz.” );
else
printf ( “Sizin baliniz asagidir!” );
Proqramı asanlıqla oxumaq üçün bütün daxili if-else operatorları 2-3 simvol sağa sürüşdürülür.