Mantiqiy qo`shish operatori. Mantiqiy qo`shish operatori ham ikkita ifoda orqali hisoblanadi. Agarda ulardan birortasi rost bo`lsa mantiqiy qo`shish operatori trueqiymat qaytaradi. Agarda sizda pul YOKI kredit kartochkasi bo`lsa, siz schyotni to`lay olasiz. Bu holda ikkita shartning birdaniga bajarilishi: pulga ham va kredit kartochkasiga ham ega bo`lishingiz shart emas. Sizga ulardan birini bajarilishi yetarli. Bu operatorga oid yana bir misolni qaraymiz. Masalan,
if(x==5)||(y==5) ifodasi yoki x o`zgaruvchi qiymati, yoki y o`zgaruvchi qiymati, yoki ikkala o`zgaruvchining qiymati ham 5 ga teng bo`lsa rost qiymat qaytaradi.
Mantiqiy inkor operatori.Mantiqiy inkor operatori tekshirilayotgan ifoda yolg`on bo`lsa true qiymat qaytaradi. Agarda tekshirilayotgan ifoda rost bo`lsa inkor operatori falseqiymat qaytaradi. Masalan,
(if!(x==5)) ifodasining qiymati, agarda x o`zgaruvchisi 5 ga teng bo`lmasa true qiymat qaytaradi. Bu ifodani boshqacha ham yozish mumkin:
if(x!=5)
Switchoperatori. Ayrim masalalarni yechishda if operatori ichida ko`p sondagi if operatorlarini qo`llashga to`g`ri keladi. Bu esa dasturni yozishni ham, uni tushinishni ham murakkablashtirib yuboradi. Bunday muammoni yechish uchun C++ tilida switchoperatori qo`llaniladi. Bu operatorning if operatoridan asosiy farqi shuki, unda bir yo`la bir nechta shart tekshiriladi. Natijada dasturni tarmoqlanishi nisbatan samaraliroq bo`ladi. switchoperatorining sintaksisi quyidagicha:
switch(ifoda) { caseBirinchiqiymat: operator; break; caseIkkinchiqiymat: operator;break; ..... caseNinchiqiymat: operator;break; default: operator; } switchoperatoridan keyingi qavs ichida tilning konstruktsiyasi nuqtai– nazaridan to`g`ri bo`lgan ixtiyoriy ifodani ishlatish mumkin. Operator identifikatori o`rnida ham ixtiyoriy operator yoki ifoda, hamda operator va ifodalarning ketma-ketligini ishlatish mumkin. Lekin bu yerda mantiqiy operatsiyalar yoki taqqoslash ifodalarini ishlatish mumkin emas.