<< Chapter < Page Chapter >> Page >

Аритметички оператори:

Се применуваат над бројни променливи (цели броеви или децимални броеви).

+ собирање на два броја
- одземање на два броја
* множење на два броја
/ делење на два броја
% остаток при делење на два цели броеви
оператор израз еквивалентен израз
+= x+=2; x=x+2;
-= x-=2; x=x-2;
*= x*=2;x*=a+b; x=x*2;x=x*(a+b);
/= x/=2; x/=j+2; x=x/2; x=x/(j+2);
%= x%=2; x=x%2;

Релациони оператори:

Се применуваат над било кои споредливи типови на податоци, а резултатот е цел број 0 или 1. 0 – неточно, 1 – точно.

< Помало
<= помало еднакво
> Поголемо
>= поголемо еднакво
== Еднакво
!= Различно

Логички оператори:

Се користат најчесто во комбинација со релационите оператори за формирање на сложени логички изрази, кои повторно враќаат резултат 0 или 1.

&& И
|| ИЛИ
! НЕ

Редослед на извршување на оператори (операции):

  • Изразот во загради се пресметува на почеток (има највисок приоритет). Ако заградите се вгнездени, изразот во највнатрешните загради се пресметува прв. Ако постојат повеќе загради на исто ниво во изразот, тие се пресметуваат одлево надесно.
  • Операторите *. /, или % ( што се однесуваат на операциите множење, делење, модул) се пресметуваат како втори по ред (имаат среден приоритет). Ако во изразот има повеќе операции од овој вид, тие се пресметуваат одлево надесно.
  • Операторите + или – (собирање или одземање) се пресметуваат последни. Ако во изразот има повеќе операции од овој вид, тие се пресметуваат одлево надесно.

Самата операција на доделување исто така враќа вредност и може да се вметне во друг израз. Операторот за доделување е пофлексибилен отколку што тоа на прв поглед се чини, така да истиот може да се употреби и на следниот начин:

int i, j, k, l, m, n; i = j = k = l = m = n = 22;

n=22 е првата операција што се извршува, и тоа прави вредноста 22 да биде расположива за следната операција додели ја вредноста 22 на променливата m, итн.

Приоритет

  • Во принцип сите унарни оператори имаат повисок приоритет од бинарните
  • Употребата на загради го менува приоритетот
  • Во С се дефинирани 15 нивои

Асоцијативност

  1. За два оператора со ист приоритет, операцијата што треба да се изврши се избира на основа на правилата за асоцијативност на операторите
  2. Дефинирани се “одлево надесно” и “оддесно налево”

Печатење на податоци (излезни функции)

Како што беше покажано на првиот пример “Dobredojdovte na TMF!”, се користи функција за испраќање на некој текст кон стандардниот уред за испис на податоци – мониторот.

Бидејќи С не вклучува наредби за влез и излез на податоци, се користи библиотека со функции која претходно мора да се пријави во програмата. Тоа се прави со користење на:

#include<stdio.h>

stdio – standard input output

На овој начин пред да се искомпајлира програмата, предпроцесорот на С знае дека треба да ги вклучи функциите од библиотеката stdio.h со цел да не се јави грешка при компајлирањето. За печатење се користи функцијата printf:

printf(kontrolna_niza,lista_na_promenlivi);

Контролната низа содржи било каков текст за испис и контролни знаци предводени од % или \ . Контролните знаци зависат од видот на променливата чија вредноста треба да се испише или од саканата акција што треба да биде превземена.

Во следната табела се прикажани сите контролни низи:

контролна низа објаснување
%d За цели броеви
%i За цели броеви
%c За знаци
%s За низа од знаци
%e реален број во технички формат (е)
%E реален број во технички формат (Е)
%f реален број во децимален формат
%g реален број во пократкиот од форматите %е и %f
%G реален број во пократкиот од форматите %Е и %f
%u цел број без предзнак
%o октален цел број без предзнак
%x хексадецимален цел број без предзнак (мали букви)
%X хексадецимален цел број без предзнак (големи букви)
%p Прикажува покажувач
%n бројот на испишани знаци се доделува на аргументот
%% испишување на знакот %

Во низата на променливи покрај променливи може да има и константи и аритметички изрази.

Примена на printf функцијата.

#include<stdio.h>void main() {printf(“, brojot na znaci e %d”,printf(“abcd”)); }

Оваа програма на екранот ќе испечати

abcd, brojot na znaci e 4

Задачи

Да се напише програма која ќе ја пресметува вредноста на математичкиот израз: x = 3/2 + (5 – 46*5/12)

#include<stdio.h>

void main()

{

float x;

x = 3/2 + (5-46*5/12);

printf(“Vrednosta na x e %f\n”, x);

}

Да се напише програма која за вредноста 25 на х ќе го пресмета и испечати неговиот квадрат.

#include<stdio.h>

void main()

{

int x, kvadrat;

x = 25;

kvadrat = x*x;

printf(“%d na kvadrat e %d.\n”, x, kvadrat);

}

Да се напише програма која за дадени страни на еден триаголник и ќе ги испечати периметарот и квадратот од плоштината (нека се работи со a=7, b=7.5, c=13.2).

#include<stdio.h>

void main()

{

float a=7.0, b=7.5, c=13.2;

float L, P, s;

L = a + b + c;

s = L/2;

P = s*(s-a)*(s-b)*(s-c);

printf(“Plostinata na kvadrat e: %f\n”, P);

printf(“Perimetarot e: %f\n”, L);

}

Да се напише програма која за дадени страни на еден правоаголник ќе ги испечати неговите плоштина и периметар (пр. a=7, b=10).

#include<stdio.h>

void main()

{

int a, b;

int L, P;

printf(“Vnesete gi stranite na pravoagolnikot:”)

scanf(“%d %d”,&a,&b);

L = 2*a + 2*b;

P = a * b;

printf(“Plostinata e: %f\n”, P);

printf(“Perimetarot e: %f\n”, L);

}

Да се напише програма за пресметување на аритметичката средина на броевите 3, 5 и 12.

#include<stdio.h>

void main()

{

int a=3;

int b=5;

int c=12;

float as;

as = (a + b + c)/3;

printf(“Aritmetickata sredina e: %f\n”, as);

}

Да се напише програма која ќе ги испечати на екран остатоците при делењето на бројот 19 со 2, 3, 5 и 8.

#include<stdio.h>

void main()

{

int a=19;

printf(“Ostatokot pri delenjeto so 2 e: %d\n”, a%2);

printf(“Ostatokot pri delenjeto so 3 e: %d\n”, a%3);

printf(“Ostatokot pri delenjeto so 5 e: %d\n”, a%5);

printf(“Ostatokot pri delenjeto so 8 e: %d\n”, a%8);

}

Пример со податочни видови

#include<stdio.h>

int main()

{

int suma;

float pari;

char bukva;

double pi;

suma = 10; /* pridruzi celobrojna integer vrednost */

pari = 2.21; /* pridruzi realna float vrednost */

bukva= 'A'; /* pridruzi znak */

pi = 2.01E6; /* pridruzi realna double vrednost*/

printf(“Vrednost na suma = %d\n", suma );

printf(“Vrednost na pari = %f\n", pari );

printf(“Vrednost na bukva = %c\n", bukva );

printf(“Vrednost na pi = %e\n", pi );

}

Излез:

Vrednost na suma = 10

Vrednost na pari = 2.210000

Vrednost na bukva = A

Vrednost na pi = 2.010000e+06

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Вовед во програмирање. OpenStax CNX. Oct 28, 2013 Download for free at http://cnx.org/content/col11379/1.12
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Вовед во програмирање' conversation and receive update notifications?

Ask