• Mantiqiy operatorlar.
  • Axborot kommunikatsion texnologiyalar.S.Aminov




    Download 15,83 Mb.
    Pdf ko'rish
    bet47/75
    Sana25.01.2024
    Hajmi15,83 Mb.
    #145778
    1   ...   43   44   45   46   47   48   49   50   ...   75
    Bog'liq
    kommunikacion tehnologijalar 2020 j

    Axborot kommunikatsion texnologiyalar.S.Aminov 
    79 
    return (0); } 
    Dasturdagi o`zgaruvchilar e`lon qilindi va boshqang`ich qiymatlarni olishdi. 
    cout << k++ << endl; ifodasida ekranga oldin k ning boshlang`ich qiymati 
    chiqarildi, keyin esa uning qiymati 1 da oshirildi. l += 4; da l ning qiymatiga 4 soni 
    qo`shildi va yangi qiymat l da saqlandi. cout << --m << endl; ifodasida m ning 
    qiymati oldin predekrement qilindi,va undan so`ng ekranga chiqarildi. m = k + (++l); 
    da oldin l ning qiymati birga ishirildi va l ning yangi qiymati k ga qo`shildi. m esa bu 
    yangi qiymatni oldi. Oshirish va kamaytirish operatorlari va ularning argumentlari 
    orasida bo`shliq qoldirilmasligi kerak. Bu operatorlar sodda ko`rinishdagi 
    o`zgaruvchi-larga nisbatan qo`llanilishi mumkin xalos. Masalan,
    ++(f * 5); 
    ko`rinish noto`g`ridir. 
    Mantiqiy operatorlar. Boshqaruv strukturalarida shart qismi bor dedik. Shu 
    paytgacha ishlatgan shartlarimiz ancha sodda edi. Agar bir necha shartni 
    tekshirmoqchi bo`lganimizda ayri-ayri shart qismlarini yozardik. Lekin C++ da bir 
    necha sodda shartni birlashtirib, bitta murakkab shart ifodasini tuzishga yordam 
    beradigan mantiqiy operatorlar mavjuddir. Bular mantiqiy VA – [&&] (AND), 
    mantiqiy YOKI – [||] (OR) va mantiqiy INKOR – [!] (NOT). Masalan, faraz qilaylik, 
    bir amalni bajarishdan oldin, ikkala shartimiz (ikkitadan ko`p ham bo`lishi mumkin) 
    true (haqiqat) bo`lsin.
    if (i < 10 && l >= 20){...} 
    Bu yerda {} qavslardagi ifodalar bloki faqat i 10 dan kichkina va l 20 dan katta 
    yoki teng bo`lgandagina ijro qilinadi.
    9.1 jadval 
    ifoda1 
    ifoda2
    ifoda1 && ifoda2 
    false (0)
    false (0)
    false (0) 
    true (1)
    false (0)
    false (0) 
    false (0) 
    true (1) 
    false (0) 
    true (1)
    true (1)
    true (1) 
    Boshqa misol: 
    while (g<10 || f<4){...} 
    Bizda ikki o`zgaruvchi bor (g va f). Birnchisi 10 dan kichkina yoki ikkinchisi 
    4 dan kichkina bo`lganda while ning tanasi takrorlanaveradi. Yani shart bajarilishi 
    uchun eng kamida bitta true bo`lishi kerak, AND da (&&) esa hamma oddiy 
    shartklar true bo`lishi kerak. 
    9.2- jadval. (||). 
    ifoda1
    ifoda2
    ifoda1 || ifoda2 
    false (0) 
    false (0) 
    false (0) 
    true (1)
    false (0)
    true (1) 
    false (0) 
    true (1) 
    true (1) 
    true (1)
    true (1)
    true (1) 
    [&&] va [||] operatorlari ikkita argument olishadi. Bulardan farqli o`laroq, [!] 
    (mantiqiy inkor) operatori bitta argumet oladi, va bu argumentidan oldin qo`yiladi. 


    80 
    Inkor operatori ifodaning mantiqiy qiymatini teskarisiga o`zgartiradi. Yani false ni 
    true deb beradi, true ni esa false deydi. Masalan, 
    if ( !(counter == finish) ) 
    cout << student_bahosi << endl; 
    Agar counter o`zgaruvchimiz finish ga teng bo`lsa, true bo`ladi, bu true qiymat 
    esa [!] yordamida false ga aylanadi. false qiymatni olgan if esa ifodasini bajarmaydi. 
    Demak ifoda bajarilishi uchun bizga counter finish ga teng bo`lmagan holati kerak. 
    Bu yerda [!] ga tegishli ifoda () qavslar ichida bo`lishi kerak. Chunki mantiqiy 
    operatorlar tenglilik operatorlaridan kuchliroqdir. Ko`p hollarda [!] operatori o`rniga 
    mos keladigan mantiqiy tenglilik yoki solishtirish operatorlarini ishlatsa bo`ladi, 
    masalan, yuqoridagi misol quyidagi ko`rinishda bo`ladi: 
    if (counter != finish) 
    cout << student_bahosi << endl; 
    9.3 

    Download 15,83 Mb.
    1   ...   43   44   45   46   47   48   49   50   ...   75




    Download 15,83 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Axborot kommunikatsion texnologiyalar.S.Aminov

    Download 15,83 Mb.
    Pdf ko'rish