Таќырыбы: Арифметикалыќ амалдар
(1 сағат)
Қарапайым арифметикалыќ амалдар -
Автоматты түрде артыру және азайту амалдары
Пайдаланылатын әдебиеттер:
а) негізгі
а) негізгі
1. К.Паппас, У.Мюррей “Программирование на С и С++”, Киев, 2000
2. А.Кетков, Ю.Кетков “Практика программирования Бейсик,
Си, Паскаль”, М.: 2001
б) қосымша
3. Шилдт Г. “Теория и практика С++”, Санкт-Петербург, 1996
4. Березин Б.И., Березин С.Б. “Начальный курс С и С++”, М.:1999
1. Қарапайым арифметикалыќ амалдар
С++ программалау тілі 5 арифметикалыќ амалды ќамтиды,
Олар:
-
амал
|
Аттары
|
Мысалы
|
+
|
Ќосу
|
12 + 4.9 // береді 16.9
|
-
|
Азайту
|
3.98 - 4 // береді -0.02
|
*
|
Кµбейту
|
2 * 3.4 // береді 6.8
|
/
|
Бµлу
|
9 / 2.0 // береді 4.5
|
%
|
Ќалдыќты есептеу
|
13 % 3 // береді 1
|
Ќалдыќты есептеу амалынан (%) басќа арифметикалыќ амалдар б‰тін жєне наќты операндтарды аралас ќабылдауы м‰мкін. Жалпы, екі операнд та б‰тін сан болса, нєтиже б‰тін сан, егерде екі операндтыњ біреуі немесе екеуі де наќты сан болса, онда нєтиже наќты сан болады.
Егерде бµлу амалыныњ екі операнды да б‰тін сан болса, бµлу амалы біз к‰ткен жєй бµлу емес, б‰тін бµлу кµрінісінде шыѓарады. Б‰тін бµлу єрќашан б‰тін нєтиже шыѓардыб мысалы:
9 / 2 // береді 4, емес 4.5!
-9 / 2 // береді -5, емес -4!
Егерде екі б‰тін санды операндты бµлу амалыныњ нєтиженін наќты сан кµрінісінде шыѓару керек болса, екі операндтыњ бірін наќты сан белгілеуіњіз керек.
int cost = 100;
int volume = 80;
double unitPrice = cost / (double) volume; // gives 1.25
ќалдыќты есептеу амалы (%) барлыќ операндтарды б‰тін сандар т‰сінеді. Б±л бµлу амалынан айырмашылыѓы бµлу нєтижесініњ ќалдыѓын есептейді, мысалы 13%3 нєтижесі 1 тењ: 13 санын 3 ке бµлуде 4 ке тењ болады, ќалдыѓы 1 тењ.
Кей-кездері нєтиже жадта µзіне ажратылѓан орыннан ‰лкен сан шыѓу нєтижесінде ќате нєтиже шыѓады, оны программа overflow кµрінісінде хабар береді. Мысалы,
unsigned char k = 10 * 92; // overflow: 920 > 255
сандарды нол санына бµлу де С++программалау тілінде ќате нєтиже береді. Оны программа division-by-zero кµрінісінде хабар шыѓарады.
2. Автоматтты түрде артыру және азайту амалдары
Автоматты т‰рде артыру (++) амалын инкременттеу, ал автоматты түрде азайту (--) амалын декременттеу деп атайды. Бұл амалдарды тек қана айнымалыларға колдануға болады, константаларға емес.
s1=val+1; s2=val-1;
өрнектерін инкремент және декремент амалын қолданып былай жазуға болады:
s1=val++; s2=val--;
Мысалдар:
int k = 5;
-
Оператор
|
Аттары
|
Мысалы
|
++
|
Автоматтыќ арттыру (алдына ќойылуы)
|
++k + 10 // нәтиже16
|
++
|
Автоматтыќ арттыру (соњына ќойылуы)
|
k++ + 10 // нәтиже 15
|
--
|
Автоматтыќ азайту (алдына ќойылуы)
|
--k + 10 // нәтиже 14
|
--
|
Автоматтыќ азайту (соњына ќойылуы)
|
k-- + 10 // нәтиже 15
|
Кµргеніњіздей ќос амалдарда да ќосу немесе алу символы айнымалы алдына жєне соњына ќойылуы м‰мкін. Егер ќосу немесе алу символы айнымалы алдына ќойылса, амал алѓаш орындалады кейін нєтиже шыѓады, егер ќосу немесе алу символы айнымалы соњына ќойылса, алдын нєтиже шыѓады соњ амал орындалады.
Ќос амалдар да б‰тін жєне наќты айнымалылар ‰шін жарамды, біраќ наќты айнымалыларда арттыру жєне азайту амалдарын ќолдану сирек кездеседі.
Лекция 8.
Таќырыбы: Салыстыру операторлары, логикалыќ амалдар, биттік амалдар
(1 сағат)
-
Салыстыру операторлары
-
Логикалыќ амалдар
-
Биттік амалдар
Пайдаланылатын әдебиеттер:
а) негізгі
1. К.Паппас, У.Мюррей “Программирование на С и С++”, Киев, 2000
2. А.Кетков, Ю.Кетков “Практика программирования Бейсик,
Си, Паскаль”, М.: 2001
б) қосымша
3. Шилдт Г. “Теория и практика С++”, Санкт-Петербург, 1996
4. Березин Б.И., Березин С.Б. “Начальный курс С и С++”, М.:1999
1. Салыстыру операторлары:
С++программаалу тілі сандар мєндерін салыстыруда 6 салыстыру амалымен ќамтамасыз етеді. Егер аќиќат болса, нєтиже 1, жалѓан болса нєтиже 0 болады.
-
Амал
|
Аттары
|
Мысалы
|
==
|
Теңдік
|
5 == 5 // береді 1
|
!=
|
Тењсіздік
|
5 != 5 // береді 0
|
<
|
-дан аз
|
5 < 5.5 // береді 1
|
<=
|
-дан аз немесе тењ
|
5 <= 5 // береді 1
|
>
|
-дан ‰лкен
|
5 > 5.5 // береді 0
|
>=
|
-дан ‰лкен немесе тењ
|
6.3 >= 5 // береді 1
|
Кµргеніњіздей <= жєне >= кµрінісінде ѓана амал д±рыс есептейді. Мысалы, =< немесе => ќате кµрініске ие жєне ешнєрсені білдірмейді. Салыстыру амалдарыныњ операндтары цифралы болѓаны д±рыс. Символдар да жарамды операнд бола алады, тек номерлі мєндеріне байланысты. Мысалы, (ASCII кодына байланысты),
'A' < 'F' // береді 1 (65 < 70 дай)
Біраќ, салыстыру амалдары ќатарлы типтерді есептеуге жарамсыз, себебі салыстыру амалы ќатарлы тптердіњ ќ±рамдарын емес, адрестері бойынша орындайды. Мысалы: "HELLO" < "BYE" командасы компилятор "HELLO" ќатарлы тип адресін "BYE" ќатарлы типі адресімен салыстырады.
C++ программалау тілінде ќатарлы типтердіњ лексографик ќ±рамын аныќтайтын арнайы функциялы кітапханалар бар (мысалы strcmp).
Достарыңызбен бөлісу: |