Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C - Operators

Een operator is een symbool dat de compiler vertelt om specifieke wiskundige of logische functies uit te voeren. C-taal is rijk aan ingebouwde operators en biedt de volgende typen operators −

  • Rekenkundige operatoren
  • Relationele operators
  • Logische operators
  • Bitwise-operators
  • Opdrachtoperators
  • Diverse operators

In dit hoofdstuk zullen we kijken naar de manier waarop elke operator werkt.

Rekenkundige operatoren

De volgende tabel toont alle rekenkundige operatoren die door de C-taal worden ondersteund. Veronderstel variabele A houdt 10 en variabele B houdt 20 dan −

Voorbeelden tonen

Operator Beschrijving Voorbeeld
+ Voegt twee operanden toe. A + B =30
Trekt de tweede operand af van de eerste. A − B =-10
* Vermenigvuldigt beide operanden. A * B =200
/ Verdeelt de teller door de teller. B / A =2
% Modulus Operator en rest van na een deling van gehele getallen. B % A =0
++ Ophogingsoperator verhoogt de integerwaarde met één. A++ =11
-- Decrement-operator verlaagt de integerwaarde met één. A-- =9

Relationele operators

De volgende tabel toont alle relationele operatoren die door C worden ondersteund. Veronderstel variabele A houdt 10 en variabele B houdt 20 dan −

Voorbeelden tonen

Operator Beschrijving Voorbeeld
== Controleert of de waarden van twee operanden gelijk zijn of niet. Zo ja, dan wordt de voorwaarde waar. (A ==B) is niet waar.
!= Controleert of de waarden van twee operanden gelijk zijn of niet. Als de waarden niet gelijk zijn, wordt de voorwaarde waar. (A !=B) is waar.
> Controleert of de waarde van de linker operand groter is dan de waarde van de rechter operand. Zo ja, dan wordt de voorwaarde waar. (A> B) is niet waar.
< Controleert of de waarde van de linker operand kleiner is dan de waarde van de rechter operand. Zo ja, dan wordt de voorwaarde waar. (A
>= Controleert of de waarde van de linker operand groter is dan of gelijk is aan de waarde van de rechter operand. Zo ja, dan wordt de voorwaarde waar. (A>=B) is niet waar.
<= Controleert of de waarde van de linker operand kleiner is dan of gelijk is aan de waarde van de rechter operand. Zo ja, dan wordt de voorwaarde waar. (A <=B) is waar.

Logische operators

De volgende tabel toont alle logische operatoren die door de C-taal worden ondersteund. Veronderstel variabele A bevat 1 en variabele B heeft 0, dan −

Voorbeelden tonen

Operator Beschrijving Voorbeeld
&& Logische AND-operator genoemd. Als beide operanden niet nul zijn, wordt de voorwaarde waar. (A &&B) is niet waar.
|| Logische OR-operator genoemd. Als een van de twee operanden niet nul is, wordt de voorwaarde waar. (A || B) is waar.
! Logische NOT-operator genoemd. Het wordt gebruikt om de logische toestand van zijn operand om te keren. Als een voorwaarde waar is, maakt de logische NOT-operator deze onwaar. !(A &&B) is waar.

Bitwise-operators

Bitwise-operator werkt op bits en voert bit-voor-bit bewerkingen uit. De waarheidstabellen voor &, | en ^ zijn als volgt −

p q p &q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Neem aan dat A =60 en B =13 in binair formaat, dan zijn ze als volgt −

A =0011 1100

B =0000 1101

-----------------

A&B =0000 1100

A|B =0011 1101

A^B =0011 0001

~A =1100 0011

In de volgende tabel staan ​​de bitsgewijze operatoren die door C worden ondersteund. Neem aan dat variabele 'A' 60 bevat en variabele 'B' 13, dan −

Voorbeelden tonen

Operator Beschrijving Voorbeeld
& Binaire AND-operator kopieert een bit naar het resultaat als het in beide operanden bestaat. (A &B) =12, d.w.z. 0000 1100
| Binaire OR-operator kopieert een bit als het in een van beide operands voorkomt. (A | B) =61, d.w.z. 0011 1101
^ Binaire XOR-operator kopieert de bit als deze in één operand is ingesteld, maar niet in beide. (A ^ B) =49, d.w.z. 0011 0001
~ Binary One's Complement Operator is unair en heeft het effect van 'flipping' bits. (~A ) =~(60), d.w.z. -0111101
<< Binaire linker shift-operator. De waarde van de linkeroperand wordt naar links verplaatst met het aantal bits dat is opgegeven door de rechteroperand. A <<2 =240 d.w.z. 1111 0000
>> Binaire Right Shift-operator. De waarde van de linkeroperand wordt naar rechts verplaatst met het aantal bits dat is opgegeven door de rechteroperand. A>> 2 =15 d.w.z. 0000 1111

Toewijzingsoperators

De volgende tabel bevat de toewijzingsoperators die worden ondersteund door de C-taal −

Voorbeelden tonen

Operator Beschrijving Voorbeeld
= Eenvoudige toewijzingsoperator. Wijst waarden toe van operanden aan de rechterkant aan operanden aan de linkerkant C =A + B wijst de waarde van A + B toe aan C
+= Voeg een AND-toewijzingsoperator toe. Het voegt de rechter operand toe aan de linker operand en wijst het resultaat toe aan de linker operand. C +=A is gelijk aan C =C + A
-= Trek de AND-toekenningsoperator af. Het trekt de rechter operand af van de linker operand en wijst het resultaat toe aan de linker operand. C -=A is gelijk aan C =C - A
*= Vermenigvuldig EN toewijzingsoperator. Het vermenigvuldigt de rechter operand met de linker operand en wijst het resultaat toe aan de linker operand. C *=A is gelijk aan C =C * A
/= Deel AND toewijzingsoperator. Het verdeelt de linker operand door de rechter operand en wijst het resultaat toe aan de linker operand. C /=A is gelijk aan C =C / A
%= Modulus EN toewijzingsoperator. Het neemt modulus met behulp van twee operanden en wijst het resultaat toe aan de linker operand. C %=A is gelijk aan C =C % A
<<= Linker shift AND toewijzingsoperator. C <<=2 is hetzelfde als C =C <<2
>>= Rechts shift AND toewijzingsoperator. C>>=2 is hetzelfde als C =C>> 2
&= Bitwise AND-toewijzingsoperator. C &=2 is hetzelfde als C =C &2
^= Bitwise exclusieve OR en toewijzingsoperator. C ^=2 is hetzelfde als C =C ^ 2
|= Bitsgewijze inclusief OR en toewijzingsoperator. C |=2 is hetzelfde als C =C | 2

Diverse operators ↦ sizeof &ternair

Naast de hierboven besproken operators zijn er nog een paar andere belangrijke operators, waaronder sizeof en ? : ondersteund door de C-taal.

Voorbeelden tonen

Operator Beschrijving Voorbeeld
sizeof() Retourneert de grootte van een variabele. sizeof(a), waarbij a een geheel getal is, geeft 4 terug.
& Retourneert het adres van een variabele. &a; geeft het werkelijke adres van de variabele terug.
* Aanwijzer naar een variabele. *a;
? : Voorwaardelijke expressie. Als de voorwaarde waar is? dan waarde X :anders waarde Y

Voorrang van operators in C

De operatorprioriteit bepaalt de groepering van termen in een uitdrukking en bepaalt hoe een uitdrukking wordt geëvalueerd. Bepaalde operators hebben een hogere prioriteit dan andere; de operator voor vermenigvuldigen heeft bijvoorbeeld een hogere prioriteit dan de operator voor optellen.

Bijvoorbeeld x =7 + 3 * 2; hier wordt x 13 toegewezen, niet 20 omdat de operator * een hogere prioriteit heeft dan +, dus het wordt eerst vermenigvuldigd met 3*2 en vervolgens opgeteld bij 7.

Hier verschijnen operators met de hoogste prioriteit bovenaan de tabel, die met de laagste onderaan. Binnen een uitdrukking worden eerst operators met een hogere prioriteit geëvalueerd.

Voorbeelden tonen

Categorie Operator Associativiteit
Postfix () [] -> . ++ - - Links naar rechts
Unair + - ! ~ ++ - - (type)* &groottevan Van rechts naar links
Multiplicatief * / % Links naar rechts
Additief + - Links naar rechts
Shift <<>> Links naar rechts
Relationeel <<=>>= Links naar rechts
Gelijkheid ==!= Links naar rechts
Bitgewijs EN & Links naar rechts
Bitwise XOR ^ Links naar rechts
Bitgewijs OF | Links naar rechts
Logisch EN && Links naar rechts
Logische OF || Links naar rechts
Voorwaardelijk ?: Van rechts naar links
Opdracht =+=-=*=/=%=>>=<<=&=^=|= Van rechts naar links
Komma , Links naar rechts

C Taal

  1. C#-operators
  2. C# Bitsgewijze en Bit Shift-operators
  3. C++-operators
  4. C Programmeren van operators
  5. Python-operators
  6. Java-operators
  7. Bitsgewijze operators in C:AND, OR, XOR, Shift &Complement
  8. Verilog-operators
  9. Java - Basisoperators
  10. Operatoren in C++
  11. MATLAB - Operators