Κοινή χρήση τεχνολογίας

Λεπτομερής επεξήγηση του πυρήνα του προγραμματισμού της γλώσσας C Κεφάλαιο 1: Σύστημα αριθμών και μετατροπή και κώδικας ASCII

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

γράψε πρώτα

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

1. Σύστημα αριθμών και μετατροπή

1.1 Ορισμός των τεσσάρων αριθμητικών συστημάτων

δυαδικό, δεκαδικό, οκταδικό, δεκαδικό
Αρχικά, ας μιλήσουμε για το δεκαδικό σύστημα, το πιο συχνά χρησιμοποιούμενο βασικό σύστημα στη ζωή. Εισαγάγετε 1 κάθε 10.

Γιατί να μάθουμε δυαδικά;

Το κάτω επίπεδο των υπολογιστών είναι δυαδικό και το δυαδικό είναι η πιο εύκολη γλώσσα για τους υπολογιστές κατανοητή.

δυαδικός ορισμός: 0 1 δύο σύμβολα κωδικοποίησης
Κάθε δύο μπαίνει ένα
Για παράδειγμα: 10001 1001111 1000201 (παράνομος ορισμός) 11111117 (παράνομος ορισμός)

Γιατί εισήχθη το οκτάλ;

Το δυαδικό είναι πολύ μεγάλο και η δεκαδική συμπίεση είναι πολύ ενοχλητική.

οκταδικός ορισμός: 0 1…7 Τα οκτώ σύμβολα κωδικοποίησης προχωρούν σε ένα κάθε οκτώ
Για παράδειγμα: 123451 10678 20740 09341 (παράνομος ορισμός)

Γιατί εισήχθη το δεκαεξαδικό;

Αναβαθμισμένη έκδοση οκταδικού συστήματος

Δεκαεξαδικός ορισμός:0 1…9 ABCDEF Δεκαέξι είδη συμβόλων κάθε δέκατο έκτο
Για παράδειγμα: 1abc1 0945dej5

Σκέψη: Μερικές φορές είναι πραγματικά αδύνατο να γίνει διάκριση μεταξύ δεκαδικού, οκταδικού και δεκαεξαδικού.

Δεκαδικός αριθμός: 123
Προσθέστε 0 μπροστά από το οκταδικό: 0123
Προσθέστε 0x μπροστά από το δεκαεξαδικό: 0x123

1.2 Μετατροπή συστημάτων τεσσάρων αριθμών

Πρώτα απ 'όλα, είναι σαφές ότι η γέφυρα για τη μετατροπή του συστήματος αριθμών είναι δυαδική.

1. Μετατροπή δεκαδικού σε δυαδικό
Μετατρέψτε το δεκαδικό σε δυαδικό, τον βασικό τύπο: διαιρέστε με το 2 και πάρτε το υπόλοιπο με αντίστροφη σειρά

2. Μετατροπή δυαδικού σε δεκαδικό
Μετατροπή δυαδικού σε δεκαδικό, μνήμη πυρήνα: άθροισμα κατά βάρος, 2nισχύς, n ξεκινά από 0

3. Μετατροπή δυαδικού σε οκταδικό
Ο βασικός τύπος: μεταχειριστείτε τρία άτομα ως ομάδα, αν δεν είναι αρκετό, προσθέστε 0 μπροστά

4. Δυαδικό σε δεκαεξαδικό
Τύπος πυρήνα: Τέσσερα ψηφία θεωρούνται ως ομάδα, αν δεν υπάρχουν αρκετά, προσθέστε 0 μπροστά.

Παραλειπόμενα μέρη: Οκτώ στροφές σε δύο, δεκαέξι στροφές σε δύο, που είναι ουσιαστικά η αντίστροφη διαδικασία του 3 και του 4.

2. Εφαρμογή αριθμητικού συστήματος

2.1 Κωδικός ASCII

Για παράδειγμα: A a B b ¥ $, κ.λπ. Αυτά τα σύμβολα αποθηκεύονται στον υπολογιστή ως τιμές ASCII.
Δηλαδή, υπάρχει μια μοναδική δυαδική κωδικοποίηση.

Ο κώδικας ASCII είναι ένας τυπικός κώδικας που αναπτύχθηκε από τις Ηνωμένες Πολιτείες.
Για παράδειγμα (για να θυμάστε):
Η κωδική τιμή ASCII του κεφαλαίου γράμματος A: 65 (εκφράζεται σε δεκαδικό, φυσικά, αποθηκεύεται σε δυαδικό σύστημα στον υπολογιστή, επομένως εκφράζεται σε δεκαδικό για τη διευκόλυνση της μνήμης)
Κωδική αξία ASCII του κεφαλαίου γράμματος Β: 66
Τιμή κωδικού ASCII του πεζού γράμματος a: 97
Τιμή κωδικού ASCII του πεζού γράμματος b: 98

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

2.2 Μνήμη

Στη διαχείριση μνήμης υπολογιστή, το δεκαεξαδικό είναι ακόμα πολύ σημαντικό.

8 bit (δυαδικά bit) = 1 byte (B)
1024 byte = 1KB
1K=1024=210
1Μ=1024*1024=220

2.3 Κωδικός μηχανής

Ο κώδικας μηχανής είναι στην πραγματικότητα η τιμή του κώδικα που κατανοεί ο πραγματικός υπολογιστής Μπορούμε να πούμε ότι η τιμή που είναι αποθηκευμένη σε ένα συγκεκριμένο χώρο είναι 78 (δεκαδική), αλλά ο υπολογιστής σίγουρα δεν την κατανοεί.
Υπάρχουν τρεις τύποι κωδικών μηχανής, ο κώδικας συμπληρώματος, ο αρχικός κώδικας και ο κώδικας συμπληρώματος.

3. Δομή της γλώσσας Γ

Η σύνθεση της γλώσσας C: πολλά αρχεία
Αρχείο: πολλές λειτουργίες
Λειτουργία: κεφαλίδα συνάρτησης και ουρά λειτουργίας
Κεφαλίδα συνάρτησης και σώμα συνάρτησης
Δηλώσεις: τρεις τύποι δηλώσεων

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

3.1 Δομή δεδομένων και τύπος δεδομένων:

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

3.2 Δεδομένα και τύποι δεδομένων

Τύποι δεδομένων: βασικοί τύποι, κατασκευασμένοι τύποι, τύποι δείκτη, μηδενικοί τύποι
Βασικοί τύποι: ακέραιος τύπος int και ούτω καθεξής
Δομικός τύπος: δομή
Κενός τύπος: κενός

Αναγνωριστικό (κανονικό):

  1. Δεσμευμένες λέξεις (λέξεις-κλειδιά): 32 συνολικά. Όπως: int float char αν αλλιώς για
  2. Προκαθορισμένα αναγνωριστικά: scanf printf περιλαμβάνει
  3. Αναγνωριστικό που καθορίζεται από το χρήστη: όνομα μεταβλητής, όνομα πίνακα κ.λπ.

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