This is a Clilstore unit. You can .

# Operations. Standard functions

The expression means a structure composed of constants, variables, operator symbols, functions, brackets. The expression defines the procedure for calculation of the certain value. Operation applied to one operand is called unary and operation with two operands - binary.

Arithmetic operations

Binary arithmetic operations include:

-    subtraction

*    multiplication

/     division

% division modulo; (this operation is similar to operation mod in Pascal - the remainder of the division). Operation % applies only to integer numbers

Unary operations include:

++  increase by one (increment);

- -   decrease by one (decrement);

For example: x=x+1, x++, ++x   the result of the two operations is the same.

Both operation signs can be recorded mark both before operand (prefix form) and after operand (postfix form), for example ++хorх++,––хorх––. When using postfix form, the operations ++ and - - are performed after the value of the variable was used in the expression and the prefix operation - until use.

For example: 1) x=5; y=x++; firstly, value х is assigned to variable у, after value хis increased by 1. Initial value х=5, after performance of operations y=5, x=6.

2) x=5; y=++x; result of operation x=6, y=6.

3) a=3; c=2; x=a++ * c++; result of operation a=4,  c=3,  x=6.

4) a=3; c=2; x=++a * ++c; result of operation a=4,  c=3,  x=12.

Relational operations

C uses the same set of relational operations, as in other programming languages:

<           less

<=         less or equal

>           greater

>=         greateror equal

==         equal

!=          not equal

The difference is in the recording of operations “equal” and “not equal”.

Therefore, the result of the relational operation is the integer number: if the relation is true –then 1, if false - then 0.

For example: the result of the relational operation in case 5>1, ‘x’==’x’ will equal 1, and in case 5!=5,  ‘x’==’X’ result=0.

Logical operations

Basic logical operations in С++ language will be recorded as follows:

&&  - conjunction (logic “AND”)

||      - disjunction (logic“OR”)

!      - inversion (logic“NOT”)

Table 2 below shows examples of recording expressions in C ++ language using logical operations and relational operations.

Table 2. Recording of expressions

 mathematical expression recording inС++ 00 && x<10 y≤-1 или y≥1 y<=-1 || y>=1 x≠y !(x= =y) a=b a= =b ‘a’≠’A’ ‘a’!=’A’

Priority to perform logical operations and relational operations as follows:

• >, <, >=, <=
• ==, !=
• &&
• ||

Assignment operation

General view of the assignment operation as follows:

Name of variable = expression;

For example: x=5;  D=b*b-4*a*c;    a=b=0;

Assignment operation in C language is not operand, i.e. assignment as any other sign of operation can several times enter the expression.

For example: а=b=c=x+y;

Also in С++ language, assignment operation can be combined with other operations:   +=,  -=,  /=,  *=,  %=

For example: The following expressions are considered as equivalent.

i+=2   and    i=i+2

p/=5   and    p=p/5

a*=b+c      and    a=a*(b+c)

x-=y    andx=x-y

n%2    andn=n%2

Instead of expression х=х+2 it is preferable to use recordх+=2, since the second expression will be calculated faster.

Operation“condition”

This is the only operation that has three operands. The format of the operation:

logical operation ? expression -1: expression -2;

or

variable = logical operation? expression -1: expression -2;

This operation implements the algorithmic branch structure. The algorithm of its performance is as follows: the value of the logical expression shall be calculated the first, if it is true, then the expression is calculated - 1 and the obtained result becomes as the result of the operation. Otherwise, the value of the expression-2 is taken as the result.

For example:

• Determination of module of variable х

x<0 ? –x:  x;

• Search the largest of two

max=(a<=b) ? b : a;

• Increase in 2 times of the greater of two numbers

a>b ? 2*a: 2*b;

Functions that are calculated automatically by special modules are called standard functions. They are stored in the header file math.h

Standard functions ofС++ language are shown in Table 3.

Table 3. Standard functions ofС++ language

 Mathematical function Record onС++ Argument type Result type Note | x | abs (x) int int absolute value of integer number | x | fabs (x) double double absolute value of real number sinx sin(x) double double х- radian cosx cos(x) double double х- radian tgx tan(x) double double х- radian e x exp(x) double double e = 2,718 … lnx log(x) double double natural logarithm, x>0 lg(x) log10(x) double double decimal logarithm sqrt(x) double double square root, x>=0 xy pow(x,y) double, double double x in power of y 10p pow10(p) int double 10in power of p arcsinx asin(x) double double х- radian arccosx acos(x) double double х- radian arctgx atan(x) double double х- radian sinhx sinh(x) double double hyperbolic sine,х- radian coshx cosh(x) double double hyperbolic cosine,х- radian tanhx tanh(x) double double hyperbolic tangent, х- radian nearest integer, not less х ceil(x) double double the result will be displayed in format double greatest integer, not exceeding х floor(x) double double the result will be displayed in format double remainder of the division of integer хonу fmod(x,y) double, double double the result will be displayed in format double z2=x2+y2 hypot(x,y) double, double double calculates hypotenuse of the rectangular triangle according tolegs value z2=x2+y2

All other functions are expressed through the standard. Examples of recording of mathematical expressions in C ++ language:

1. x 5® pow(x,5)
2. Ö x 3 = x 3/2® pow(x, 3/2)
3. sin 30° ® sin ((3.14*30)/180) (transfer to radians)
4. log2 x ® log a b = log cb / logca ®       log(x)/log(2)
5. 4Ö 2x-y ® 4* sqrt(2*x-y)
6. ctgx+cos60º ® cos(x)/sin(x)+cos((60*3.14)/180)
7. ® (-b+ sqrt(D))/(2*a)

1. cos2x2® pow(cos(x*x),2)

9. e sinx®     exp (sin(x))

Short url:   https://multidict.net/cs/6245