Što su operatori i njihove vrste u C programiranju

Sto Su Operatori I Njihove Vrste U C Programiranju



Programski jezik C ima širok raspon operatora koji su neophodni za izvođenje različitih vrsta operacija na varijablama i konstantama. Operatori u C-u su posebni simboli ili ključne riječi koje uzimaju jedan ili više operanda i izvode aritmetičke, logičke ili bitne operacije. Upotreba operatora u C-u omogućuje izvođenje raznih izračuna i logičkih procjena u programu.

U ovom detaljnom vodiču raspravljat ćemo o operatorima u C programiranju i njihovim vrstama.

Operatori i njihove vrste u C programiranju

Operatori su simboli koji se koriste za izvršavanje specifičnih matematičkih zadataka. Koriste se za manipulaciju podacima i varijablama. Slijede različite vrste operatora u C programiranju:







  1. Aritmetički operatori
  2. Unarni operatori
  3. Operatori dodjele
  4. Logički ili Booleovi operatori
  5. Relacijski operatori
  6. Uvjetni operatori
  7. Bitovi operatori

1: Aritmetički operatori

Ovo su operatori koji se koriste za izvođenje osnovnih matematičkih funkcija kao što su zbrajanje, oduzimanje ili množenje. Ove operatore možete koristiti na gotovo svim ugrađenim tipovima podataka C programiranja. Sljedeći su aritmetički operatori koji se koriste u C programiranju:



Operatori Funkcije
+ Dodajte 2 operanda
Oduzmite 2 operanda
* Pomnožite 2 operanda
/ Podijelite 2 operanda
% Operator modula daje ostatak dijeljenja

Primjer

U donjem primjeru izveli smo gore navedene aritmetičke operacije na varijabli X i varijabli Y. Varijabla X ima vrijednost 20, a Y vrijednost 5:



#include

int glavni ( )

{

int x = dvadeset ;

int I = 5 ;

int proizlaziti ;

proizlaziti = x + I ;

printf ( 'Zbrajanje X i Y je: %d \n ' , proizlaziti ) ;

proizlaziti = x - I ;

printf ( 'Oduzimanje X i Y je: %d \n ' , proizlaziti ) ;

proizlaziti = x * I ;

printf ( 'Množenje X i Y je: %d \n ' , proizlaziti ) ;

proizlaziti = x / I ;

printf ( 'Podjela X i Y je: %d \n ' , proizlaziti ) ;

proizlaziti = x % I ;

printf ( 'Podjela modula X i Y je: %d \n ' , proizlaziti ) ;

povratak 0 ;

}





2: Unarni operatori

Postoje dva jedinstvena unarna operatora koja podržava samo C jezik, inkrement ++ i dekrement — operatori. Operator inkrementiranja dodaje 1 operandu, a operator dekrementiranja oduzima 1 od operanda.

Operator povećanja se piše kao:



++ a ili a ++

Operator dekrementa je:

-- a ili a --

Ako koristimo operator inkrementiranja i dekrementiranja kao prefiks, on prvo dodaje ili oduzima vrijednost varijable, a zatim se rezultat dodjeljuje varijabli slijeva. Ako su operatori dodani prije, prvo se vraća izvorna vrijednost, a zatim se operandu dodaje ili oduzima 1.

Primjer

U nastavku smo dodijelili vrijednosti dvjema varijablama a i b i na njih primijenili operatore inkrementiranja i dekrementiranja:

#include

int glavni ( )

{

int a = petnaest , b = 10 ;

printf ( '++a = %d \n ' , ++ a ) ;

printf ( 'a++ = %d \n ' , a ++ ) ;

povratak 0 ;

}

3: Operator dodjele

An operator dodjele (=) koristi se za dodjeljivanje vrijednosti varijabli u programu. Ispod su navedeni operatori dodjele:

Operatori Funkcija
= Dodijelite vrijednosti operandu
+= Lijevom operandu dodajte vrijednost operanda koji se nalazi s desne strane
-= Oduzmite vrijednost desnog operanda od lijevog operanda
*= Pomnožite vrijednost desnog operanda s lijevim operandom
/= Podijelite vrijednost desnog operanda s lijevim operandom
%= Uzmite modul dviju vrijednosti i dodijelite vrijednost lijevom operandu

Primjer

Demonstrirali smo rad operatora dodjele na dva operanda X i Y u primjeru u nastavku:

#include

int glavni ( )

{

int x = 10 ;

int proizlaziti ;

proizlaziti = x ;

printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;

proizlaziti += x ;

printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;

proizlaziti -= x ;

printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;

proizlaziti *= x ;

printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;

proizlaziti /= x ;

printf ( 'Vrijednost rezultata = %d \n ' , proizlaziti ) ;

povratak 0 ;

}

4: Relacijski operatori

Relacijski se operatori koriste u C programiranju za provjeru odnosa između dviju varijabli. Može se koristiti za usporedbu cijena artikala ili dobi dvoje ljudi. Sljedeći su relacijski operatori koji se koriste u C programiranju:

Operatori Funkcije
== Jednak
> Veći od
< Manje od
>= Veće od jednakog
<= Manje od jednakog
!= Nije jednako

Primjer

Primjer u nastavku prikazuje rad relacijskih operatora u C programiranju:

#include

int glavni ( )

{

int a = 9 ;

int b = 10 ;

printf ( '%d == %d je %d \n ' , a , b , a == b ) ;

printf ( '%d > %d je %d \n ' , a , b , a > b ) ;

printf ( '%d < %d je %d \n ' , a , b , a < b ) ;

printf ( '%d != %d je %d \n ' , a , b , a != b ) ;

printf ( '%d >= %d je %d \n ' , a , b , a >= b ) ;

printf ( '%d <= %d je %d \n ' , a , b , a <= b ) ;

povratak 0 ;

}

5: Logički operatori

Postoje četiri logička operatora koja podržava jezik C:

Operatori Funkcija
Logički I (&&) Točno samo ako su svi uvjeti zadovoljeni
Logički ILI (||) Ako je samo jedan uvjet zadovoljen rezultat je istinit
Logično NE(!) Ako je operand 0, rezultat je istinit
Bitno NE (~). Invertira sve bitove operanda

Primjer

Donji primjer koda objašnjava rad logičkih operatora u C-u:

#include

int glavni ( )

{

int x = 10 , I = 4 , S = 10 , proizlaziti ;

proizlaziti = ( x == I ) && ( S > I ) ;

printf ( '(X == Y) && (Z > Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ( x == I ) && ( S < I ) ;

printf ( '(X == Y) && (Z < Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ( x == I ) || ( S < I ) ;

printf ( '(X == Y) || (Z < Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ( x != I ) || ( S < I ) ;

printf ( '(X != Y) || (Z < Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ! ( x != I ) ;

printf ( '!(X != Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ! ( x == I ) ;

printf ( '!(X == Y) je %d \n ' , proizlaziti ) ;

proizlaziti = ! ( x > I ) ;

printf ( '!(X > Y) je %d \n ' , proizlaziti ) ;

povratak 0 ;

}

6: Uvjetni operatori

Uvjetni operator u C-u također je poznat kao ternarni operator jer uzima tri operanda – uvjet, naredbu 1 i naredbu 2. Procjenjuje uvjet i vraća naredbu 1 ili naredbu 2, ovisno o rezultatu zadanog uvjeta koji može biti istinit ili lažan

Stanje ? Izjava 1 : Izjava 2
  • Stanje: Booleov izraz koji provjerava je li istinit ili netočan.
  • Izjava 1: Izraz koji se procjenjuje ako je uvjet istinit.
  • Izjava 2: Izraz koji se procjenjuje ako je uvjet lažan.

Primjer

U primjeru u nastavku, dodijelio sam vrijednost broju i zatim primijenio uvjet, ako je uvjet istinit, izjava 1 će biti izlaz, a ako je uvjet lažan, izjava dva će biti izlaz:

#include

int glavni ( )

{

int broj = 10 ;

( broj < dvadeset ) ? ( printf ( 'Manje je od broja 20!' ) ) : ( printf ( 'Veće je od broja 20!' ) ) ;

povratak 0 ;

}

7: Bitovi operatori

Bitovi operatori u C-u manipuliraju podacima na razini bitova, što znači da rade na pojedinačnim bitovima unutar tipova podataka poput cijelih brojeva. Ne mogu se primijeniti na double i float i koriste se za testiranje bitova i njihovo pomicanje desno ili lijevo.

Bitovi operatori u C programiranju dati su u tablici ispod:

Operatori Funkcija
i Bitno I
| Bitno OR
^ Isključivo ILI po bitovima
<< Pomak ulijevo
>> Pomak udesno
~ One's complement

Primjer

Sljedeći primjer prikazuje C program koji koristi bitovne operatore:

#include

int glavni ( ) {

int a = 13 ; // binarno 1101

int b = 7 ; // binarni 0111

int proizlaziti ;



// Bitno I

proizlaziti = a i b ; // 1101 & 0111 = 0101 (decimalno 5)

printf ( 'a & b = %u \n ' , proizlaziti ) ;

// Bitno OR

proizlaziti = a | b ; // 1101 | 0111 = 1111 (decimalno 15)

printf ( 'a | b = %u \n ' , proizlaziti ) ;

// Bitno XOR

proizlaziti = a ^ b ; // 1101 ^ 0111 = 1010 (decimalno 10)

printf ( 'a ^ b = %u \n ' , proizlaziti ) ;

// Bitno pomak ulijevo

proizlaziti = a << 2 ; // 1101 << 2 = 110100 (decimalno 52)

printf ( 'a << 2 = %u \n ' , proizlaziti ) ;

// Desni pomak po bitovima

proizlaziti = a >> 2 ; // 1101 >> 2 = 0011 (decimalno 3)

printf ( 'a >> 2 = %u \n ' , proizlaziti ) ;

// Bitno NE

proizlaziti = ~a ; // ~1101 = 0010 (predstavljanje komplementa decimalnog broja 2 od -14)

printf ( '~a = %d \n ' , proizlaziti ) ;



povratak 0 ;

}

Bilješka: Bitovi operatori koriste se za izvršavanje zadataka na razini bita, što znači da rade na pojedinačnim bitovima unutar binarnog broja. Booleovi operatori, s druge strane, koriste se za izvođenje operacija na logičkim vrijednostima. Djeluju na Booleovim vrijednostima (točno/netočno ili 1/0) i obično se koriste u procesima donošenja odluka ili uvjetnim izjavama.

Poanta

Operator je simbol koji nalaže prevoditelju da izvrši određene funkcije. Jezik C ima nekoliko ugrađenih operatora uključujući aritmetičke, unarne, dodjele, logičke, relacijske, uvjetne, Booleove i bitovne. O njima smo detaljno raspravljali i demonstrirali ih s primjerom izlaza. Pročitajte gornji odjeljak vodiča kako biste dobili detaljne informacije o ovim operaterima.