Назорат саволлари:
:: амали қандай амал?
Номлар фазоси деганда нимани тушунасиз?
Бутун сонлар типини санаб беринг?
Ҳақиқий сонлар типига кирувчи маълумотлар типини санаб беринг?
Ўзгарувчи деганда нимани тушунасиз?
Оқимлар нима?
Киритиш операторини тушунтириб беринг?
Чиқариш операторини тушунтириб беринг?
Қандай маълумотлар типини биласиз?
5. Разрядли операторлар ва мантиқий амаллар, инкремент ва декремент
Режа:
Арифметик амаллар. Қиймат бериш операторлари
Ифода тушунчаси. Мантиқий амаллар
sizeof амали
Разрядли операторлар
Инкремент ва декремент
5.1. Арифметик амаллар. Қиймат бериш операторлари
Берилганларни қайта ишлаш учун C++ дастурлаш тилида амалларнинг жуда кенг мажмуаси аниқланган. Амал – бу қандайдир ҳаракат бўлиб, у битта (унар) ёки иккита (бинар) операндлар устида бажарилади, ҳисоб натижаси унинг қайтарувчи қиймати ҳисобланади.
Таянч арифметик амалларга қўшиш (+), айириш (–), кўпайтириш (*), бўлиш (/) ва бўлиш қолдиғини олиш (%) амалларини келтириш мумкин.
Амаллар қайтарадиган қийматларни ўзлаштириш учун қиймат бериш амали (=) ва унинг турли модификациялари ишлатилади: қўшиш, қиймат бериш билан (+=); айириш, қиймат бериш билан (–=); кўпайтириш, қиймат бериш билан (*=); бўлиш, қиймат бериш билан (/=); бўлиш қолдиғини олиш, қиймат бериш билан (%=) ва бошқалар. Бу ҳолатларнинг умумий кўриниши:
<ўзгарувчи><амал>=<ифода>;
5.2. Ифода тушунчаси. Мантиқий амаллар
C++ дастурлаш тилида ифода – амаллар, операндлар ва пунктация белгиларининг кетма – кетлиги бўлиб, компилятор томонидан берилганлар устида маълум бир амалларни бажаришга кўрсатма деб қабул қилинади. Ҳар қандай ‘;’ белги билан тугайдиган ифодага тил кўрсатмаси дейилади.
Дастур тузиш тажрибаси шуни кўрсатадики, одатда қўйиладиган масалани ечишда бирор ҳолат рўй берган ёки йўқлигини ифодалаш учун 0 ва 1 қиймат қабул қилувчи байроқлардан фойдаланилади. Бу мақсадда бир ёки ундай ортиқ байтли ўзгарувчилардан фойдаланиш мумкин. Масалан, bool туридаги ўзгарувчини шу мақсадда ишлатса бўлади. Бошқа томондан, байроқ сифатида байтнинг разрядларидан фойдаланиш ҳам мумкин. Чунки разрядлар фақат иккита қийматни – 0 ва 1 сонларини қабул қилади. Бир байтда 8 разряд бўлгани учун унда 8 та байроқни кодлаш имконияти мавжуд.
Фараз қилийлик, қўриқлаш тизимига 5 та хона уланган ва тизим тахтасида 5 та чироқча (индикатор) хоналар ҳолатини билдиради: хона қўриқлаш тизими назоратида эканлигини мос индикаторнинг ёниб туриши (разряднинг 1 қиймати) ва хонани тизимга уланмаганлигини индикатор ўчканлиги (разряднинг 0 қиймати) билдиради. Тизим қийматини ифодалаш учун бир байт етарли бўлади ва унинг кичик разрядидан бошлаб бештасини шу мақсадда ишлатиш мумкин:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
ind5
|
ind4
|
ind3
|
ind2
|
ind1
|
Қуйидаги жадвалда C++ дастурлаш тилида байт разрядлари устида мантиқий амаллар мажмуаси келтирилган.
Do'stlaringiz bilan baham: |