C Shart operatorlari. if , if-else

Siz allaqachon C matematikadan odatiy mantiqiy shartlarni qo'llab-quvvatlashini bilib oldingiz:

  • Kichikroq: a<b
  • Kichik yoki teng: a<=b
  • Kattaroq: a>b
  • dan katta yoki teng: a>=b
  • a==b ga teng
  • Teng emas: a!=b

Turli qarorlar uchun turli harakatlarni bajarish uchun ushbu shartlardan foydalanishingiz mumkin. C quyidagi shartli bayonotlarga ega:

  • Agar if belgilangan shart bo'lsa, bajarilishi kerak bo'lgan kod blokini belgilash uchun truedan foydalaning.
  • Agar else bir xil shart bo'lsa, bajariladigan kod blokini belgilash uchun false foydalaning.
  • Sinov uchun else if yangi shartni belgilash uchun foydalaning , agar birinchi shart false bo'lsa.
  • Bajariladigan ko'plab muqobil kod bloklarini belgilash uchun  switchdan foydalaning.

Shartli operator ikki ko’rinishda ishlatilishi mumkin:

if (ifoda) 1- operator
else
2- operator
yoki if (ifoda) 1-operator

Shartli operator bajarilganda avval ifoda hisoblanadi; agar qiymat rost ya’ni noldan farqli bo’lsa 1- operator bajariladi. Agar qiymat yolg’on ya’ni nol bo’lsa va else ishlatilsa 2-operator bajariladi. Operator else qismi har doim eng yaqin if ga mos qo’yiladi.

if( n>0) if(a>b) Z = a;
else Z = b;

Agar else qismni yuqori if ga mos qo’yish lozim bo’lsa, figurali qavslar ishlatish lozim.

if( n>0) { if(a>b)
z = a; }
else z = b;

Misol tariqasida uchta berilgan sonning eng kattasini aniqlash dasturi:

#include<stdio.h> 
int main()
{
    	float a,b,c,max;
    	scanf("%f",&a);
    	scanf("%f",&b);
    	scanf("%f",&c);
    	if (a>b)
    	if (a>c) max = a;
    	else
    	max = c;
    	else
    	if (b>c)
    	max = b;
    	else
    	max = c;
    	printf("\n max = %f", max);
    	return 0;
}

Keyingi misolda kiritilgan ball va maksimal ball asosida baho aniqlanadi:

#include<stdio.h>
int main()
    	{
        	int ball,max_ball,baho;
        	printf( "\n ball = ");
        	scanf("%d",&ball);
        	printf("\n max_ball = ");
        	scanf("%d",&max_ball);
        	float d = (float)ball/max_ball;
        	if (d>0.85) baho = 5; else {
            	if (d>0.71) baho = 4; else {
                	if (d>0.55) baho = 3; else baho = 2;
                	}
               }
            printf("\n baho = %d",baho);
            return 0;
  }