Mantiqiy solishtirish operatorlari




Download 7,16 Mb.
Pdf ko'rish
bet143/308
Sana30.05.2024
Hajmi7,16 Mb.
#257687
1   ...   139   140   141   142   143   144   145   146   ...   308
Bog'liq
Информатика

 
Mantiqiy solishtirish operatorlari. 
C++ bir necha solishtirish operatorlariga ega. 
5.8-jadval. Mantiqiy solishtirish operatorlari
.
Algebraik ifoda 
C++ dagi 
operator 
C++ dagi ifoda 
Algebraik ma`nosi 
tenglik guruhi
== 
x==y 
x tengdir y ga 
teng emas
!= 
x!=y 
x teng emas y ga 
solishtirish guruhi 


x>y 
xx katta y dan 
x kichkina y dan 
katta-teng 
>= 
x>=y 
x katta yoki teng y ga 
kichik-teng
<= 
x<=y 
x kichik yoki teng y ga 
[==], [!=], [>=] va [<=] operatorlarni yozganda oraga bo`sh joy qo`yib ketish 
sintaksis xatodir. Yani kompilyator dasturdagi xatoni ko`rsatib beradi va uni 
tuzatilishini talab qiladi. Ushbu ikki belgili operatorlarning belgilarining joyini 
almashtirish, masalan, [<=] ni [=<] qilib yozish ko`p hollarda sintaksis xatolarga 
olib keladi. Gohida esa [!=] ni [=!] deb yozganda sintaksis xato vujudga keladi, bu 
mantiqiy xato bo`ladi. Mantiqiy xatolarni kompilyator topa olmaydi. Lekin ular 
programma ishlash matnini o`zgartirib yuboradi. Bu kabi xatolarni topish esa 
ancha mashaqqatli ishdir (! operatori mantiqiy inkordir). Yana boshqa xatolardan 
biri tenglik operatori (==) va tenglashtirish, qiymat berish operatorlarini (=) bir-biri 
bilan almashtirib qo`yishdir. Bu ham juda ayanchli oqibatlarga olib keladi, chunki 
ushbu xato aksariyat hollarda mantiq xatolariga olib keladi. 
Yuqoridagi solishtirish operatorlarini ishlatadigan bir misolni ko`raylik. 
3-listing. 
Output: 
# include  
int main() { 
int a, b; 
Ikki sonni kiriting: 
10 5 
10 katta yoki teng 


225 
cout << "Ikki son kiriting: " << endl; 
cin >> a >> b; //Ikki son olindi. 
if (a == b) cout << a << " teng " << b << " ga" << endl; 
if (a < b) cout << a << " kichik " << b << " dan" << 
endl; 
if (a >= b) cout << a << " katta yoki teng " << b << " ga" 
<< endl; 
if (a != b) cout << a << " teng emas " << b << " ga" << 
endl; 
return (0); }
5 ga 
10 teng emas 5 ga 
Bu yerda bizga yangi bu 
C++
ning if (agar) strukturasidir. if ifodasi ma`lum 
bir shartning to`g`ri (true) yoki noto`g`ri (false)bo`lishiga qarab, dasturning u yoki 
bu blokini bajarishga imkon beradi. Agar shart to`g`ri bo`lsa, if dan so`ng keluvchi 
amal bajariladi. Agar shart bajarilmasa, u holda if tanasidagi ifoda bajarilmay, if 
dan so`ng keluvchi ifodalar ijrosi davom ettiriladi. Bu strukturaning ko`rinishi 
quyidagichadir: 
if (shart) ifoda; 
Shart qismi qavs ichida bo`lishi majburiydir. Eng oxirida keluvchi nuqta-
vergul (;) shart qismidan keyin qo`yilsa ( if (shart) ; ifoda; ) mantiq xatosi vujudga 
keladi. Chunki bunda if tanasi bo`sh qoladi. Ifoda qismi esa shartning to`g`ri-
noto`g`ri bo`lishiga qaramay ijro qilaveradi. 
C++ da bitta ifodani qo`yish mumkin bo`lgan joyga ifodalar guruhini ham 
qo`yish mumkin. Bu guruhni {} qavslar ichida yozish kerak. if da bu bunday 
bo`ladi: 
if (shart) { 
ifoda1; 
ifoda2; 
... 
ifodaN; } 


226 
Agar shart to`g`ri javobni bersa, ifodalar guruhi bajariladi, aksi taqdirda 
blokni yopuvchi qavslardan keyingi ifodalarda dastur ijrosi davom ettiriladi. 


Download 7,16 Mb.
1   ...   139   140   141   142   143   144   145   146   ...   308




Download 7,16 Mb.
Pdf ko'rish