C Tokens, Λέξεις-κλειδιά και Αναγνωριστικά: Τύποι και Παραδείγματα

⚡ Έξυπνη Σύνοψη

Τα διακριτικά (tokens) στη C είναι οι μικρότερες μεμονωμένες μονάδες που διαβάζει ο μεταγλωττιστής και κάθε πρόγραμμα C αποτελείται από έξι τύπους διακριτικών: λέξεις-κλειδιά, αναγνωριστικά, σταθερές, συμβολοσειρές, τελεστές και ειδικά σύμβολα που προέρχονται από το σύνολο χαρακτήρων της C.

  • 🔤 Σετ χαρακτήρα: Η πηγή C χρησιμοποιεί γράμματα, ψηφία, κενά διαστήματα και ειδικούς χαρακτήρες που συνδυάζονται για να σχηματίσουν κάθε διακριτικό και σύμβολο.
  • 🧩 Έξι τύποι διακριτικών: Ο μεταγλωττιστής χωρίζει ένα πρόγραμμα σε λέξεις-κλειδιά, αναγνωριστικά, σταθερές, συμβολοσειρές, τελεστές και ειδικά σύμβολα.
  • 🔑 Λέξεις-κλειδιά: Η C διατηρεί 32 λέξεις-κλειδιά με πεζά γράμματα όπως int, for και return, καθεμία με μια συγκεκριμένη σημασία την οποία δεν μπορείτε να επαναπροσδιορίσετε.
  • 🏷️ Αναγνωριστικά: Τα ονόματα που ορίζονται από τον χρήστη για μεταβλητές και συναρτήσεις πρέπει να ξεκινούν με γράμμα ή υπογράμμιση και να αποφεύγουν τις δεσμευμένες λέξεις-κλειδιά.
  • 🔢 Σταθερές και συμβολοσειρές: Οι σταθερές διατηρούν σταθερές τιμές, ενώ οι κυριολεκτικές συμβολοσειρές ομαδοποιούν χαρακτήρες μέσα σε διπλά εισαγωγικά που τελειώνουν με έναν χαρακτήρα null.
  • 🤖 Βοήθεια AI: Το GitHub Copilot και παρόμοιοι βοηθοί προτείνουν έγκυρα αναγνωριστικά, επισημαίνουν συγκρούσεις λέξεων-κλειδιών και επιταχύνουν την κωδικοποίηση C.

C Tokens, Αναγνωριστικά και Λέξεις-κλειδιά

Τι είναι ένα σύνολο χαρακτήρων σε C;

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

Ένα σύνολο χαρακτήρων σε C χωρίζεται σε:

  • Γράμματα
  • Numbers
  • Ειδικοί χαρακτήρες
  • Λευκά κενά (κενά)

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

1) Γράμματα

  • Κεφαλαίοι χαρακτήρες (AZ)
  • Πεζοί χαρακτήρες (az)

2) Numbers

  • Όλα τα ψηφία από το 0 έως το 9

3) Λευκά διαστήματα

  • Κενός χώρος
  • Νέα γραμμή
  • Επιστροφή μεταφοράς
  • Οριζόντια καρτέλα

4) Ειδικοί χαρακτήρες

Οι ειδικοί χαρακτήρες στη C εμφανίζονται στον παρακάτω πίνακα:

ΕΙΔΙΚΟΣ ΧΑΡΑΚΤΗΡΑΣ Περιγραφή
, (κόμμα) { (ανοιχτή σγουρή αγκύλη)
. (περίοδος) } (κλείσιμο σγουρό παρένθεση)
; (άνω τελεία) [ (αριστερή αγκύλη)
: (πάνω τελεία) ] (δεξιά αγκύλη)
; (ερωτηματικό) ((ανοίγοντας αριστερή παρένθεση)
(απόστροφο) ) (κλείσιμο δεξιά παρένθεση)
” (διπλό εισαγωγικό) & (σύμφωνο)
! (θαυμαστικό) ^ (caret)
|(κάθετη μπάρα) + (προσθήκη)
/ (προς τα εμπρός κάθετο) – (υποtracπεριγραφή)
\ (προς τα πίσω κάθετο) * (πολλαπλασιασμός)
~ (tilde) / (διαίρεση)
_ (κατω παυλα) > (μεγαλύτερη ή κλειστή γωνία)
$ (σύμβολο δολαρίου) < (μικρότερη από ή ανοιγόμενη γωνία βραχίονα)
% (σύμβολο ποσοστού) # (σήμα κατακερματισμού)

Τι είναι ένα Token σε C;

Ένα διακριτικό (token) είναι η μικρότερη μονάδα σε ένα πρόγραμμα C. Είναι κάθε λέξη και στίξη που συναντάτε στο πρόγραμμά σας C. Ο μεταγλωττιστής χωρίζει ένα πρόγραμμα στις μικρότερες δυνατές μονάδες (tokens) και προχωρά στα διάφορα στάδια της μεταγλώττισης. Το διακριτικό AC χωρίζεται σε έξι διαφορετικούς τύπους, δηλαδή Λέξεις-κλειδιά, Operators, Strings, Constants, Special Characters, and Identifiers.

Οι έξι τύποι διακριτικών στη C

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

Λέξεις-κλειδιά σε C

Στη C, κάθε λέξη μπορεί να είναι είτε λέξη-κλειδί είτε αναγνωριστικό.

Οι λέξεις-κλειδιά έχουν καθορισμένες σημασίες και η σημασία τους δεν μπορεί να αλλάξει. Λειτουργούν ως τα δομικά στοιχεία ενός προγράμματος C. Υπάρχουν συνολικά 32 λέξεις-κλειδιά στην C. Οι λέξεις-κλειδιά γράφονται με πεζά γράμματα.

Ο παρακάτω πίνακας αναπαριστά τις λέξεις-κλειδιά σε C:

Λέξεις-κλειδιά σε C Programming Language
αυτόματη διπλασιαστεί int δομ
σπάσει αλλιώς μακρύς αλλαγή
περίπτωση απαρίθμηση κάντε ΕΓΓΡΑΦΗ typedef
δεξαμενή εξωτερικός απόδοση ένωση
const μικρός φλοτέρ ανυπόγραφο
ΣΥΝΕΧΕΙΑ για υπογραφεί void
αθέτηση goto μέγεθος του πτητικός
do if στατικός ενώ

Αναγνωριστικά σε C

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

  • Ο πρώτος χαρακτήρας πρέπει πάντα να είναι αλφάβητο ή κάτω παύλα.
  • Θα πρέπει να σχηματίζεται χρησιμοποιώντας μόνο γράμματα, αριθμούς ή υπογράμμιση.
  • Μια λέξη-κλειδί δεν μπορεί να χρησιμοποιηθεί ως αναγνωριστικό.
  • Δεν πρέπει να περιέχει κανένα χαρακτήρα κενού διαστήματος.
  • Το όνομα πρέπει να έχει νόημα.

Σταθερές στο C

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

  • Ακέραιες σταθερές — ακέραιοι αριθμοί όπως 10, -45 ή 0.
  • Σταθερές κινητής υποδιαστολής — πραγματικοί αριθμοί με υποδιαστολή όπως 3.14 ή -0.5.
  • Σταθερές χαρακτήρων — ένας μόνο χαρακτήρας μέσα σε μονά εισαγωγικά όπως «A» ή «9».
  • Σταθερές χορδών — μια ακολουθία χαρακτήρων μέσα σε διπλά εισαγωγικά, όπως «Guru99. "

Μπορείτε να ορίσετε μια σταθερά με το const προκριματικός ή ο #define οδηγία προεπεξεργαστή, για παράδειγμα const int DAYS = 7;Για μια πιο εμπεριστατωμένη ματιά στην δήλωση σταθερών τιμών, ανατρέξτε στον οδηγό για το C. μεταβλητή, τύποι δεδομένων και σταθερές.

Χορδές σε C

Μια συμβολοσειρά στη C είναι ένας μονοδιάστατος πίνακας χαρακτήρων που τερματίζεται από έναν μηδενικό χαρακτήρα (\0). Επειδή η C δεν έχει ειδικό τύπο δεδομένων συμβολοσειράς, οι κυριολεκτικές συμβολοσειρές αποθηκεύονται ως πίνακες χαρακτήρων και ο μηδενικός χαρακτήρας υποδεικνύει το σημείο όπου τελειώνει το κείμενο. Αυτό επιτρέπει στις συναρτήσεις βιβλιοθήκης να βρίσκουν το τέλος της συμβολοσειράς χωρίς ξεχωριστό μετρητή μήκους.

Μπορείτε να δημιουργήσετε μια συμβολοσειρά με δύο συνηθισμένους τρόπους:

  • Ως πίνακας χαρακτήρων: char name[] = "Guru99";
  • Ως δείκτης σε μια κυριολεκτική: char *name = "Guru99";

Και οι δύο μορφές αποθηκεύουν τους έξι ορατούς χαρακτήρες συν τον τερματικό μηδενικό χαρακτήρα. Για να εξερευνήσετε περαιτέρω τους πίνακες χαρακτήρων και τον χειρισμό κειμένου, διαβάστε το σεμινάριο στο χορδές σε C.

Operators σε C

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

  • Αριθμητικοί τελεστές — εκτελέστε υπολογισμούς, όπως +, -, *, / και %.
  • Σχεσιακοί τελεστές — συγκρίνετε δύο τιμές, όπως ==, !=, > και <.
  • λογικούς τελεστές — συνδυάστε συνθήκες, όπως &&, || και !.
  • Χειριστές ανάθεσης — αποθηκεύστε μια τιμή σε μια μεταβλητή, όπως = και +=.
  • Τελεστές Bitwise — εργασία σε μεμονωμένα bit, όπως &, |, ^ και ~.

Μαζί με τις λέξεις-κλειδιά και τα αναγνωριστικά, οι τελεστές επιτρέπουν σε ένα πρόγραμμα να εκφράζει πλήρεις οδηγίες που ο μεταγλωττιστής μπορεί να μεταφράσει σε κώδικα μηχανής.

Συχνές Ερωτήσεις

Ναι. Η C είναι μια γλώσσα που κάνει διάκριση πεζών-κεφαλαίων, επομένως τα κεφαλαία και τα πεζά γράμματα αντιμετωπίζονται διαφορετικά. Οι 32 λέξεις-κλειδιά πρέπει να γράφονται με πεζά γράμματα και αναγνωριστικά όπως το Total και το total αναφέρονται σε δύο ξεχωριστά στοιχεία στο ίδιο πρόγραμμα.

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

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

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

Ένα λεξικό είναι η πραγματική ακολουθία χαρακτήρων στον πηγαίο κώδικα, όπως το κείμενο int ή το count. Ένα διακριτικό είναι η κατηγορία που ο μεταγλωττιστής αντιστοιχίζει σε αυτό το διακριτικό, όπως λέξη-κλειδί ή αναγνωριστικό. Κάθε διακριτικό προέρχεται από ένα αντίστοιχο διακριτικό.

Μια σταθερά χαρακτήρα είναι ένας μοναδικός χαρακτήρας σε μονά εισαγωγικά, όπως το 'A', και καταλαμβάνει ένα byte. Μια κυριολεκτική συμβολοσειρά είναι μια ακολουθία χαρακτήρων σε διπλά εισαγωγικά, όπως το 'A'. Guru99, και τελειώνει πάντα με έναν κρυφό null χαρακτήρα, που χρειάζεται ένα επιπλέον byte.

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

GitHub Copilot Συμπληρώνει αυτόματα αναγνωριστικά C, λέξεις-κλειδιά και ολόκληρες προτάσεις από τα σχόλιά σας ή τα ονόματα μεταβλητών. Προτείνει ονόματα με νόημα, προειδοποιεί για συγκρούσεις λέξεων-κλειδιών και σχεδιάζει τυποποιημένα κείμενα, αλλά κάθε πρόταση χρειάζεται προσεκτική αναθεώρηση.

Συνοψίστε αυτήν την ανάρτηση με: