Τι είναι ο Char;
Το Char είναι ένας τύπος δεδομένων C ++ σχεδιασμένος για την αποθήκευση γραμμάτων. Το Char είναι αρκτικόλεξο για έναν χαρακτήρα. Είναι ένας ακέραιος τύπος δεδομένων, που σημαίνει ότι η τιμή αποθηκεύεται ως ακέραιος. Ο char παίρνει μέγεθος μνήμης 1 byte. Αποθηκεύει επίσης έναν μόνο χαρακτήρα.
Σε αυτό το σεμινάριο C ++, θα μάθετε:
- Τι είναι ο Char;
- Τι είναι το ASCII;
- Δήλωση Char
- Σύνταξη:
- Εκτύπωση τιμής ASCII
- Τιμή εκτύπωσης Char
- Εισαγωγή χαρακτήρων
- Μετατροπή χαρακτήρα σε συμβολοσειρά
Τι είναι το ASCII;
Η τιμή char ερμηνεύεται ως χαρακτήρας ASCII. Αυτό είναι παρόμοιο με το πώς οι τιμές Boolean ερμηνεύονται ως αληθείς ή ψευδείς. Το ASCII είναι ένα αρκτικόλεξο για το American Standard Code for Information Interchange. Ορίζει έναν συγκεκριμένο τρόπο αναπαράστασης αγγλικών χαρακτήρων ως αριθμών.
Οι αριθμοί κυμαίνονται μεταξύ 0 και 127. Για παράδειγμα, ο χαρακτήρας «a» είναι ισοδύναμος με τον κωδικό ASCII 97.
Δήλωση Char
Για να δηλώσουμε μια μεταβλητή char στο C ++, χρησιμοποιούμε τη λέξη-κλειδί char. Αυτό πρέπει να ακολουθείται από το όνομα της μεταβλητής. Η μεταβλητή μπορεί να αρχικοποιηθεί τη στιγμή της δήλωσης. Η τιμή της μεταβλητής πρέπει να περικλείεται σε μεμονωμένα εισαγωγικά.
Σύνταξη:
Εδώ είναι η σύνταξη για τη δήλωση char στο C ++:
char variable-name;
Η μεταβλητή-όνομα είναι το όνομα που θα εκχωρηθεί στη μεταβλητή.
Εάν μια τιμή πρόκειται να εκχωρηθεί κατά τη στιγμή της δήλωσης, μπορείτε να χρησιμοποιήσετε αυτήν τη σύνταξη:
char variable-name = 'value';
- Το όνομα της μεταβλητής είναι το όνομα της μεταβλητής char.
- Η τιμή είναι η τιμή που θα αντιστοιχιστεί στη μεταβλητή char.
Παράδειγμα 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικα μας για χρήση των λειτουργιών του.
- Συμπεριλαμβανομένου του std namespace στον κώδικά μας για να χρησιμοποιήσουμε τις τάξεις του χωρίς να το καλέσουμε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Δηλώστε μια μεταβλητή χαρακτήρων που ονομάζεται βαθμός. Στη μεταβλητή έχει επίσης εκχωρηθεί μια τιμή Β. Παρατηρήστε ότι η τιμή της μεταβλητής περικλείεται σε εισαγωγικά.
- Εκτυπώστε την τιμή του μεταβλητού βαθμού μαζί με άλλο κείμενο στην κονσόλα.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
Εκτύπωση τιμής ASCII
Όπως αναφέρθηκε παραπάνω, κάθε χαρακτήρας ερμηνεύεται ως χαρακτήρας ASCII. Είναι δυνατό να λάβετε την τιμή ASCII οποιουδήποτε χαρακτήρα. Απλώς μεταβιβάζετε τον χαρακτήρα στη συνάρτηση int (). Αυτή η διαδικασία ονομάζεται τύπου casting. Ας το δείξουμε:
Παράδειγμα 2:
#includeusing namespace std;int main() {char ch;cout << "Enter any character: ";cin >> ch;cout << "The ASCII Value of " << ch << " is " << int(ch);return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου επικεφαλίδας iostream στον κώδικά μας για τη χρήση των λειτουργιών του
- Συμπεριλαμβανομένου του std namespace στον κώδικά μας για να χρησιμοποιήσουμε τις τάξεις του χωρίς να το καλέσουμε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Δηλώστε μια μεταβλητή char που ονομάζεται ch.
- Εκτυπώστε λίγο κείμενο στην κονσόλα. Το κείμενο ζητά από το χρήστη να εισαγάγει μια τιμή για τη μεταβλητή ch.
- Διαβάστε την είσοδο χρήστη από το πληκτρολόγιο και αποθηκεύστε τη στη μεταβλητή ch.
- Εκτυπώστε λίγο κείμενο στην κονσόλα. Το κείμενο θα περιλαμβάνει τον χαρακτήρα που εισαγάγατε για τη μεταβλητή ch, την τιμή ASCII αυτού του χαρακτήρα και άλλο κείμενο.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
Τιμή εκτύπωσης Char
Με δεδομένη μια τιμή ASCII, ο μεταγλωττιστής C ++ μπορεί να επιστρέψει τον αντίστοιχο χαρακτήρα. Δηλώνετε μια μεταβλητή char και της εκχωρείτε ακέραια τιμή. Θα μετατραπεί στην αντίστοιχη τιμή χαρακτήρα.
Παράδειγμα 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπερίληψη του αρχείου κεφαλίδας iostream στον κώδικα. Στη συνέχεια, θα χρησιμοποιήσουμε τις λειτουργίες του χωρίς λάθη.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικα. Θα χρησιμοποιήσουμε τα μαθήματά του χωρίς να το καλέσουμε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να μπαίνει στο σώμα αυτής της λειτουργίας.
- Δηλώστε τρεις μεταβλητές char x, y και z. Στα τρία έχουν ανατεθεί ακέραιες τιμές των 65, 66 και 67. Αυτές θα αντιμετωπίζονται ως τιμές ASCII για χαρακτήρες.
- Εκτυπώστε την τιμή της μεταβλητής x στην κονσόλα. Εφόσον το x δηλώθηκε ως char, ο char με τιμή ASCII 65 θα επιστραφεί, δηλαδή, A.
- Εκτυπώστε την τιμή της μεταβλητής y στην κονσόλα. Εφόσον το y δηλώθηκε ως char, ο char με τιμή ASCII 66 θα επιστραφεί, δηλαδή, B.
- Εκτυπώστε την τιμή της μεταβλητής z στην κονσόλα. Εφόσον το z δηλώθηκε ως char, ο char με τιμή ASCII 67 θα επιστραφεί, δηλαδή, C.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Το τέλος του σώματος της κύριας () συνάρτησης.
Εισαγωγή χαρακτήρων
Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση std :: cin για να διαβάσουμε ένα char που εισήγαγε ο χρήστης μέσω του πληκτρολογίου. Το std :: cin θα σας επιτρέψει να εισαγάγετε πολλούς χαρακτήρες. Ωστόσο, η μεταβλητή χαρακτήρων μπορεί να περιέχει μόνο έναν χαρακτήρα. Αυτό σημαίνει ότι μόνο ο πρώτος χαρακτήρας που θα εισαχθεί θα εξαχθεί και θα αποθηκευτεί στη μεταβλητή χαρακτήρων. Τα υπόλοιπα θα παραμείνουν στο buffer που χρησιμοποιείται από το std :: cin. Για να το εξαγάγετε, πραγματοποιήστε επακόλουθες κλήσεις στο std :: cin.
Παράδειγμα 4:
#includeusing namespace std;int main() {cout << "Type a sequence of characters: ";char ch;cin >> ch;cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';cin >> ch;cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικα μας για χρήση των λειτουργιών του.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικά μας για να χρησιμοποιήσετε τις κλάσεις του χωρίς να το καλέσετε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Εκτυπώστε λίγο κείμενο στην κονσόλα.
- Δηλώστε μια μεταβλητή χαρακτήρων με το όνομα ch.
- Διαβάστε την είσοδο χρήστη από το πληκτρολόγιο. Η είσοδος θα αποθηκευτεί στη μεταβλητή ch. Δεδομένου ότι ένας χρήστης θα πληκτρολογήσει μια ακολουθία χαρακτήρων όπως το abc, μόνο ο πρώτος χαρακτήρας, a, θα αποθηκευτεί στη μεταβλητή ch.
- Εκτύπωση του πρώτου χαρακτήρα που έχει εισαχθεί, του κωδικού ASCII και άλλου κειμένου στην κονσόλα. Ο κωδικός ASCII καθορίζεται μεταβιβάζοντας τη μεταβλητή χαρακτήρων στη συνάρτηση int ().
- Διαβάστε τον επόμενο χαρακτήρα που εισήγαγε ο χρήστης. Ο χρήστης δεν θα πρέπει να εισαγάγει έναν νέο χαρακτήρα. Αντίθετα, θα διαβάσει τον δεύτερο χαρακτήρα που εισήχθη, δηλαδή, β.
- Εκτύπωση του δεύτερου χαρακτήρα που έχει εισαχθεί, του κωδικού ASCII και άλλου κειμένου στην κονσόλα. Ο κωδικός ASCII καθορίζεται μεταβιβάζοντας τη μεταβλητή χαρακτήρων στη συνάρτηση int ().
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
Μετατροπή χαρακτήρα σε συμβολοσειρά
Υπάρχουν διάφοροι τρόποι που μπορούμε να χρησιμοποιήσουμε για να μετατρέψουμε χαρακτήρες σε συμβολοσειρές.
Ας τα συζητήσουμε:
# 1: Χρήση του Κατασκευαστή που δίνεται από ένα String Class
Αυτό μπορεί να γίνει χρησιμοποιώντας την ακόλουθη σύνταξη:
string st(int n,char x);Η παράμετρος n υποδηλώνει το μέγεθος της συμβολοσειράς που πρόκειται να δημιουργηθεί.
Η παράμετρος x είναι ο χαρακτήρας για μετατροπή σε συμβολοσειρά.
Η συνάρτηση επιστρέφει μια συμβολοσειρά.
Παράδειγμα 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικα μας για χρήση των λειτουργιών του.
- Συμπεριλάβετε το αρχείο κεφαλίδας συμβολοσειράς στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικά μας για να χρησιμοποιήσετε τις κλάσεις του χωρίς να το καλέσετε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Μετατρέψτε τον χαρακτήρα "C" σε συμβολοσειρά μήκους 1 και αντιστοιχίστε την προκύπτουσα συμβολοσειρά στη μεταβλητή st.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
# 2) Χρήση του std :: string Operators = και + =
Οι τελεστές = και + = έχουν ήδη υπερφορτωθεί με χαρακτήρες. Τα δύο μπορούν να χρησιμοποιηθούν για τη μετατροπή ενός συγκεκριμένου χαρακτήρα σε συμβολοσειρά.
Παράδειγμα 6:
#include#include using namespace std;int main() {string st;char b = 'B';st = 'A';st += b;cout << "The resulting string is : " << st;return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλάβετε το αρχείο κεφαλίδας iostream στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε το αρχείο κεφαλίδας συμβολοσειράς στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικά μας για να χρησιμοποιήσετε τις κλάσεις του χωρίς να το καλέσετε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Δημιουργήστε μια μεταβλητή συμβολοσειράς με το όνομα st.
- Δημιουργήστε έναν χαρακτήρα που ονομάζεται b με τιμή B.
- Αντιστοιχίστε μια τιμή Α στη συμβολοσειρά που ονομάζεται st.
- Χρησιμοποιήστε τον τελεστή + = για να μετατρέψετε χαρακτήρες σε συμβολοσειρά.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
# 3: Χρήση μεθόδων std :: string
Η κλάση std :: string έρχεται με πολλές υπερφορτωμένες λειτουργίες που μπορούν να σας βοηθήσουν να μετατρέψετε χαρακτήρες σε συμβολοσειρές.
Περιλαμβάνουν:
- push_back
Αυτή η συνάρτηση εκχωρεί έναν συγκεκριμένο χαρακτήρα στο τέλος μιας συμβολοσειράς. Είναι υπερφορτωμένο για χαρακτήρες.
Χρειάζεται η ακόλουθη σύνταξη:
void push_back(char ch)Η παράμετρος ch είναι ο χαρακτήρας που πρόκειται να αλλάξει σε συμβολοσειρά.
- προσαρτώ
Εκχωρεί πολλά αντίγραφα ενός συγκεκριμένου χαρακτήρα σε μια συμβολοσειρά.
Η συνάρτηση λαμβάνει την ακόλουθη σύνταξη:
string& append(size_t n,char ch)Η παράμετρος n δηλώνει τους χρόνους με τους οποίους θα επισυνάπτεται ο χαρακτήρας.
Η παράμετρος ch είναι ο χαρακτήρας που προσαρτάται στη συμβολοσειρά.
- αναθέτω
Αυτή η συνάρτηση αντικαθιστά τα τρέχοντα περιεχόμενα της συμβολοσειράς με n αντίγραφα του καθορισμένου χαρακτήρα.
Χρειάζεται η ακόλουθη σύνταξη:
string& assign(size_t n,char ch);Η παράμετρος n δηλώνει τα συνολικά αντίγραφα για τον χαρακτήρα.
Η παράμετρος ch είναι ο χαρακτήρας για αντιγραφή στη συμβολοσειρά.
- εισάγετε
Η συνάρτηση εισαγωγής εισάγει n αντίγραφα ενός χαρακτήρα στην αρχική θέση της συμβολοσειράς, όπως καθορίζεται στα ορίσματα.
Χρειάζεται η ακόλουθη σύνταξη:
string& insert(size_t p,size_t n,char ch);Η παράμετρος p υποδηλώνει τη θέση από την αρχή όπου θα εισαχθούν χαρακτήρες.
Η παράμετρος n δηλώνει τα συνολικά αντίγραφα για τον χαρακτήρα.
Η παράμετρος ch είναι ο χαρακτήρας που πρέπει να εισαχθεί στη συμβολοσειρά.
Παράδειγμα 7:
#include#include using namespace std;int main() {string st;st.push_back('A');cout << "push_back A returns : " << st << endl;st = "";st.append(1, 'C');cout << "append C returns : " << st << endl;st = "";st.assign(1, 'D');cout << "assign D returns : " << st << endl;st.insert(0, 1, 'E');cout << "insert single character returns : " << st << endl;return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
- Συμπεριλάβετε το αρχείο κεφαλίδας iostream στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε το αρχείο κεφαλίδας συμβολοσειράς στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικά μας για να χρησιμοποιήσετε τις κλάσεις του χωρίς να το καλέσετε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Δημιουργήστε μια μεταβλητή συμβολοσειράς με το όνομα st.
- Αντιστοιχίστε τον χαρακτήρα A στο τέλος της συμβολοσειράς.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο. Το endl (τελική γραμμή) μετακινεί τον κέρσορα στην επόμενη γραμμή.
- Ορίστε την τιμή της συμβολοσειράς st σε κενή.
- Εκχωρήστε έναν χαρακτήρα C στη συμβολοσειρά που ονομάζεται st.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο. Το endl (τελική γραμμή) μετακινεί τον κέρσορα στην επόμενη γραμμή.
- Ορίστε την τιμή της συμβολοσειράς st σε κενή.
- Αντικαταστήστε τα περιεχόμενα για τη συμβολοσειρά st με έναν χαρακτήρα D.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο. Το endl (τελική γραμμή) μετακινεί τον κέρσορα στην επόμενη γραμμή.
- Εισαγάγετε έναν μόνο χαρακτήρα E στη συμβολοσειρά που ονομάζεται st από τον πρώτο του δείκτη.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο. Το endl (τελική γραμμή) μετακινεί τον κέρσορα στην επόμενη γραμμή.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
# 4: Χρήση std :: stringstream
Για να χρησιμοποιήσετε αυτήν την κλάση για να μετατρέψετε χαρακτήρα σε συμβολοσειρά, εισαγάγετε το χαρακτήρα στη ροή.
Θα γραφτούν στη συμβολοσειρά.
Παράδειγμα 8:
#include#include #include using namespace std;int main() {string st;stringstream myst;myst << 'A';myst >> st;cout << "The conversion of the single character returns the string: " << st;return 0;} Παραγωγή:
Ακολουθεί ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλάβετε το αρχείο κεφαλίδας iostream στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε το αρχείο κεφαλίδας συμβολοσειράς στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε το αρχείο κεφαλίδας sstream στον κώδικα μας για να χρησιμοποιήσετε τις λειτουργίες του.
- Συμπεριλάβετε τον χώρο ονομάτων std στον κώδικά μας για να χρησιμοποιήσετε τις κλάσεις του χωρίς να το καλέσετε.
- Κλήση της κύριας λειτουργίας (). Η λογική του προγράμματος πρέπει να προστεθεί στο σώμα αυτής της λειτουργίας.
- Δημιουργήστε μια μεταβλητή συμβολοσειράς με το όνομα st.
- Δημιουργήστε μια μεταβλητή ροής με το όνομα myst.
- Εισαγάγετε τον χαρακτήρα Α σε αντικείμενο ροής που ονομάζεται myst.
- Μετατρέψτε το αντικείμενο ροής σε συμβολοσειρά.
- Εκτυπώστε την τιμή της συμβολοσειράς st στην κονσόλα μαζί με άλλο κείμενο. Το endl (τελική γραμμή) μετακινεί τον κέρσορα στην επόμενη γραμμή.
- Το πρόγραμμα πρέπει να επιστρέψει την τιμή μετά την επιτυχή ολοκλήρωση.
- Τέλος του σώματος της κύριας () συνάρτησης.
Περίληψη:
- Ο χαρακτήρας είναι ένας τύπος δεδομένων C ++ που χρησιμοποιείται για την αποθήκευση γραμμάτων.
- Το C ++ Char είναι ένας ακέραιος τύπος δεδομένων, που σημαίνει ότι η τιμή αποθηκεύεται ως ακέραιος.
- Καταλαμβάνει μέγεθος μνήμης 1 byte.
- Το C ++ Char αποθηκεύει μόνο έναν χαρακτήρα.
- Οι τιμές char ερμηνεύονται ως χαρακτήρες ASCII.
- Το ASCII είναι ένα αρκτικόλεξο για το American Standard Code for Information Interchange.
- Δηλώνει έναν συγκεκριμένο τρόπο αναπαράστασης αγγλικών χαρακτήρων με τη μορφή αριθμών.
- Για να δείτε την τιμή ASCII ενός χαρακτήρα, το μεταβιβάζουμε στη συνάρτηση int ().
- Για να δούμε την αντίστοιχη τιμή char της τιμής ASCII, ορίζουμε το ASCII ως χαρακτήρα.