- •1. Основні операції
- •1.1 Арифметичні операції
- •1.2 Операції присвоювання
- •1.3 Математичні функції
- •1.4 Операції порівняння
- •1.5 Логічні операції
- •1.6 Порозрядні операції (побітові операції)
- •1.7 Операція слідування (кома)
- •1.8 Операції введення та виведення
- •1.9 Операція sizeof()
- •1.10 Умовна операція ? :
- •2. Оператори. Вирази.
- •2.1. Оператор розгалуження if
- •2.2 Оператор switch
1.2 Операції присвоювання
В мові Сі знак = не означає "дорівнює". Він означає операцію присвоювання деякого значення змінній. Тобто зміст рядка вигляду "vr1=1024;" не виражається словами "vr1 дорівнює 1024". Замість цього потрібно казати так: "присвоїти змінній vr1 значення 1024".
Перелік операцій присвоювання мови Сі ілюструє таблиця 1.7.
Операція |
Значення |
a = b |
присвоювання значення b змінній а |
a += b |
додавання з присвоюванням. Означає a = a + b |
a -= b |
віднімання з присвоюванням. Означає a = a - b |
a *= b |
множення з присвоюванням. Означає a = a * b |
a /= b |
ділення з присвоюванням. Означає a = a / b |
a %= b |
залишок від ділення з присвоюванням. Означає a = a % b |
a <<= b |
зсув вліво з присвоюванням. Означає a = a << b |
a >>= b |
зсув вправо з присвоюванням. Означає a = a >> b |
a &= b |
порозрядне І з присвоюванням. Означає a = a & b |
a |= b |
порозрядне АБО з присвоюванням. Означає a = a | b |
a ^= b |
побітове додавання за МОД2 з присвоюванням, означає a = a ^ b |
Операція присвоювання повертає як результат присвоєне значення. Завдяки цьому в мові Сі допускаються присвоювання виду: a=(b=c=1)+1;
Розглянемо приклад, який демонструє використання таких присвоювань.
#include<stdio.h>
void main()
{
int data1, data2, data3;
data1=data2=data3=68;
printf(" data1==%d data2==%d data3==%d",
data1,data2,data3);
}
Результат роботи програми виглядає так:
data1==68
data2==68
data3==68
data1=data2=data3=68;
Присвоювання відбувається справа наліво: спочатку змінна data3 отримує значення 68, потім змінна datа2 і нарешті data1.
1.3 Математичні функції
Перелік математичних функцій наведено в таблиці 1.8.
Запис в С (С++) |
Позначення |
Назва |
abs(x) |
|x| |
абсолютне значення цілого числа (модуль) |
fabs(x) |
|x| |
абсолютне значення дійсного (float) числа (модуль) |
labs(x) |
|x| |
модуль довгого цілого |
acos(x) |
arccos(x) |
арккосинус |
asin(x) |
arcsin(x) |
арксинус |
atan(x) |
arctg(x) |
арктангенс |
cos(x) |
cos(x) |
косинус |
sin(x) |
sin(x) |
синус |
tan(x) |
tg(x) |
тангенс |
exp(x) |
ex |
експонента |
log(x) |
ln(x) |
логарифм натуральний |
log10(x) |
lg(x) |
логарифм десятковий |
pow(a,b) |
ab |
степінь |
pow10(b) |
10b |
степінь десяти |
sqrt(x) |
√ x |
квадратний корінь |
pow(x,1/a) |
a√x |
корінь n-го степеня |
Функції перетворення чисел наведено в таблиці 1.9.
Функція в С ( С++) |
Назва |
ceil(x) |
округлення вгору, найменше ціле, не менше х |
floor (x) |
округлення вниз, найбільше ціле, не більше х |
fmod(a,b) |
залишок від ділення, аналог операції % |
modf |
розділяє на цілу і на дробову частину |
Приклад Обчислити значення математичних виразів:
; ,де ,;
, де ,,.
Програма:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double a,b,d,l,x;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"d="; cin>>d;
cout<<"l="; cin>>l;
cout<<"x="; cin>>x;
double t,f,y;
t=5*l+pow(sin(l+4*d),2);
f=fabs(l-12*d)+(2-5*d)/(4+l*l);
y=(exp(0.8)*tan(x*a))/acos(a*x)+(log10(a*x*x)+b*sqrt(x))/(pow((4*x*x),1./3));
cout<<"t="<<t<<endl<<"f="<<f<<endl<<"y="<<y<<endl;
system ("pause");
return 0;
}
Результати обчислень:
t=25.9968
f=3.0458
y=1.59363