C# Shart operatorlari. if , if-else

Shart operatori boshqarishni qaysi tarmoqqa uzatishni ta’minlaydi. Shart operatorlaridan biri bu if shart operatoridir. if shart operatorining 3 xil ko’rininshi bo’lib, eng soda ko’rinishi quyidagicha:

if(shart) operatorlar;

Shart operatorining natijasi bool tipiga tegishli bo’lib, true(rost) yoki false(yolg’on) bo’lishi mumkin. C# da quyidagi munosabat amallari mavjud:

== - tenglik;

> - katta;

< - kichik;

>= - katta yoki teng;

<= - kichik yoki teng;

!= - teng emas.

if shart operatorining ikkinchi bir ko’rinishi if-else bo’lib, u quyidagicha yoziladi:

if(shartoperatorlar1;
else operatorlar2;

Agar shart rost bo’lsa, operator1 bajariladi, agar yolg’on bo’lsa, operator2 bajariladi. Agarda operator1 yoki operator2 dan so’ng bajarilishi lozim bo’lgan amallar soni 1 tadan ortiq bo’lsa ular figurali {} qavslar orasida yozilishi lozim. Masalan: a va b sonlarni kattasini a ga kichigini b ga yozish dasturi

int a, b, c;
a = 10b=20;
if (a <b) { c = a; a = b; b = c; } 
Console.WriteLine(a+" , "+b);
Console.ReadKey();
20 , 10

Bir o’zgaruvchi qiymatini bir necha shartlar orqali tekshirish uchun ichma-ich bir necha shart operatorlaridan foydalanish mumkin:

 int temp = 25;
      if (temp > 21)
      {
        if (temp < 26)
        {
          Console.WriteLine("Temperatura meyorda");
          if (temp == 24)
          {
            Console.WriteLine("ishlash sharoiti optimal");
          }
          else
          {
          Console .WriteLine ("ishlash sharoiti optimal emas\n" + "optimal temperatura 24"); 
          }
        }
      }
      Console.ReadKey();

Ko’p shartlilik qo’llanilishi. Bunda bir necha shartni bir vaqtda tekshirish zarurati hisobga olinadi. C# tilida buning uchun maxsus qo’shish (shartni) kalit so’zlari mavjud : && - va, | | - yoki, ! – inkor (!= bo’lsa, teng emas ma’nosida). Masalan:

    int n1 = 5;
      int n2 = 0;
      if ( (n1 == 5) && (n2 == 5))
      Console.WriteLine("Salom");
      else
      Console.WriteLine("Yoshlar");
      if ((n1 == 5) || (n2 == 5))
      Console.WriteLine("Buxoro");
      else
      Console.WriteLine("Vaqt");
      Console.ReadKey();

Bu misolda har bir if operatori ikkita shartni tekshirib boradi.

Agar tekshirilayotgan shart nisbatan sodda bo’lsa, shart amalini “?: ” ko’rinishini ishlatish mumkin. Bu operator quyidagi ko’rinishga ega:

<shart ifoda>? <ifoda1>:<ifoda2>;

if shart operatoriga o’xshash holda bus hart amali quyidagicha ishlaydi: agar <shart ifoda> rost(true) bo’lsa <ifoda1> bajariladi, aks holda <ifoda2>. Odatda ifodalar qiymatlari birorta o’zgaruvchiga o’zlashtiriladi.

Misol: 2 ta sondan kattasini tuzuvchi programma tuzilsin.

int a,b;
a=int.Parse(Console.ReadLine());
b=int.Parse(Console.ReadLine());
int max = (a>b) ? a : b;
Console.WriteLine(max);
Console.ReadKey();

Masalan:

Haqiqiy turga tegishli x o‘zgaruvchi berilgan. Uning qiymatiga mos keluvchi f funksiyaning qiymati topilsin.

f: Console.Write("x="); 
  double x=double.Parse(Console.ReadLine()); 
  if(x>0) 
  { 
  if(0<x && x<2) 
  Console.WriteLine("f(x)="+Math.Pow(x,2)); 
  else  
  Console.WriteLine("f(x)="+ 4); 
  } 
  else 
  Console.WriteLine("f(x)=" + -x); 
  goto f; 
  Console.ReadKey();