Οι τελεστές στη γλώσσα C είναι ειδικοί συμβολισμοί που χρησιμοποιούνται για να εκτελέσουν διάφορες πράξεις σε μεταβλητές ή τιμές. Οι τελεστές διαμορφώνουν τις πράξεις μεταξύ δύο τελεσταίων (αριστερού και δεξιού) ή ανάμεσα σε έναν τελεστή και μία τιμή.

Οι κύριοι τελεστές στη γλώσσα C περιλαμβάνουν:

  1. Αριθμητικοί τελεστές: Χρησιμοποιούνται για αριθμητικές πράξεις όπως πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση.
  2. Σχέσης τελεστές: Χρησιμοποιούνται για τη σύγκριση τιμών, όπως μεγαλύτερος από, μικρότερος από, ίσος με κλπ.
  3. Λογικοί τελεστές: Χρησιμοποιούνται για λογικές πράξεις, όπως συζήτηση, αποκλεισμός, αρνητική λογική κλπ.
  4. Μοναδιαίοι τελεστές: Χρησιμοποιούνται για να εφαρμόσουν μια επιπλέον πράξη σε μια μεταβλητή, όπως αύξηση κατά ένα ή μείωση κατά ένα.

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

Στο παράδειγμα παρακάτω, χρησιμοποιούμε τον τελεστή + για να προσθέσουμε δύο τιμές:

int x = 5;
int y = 6;
int sum = x + y;

Στο παραπάνω παράδειγμα, η τιμή της μεταβλητής sum θα είναι 11 (το αποτέλεσμα της πρόσθεσης των μεταβλητών x και y).

Μπορείτε να εκτυπώσετε το αποτέλεσμα της παραπάνω πράξης με τη χρήση της συνάρτησης printf() και του format specifier %d:

#include <stdio.h>

int main() {
    int x = 5; // Δήλωση μεταβλητής x και αρχικοποίηση με την τιμή 5
    int y = 6; // Δήλωση μεταβλητής y και αρχικοποίηση με την τιμή 6
    int sum = x + y; // Υπολογισμός του αθροίσματος των x και y και αποθήκευση του αποτελέσματος στη μεταβλητή sum
    printf("The sum of %d and %d is %d\n", x, y, sum); // Εκτύπωση του αποτελέσματος στην οθόνη
    return 0; // Επιστροφή της τιμής 0 ως ένδειξη επιτυχούς εκτέλεσης του προγράμματος
}

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

Συγκεκριμένα, ο κώδικας περιλαμβάνει:

  • Τη δήλωση και αρχικοποίηση των μεταβλητών x και y με τιμές 5 και 6 αντίστοιχα.
  • Την υπολογιστική έκφραση x + y για τον υπολογισμό του αθροίσματος των x και y.
  • Τη δήλωση της μεταβλητής sum και την αποθήκευση του αποτελέσματος της υπολογιστικής έκφρασης σε αυτήν.
  • Τη χρήση της συνάρτησης printf για την εκτύπωση του αποτελέσματος στην οθόνη, με τη χρήση της μορφοποίησης %d για την εισαγωγή των τιμών των μεταβλητών x, y και sum.
  • Την εντολή return 0 για την ολοκλήρωση του προγράμματος με επιτυχία.

Το αποτέλεσμα που θα εμφανιστεί στην οθόνη μετά την εκτέλεση του κώδικα είναι:

The sum of 5 and 6 is 11

Αυτό σημαίνει ότι η πρόσθεση των αριθμών 5 και 6 είναι 11.

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

int x = 5;
int sum1 = x + 3;   // adds a variable and a value
int y = 7;
int sum2 = x + y;   // adds two variables

Στο παραπάνω παράδειγμα, η τιμή της μεταβλητής sum1 θα είναι 8 (το αποτέλεσμα της πρόσθεσης των μεταβλητών x και 3), ενώ η τιμή της μεταβλητής sum2 θα είναι 12 (το αποτέλεσμα της πρόσθεσης των μεταβλητών x και y).

Στη γλώσσα C, οι τελεστές χωρίζονται σε διάφορες κατηγορίες:

  1. Αριθμητικοί τελεστές: Χρησιμοποιούνται για τις αριθμητικές πράξεις, όπως η πρόσθεση, η αφαίρεση, ο πολλαπλασιασμός και η διαίρεση. Παραδείγματα αριθμητικών τελεστών είναι οι “+”, “-“, “*”, “/” κ.ά.
  2. Τελεστές ανάθεσης: Χρησιμοποιούνται για την ανάθεση τιμών σε μεταβλητές. Ο τελεστής ανάθεσης είναι το “=”, που δηλώνει ότι η τιμή της δεξιάς πλευράς ανατίθεται στη μεταβλητή της αριστερής πλευράς.
  3. Τελεστές σύγκρισης: Χρησιμοποιούνται για τη σύγκριση δύο τιμών. Παραδείγματα τελεστών σύγκρισης είναι οι “==”, “!=”, “<“, “>”, “<=” και “>=”.
  4. Λογικοί τελεστές: Χρησιμοποιούνται για την εκτέλεση λογικών πράξεων, όπως ο συνδυασμός συνθηκών. Παραδείγματα λογικών τελεστών είναι οι “&&” (λογική ΚΑΙ), “||” (λογική Ή) και “!” (λογική ΜΗ).
  5. Δυαδικοί τελεστές: Χρησιμοποιούνται για τις δυαδικές πράξεις σε δυαδικούς αριθμούς. Αυτοί οι τελεστές εφαρμόζονται bit προς bit στους δυαδικούς αριθμούς. Παραδείγματα δυαδικών τελεστών είναι οι “&” (δυαδική ΚΑΙ), “|” (δυαδική Ή), “^” (δυαδική αποκλειστική Ή) κ.ά.

Οι παραπάνω κατηγορίες τελεστών καλύπτουν διάφορες λειτουργίες και επιτρέπουν την εκτέλεση διάφορων πράξεων στη γλώσσα C.

Οι αριθμητικοί τελεστές χρησιμοποιούνται για να εκτελέσουν κοινές μαθηματικές πράξεις.

[adinserter block=”2″]

Οι αριθμητικοί τελεστές είναι:

ΤελεστήςΌνομαΠεριγραφήΠαράδειγμα
+ΠρόσθεσηΠροσθέτει δύο τιμέςx + y
ΑφαίρεσηΑφαιρεί μια τιμή από μια άλληx – y
*ΠολλαπλασιασμόςΠολλαπλασιάζει δύο τιμέςx * y
/ΔιαίρεσηΔιαιρεί μια τιμή με μια άλληx / y
%ΥπόλοιποΕπιστρέφει το υπόλοιπο της διαίρεσηςx % y
++ΑύξησηΑυξάνει την τιμή μιας μεταβλητής κατά 1++x
ΜείωσηΜειώνει την τιμή μιας μεταβλητής κατά 1–x

Οι τελεστές ανάθεσης χρησιμοποιούνται για να αντιστοιχίσουν τιμές σε μεταβλητές.

Στο παράδειγμα παρακάτω, χρησιμοποιούμε τον τελεστή ανάθεσης (=) για να αντιστοιχίσουμε την τιμή 10 σε μια μεταβλητή με το όνομα x:

int x;
x = 10;

Μπορούμε επίσης να χρησιμοποιήσουμε συντομογραφίες για τους τελεστές ανάθεσης μαζί με αριθμητικούς τελεστές. Για παράδειγμα:

int x = 5;
x += 3;    // same as x = x + 3;
x -= 3;    // same as x = x - 3;
x *= 3;    // same as x = x * 3;
x /= 3;    // same as x = x / 3;
x %= 3;    // same as x = x % 3;

Στο παραπάνω παράδειγμα, η τιμή της μεταβλητής x αρχικά είναι 5. Η συντομογραφία x += 3 αντιστοιχεί στην πράξη x = x + 3, οπότε η τιμή της μεταβλητής x θα γίνει 8. Το ίδιο ισχύει και για τις άλλες συντομογραφίες αριθμητικών τελεστών.

Μια λίστα με όλους τους τελεστές ανάθεσης:

ΤελεστήςΠαράδειγμαΊδιο με
=x = 5x = 5
+=x += 3x = x + 3
-=x -= 3x = x – 3
*=x *= 3x = x * 3
/=x /= 3x = x / 3
%=x %= 3x = x % 3
&=x &= 3x = x & 3
|=x |= 3x = x | 3
^=x ^= 3x = x ^ 3
>>=x >>= 3x = x >> 3
<<=x <<= 3x = x << 3

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

Η τιμή επιστροφής μιας σύγκρισης είναι είτε 1 είτε 0, που σημαίνει true (1) ή false (0). Αυτές οι τιμές είναι γνωστές ως τιμές Boolean και θα μάθετε περισσότερα για αυτές στο κεφάλαιο Booleans και If..Else.

Στο παρακάτω παράδειγμα, χρησιμοποιούμε τον τελεστή μεγαλύτερο από (>) για να δούμε αν το 5 είναι μεγαλύτερο από το 3:

if (5 > 3) {
  printf("5 is greater than 3");
}

Στο παραπάνω παράδειγμα, η σύγκριση 5 > 3 επιστρέφει true (1), οπότε η εντολή εντός του if θα εκτελεστεί και θα εκτυπωθεί η φράση “5 is greater than 3”.

[adinserter block=”3″]

Μια λίστα με όλους τους τελεστές σύγκρισης:

ΤελεστήςΌνομαΠαράδειγμα
==Ίσο μεx == y
!=Διάφορο απόx != y
>Μεγαλύτερο απόx > y
<Μικρότερο απόx < y
>=Μεγαλύτερο ή ίσο απόx >= y
<=Μικρότερο ή ίσο απόx <= y

Μπορείτε επίσης να ελέγξετε αν μια τιμή είναι true ή false με λογικούς τελεστές.

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

ΤελεστήςΌνομαΠεριγραφήΠαράδειγμα
&&Λογικό ΚΑΙΕπιστρέφει true αν και οι δύο δηλώσεις είναι truex < 5 && x < 10
||Λογικό ΉΕπιστρέφει true αν μια από τις δηλώσεις είναι truex < 5 || x < 4
!Λογικό NOTΑντιστρέφει το αποτέλεσμα, επιστρέφει false αν το αποτέλεσμα είναι true!(x < 5 && x < 10)

Το μέγεθος μνήμης (σε bytes) ενός τύπου δεδομένων ή μιας μεταβλητής μπορεί να βρεθεί με τον τελεστή sizeof:

int x;
printf("The size of int is %lu bytes\n", sizeof(int));
printf("The size of x is %lu bytes\n", sizeof(x));

Στο παραπάνω παράδειγμα, χρησιμοποιούμε τον τελεστή sizeof για να εμφανίσουμε το μέγεθος του int και μιας μεταβλητής x. Το αποτέλεσμα θα είναι κάτι σαν αυτό:

The size of int is 4 bytes
The size of x is 4 bytes

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

#include <stdio.h>

int main() {
    int myInt;       // Δήλωση μιας μεταβλητής ακέραιου τύπου
    float myFloat;   // Δήλωση μιας μεταβλητής δεκαδικού τύπου (μικρής ακρίβειας)
    double myDouble; // Δήλωση μιας μεταβλητής δεκαδικού τύπου (μεγάλης ακρίβειας)
    char myChar;     // Δήλωση μιας μεταβλητής χαρακτήρα

    printf("The size of int is %lu bytes\n", sizeof(int));        // Εκτύπωση του μεγέθους του int σε bytes
    printf("The size of myInt is %lu bytes\n", sizeof(myInt));    // Εκτύπωση του μεγέθους της μεταβλητής myInt σε bytes

    printf("The size of float is %lu bytes\n", sizeof(float));    // Εκτύπωση του μεγέθους του float σε bytes
    printf("The size of myFloat is %lu bytes\n", sizeof(myFloat));// Εκτύπωση του μεγέθους της μεταβλητής myFloat σε bytes

    printf("The size of double is %lu bytes\n", sizeof(double));  // Εκτύπωση του μεγέθους του double σε bytes
    printf("The size of myDouble is %lu bytes\n", sizeof(myDouble));// Εκτύπωση του μεγέθους της μεταβλητής myDouble σε bytes

    printf("The size of char is %lu bytes\n", sizeof(char));      // Εκτύπωση του μεγέθους του char σε bytes
    printf("The size of myChar is %lu bytes\n", sizeof(myChar));  // Εκτύπωση του μεγέθους της μεταβλητής myChar σε bytes

    return 0;
}

Ο κώδικας υπολογίζει και εκτυπώνει τα μεγέθη των διαφόρων τύπων δεδομένων στη γλώσσα C. Αρχικά, δηλώνονται μεταβλητές για τους τύπους int, float, double και char. Στη συνέχεια, χρησιμοποιείται η συνάρτηση sizeof() για να υπολογιστούν τα μεγέθη αυτών των τύπων και εκτυπώνονται τα αποτελέσματα.

Η συνάρτηση sizeof() επιστρέφει το μέγεθος ενός τύπου δεδομένων σε bytes. Στον κώδικα, χρησιμοποιείται για να εμφανιστούν τα μεγέθη των τύπων int, float, double και char, καθώς και των αντίστοιχων μεταβλητών myInt, myFloat, myDouble και myChar. Οι τιμές των μεγεθών εκτυπώνονται στην οθόνη.

The size of int is 4 bytes
The size of myInt is 4 bytes
The size of float is 4 bytes
The size of myFloat is 4 bytes
The size of double is 8 bytes
The size of myDouble is 8 bytes
The size of char is 1 byte
The size of myChar is 1 byte

19 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων