Бундан ташқари C тилида мураккаб қиймат бериш амали мавжуд бўлиб, умумий кўриниши қуйидагичадир: - Бундан ташқари C тилида мураккаб қиймат бериш амали мавжуд бўлиб, умумий кўриниши қуйидагичадир:
- Ўзгарувчи_номи амал = ифода;
- Бу ерда амал қуйидаги амаллардан бири *,/,%,+,-, &,^,|, <<,>>.
- Мисол учун:
- x+ = 4 ифода x = x+4 ифодага эквивалентдир;
- x* = a ифода x = x*a ифодага эквивалентдир;
- x/ = a+b ифода x = x/(a+b) ифодага эквивалентдир;
- x>> = 4 ифода x = x>>4 ифодага эквивалентдир;
Имло белгилари амал сифатида. C тилида баъзи бир имло белгилари ҳам амал сифатида ишлатилиши мумкин. Бу белгилар оддий () ва квадрат [] қавслардир. Оддий қавслар бинар амал деб қаралиб ифодаларга ёки функцияга мурожаат қилишда фойдаланилади. Функцияга мурожаат қилиш қуйидаги шаклда амлга оширилади: - Имло белгилари амал сифатида. C тилида баъзи бир имло белгилари ҳам амал сифатида ишлатилиши мумкин. Бу белгилар оддий () ва квадрат [] қавслардир. Оддий қавслар бинар амал деб қаралиб ифодаларга ёки функцияга мурожаат қилишда фойдаланилади. Функцияга мурожаат қилиш қуйидаги шаклда амлга оширилади:
- <функция номи> (<аргументлар рўйхати>). Мисол учун sin(x) ёки max(a,b).
- Квадрат қавслардан массивларга мурожаат қилишда фойдаланилади. Бу мурожаат қуйидагича амалга оширилади:
- <массив номи>[<индекс>]. Мисол учун a[5] ёки b[n][m].
Вергуль символини ажратувчи белги сифатида ҳам амал сифатида ҳам қараш мумкин. Вергуль билан ажратилган амаллар кетма-кетлиги бир амал деб қаралиб, чапдан ўнгга ҳисобланади ва охирги ифода қиймати натижа деб қаралади. Мисол учун: - Вергуль символини ажратувчи белги сифатида ҳам амал сифатида ҳам қараш мумкин. Вергуль билан ажратилган амаллар кетма-кетлиги бир амал деб қаралиб, чапдан ўнгга ҳисобланади ва охирги ифода қиймати натижа деб қаралади. Мисол учун:
- d = 4,d+2 амали натижаси 8 га тенг.
Шартли амал. Шартли амал тернар амал дейилади ва учта операнддан иборат бўлади: - Шартли амал. Шартли амал тернар амал дейилади ва учта операнддан иборат бўлади:
- <1-ифода>?<2-ифода>:<3-ифода>
- Шартли амал бажарилганда аввал 1- ифода ҳисобланади. Агар 1-ифода қиймати 0 дан фарқли бўлса 2- ифода ҳисобланади ва қиймати натижа сифатида қабул қилинади, акс ҳолда 3-ифода ҳисобланади ва қиймати натижа сифатида қабул қилинади.
- Мисол учун модульни ҳисоблаш: x<0?-x:x ёки иккита сон кичигини ҳисоблаш a
- Шуни айтиш лозимки шартли ифодадан ҳар қандай ифода сифатида фойдаланиш мумкин. Агар F FLOAT типга,а N – INT типга тегишли бўлса,
- (N > 0) ? F : N ифода N мусбат ёки манфийлигидан қатъий назар DOUBLE типига тегишли бўлади.
- Шартли ифодада биринчи ифодани қавсга олиш шарт эмас.
Do'stlaringiz bilan baham: |