Увод в програмирането
alpha
|
Разглеждаме програма, която по дадена хипотенуза и разлика между катетите, намира катетите.
Израз наричаме всяка валидна за езика комбинация от операции, операнди и кръгли скоби. Операндите могат да бъдат константи, променливи, обръщения към функции и в общия случай изрази. Под валидна комбинация разбираме комбинация, която не противоречи на зададените в езика съответствия между операции и операнди и на синтаксиса на езика.
В зависимост от броя на операндите различаваме:
двуместни +, - и * Типът на резултата от една операция зависи от типа на операндите. Ако типът на двата операнда е цял, то резултатът е цял. Ако поне един от операндите е с плаваща точка, то резултатът е с плаваща точка. Ако и на двата операнда са цели, то при делене резултатът е целочислено.
% -> остатък от целочислено деление
едноместни + , -
В C/C++ истина ( true ) е всяка стойност различна от 0 и лъжа ( false ) е всяка стойност равна на 0. Възприето е стойността на резултата при операции за отношения и логически операции да е винаги или 1 ( за true ), или 0 ( за false ). Операндите за отношения се използват за сравняване на стойности: >, >= , <, <=, ==, !=
Логически опрации са:
При логическо събиране и умножение някой компилатори правят оптимизация операнд 1 && операнд 2 операнд 1 || операнд 2 понякога трябва да се избере опция да не се оптимизира
Присвояване! Присвояването е операция променлива = израз
Съкратен запис на комбинация от операции: преработи в табличка a = a+b a+=b a = a-b a-=b a = a*b a*=b a = a/b a/=b a = ab a%=b a = a+1 ++a a++ a = a-1 –a a– еквиваленти, ако се ползват автономно
При поставянето на двата + или - преди променливата, първо се изпълнява операцията и след това променливата се използва с новата си стойност.
int x, y; x = 15; еквивалентно на: x=x+1; y = ++x; y=x;
x = 15; y = x; y = x++; еквивалентно на x = x + 1;
++ или – след променлива - първо се използва променливата със старата си стойност и след това се изпълнява операцията.
операция за последователно изпълнение операнд 1, операнд 2 резултатът е стойността на операнд 2 ( стойността на последния израз )
int suma, broj; float sr_uspeh; sr_uspeh = ( float ) suma/broj;
операция за размер на обект sizeof(операнд) резултатът е размерът на операнда в B. операндът е променлива или тип sizeof(sr_uspeh) cout<<sizeof(int)<<endl;
Редът на извикване на операндите в един израз се определя от техния приоритет и асоциативност. По-висок приоритет преди по-нисък. Операциите с един и същ приоритет се изпълняват отляво надясно или отдясно наляво в зависимост от техните асоциативност.