true va false – mantiqiy qiymatlar bo`lib, xuddi 1 va 0 ga o`shaydi. Ular dasturlash tilida kalit so`zlardir va ulardan ismlar sifatida foydalanib bo`lmaydi.
Ichki fonda C++ true qiymati o`rniga 1 ni va false qiymati o`rniga 0 ni ishlatadi. Agar konsol oynada mantiqiy qiymat kiritsak, agar u rost (true) bo`lsa dastur ekranga 1 ni chiqaradi, agar yolg`on (false) bo`lsa, 0 ni chiqaradi.
Masalan,
cout << (4 < 5);
1 ni ko`rsatadi, chunki 4 < 5 (4 ning 5 dan kichikligi) rost.
cout << (4 > 5);
0 ni ko`rsatadi, chunki 4 > 5 (4 ning 5 dan kattaligi) yolg`on.
Eslatma. Dasturda bool o`zgaruvchiga sonli qoymatlarni ham berish mumkin. Bunda 0 dan boshqa ixiyoriy son true qiymat, 0 ning o`zi false qiymat qabul qiladi. Misol uchu, quyidagi ta’minlash operatorlaridan keyin b1 va b3 lar true, b2 esa false qiymatga ega bo`ladi:
bool b1 = -1.5; // bool b1 = true bilan bir xil
bool b2 = 0; // bool b2 = false bilan bir xil
bool b3 = 1.5; // bool b3 = true bilan bir xil
Nazorat.
4.1. Oltita taqqoslash operatorlarini ayting.
4.2. Quyidagi mantiqiy ifodalar natijasiga ko`ra x ning 1 ga tengligini taxmin qiling:
(x > 0)
(x < 0)
(x != 0)
(x >= 0)
(x != 1)
4.3. Quyidagi kod chiqaruvchi natijani ayting:
bool b = true;
int i = b;
cout << b << endl;
cout << i << endl;
4.1. if – shart operatori
Key Point. if – shart operatori dasturga hisoblash uchun maxsus alternative tanlov qismni belgilovchi tuzilma.
Dastur tuzish davomida ko`p hollarda masalani yechimini topish bir nechta holatlar uchun bajarilishiga duch kelamiz. C++ da tanlash operatorlarining bie necha xili mavjud: bir yo`nalishli if operatori, ikki yo`nalishli if-else operatori, ichma-ich if operatorlar, switch operatori va shartli ifodalar.
Bir yo`nalishli if operatori shart faqat bitta (true) bo`lgan holatlarda ishlaydi. Uning yozilish qoidasi quyidagicha:
if (mantiqiy ifoda)
{
ko`rsatma satri (s);
}
4.1 (a) rasmdagi blok-sxemada C++ da if operatorining ishlash tartibi tasvirlangan. Blok-sxema – dasturdagi qadamlar va bajarilish qismlarini ko`rsatkichli chiziqcha yordamida bog`lagan holda tasvirlovchi diagramma. Bu shakllardagi bajarilish qismlari o`zida operatsiyalarni ifodalaydi va yo`nalish chiziqlari dasturning boshqaruv yo`lini ko`rsatadi. Romb shakli mantiqiy qiymatni aniqlash uchun va to`rtburchak shakli ko`rsatmalarni bajarishni ko`rsatish uchun foydalaniladi.
4.1-rasm. Agar mantiqiy ifoda rost qiymatni qabul qilsa, if operatori berilgan ko`rsatmani ishga tushiradi
Agar mantiqiy ifoda true qiymat qabul qilsa, blok ichidagi ko`rsatmalar bajariladi. Misol sifatida quyidagi kodni ko`rib chiqamiz:
if(radius >= 0)
{
yuza = radius * radius * PI;
cout << "Aylana yuzasi" << radius << " radius bo`yicha"<< yuza << ” ga teng” << endl;
}
4.1(b) – rasmda agar radiusning qiymati 0 dan katta yoki 0 ga teng bo`lsa blok ichidagi ko`rsatma bajariladi, ushbu ikki shartdan boshqa holatda blokdagi ko`rsatma bajarilmaydi.
Mantiqiy ifoda qavslar ichida yozilishi kerak. Quyida keltirilgan (a) shakldagi koddagi mantiqiy ifoda noto`g`ri yozilgan, (b) shakldagi kodda esa to`g`ri yozilgan.
Shart operatorining bajarilishida uning tanasini belgilash uchun figural qavslar ({ va })dan foydalanish mumkin. Agar dasturda faqat bir yoqlama shart operatori bo`lsa va undan keyin ushbu shartga tegishli bo`lgan boshqa bajariluvchi ifodalar bo`lmasa bu qavslardan foydalanish shart emas. Bunga quyidagicha misol keltirish mumkin:
Quyidagi kodli ro`yxatda foydalanuvchi tomonidan butun son kiritilishi ko`rsatilgan. Agar son 5 ga qoldiqsiz bo`linsa “5 ga karrali” degan gap, agar 2 ga qoldiqsiz bo`linsa, “Juft son” degan gap ekranga chiqariladi.
3.1-kodli royxat. ifoperator.cpp
1 #include
2 using namespacestd;
3
4 int main()
5 {
6 // Foydalanuvchini butun son kiritishga undash
7 int son;
8 cout << "Butun sonni kiriting: ";
9 cin >> son;
10
11 if (son % 5 == 0)
12 cout << "5 ga karrali"<< endl;
13
14 if(son % 2== 0)
15 cout << "Juft son"<< endl;
16
17 return 0;
18 }
Butun sonni kiriting: 4
Juft son
|
Do'stlaringiz bilan baham: |