Арифметичні операції
віднімання або унарний мінус –, додавання +, множення *, ділення /, ділення по модулю %, збільшення на 1 ++, зменшення на 1 – –.
УВАГА! Якщо операнди мають однаковий тип, то результат буде мати такий самий тип.
#include<stdio.h>
void main(void)
{
int x,y;
x=10; y=17;
printf("Ціла частина від ділення х на у %d", x/y);
printf("Залишок від ділення х на у %f", x%y);
}
Унарні операції ++ і ––.
Ці операції збільшують або зменшують значення змінної на одиницю. Вони можуть слідувати до операнда і після (префіксна і постфіксна форми).
X= X+1, X++, ++X дають однаковий результат в програмі, однак якщо префіксна або постфіксна форми знаходяться всередині виразу або функції, то у випадку префіксної форми спочатку виконується операція збільшення/зменшення на одиницю, а потім вираз або функція, а у випадку постфіксної форми спочатку виконується вираз або функція, а потім значення змінної змінюється на одиницю.
#include<stdio.h>
void main(void)
{
int x=5; y=60;
x++; ++y
printf("x=%d, y=%d \n",x,y);
printf("x=%d, y=%d \n",x++,++y);
}
Результат x=6, y=61
x=6, y=62
Старшинство арифметичних операцій
++, --
- (унарний мінус)
*, /, %
+, -
Операції, однакові по старшинству виконуються зліва направо, щоб змінити порядок операцій вводяться дужки ()
Приклад: 3+5*8, 5*3+8, (3+5)*8
Операції відношення і логічні операції
Операції відношення використовуються для порівняння – менше <, більше >, менше-рівно <=, більше-рівно >=, рівно = =, не рівно !=.
Приклад: а>10, 101>=102, 'a'= ='A', 'a'!='A'
Кожна умова перевіряється на виконання, результат перевірки – "правда" або "неправда".
#include<stdio.h>
void main(void)
{
int tr, fal;
tr=(101<=105);
fal=(101>105);
printf("True - %d, false - %d",tr,fal);
}
Логічні операції
Вони відповідають класичним логічним операціям І – && або (AND), АБО – || або (OR), НІ – ! або (NOT)
Логічні операції проводяться у двійковій системі числення
X |
Y |
X AND Y |
X OR Y |
NOT X |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Операції відношення і логічні мають пріоритет нижчий, ніж арифметичні операції.
Операції присвоювання
Загальний вигляд <змінна>=<константний вираз>;
Приклади: a=2; a=2*(5+4); a=(b+5)/(c-2);
Деякі особливості операцій присвоювання
1. Операції присвоювання можуть використовуватись у виразах, які включають операції порівняння або логічні операції
if((f=x-y)>0) printf("x більше y");
Спочатку обчислюємо x-y, потім змінній f присвоюють результат віднімання і потім перевіряють чи f>0.
2. Можливість багатократного присвоювання.
a=b=c=x*y;
3.Додаткові оператори. Можливі наступні заміни
n=n+5 n+=5
n=n-20 n-=20
n=n*20 n*=20
n=n/10 n/=10
n+=5 виконується компілятором швидше, ніж n=n+5.
