219
hisoblanadi. Agar 1-ifoda qiymati 0 dan farqli bo`lsa 2- ifoda hisoblanadi va
qiymati
natija sifatida qabul qilinadi, aks holda 3-ifoda hisoblanadi va qiymati
natija sifatida qabul qilinadi. Masalan, modulni hisoblash: x<0?-x:x yoki ikkita son
kichigini hisoblash a
Shuni aytish lozimki shartli ifodadan har qanday
ifoda sifatida foydalanish
mumkin. Agar F FLOAT tipga, N – INT tipga tegishli bo`lsa, (N > 0) ? F : N
ifoda N musbat yoki manfiyligidan qat`iy nazar DOUBLE tipiga tegishli bo`ladi.
Shartli ifodada birinchi ifodani qavsga olish shart emas.
Tiplar bilan ishlovchi amallar.
Tiplarni o`zgartirish
amali quyidagi
ko`rinishga ega: (tip_nomi) operand; Bu amal operandlar qiymatini ko`rsatilgan
tipga keltirish uchun ishlatiladi. Operand sifatida o`zgarmas, o`zgaruvchi yoki
qavslarga olingan ifoda kelishi mumkin. Misol uchun (long)6 amali o`zgarmas
qiymatini o`zgartirmagan holda operativ xotirada egallagan baytlar sonini oshiradi.
Bu misolda o`zgarmas tipi o`zgarmagan bo`lsa, (double) 6 yoki (float) 6 amali
o`zgarmas ichki ko`rinishini ham o`zgartiradi. Katta
butun sonlar haqiqiy tipga
keltirilganda sonning aniqligi yo`qolishi mumkin.
sizeof
amali operand sifatida ko`rsatilgan ob`yektning baytlarda xotiradagi
hajmini hisoblash uchun ishlatiladi. Bu amalning ikki ko`rinishi mavjud:
sizeof
ifoda sizeof (tip) Misol uchun:
Sizeof 3.14=8
Sizeof 3.14f=4
Sizeof 3.14L=10
Sizeof(char)=1
Sizeof(double)=8
5.7-jadval. Amallar ustivorligi
Rang
Amallar
Yo`nalish
1
[ () ], [ [] ], [->], [::], [.]
Chapdan o`ngga
2
[!], [~], [+], [-], [++], [--], [&], [*], [(tip)],
sizeof, new, delete, tip()
O`ngdan chapga
220
3
[.], [*], [->*]
Chapdan o`ngga
4
[*], [/], [%] (multiplikativ binar amallar)
Chapdan o`ngga
5
[+], [-] (additiv binar amallar)
Chapdan o`ngga
6
[<<], [>>]
Chapdan o`ngga
7
[<], [<=], [>=], [>]
Chapdan o`ngga
8
[=], [!=]
Chapdan o`ngga
9
[&]
Chapdan o`ngga
10
[^]
Chapdan o`ngga
11
[|]
Chapdan o`ngga
12
[&&]
Chapdan o`ngga
13
[||]
Chapdan o`ngga
14
[?:] (shartli amal)
Chapdan o`ngga
15
[=], [*=], [/=], [%=], [+=], [-=], [&=], [^=],
[|=], [<<=], [>>=]
Chapdan o`ngga
16
[,] (vergul amali)
Chapdan o`ngga