Τι είναι οι χειριστές και οι τύποι τους στον προγραμματισμό C

Ti Einai Oi Cheiristes Kai Oi Typoi Tous Ston Programmatismo C



Η γλώσσα προγραμματισμού C έχει ένα ευρύ φάσμα τελεστών που είναι απαραίτητοι για την εκτέλεση διαφορετικών ειδών πράξεων σε μεταβλητές και σταθερές. Οι τελεστές στο C είναι ειδικά σύμβολα ή λέξεις-κλειδιά που λαμβάνουν έναν ή περισσότερους τελεστές και εκτελούν αριθμητικές, λογικές ή bitwise πράξεις. Η χρήση τελεστών στο C καθιστά δυνατή την εκτέλεση διαφόρων υπολογισμών και λογικών αξιολογήσεων σε ένα πρόγραμμα.

Σε αυτόν τον αναλυτικό οδηγό, θα συζητήσουμε τους τελεστές στον προγραμματισμό C και τους τύπους τους.

Οι χειριστές και τα είδη τους στον προγραμματισμό C

Οι τελεστές είναι τα σύμβολα που χρησιμοποιούνται για την εκτέλεση συγκεκριμένων μαθηματικών εργασιών. Χρησιμοποιούνται για τον χειρισμό των δεδομένων και των μεταβλητών. Οι παρακάτω είναι οι διαφορετικοί τύποι τελεστών στον προγραμματισμό C:







  1. Αριθμητικοί τελεστές
  2. Unary Operators
  3. Χειριστές ανάθεσης
  4. Λογικοί ή Boolean Operators
  5. Σχέσιοι χειριστές
  6. Υπό όρους χειριστές
  7. Bitwise Operators

1: Αριθμητικοί τελεστές

Αυτοί είναι οι τελεστές που χρησιμοποιούνται για την εκτέλεση βασικών μαθηματικών συναρτήσεων όπως πρόσθεση, αφαίρεση ή πολλαπλασιασμός. Μπορείτε να χρησιμοποιήσετε αυτούς τους τελεστές σε όλους σχεδόν τους ενσωματωμένους τύπους δεδομένων προγραμματισμού C. Οι παρακάτω είναι οι αριθμητικοί τελεστές που χρησιμοποιούνται στον προγραμματισμό C:



χειριστές Λειτουργίες
+ Προσθέστε 2 τελεστές
Αφαιρέστε 2 τελεστές
* Πολλαπλασιάστε 2 τελεστές
/ Διαιρέστε 2 τελεστές
% Ο τελεστής συντελεστή δίνει το υπόλοιπο της διαίρεσης

Παράδειγμα

Στο παρακάτω παράδειγμα, πραγματοποιήσαμε τις προαναφερθείσες αριθμητικές πράξεις στη μεταβλητή X και στη μεταβλητή Y. Η μεταβλητή X έχει την τιμή 20 και το Y την τιμή 5:



#include

ενθ κύριος ( )

{

ενθ Χ = είκοσι ;

ενθ ΚΑΙ = 5 ;

ενθ αποτέλεσμα ;

αποτέλεσμα = Χ + ΚΑΙ ;

printf ( 'Η προσθήκη των X και Y είναι: %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = Χ - ΚΑΙ ;

printf ( 'Η αφαίρεση των X και Y είναι: %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = Χ * ΚΑΙ ;

printf ( 'Ο πολλαπλασιασμός των X και Y είναι: %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = Χ / ΚΑΙ ;

printf ( 'Η διαίρεση των X και Y είναι: %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = Χ % ΚΑΙ ;

printf ( 'Η διαίρεση συντελεστή των X και Y είναι: %d \n ' , αποτέλεσμα ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}





2: Unary Operators

Υπάρχουν δύο μοναδικοί unary τελεστές που υποστηρίζονται μόνο από τη γλώσσα C, οι τελεστές increment ++ και decrement —. Ο τελεστής αύξησης προσθέτει 1 στον τελεστή και ο τελεστής μείωσης αφαιρεί 1 από τον τελεστή.

Ο τελεστής αύξησης γράφεται ως:



++ α ή α ++

Ο τελεστής μείωσης είναι:

-- α ή α --

Αν χρησιμοποιήσουμε τον τελεστή αύξησης και μείωσης ως πρόθεμα, πρώτα προσθέτει ή αφαιρεί την τιμή της μεταβλητής και στη συνέχεια το αποτέλεσμα εκχωρείται στη μεταβλητή στα αριστερά. Εάν οι τελεστές προστεθούν πριν, επιστρέφει πρώτα την αρχική τιμή και στη συνέχεια ο τελεστής προστίθεται ή αφαιρείται κατά 1.

Παράδειγμα

Παρακάτω έχουμε εκχωρήσει τιμές σε δύο μεταβλητές a και b και εφαρμόσαμε τελεστές αύξησης και μείωσης σε αυτές:

#include

ενθ κύριος ( )

{

ενθ ένα = δεκαπέντε , σι = 10 ;

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

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

ΕΠΙΣΤΡΟΦΗ 0 ;

}

3: Χειριστής ανάθεσης

Ενα χειριστής ανάθεσης (=) χρησιμοποιείται για την εκχώρηση της τιμής στη μεταβλητή του προγράμματος. Παρακάτω αναφέρονται οι τελεστές ανάθεσης:

χειριστές Λειτουργία
= Εκχωρήστε τις τιμές στον τελεστή
+= Προσθέστε την τιμή του τελεστή που υπάρχει στα δεξιά στον αριστερό τελεστή
-= Αφαιρέστε την τιμή του δεξιού τελεστή από τον αριστερό τελεστή
*= Πολλαπλασιάστε την τιμή του δεξιού τελεστή στον αριστερό τελεστή
/= Διαιρέστε την τιμή του δεξιού τελεστέου στον αριστερό τελεστή
%= Πάρτε το συντελεστή δύο τιμών και αντιστοιχίστε την τιμή στον αριστερό τελεστή

Παράδειγμα

Έχουμε δείξει τη λειτουργία των τελεστών ανάθεσης στους δύο τελεστές X και Y στο παρακάτω παράδειγμα:

#include

ενθ κύριος ( )

{

ενθ Χ = 10 ;

ενθ αποτέλεσμα ;

αποτέλεσμα = Χ ;

printf ( 'Τιμή αποτελέσματος = %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα += Χ ;

printf ( 'Τιμή αποτελέσματος = %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα -= Χ ;

printf ( 'Τιμή αποτελέσματος = %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα *= Χ ;

printf ( 'Τιμή αποτελέσματος = %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα /= Χ ;

printf ( 'Τιμή αποτελέσματος = %d \n ' , αποτέλεσμα ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

4: Σχέσιοι τελεστές

Οι σχεσιακές τελεστές χρησιμοποιούνται στον προγραμματισμό C για να ελέγξουν τη σχέση μεταξύ δύο μεταβλητών. Μπορεί να χρησιμοποιηθεί για τη σύγκριση των τιμών των αντικειμένων ή της ηλικίας δύο ατόμων Οι ακόλουθοι είναι οι σχεσιακοί τελεστές που χρησιμοποιούνται στον προγραμματισμό C:

χειριστές Λειτουργίες
== Ισο με
> Μεγαλύτερος από
< Λιγότερο από
>= Μεγαλύτερο από ίσο με
<= Λιγότερο από ίσο με
!= Οχι ίσο με

Παράδειγμα

Το παρακάτω παράδειγμα δείχνει τη λειτουργία των σχεσιακών τελεστών στον προγραμματισμό C:

#include

ενθ κύριος ( )

{

ενθ ένα = 9 ;

ενθ σι = 10 ;

printf ( '%d == %d είναι %d \n ' , ένα , σι , ένα == σι ) ;

printf ( '%d > %d είναι %d \n ' , ένα , σι , ένα > σι ) ;

printf ( '%d < %d είναι %d \n ' , ένα , σι , ένα < σι ) ;

printf ( '%d != %d είναι %d \n ' , ένα , σι , ένα != σι ) ;

printf ( '%d >= %d είναι %d \n ' , ένα , σι , ένα >= σι ) ;

printf ( '%d <= %d είναι %d \n ' , ένα , σι , ένα <= σι ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

5: Λογικοί τελεστές

Υπάρχουν τέσσερις λογικοί τελεστές που υποστηρίζονται από τη γλώσσα C:

χειριστές Λειτουργία
Λογικό ΚΑΙ (&&) Αληθεύει μόνο εάν πληρούνται όλες οι προϋποθέσεις
Λογικό Ή (||) Εάν ικανοποιεί μόνο μία συνθήκη, το αποτέλεσμα είναι αληθές
Λογικό ΟΧΙ(!) Εάν ο τελεστής είναι 0, το αποτέλεσμα είναι αληθές
Bitwise NOT (~). Αντιστρέφει όλα τα bit του τελεστή

Παράδειγμα

Το παρακάτω παράδειγμα κώδικα εξηγεί τη λειτουργία των λογικών τελεστών στο C:

#include

ενθ κύριος ( )

{

ενθ Χ = 10 , ΚΑΙ = 4 , ΜΕ = 10 , αποτέλεσμα ;

αποτέλεσμα = ( Χ == ΚΑΙ ) && ( ΜΕ > ΚΑΙ ) ;

printf ( '(X == Y) && (Z > Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ( Χ == ΚΑΙ ) && ( ΜΕ < ΚΑΙ ) ;

printf ( '(X == Y) && (Z < Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ( Χ == ΚΑΙ ) || ( ΜΕ < ΚΑΙ ) ;

printf ( '(X == Y) || (Z < Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ( Χ != ΚΑΙ ) || ( ΜΕ < ΚΑΙ ) ;

printf ( '(X != Y) || (Z < Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ! ( Χ != ΚΑΙ ) ;

printf ( '!(X != Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ! ( Χ == ΚΑΙ ) ;

printf ( '!(X == Y) είναι %d \n ' , αποτέλεσμα ) ;

αποτέλεσμα = ! ( Χ > ΚΑΙ ) ;

printf ( '!(X > Y) είναι %d \n ' , αποτέλεσμα ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

6: Υπό όρους χειριστές

Ο υπό όρους τελεστής στο C είναι επίσης γνωστός ως το τριαδικός χειριστής γιατί παίρνει τρεις τελεστές – τη συνθήκη, την πρόταση 1 και την πρόταση 2. Αξιολογεί τη συνθήκη και επιστρέφει είτε την πρόταση 1 είτε την πρόταση 2, ανάλογα με το αποτέλεσμα μιας δεδομένης συνθήκης που μπορεί να είναι είτε αληθής είτε ψευδής

Κατάσταση ? Δήλωση 1 : Δήλωση 2
  • Κατάσταση: Μια Boolean έκφραση που ελέγχει αν είναι αληθής ή ψευδής.
  • Δήλωση 1: Μια έκφραση που αξιολογείται εάν η συνθήκη είναι αληθής.
  • Δήλωση 2: Μια έκφραση που αξιολογείται εάν η συνθήκη είναι ψευδής.

Παράδειγμα

Στο παρακάτω παράδειγμα, έχω αντιστοιχίσει την τιμή στον αριθμό και, στη συνέχεια, εφάρμοσα τη συνθήκη, εάν η συνθήκη είναι αληθής, τότε η πρόταση 1 θα είναι η έξοδος και εάν η συνθήκη είναι ψευδής, η πρόταση δύο θα είναι η έξοδος:

#include

ενθ κύριος ( )

{

ενθ αριθμός = 10 ;

( αριθμός < είκοσι ) ? ( printf ( «Είναι λιγότερο από το νούμερο 20!» ) ) : ( printf ( 'Είναι μεγαλύτερο από τον αριθμό 20!' ) ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

7: Bitwise Operators

Χειριστές bitwise στο C χειρίζονται δεδομένα σε επίπεδο bit, που σημαίνει ότι λειτουργούν σε μεμονωμένα bit εντός τύπων δεδομένων όπως ακέραιοι. Δεν μπορούν να εφαρμοστούν στο double και το float και χρησιμοποιούνται για τον έλεγχο των bit και τη μετατόπισή τους δεξιά ή αριστερά.

Οι τελεστές bitwise στον προγραμματισμό C δίνονται στον παρακάτω πίνακα:

χειριστές Λειτουργία
& Bitwise ΚΑΙ
| Bitwise Ή
^ Bitwise Exclusive OR
<< Μετατόπιση αριστερά
>> Shift Right
~ Το συμπλήρωμα ενός

Παράδειγμα

Το ακόλουθο παράδειγμα δείχνει ένα πρόγραμμα C που χρησιμοποιεί τελεστές bitwise:

#include

ενθ κύριος ( ) {

ενθ ένα = 13 ; // δυαδικό 1101

ενθ σι = 7 ; // δυαδικό 0111

ενθ αποτέλεσμα ;



// Bitwise AND

αποτέλεσμα = ένα & σι ; // 1101 & 0111 = 0101 (δεκαδικός αριθμός 5)

printf ( 'a & b = %u \n ' , αποτέλεσμα ) ;

// Bitwise OR

αποτέλεσμα = ένα | σι ; // 1101 | 0111 = 1111 (δεκαδικός αριθμός 15)

printf ( 'a | b = %u \n ' , αποτέλεσμα ) ;

// Bitwise XOR

αποτέλεσμα = ένα ^ σι ; // 1101 ^ 0111 = 1010 (δεκαδικός αριθμός 10)

printf ( 'a ^ b = %u \n ' , αποτέλεσμα ) ;

// Αριστερά μετατόπιση bitwise

αποτέλεσμα = ένα << 2 ; // 1101 << 2 = 110100 (δεκαδικός 52)

printf ( 'a << 2 = %u \n ' , αποτέλεσμα ) ;

// Δεξιά μετατόπιση

αποτέλεσμα = ένα >> 2 ; // 1101 >> 2 = 0011 (δεκαδικός αριθμός 3)

printf ( 'a >> 2 = %u \n ' , αποτέλεσμα ) ;

// Bitwise ΟΧΙ

αποτέλεσμα = ; // ~1101 = 0010 (συμπλήρωμα του δεκαδικού 2 είναι -14)

printf ( '~a = %d \n ' , αποτέλεσμα ) ;



ΕΠΙΣΤΡΟΦΗ 0 ;

}

Σημείωση: Οι τελεστές bitwise χρησιμοποιούνται για την εκτέλεση εργασιών σε επίπεδο bit, που σημαίνει ότι λειτουργούν σε μεμονωμένα bit εντός ενός δυαδικού αριθμού. Οι τελεστές Boole, από την άλλη πλευρά, χρησιμοποιούνται για την εκτέλεση πράξεων σε λογικές τιμές. Λειτουργούν με τιμές Boolean (true/false ή 1/0) και χρησιμοποιούνται συνήθως σε διαδικασίες λήψης αποφάσεων ή σε δηλώσεις υπό όρους.

Συμπέρασμα

Ένας τελεστής είναι ένα σύμβολο που δίνει εντολή στον μεταγλωττιστή να εκτελέσει ορισμένες λειτουργίες. Η γλώσσα C έχει αρκετούς ενσωματωμένους τελεστές, συμπεριλαμβανομένων αριθμητικών, μονομερών, ανάθεσης, λογικής, σχεσιακής, υπό όρους, δυαδικού και bitwise. Τα έχουμε συζητήσει λεπτομερώς και τα δείξαμε με το παράδειγμα εξόδου. Διαβάστε την παραπάνω ενότητα του οδηγού για να λάβετε λεπτομερείς πληροφορίες σχετικά με αυτούς τους χειριστές.