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;
}