Ebben a részletes útmutatóban a C programozás operátorait és azok típusait tárgyaljuk.
Operátorok és típusaik a C programozásban
Az operátorok a szimbólumok, amelyeket meghatározott matematikai feladatok végrehajtására használnak. Az adatok és a változók manipulálására szolgálnak. Az alábbiak a különböző típusú operátorok a C programozásban:
- Aritmetikai operátorok
- Egyértelmű operátorok
- Hozzárendelés operátorok
- Logikai vagy logikai operátorok
- Relációs operátorok
- Feltételes operátorok
- Bitenkénti operátorok
1: Aritmetikai operátorok
Ezek az operátorok olyan alapvető matematikai funkciók végrehajtására, mint az összeadás, kivonás vagy szorzás. Ezeket az operátorokat a C programozás szinte minden beépített adattípusához használhatja. A C programozásban használt aritmetikai operátorok a következők:
Üzemeltetők | Funkciók |
+ | Adjunk hozzá 2 operandust |
– | Vonjunk ki 2 operandust |
* | Szorozz meg 2 operandust |
/ | Ossz el 2 operandust |
% | A modulus operátor megadja az osztás maradékát |
Példa
Az alábbi példában végrehajtottuk a fent említett aritmetikai műveleteket az X és az Y változóval. Az X változó értéke 20, Y pedig 5:
#include
int fő- ( )
{
int x = húsz ;
int ÉS = 5 ;
int eredmény ;
eredmény = x + ÉS ;
printf ( 'X és Y összeadása: %d \n ' , eredmény ) ;
eredmény = x - ÉS ;
printf ( 'X és Y kivonása: %d \n ' , eredmény ) ;
eredmény = x * ÉS ;
printf ( 'X és Y szorzata: %d \n ' , eredmény ) ;
eredmény = x / ÉS ;
printf ( 'X és Y felosztása: %d \n ' , eredmény ) ;
eredmény = x % ÉS ;
printf ( 'X és Y modulus felosztása: %d \n ' , eredmény ) ;
Visszatérés 0 ;
}
2: Unáris operátorok
Két egyedi unáris operátor létezik, amelyeket csak a C nyelv támogat, az increment ++ és a decrement — operátorok. A növelési operátor 1-et ad az operandushoz, a csökkentési operátor pedig kivon 1-et az operandusból.
A növekmény operátor a következőképpen írható:
++ a vagy a ++
A csökkentő operátor a következő:
-- a vagy a --Ha előtagként használjuk a növelés és csökkentés operátort, akkor először összeadja vagy kivonja a változó értékét, majd az eredményt a bal oldali változóhoz rendeli. Ha az operátorokat korábban hozzáadja, akkor először az eredeti értéket adja vissza, majd az operandust hozzáadja vagy kivonja 1-gyel.
Példa
Az alábbiakban két a és b változóhoz értékeket rendeltünk, és növelő és csökkentő operátorokat alkalmaztunk rájuk:
#includeint fő- ( )
{
int a = tizenöt , b = 10 ;
printf ( '++a = %d \n ' , ++ a ) ;
printf ( 'a++ = %d \n ' , a ++ ) ;
Visszatérés 0 ;
}
3: Hozzárendelés operátor
An hozzárendelés operátor (=) A változó értékének hozzárendelésére szolgál a programban. Az alábbiakban felsoroljuk az említett hozzárendelési operátorokat:
Üzemeltetők | Funkció |
= | Rendelje hozzá az értékeket az operandushoz |
+= | Adja hozzá a jobb oldalon lévő operandus értékét a bal oldali operandushoz |
-= | Vonja ki a jobb oldali operandus értékét a bal oldali operandusból |
*= | Szorozzuk meg a jobb oldali operandus értékét a bal operandussal |
/= | Ossza el a jobb oldali operandus értékét a bal operandussal |
%= | Vegyük a két érték modulusát, és rendeljük hozzá az értéket a bal oldali operandushoz |
Példa
Az alábbi példában bemutattuk a hozzárendelési operátorok működését a két X és Y operanduson:
#includeint fő- ( )
{
int x = 10 ;
int eredmény ;
eredmény = x ;
printf ( 'Az eredmény értéke = %d \n ' , eredmény ) ;
eredmény += x ;
printf ( 'Az eredmény értéke = %d \n ' , eredmény ) ;
eredmény -= x ;
printf ( 'Az eredmény értéke = %d \n ' , eredmény ) ;
eredmény *= x ;
printf ( 'Az eredmény értéke = %d \n ' , eredmény ) ;
eredmény /= x ;
printf ( 'Az eredmény értéke = %d \n ' , eredmény ) ;
Visszatérés 0 ;
}
4: Relációs operátorok
A relációs operátorokat a C programozásban használják két változó közötti kapcsolat ellenőrzésére. Használható a cikkek árának vagy két ember életkorának összehasonlítására. A C programozásban használt relációs operátorok a következők:
Üzemeltetők | Funkciók |
== | Egyenlő |
> | Nagyobb, mint |
< | Kevesebb, mint |
>= | Nagyobb, mint egyenlő |
<= | Kevesebb, mint egyenlő |
!= | Nem egyenlő |
Példa
Az alábbi példa a relációs operátorok működését mutatja be a C programozásban:
#includeint fő- ( )
{
int a = 9 ;
int b = 10 ;
printf ( '%d == %d %d \n ' , a , b , a == b ) ;
printf ( '%d > %d %d \n ' , a , b , a > b ) ;
printf ( '%d < %d %d \n ' , a , b , a < b ) ;
printf ( '%d != %d %d \n ' , a , b , a != b ) ;
printf ( '%d >= %d %d \n ' , a , b , a >= b ) ;
printf ( '%d <= %d %d \n ' , a , b , a <= b ) ;
Visszatérés 0 ;
}
5: Logikai operátorok
Négy logikai operátort támogat a C nyelv:
Üzemeltetők | Funkció |
Logikai ÉS (&&) | Csak akkor igaz, ha minden feltétel teljesül |
Logikai VAGY (||) | Ha csak egy feltétel teljesül, az eredmény igaz |
Logikus NEM(!) | Ha az operandus 0, az eredmény igaz |
Bitenként NEM (~). | Megfordítja az operandus összes bitjét |
Példa
Az alábbi példakód elmagyarázza a logikai operátorok működését C-ben:
#includeint fő- ( )
{
int x = 10 , ÉS = 4 , VAL VEL = 10 , eredmény ;
eredmény = ( x == ÉS ) && ( VAL VEL > ÉS ) ;
printf ( '(X == Y) && (Z > Y) %d \n ' , eredmény ) ;
eredmény = ( x == ÉS ) && ( VAL VEL < ÉS ) ;
printf ( '(X == Y) && (Z < Y) %d \n ' , eredmény ) ;
eredmény = ( x == ÉS ) || ( VAL VEL < ÉS ) ;
printf ( '(X == Y) || (Z < Y) %d \n ' , eredmény ) ;
eredmény = ( x != ÉS ) || ( VAL VEL < ÉS ) ;
printf ( '(X != Y) || (Z < Y) %d \n ' , eredmény ) ;
eredmény = ! ( x != ÉS ) ;
printf ( '!(X != Y) %d \n ' , eredmény ) ;
eredmény = ! ( x == ÉS ) ;
printf ( '!(X == Y) %d \n ' , eredmény ) ;
eredmény = ! ( x > ÉS ) ;
printf ( '!(X > Y) %d \n ' , eredmény ) ;
Visszatérés 0 ;
}
6: Feltételes operátorok
A feltételes operátor C-ben más néven a hármas operátor mert három operandusra van szükség – a feltételre, az 1-es utasításra és a 2-es utasításra. Kiértékeli a feltételt, és vagy az 1. vagy a 2. utasítást adja vissza, attól függően, hogy egy adott feltétel eredménye igaz vagy hamis lehet.
Feltétel ? Nyilatkozat 1 : Nyilatkozat 2- Feltétel: Logikai kifejezés, amely ellenőrzi, hogy igaz vagy hamis.
- 1. állítás: Egy kifejezés, amely akkor kerül kiértékelésre, ha a feltétel igaz.
- 2. állítás: Kifejezés, amely akkor kerül kiértékelésre, ha a feltétel hamis.
Példa
Az alábbi példában az értéket a számhoz rendeltem, majd alkalmaztam a feltételt, ha a feltétel igaz, akkor az 1-es állítás lesz a kimenet, és ha a feltétel hamis, akkor a második állítás lesz a kimenet:
#includeint fő- ( )
{
int szám = 10 ;
( szám < húsz ) ? ( printf ( – Ez kevesebb, mint a 20! ) ) : ( printf ( – Ez nagyobb, mint a 20-as! ) ) ;
Visszatérés 0 ;
}
7: Bitenkénti operátorok
Bitenkénti operátorok C-ben bitszinten manipulálják az adatokat, ami azt jelenti, hogy az adattípusokon belüli egyes biteken, például egész számokon működnek. Nem alkalmazhatók a dupla és úszóra, és a bitek tesztelésére és jobbra vagy balra tolására használják.
A C programozás bitenkénti operátorait az alábbi táblázat tartalmazza:
Üzemeltetők | Funkció |
& | Bitenként ÉS |
| | Bitenkénti VAGY |
^ | Bitenkénti exkluzív VAGY |
<< | Váltás balra |
>> | Váltás jobbra |
~ | Egyik kiegészítése |
Példa
A következő példa egy C programot mutat be, amely bitenkénti operátorokat használ:
#includeint fő- ( ) {
int a = 13 ; // bináris 1101
int b = 7 ; // bináris 0111
int eredmény ;
// Bitenkénti ÉS
eredmény = a & b ; // 1101 és 0111 = 0101 (tizedes 5)
printf ( 'a és b = %u \n ' , eredmény ) ;
// Bitenkénti VAGY
eredmény = a | b ; // 1101 | 0111 = 1111 (tizedesjegy 15)
printf ( 'a | b = %u \n ' , eredmény ) ;
// Bitenkénti XOR
eredmény = a ^ b ; // 1101 ^ 0111 = 1010 (tizedes 10)
printf ( 'a ^ b = %u \n ' , eredmény ) ;
// Bitenkénti balra eltolás
eredmény = a << 2 ; // 1101 << 2 = 110100 (tizedes 52)
printf ( 'a << 2 = %u \n ' , eredmény ) ;
// Bitenkénti jobbra eltolás
eredmény = a >> 2 ; // 1101 >> 2 = 0011 (tizedesjegy 3)
printf ( 'a >> 2 = %u \n ' , eredmény ) ;
// Bitenként NEM
eredmény = ~a ; // ~1101 = 0010 (a -14 tizedes 2-es komplementereje)
printf ( '~a = %d \n ' , eredmény ) ;
Visszatérés 0 ;
}
Jegyzet: A bitenkénti operátorok bitszintű feladatok végrehajtására szolgálnak, ami azt jelenti, hogy egy bináris számon belül egyes biteken dolgoznak. A logikai operátorok ezzel szemben a logikai értékeken végzett műveletek végrehajtására szolgálnak. Logikai értékeken (igaz/hamis vagy 1/0) működnek, és gyakran használják döntéshozatali folyamatokban vagy feltételes utasításokban.
Bottom Line
Az operátor egy szimbólum, amely bizonyos funkciók végrehajtására utasítja a fordítót. A C nyelv számos beépített operátorral rendelkezik, beleértve az aritmetikai, unáris, hozzárendelési, logikai, relációs, feltételes, logikai és bitenkénti operátorokat. Részletesen megvitattuk őket, és bemutattuk a példa kimenettel. Olvassa el az útmutató fenti részét, hogy részletes információkat kapjon ezekről az operátorokról.