Hvad er operatører og deres typer i C-programmering

Hvad Er Operatorer Og Deres Typer I C Programmering



C-programmeringssproget har en bred vifte af operatører, der er afgørende for at udføre forskellige slags operationer på variabler og konstanter. Operatorer i C er specielle symboler eller nøgleord, der tager en eller flere operander og udfører aritmetiske, logiske eller bitvise operationer. Brugen af ​​operatorer i C gør det muligt at udføre forskellige beregninger og logiske evalueringer i et program.

I denne detaljerede guide vil vi diskutere operatørerne i C-programmering og deres typer.

Operatører og deres typer i C-programmering

Operatører er symbolerne, der bruges til at udføre specifikke matematiske opgaver. De bruges til at manipulere data og variabler. Følgende er de forskellige typer operatører i C-programmering:







  1. Aritmetiske operatorer
  2. Unære operatører
  3. Opdragsoperatører
  4. Logiske eller booleske operatører
  5. Relationelle operatører
  6. Betingede operatører
  7. Bitwise operatører

1: Aritmetiske operatorer

Disse er de operatorer, der bruges til at udføre grundlæggende matematiske funktioner som addition, subtraktion eller multiplikation. Du kan bruge disse operatorer på næsten alle indbyggede datatyper af C-programmering. Følgende er de aritmetiske operatorer, der bruges i C-programmering:



Operatører Funktioner
+ Tilføj 2 operander
Træk 2 operander fra
* Multiplicer 2 operander
/ Del 2 operander
% Modulusoperatoren giver resten af ​​divisionen

Eksempel

I nedenstående eksempel har vi udført de ovennævnte regneoperationer på variablen X og variablen Y. Variablen X har værdien 20 og Y har værdien 5:



#include

int vigtigste ( )

{

int x = tyve ;

int OG = 5 ;

int resultat ;

resultat = x + OG ;

printf ( 'Addition af X og Y er: %d \n ' , resultat ) ;

resultat = x - OG ;

printf ( 'Subtraktion af X og Y er: %d \n ' , resultat ) ;

resultat = x * OG ;

printf ( 'Multiplikation af X og Y er: %d \n ' , resultat ) ;

resultat = x / OG ;

printf ( 'Division af X og Y er: %d \n ' , resultat ) ;

resultat = x % OG ;

printf ( 'Modulopdeling af X og Y er: %d \n ' , resultat ) ;

Vend tilbage 0 ;

}





2: Unære operatører

Der er to unikke unære operatorer, der kun understøttes af C-sprog, inkrement ++ og decrement — operatorer. Inkrementoperatoren tilføjer 1 til operanden, og dekrementoperatoren trækker 1 fra operanden.

Increment-operatoren skrives som:



++ a eller a ++

Nedsættelsesoperatøren er:

-- a eller a --

Hvis vi bruger inkrement- og dekrementoperatoren som et præfiks, tilføjer eller trækker den først variabelværdien, og derefter tildeles resultatet til variablen til venstre. Hvis operatorerne tilføjes før, returnerer den først den oprindelige værdi, og operanden tilføjes eller trækkes fra med 1.

Eksempel

Nedenfor har vi tildelt værdier til to variable a og b og anvendt inkrementer og dekrementoperatorer på dem:

#include

int vigtigste ( )

{

int -en = femten , b = 10 ;

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

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

Vend tilbage 0 ;

}

3: Opgaveoperatør

An opgaveoperatør (=) bruges til at tildele værdien til variablen i programmet. Nedenfor er de nævnte opgaveoperatører:

Operatører Fungere
= Tildel værdierne til operanden
+= Tilføj værdien af ​​operanden til højre til venstre operand
-= Træk værdien af ​​den højre operand fra den venstre operand
*= Multiplicer værdien af ​​den højre operand til den venstre operand
/= Divider værdien af ​​højre operand til venstre operand
%= Tag modulet af to værdier og tildel værdien til venstre operand

Eksempel

Vi har demonstreret, hvordan opgaveoperatørerne arbejder på de to operander X og Y i nedenstående eksempel:

#include

int vigtigste ( )

{

int x = 10 ;

int resultat ;

resultat = x ;

printf ( 'Værdi af resultat = %d \n ' , resultat ) ;

resultat += x ;

printf ( 'Værdi af resultat = %d \n ' , resultat ) ;

resultat -= x ;

printf ( 'Værdi af resultat = %d \n ' , resultat ) ;

resultat *= x ;

printf ( 'Værdi af resultat = %d \n ' , resultat ) ;

resultat /= x ;

printf ( 'Værdi af resultat = %d \n ' , resultat ) ;

Vend tilbage 0 ;

}

4: Relationelle operatører

De relationelle operatorer bruges i C-programmering til at kontrollere forholdet mellem to variable. Det kan bruges til at sammenligne priserne på varerne eller alderen på to personer. Følgende er de relationelle operatorer, der bruges i C-programmering:

Operatører Funktioner
== Svarende til
> Bedre end
< Mindre end
>= Større end lig med
<= Mindre end lig med
!= Ikke lig med

Eksempel

Nedenstående eksempel viser de relationelle operatørers funktion i C-programmering:

#include

int vigtigste ( )

{

int -en = 9 ;

int b = 10 ;

printf ( '%d == %d er %d \n ' , -en , b , -en == b ) ;

printf ( '%d > %d er %d \n ' , -en , b , -en > b ) ;

printf ( '%d < %d er %d \n ' , -en , b , -en < b ) ;

printf ( '%d != %d er %d \n ' , -en , b , -en != b ) ;

printf ( '%d >= %d er %d \n ' , -en , b , -en >= b ) ;

printf ( '%d <= %d er %d \n ' , -en , b , -en <= b ) ;

Vend tilbage 0 ;

}

5: Logiske operatører

Der er fire logiske operatorer, der understøttes af C-sprog:

Operatører Fungere
Logisk OG (&&) Kun sandt, hvis alle betingelser er opfyldt
Logisk ELLER (||) Hvis kun én betingelse opfylder, er resultatet sandt
Logisk IKKE(!) Hvis Operand er 0, er resultatet sandt
Bitvist IKKE (~). Inverterer alle bits af operanden

Eksempel

Nedenstående eksempelkode forklarer funktionen af ​​de logiske operatorer i C:

#include

int vigtigste ( )

{

int x = 10 , OG = 4 , MED = 10 , resultat ;

resultat = ( x == OG ) && ( MED > OG ) ;

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

resultat = ( x == OG ) && ( MED < OG ) ;

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

resultat = ( x == OG ) || ( MED < OG ) ;

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

resultat = ( x != OG ) || ( MED < OG ) ;

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

resultat = ! ( x != OG ) ;

printf ( '!(X != Y) er %d \n ' , resultat ) ;

resultat = ! ( x == OG ) ;

printf ( '!(X == Y) er %d \n ' , resultat ) ;

resultat = ! ( x > OG ) ;

printf ( '!(X > Y) er %d \n ' , resultat ) ;

Vend tilbage 0 ;

}

6: Betingede operatører

Den betingede operator i C er også kendt som ternær operatør fordi den tager tre operander – betingelsen, sætning 1 og sætning 2. Den evaluerer betingelsen og returnerer enten sætning 1 eller sætning 2, afhængigt af resultatet af en given betingelse, der kan være enten sand eller falsk

Tilstand ? Udmelding 1 : Udmelding 2
  • Tilstand: Et boolesk udtryk, der kontrollerer for at være enten sandt eller falsk.
  • Udsagn 1: Et udtryk, der evalueres, hvis betingelsen er sand.
  • Udsagn 2: Et udtryk, der evalueres, hvis betingelsen er falsk.

Eksempel

I eksemplet nedenfor har jeg tildelt værdien til tallet og derefter anvendt betingelsen, hvis betingelsen er sand, vil sætning 1 være outputtet, og hvis betingelsen er falsk, vil sætning to være outputtet:

#include

int vigtigste ( )

{

int nummer = 10 ;

( nummer < tyve ) ? ( printf ( 'Det er mindre end nummer 20!' ) ) : ( printf ( 'Det er større end nummer 20!' ) ) ;

Vend tilbage 0 ;

}

7: Bitvise operatører

Bitvise operatører i C manipulere data på bitniveau, hvilket betyder, at de opererer på individuelle bits inden for datatyper som heltal. De kan ikke anvendes på double og float og bruges til at teste bits og flytte dem til højre eller venstre.

Bitvise operatorer i C-programmering er angivet i tabellen nedenfor:

Operatører Fungere
& Bitvis OG
| Bitvis ELLER
^ Bitwise Exclusive ELLER
<< Skift til venstre
>> Skift til højre
~ Ens komplement

Eksempel

Følgende eksempel viser et C-program, der bruger bitvise operatorer:

#include

int vigtigste ( ) {

int -en = 13 ; // binær 1101

int b = 7 ; // binær 0111

int resultat ;



// Bitvis OG

resultat = -en & b ; // 1101 & 0111 = 0101 (decimal 5)

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

// Bitvis ELLER

resultat = -en | b ; // 1101 | 0111 = 1111 (decimal 15)

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

// Bitwise XOR

resultat = -en ^ b ; // 1101 ^ 0111 = 1010 (decimal 10)

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

// Bitvis venstreskift

resultat = -en << 2 ; // 1101 << 2 = 110100 (decimal 52)

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

// Bitvis højre skift

resultat = -en >> 2 ; // 1101 >> 2 = 0011 (decimal 3)

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

// Bitvis IKKE

resultat = ~a ; // ~1101 = 0010 (decimal 2's komplementrepræsentation af -14)

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



Vend tilbage 0 ;

}

Bemærk: Bitvise operatorer bruges til at udføre opgaver på bitniveau, hvilket betyder, at de opererer på individuelle bits inden for et binært tal. Booleske operatorer bruges på den anden side til at udføre operationer på logiske værdier. De opererer på booleske værdier (sand/falsk eller 1/0) og er almindeligt anvendt i beslutningsprocesser eller betingede udsagn.

Bundlinie

En operatør er et symbol, der instruerer compileren til at udføre visse funktioner. C-sproget har flere indbyggede operatorer, herunder aritmetik, unær, tildeling, logisk, relationel, betinget, boolsk og bitvis. Vi har diskuteret dem i detaljer og demonstreret dem med eksemplet. Læs ovenstående afsnit af vejledningen for at få detaljerede oplysninger om disse operatører.