Выражения целого типа
В этих выражениях используются операнды целого или символьного типов, связанные круглыми скобками и знаками арифметических, логических, побитовых операций и операций сравнения.
К арифметическим операциям относятся:
+ сложение 3 + 2 = 5
- вычитания 5 – 2 = 3
* умножение 3 * 2 = 6
/ деление нацело 5 / 3 = 1
% остаток от деления 5 % 3 = 2
5 % 2 = 1
5 % 1 = 0
5 % 5 = 0
2 % 3 = 2
++ инкремент x++ = x + 1
++x = x + 1
-- декремент x-- = x – 1
--x = x – 1
В отличие от Паскаля, в выражения целого типа языка Си могут входить и операнды символьного типа (char), при этом операции выполняются над кодами символьных констант, а результат может быть выражен или целым числом, или символом:
‘A’ + 3 = ‘D’
‘A’ + 3 = 68
‘a’ – 32 = ‘A’
‘a’ – 32 = 65
‘0’ + 1 = 49
‘0’ + 1 = ‘1’
В языке Си используются три логические операции:
!НЕ отрицание, инверсия,
||ИЛИ логическое сложение, дизъюнкция,
&&И логическое умножение, конъюнкция
и шесть операций сравнения:
==равно,
!= не равно,
> больше,
>= больше или равно,
< меньше,
<= меньше или равно.
Внимание! Операция равно в Си обозначается не одним, как в Паскале, а двумя знаками равенства: ==
Результатами логических операций и операций сравнения могут быть две константы:
1 – истина,
0 – ложь.
Причем считается, что если операнд в выражении не равен нулю (не ложь), то он имеет значение истина:
5&&3 = 1 истина И истина есть истина
5&&0 = 0 истина И ложь есть ложь
5||3 = 1
5||0 = 1
0||0 = 0
!1 = 0 НЕ истина есть ложь
!5 = 0
5==5 = 1 5 равно 5 есть истина
5==3 = 0
5!=5 = 0 5 не равно 5 есть ложь
5!=3 = 1
5>3 = 1
5<=3 = 0
Побитовые операции выполняются над двоичными кодами операндов, над каждым разрядом кода отдельно. К ним относятся:
&И 5&3 = 1 101 = 5
&
011 = 3
___
001 = 1
|ИЛИ 5|3 = 7 101 = 5
|
011 = 3
___
111 = 7
^ исключающее ИЛИ 5^3 = 6 101 = 5
^
011 = 3
___
110 = 6
Приоритет выполнения операций:
! НЕ
- изменение знака
++ инкремент
-- декремент
Эти операции имеют наивысший приоритет и выполняются в выражениях справа налево.
За ними следуют операции:
*, /, % операции типа умножения
+, - операции типа сложения
>, >=, <, <= операции сравнения
==, != операции равенства
& побитовое И
^ исключающее ИЛИ
| побитовое ИЛИ
&& логическое И
|| логическое ИЛИ
Эти операции выполняются в выражениях слева направо. Порядок вычислений может быть изменен с помощью круглых скобок.
Примеры записи выражений целого типа:
sqrt(a)*b*b
5*pow(x,3) 5*x*x*x
a*b/c + c/(a*b)
cos(x*x*x)*cos(x*x*x)
exp(log(1.0+x)/3.0) pow((1.0+x),1.0/3.0)
Внимание! Ошибочная запись pow((1.0+x),1/3)
Примеры вычислений выражений целого типа:
(5&3) + (5|3)= 8
(3>5)||(4%2)&&(4/2) = 0
(('a' - 32)=='A') + !(3>5) + (5||3) = 3
(5&&3) + (5||3) +!5 = 2
((5>3)==(5!=3)) + !('A'>'B') + ('A'==65) = 3
(!(2%3)||(2%3)) + (!(2/3)&&(2/3)) + !((3>5)||(5>2)) = 1
8/3%2 + !('C' - 'A' == 3%5) - ceil(pow(0.5,2)) = 0
Дата добавления: 2015-10-19; просмотров: 733;