if (шарт) оператор; Бұл кезде, егер де шарт ақиқат болса, оператор орындалады, кері жағдайда басқару бағдарламаның келесі операторына беріледі. Мысалы, if (x==3) b=1; х=у; Көбінесе шарт операндтармен операциялар белгілерінен тұратын логикалық өрнек болып табылады. Логикалық өрнекте операциялар ретінде біріншіден салыстыру (==, !=, <, >, <=, >=) операциялары қолданылады. Олардан басқа логикалық өрнектерді құрcатыру үшін логикалық операцияларды (!, ||, &&) қолдануға болады. Логикалық өрнектің мәні онда көрсетілген оперцияларды приоритетіне және орнатылған жақшаларға қарай орындаумен есептелінеді, мысалы,
(abs(x)<=2) – х-тің модуль бойынша мәні 2-ден артық емес;
((х>=1)&&(х<=2)) – нүкте [1,2] аралықта жатыр;
(х*х+у*у<1) - (х, у) координаттары бар нүкте ортасы координаттар басында орнатылған, радиусы бірге тең шеңберде жатыр.
С++ тілінде ақиқат нөл емес мәнмен, ал жалған нөлмен көрсетілетін болғандықтан, шартпен өту операторының басқа да қолдануы бар:
х = мән; if (x) оператор; Бұл кезде if операторындағы шарт логикалық өрнекті емес, алдына-ала мән меншіктелген айнымалыны көрсетеді. Егер де айнымалы мәні нөлден тыс болса, шарт ақиқат болады, егер де айнымалы мәні нөл болса шарт жалған.
Ішкі оператор есебінде if операторда кез-келген операторларды қолдануға болады, сондықтан іште орнатылған кұрамдарды жасауға болады:
if (1өрнек) 1оператор; else if (2өрнек) 2оператор; …
else if (Nөрнек) Nоператор; else үнсіз_келісім_бойынша_операторы; // міндетті емес
Бірақ бағдарламада қателер кетпес үшін ішкі блоктар үшін бейнелі жақшаларды қолданған жөн, осындай құрамда else қызмет сөзі алдындағы жақын if операторымен байланысады.
Егер де бағдарламада көп варианттың арасында таңдау керек болса, if операторының ішкі құрамдарының орнына таңдау немесе вариант операторы деп аталатын switch қайта қосу операторын қолданған дұрыс. Бұл оператордың түрі: