Тәттібеков Қ. С. Раимбаева С.Ә. С/С++ тілінде программалау негіздері



Pdf көрінісі
бет14/79
Дата15.11.2023
өлшемі1,39 Mb.
#124059
түріПрограмма
1   ...   10   11   12   13   14   15   16   17   ...   79
«Шарт
?:» операциясы
. Бұл үш операндысы бар жалғыз операция. 
Операция форматы: 
өрнек1 ? өрнек 2 : өрнек 3 
Берілген операция тармақталған алгоритмдік құрылымын жүзеге 
асырады. Оның орындалу алгоритмі келесідей: 1 өрнектің мәні алғаш болып 
орындалады, ол кейбір шарт болып табылады. Егер ол ақиқат болса, яғни 0-ге 
тең болмаса, онда 2 өрнегі есептеледі және алынған нәтиже операция 
нәтижесі болады. Кері жағдайда нәтиже ретінде 3 өрнегінің мәні алынады.
Мысал 1.
Х айнымалысының мәнінің абсолют шамасын есептеуді бір 
операция көмегімен ұйымдастыруға болады: 
Х<0 ? -X : X; 
 
Мысал 2

а
және 

екі айнымалыдан үлкенін таңдау: 
mах=(а<=b)?b:а; 
 
Мысал 3.
а
және 
b
екі айнымалының үлкенін бірмен алмастыру: 
(a>b)?a:b=l; 
Берілген жағдайда тіл ережелері шартты операцияны меншіктеу 
белгісінен кейін қоюға мүмкіндік береді.
 
( ) және [ ]
операциялары.
Си тілінде дөңгелек және квадратты 
жақшалар операция ретінде қарастырылады және олар ең жоғары дәрежеге 
ие болады. С/С++ тілінің операцияларын рангісі бойынша қойылуын 
төмендегі кесте арқылы көрсетейік. Операция рангісі – бұл басымдылық 
қатарының реттік номері. Рангісі үлкен болған сайын, басымдылығы төмен 
болады. Кестеде операцияның тағы да бір қасиеті – ассоциативтілігі 
бейнеленген. Егер өрнекте бір операция бірнеше рет қайталанып, солдан оңға 
қарай орналасқан болып орындалса, онда ол сол жақ ассоциативті деп 
аталады; егер оңнан солға қарай орындалса, онда оң жақ ассоциативті. 
Кестеде бұл қасиеттер сол және оң жақ бағыттауыштары арқылы көрсетілген. 


24 
Операциялар басымдылықтары (рангілер) 
Ранг 
Операциялар 
Ассоциативтілі
к 

( ) [ ] -> . 
→ 

! ~ + - ++ -- & * (тип) sizeof унарлы 
← 

* / % (мультипликативті бинарлы) 
→ 

+ - (аддитивті бинарлы) 
→ 

<< >>> (разрядты жылжыту) 
→ 

< <= >= > (қатынас) 
→ 

== != (қатынас) 
→ 

& (разрядты конъюнкция «және») 
→ 

^ (разрядты терістеу «немесе») 
→ 
10 
| (разрядты дизъюнкция «немесе») 
→ 
11 
&& (конъюнкция «және») 
→ 
12 
| | (дизъюнкция «немесе») 
→ 
13 
? : (шартты) 
← 
14 
= *= /= %= - = &= ^= |= <<= >>= 
← 
15 
, («үтір») 
→ 


Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   ...   79




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет