Απόδειξη της γλώσσας προγραμματισμού. §1 Συνολικές πληροφορίες γλωσσών. Στάδια του σχεδιασμού του προγράμματος. Τα μοντέλα κύκλου ζωής της εφαρμογής όλα σχετικά με το c

Οι υπολογιστές είναι ίσως τα πιο καθολικά εργαλεία που η ανθρωπότητα έχει στη διάθεση. Είναι σε θέση να εκτελούν απίστευτους υπολογισμούς, σας επιτρέπουν να αποθηκεύσετε μια τεράστια ποσότητα πληροφοριών, εντελώς σε διαφορετικά σημεία του πλανήτη και ταυτόχρονα ανταλλάσσεται εύκολα, ανεξάρτητα από τη θέση. Οι υπολογιστές απλοποιούν πολλές καθημερινές εργασίες και σας επιτρέπουν να αυτοματοποιήσετε πολλές διαδικασίες ρουτίνας που θα ήταν πολύ κουραστικές και βαρετές για να κάνετε ένα άτομο. Οι υπολογιστές μπορούν να το κάνουν τόσο πολύ, αλλά, παρόλα αυτά, οι υπολογιστές δεν έχουν νοημοσύνη, σε αντίθεση με τον άνθρωπο. Για να αυτοματοποιήσετε ακόμα και την ευκολότερη διαδικασία, είναι απαραίτητο να πούμε ένας υπολογιστής σαφής και χωρίς αμφιβολία ότι πρέπει να κάνει. Δυστυχώς, η γλώσσα και η γλώσσα του υπολογιστή μας είναι εντελώς διαφορετικά. Έτσι, μεταξύ του αυτοκινήτου και του ανθρώπου υπάρχει ένα σοβαρό γλωσσικό φράγμα, το οποίο πρέπει να ξεπεράσει κατά κάποιο τρόπο, διαφορετικά ο υπολογιστής δεν θα μας καταλάβει. Και ενώ οι υπολογιστές δεν μας καταλαβαίνουν, δεν θα κάνουν τίποτα μόνοι μας. Ως μέσο επικοινωνίας μεταξύ του ανθρώπου και του υπολογιστή, εφευρέθηκαν ένας τεράστιος αριθμός γλωσσών προγραμματισμού. Χρησιμοποιώντας τις γλώσσες προγραμματισμού, δημιουργούμε προγράμματα και ένας υπολογιστής λειτουργεί ήδη απευθείας με προγράμματα. Τα ίδια τα προγράμματα είναι σύνολα οδηγιών που ο υπολογιστής μπορεί να καταλάβει και να εκτελέσει.

Τύποι προγραμμάτων

Προκειμένου να επικοινωνούμε αποτελεσματικά με τον υπολογιστή, δηλαδή, θέλουμε, υπάρχει ένα ευρύ φάσμα γλωσσών προγραμματισμού.

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

Συλλογή, ερμηνεία και σύνταξη JIT

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

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

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

Υψηλά ή χαμηλά επίπεδα προγραμματισμού

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

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

Συστήματα γλωσσών προγραμματισμού

Για κάθε γλώσσα προγραμματισμού, υπάρχει μια προδιαγραφή που ορίζει διάφορους κανόνες που ακολουθούν τις γλώσσες προγραμματισμού. Σε ορισμένες γλώσσες δεν υπάρχουν τύποι δεδομένων, οπότε δεν ισχύει για αυτούς. Ωστόσο, οι περισσότερες γλώσσες (συμπεριλαμβανομένων των C ++) έχουν τους τύπους δεδομένων, επομένως, αυτές οι πληροφορίες θα είναι χρήσιμες για εσάς.

Ισχυρό ή αδύναμο σύστημα τύπου δεδομένων

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

// Παράδειγμα προγράμματος για C ++ #include Χρησιμοποιώντας το Namespace STD. Int main () (char string \u003d "παράδειγμα"; αριθμός \u003d 5; cout<< string * number << endl; // умножаем строку на число }

Ως αποτέλεσμα, ο μεταγλωττιστής θα αναφέρει ένα σφάλμα:

Σφάλμα: Μη έγκυροι τελεστές τύπων «Char» και «INT» σε δυαδικό «χειριστή *»

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

Το αποτέλεσμα της εκτέλεσης αυτού του κώδικα θα είναι μηδέν. Τα σφάλματα δεν θα συμβούν τίποτα, παρόλο που φαίνεται να πολλαπλασιάζεται η σειρά στον αριθμό που είναι αδύνατο. Αλλά στη γλώσσα PHP όλα είναι δυνατά. Ο συντάκτης γλώσσας PHP δεν θα αναφέρει σφάλμα, το σενάριο θα λειτουργήσει και ακόμη και θα δώσει το αποτέλεσμα και αν το πρόγραμμα αποτελείται από 1000 γραμμές κώδικα, τότε θα είναι δύσκολο να βρούμε αυτό το σφάλμα. Αυτό είναι ένα λαμπρό παράδειγμα μιας γλώσσας προγραμματισμού με ένα "αδύναμο σύστημα τύπου δεδομένων", δηλαδή η πρόληψη τέτοιων παράλογων λειτουργιών καλύπτεται πλήρως στους ώμους του προγραμματιστή.

Ορισμένοι ή απαίσκοι τύποι δεδομένων

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

Στατικός ή δυναμικός τύπος δεδομένων

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

Ασφαλές ή μη ασφαλές σύστημα τύπου δεδομένων

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

Αυτοί οι παράγοντες μπορούν να χαρακτηρίζουν τόσο τις γλώσσες προγραμματισμού.

Υποστηριζόμενα παραδείγματα στον προγραμματισμό

Τα παραδείγματα προγραμματισμού είναι μεθοδολογίες ή μέθοδοι προγραμματισμού που υποστηρίζουν τη γλώσσα προγραμματισμού. Εδώ είναι η λίστα των κύριων παραδειγμάτων:

Δηλωτικό παράδοχο

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

Λειτουργικό πρότυπο

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

Γενικευμένο παράδοχο

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

Επιτακτικό παράδειγμα

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

Δομικό παράδοχο

Οι διαρθρωτικές γλώσσες προγραμματισμού αποσκοπούν στην παροχή μιας μορφής ή άλλου κώδικα της ιεραρχικής δομής. Όταν η δομή του κώδικα παρατηρείται σαφώς, η σειρά με την οποία εκτελούνται οι φορείς εκμετάλλευσης διαισθητικά γίνεται διαισθητικός. Τέτοιες γλώσσες καταδικάζουν συνήθως το "Jumping" από το ένα μέρος του κώδικα στο άλλο, για παράδειγμα, σε όλους μας γνωστούς, η δήλωση GOTO ορίζεται στις γλώσσες C και C ++.

Διαδικαστικό πρότυπο

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

Αντικείμενο προσανατολισμένο πρότυπο

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

Τυποποίηση

Οι γλώσσες έχουν το επίσημο πρότυπο; Η τυποποίηση είναι πολύ σημαντική για να εξασφαλιστεί η κατανόηση της σύγκρουσης του προγράμματος, διάφοροι μεταγλωττιστές / διερμηνείς. Ορισμένες γλώσσες τυποποιούνται από το Αμερικανικό Εθνικό Ινστιτούτο Προτύπων (ANSI), άλλοι τυποποιούνται από τον Διεθνή Οργανισμό Τυποποίησης (ISO). Όλες οι γλώσσες προγραμματισμού πρέπει να τυποποιούνται, διαφορετικά δεν θα είναι δυνατή η διαπραγμάτευση ότι σωστά, και τι δεν είναι σωστό στη σύνταξη.

Περιγράψτε τη γλώσσα προγραμματισμού C ++

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

Το C ++ είναι μια τυποποιημένη γλώσσα προγραμματισμού ISO.

Για κάποιο χρονικό διάστημα, το C ++ δεν είχε επίσημο πρότυπο, ωστόσο, από το 1998, το C ++ τυποποιήθηκε από την επιτροπή ISO.

C ++ Γλώσσα.

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

Το C ++ είναι αυστηρά δακτυλογραφημένη γλώσσα.

Το C ++ συνεπάγεται ότι ο προγραμματιστής γνωρίζει τι συμβαίνει και επιτρέπει έναν απίστευτο αριθμό ευκαιριών που περιορίζονται μόνο από τη φαντασία.

Το C ++ υποστηρίζει τους στατικούς και δυναμικούς τύπους δεδομένων.

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

Το C ++ υποστηρίζει πολλά παραδείγματα.

Το C ++ υποστηρίζει διαδικαστικά, γενικευμένα και αντικειμενικά προσανατολισμένα παραδείγματα προγραμματισμού, και πολλά άλλα παραδείγματα.

Το C ++ είναι μια φορητή γλώσσα προγραμματισμού.

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

Το C ++ είναι πλήρως συμβατό με τη γλώσσα SI

Στο C ++, μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη CI και θα λειτουργήσουν σωστά.

Σε αυτό το άρθρο, η λειτουργία Scanf () εξετάζεται σε γενική μορφή χωρίς αναφορά σε ένα συγκεκριμένο πρότυπο, έτσι ώστε να περιλαμβάνει δεδομένα από οποιαδήποτε πρότυπα C99, C11, C ++ 11, C ++ 14. Ίσως σε ορισμένα πρότυπα, η λειτουργία λειτουργεί με διαφορές από το υλικό που ορίζεται στο άρθρο.

Scanf C λειτουργία - Περιγραφή

Το ScanF () είναι μια συνάρτηση που βρίσκεται στο αρχείο κεφαλίδας Stdio.h (C) και CSTDIO (C ++), ονομάζεται επίσης διαμορφωμένη καταχώρηση δεδομένων στο πρόγραμμα. Το ScanF διαβάζει χαρακτήρες από το Standard Stream Input (Stdin) και τα μετατρέπει ανάλογα με τη μορφή, μετά την οποία γράφει στις καθορισμένες μεταβλητές. Η μορφή σημαίνει ότι τα δεδομένα κατά την εισαγωγή δίνεται σε έναν συγκεκριμένο τύπο. Έτσι, η λειτουργία Scanf C περιγράφει:

scanf ("% μορφή", & μεταβλητή1 [, & μεταβλητή2, [...]]),

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

Ορισμένοι προγραμματιστές οφείλονται στην αναλογία με άλλες λειτουργίες κλήσης γλώσσας όπως το ScanF () ή το Printf (), διαδικασίες.

Το ScanF σας επιτρέπει να εισάγετε όλους τους βασικούς τύπους γλώσσας: char, int, float, string, κλπ. Στην περίπτωση των μεταβλητών, ο τύπος συμβολοσειράς δεν χρειάζεται να καθορίσετε το σήμα διεύθυνσης - "&", αφού η μεταβλητή του τύπου συμβολοσειράς είναι ένας πίνακας και το όνομά του είναι η διεύθυνση του πρώτου στοιχείου συστοιχίας στη μνήμη του υπολογιστή.

Μορφή εισόδου δεδομένων ή συμβολοσειρά ελέγχου

Ας αρχίσουμε με την εξέταση της χρήσης της λειτουργίας ScanF C από την περιγραφή.

#Περιλαμβάνω. Int main () (int x, ενώ (scanf ("% d", & x) \u003d\u003d 1) printf ("% d \\ n", x), επιστροφή 0, // απαίτηση Linux Systems)

Η μορφή εισόδου αποτελείται από τις ακόλουθες τέσσερις παραμέτρους:% [*] [πλάτος] [modfiers] τύπου. Σε αυτή την περίπτωση, το σήμα και ο τύπος "%" είναι υποχρεωτικές παραμέτρους. Δηλαδή, η ελάχιστη προβολή της μορφής έχει ως εξής: "% S", "% D" και ούτω καθεξής.

Γενικά, οι χαρακτήρες που αποτελούν τη συμβολοσειρά μορφής χωρίζονται σε:

  • Κατασκευάσματα μορφοποίησης - όλα που διαβάζονται από το σύμβολο%.
  • Διαχωρίζοντας ή διαστημικούς χαρακτήρες - θεωρούνται χώρος, καρτέλα (\\ t), μια νέα γραμμή (\\ n).
  • Σύμβολα που διαφέρουν από το κενό.

Η λειτουργία μπορεί να είναι ανασφαλής.

Χρήση αντί για ScanF () τη λειτουργία ScanF_S ().

(Μήνυμα από το Visual Studio)

Πληκτρολογήστε ή ειδικούς τύπους ή μετατροπές liteers ή ελέγχοντας χαρακτήρες

Περιγραφή Το ScanF C είναι υποχρεωμένο να περιέχει τουλάχιστον έναν προσδιοριστή μορφής που καθορίζεται στο τέλος των εκφράσεων που αρχίζουν με το σήμα "%". Λέει το πρόγραμμα τύπου δεδομένων που αναμένεται κατά την είσοδο, συνήθως από το πληκτρολόγιο. Ο κατάλογος όλων των ειδικευμένων μορφών στον παρακάτω πίνακα.

αξία

Το πρόγραμμα περιμένει να εισέλθει σε ένα σύμβολο. Η μεταβλητή εγγραφής πρέπει να έχει ένα χαρακτήρα τύπου συμβόλου.

Το πρόγραμμα περιμένει την είσοδο ενός δεκαδικού αριθμού ενός ολόκληρου τύπου. Η μεταβλητή πρέπει να είναι τύπου int.

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

Το πρόγραμμα αναμένει μια είσοδο ενός πλωτικού σημείου (ερωτηματικό). Η μεταβλητή πρέπει να έχει έναν τύπο πλωτήρα.

7

Το πρόγραμμα αναμένει μια είσοδο ενός πλωτικού σημείου (ερωτηματικό). Η μεταβλητή πρέπει να έχει έναν τύπο πλωτήρα.

Το πρόγραμμα περιμένει την είσοδο του οκταδικού αριθμού. Η μεταβλητή πρέπει να είναι τύπου int.

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

Το πρόγραμμα αναμένει να εισέλθει σε δεκαεξαδικό αριθμό. Η μεταβλητή πρέπει να είναι τύπου int.

Η μεταβλητή περιμένει την είσοδο του δείκτη. Η μεταβλητή πρέπει να έχει τύπο δείκτη.

Γράφει σε μια μεταβλητή μια ακέραια τιμή ίση με τον αριθμό των χαρακτήρων που διαβάζονται στην τρέχουσα στιγμή από τη λειτουργία Scanf.

Το πρόγραμμα διαβάζει έναν μη υπογεγραμμένο ακέραιο. Ο τύπος της μεταβλητής πρέπει να είναι ανεπιθύμητος ακέραιος αριθμός.

Το πρόγραμμα αναμένει έναν δυαδικό αριθμό. Η μεταβλητή πρέπει να είναι τύπου int.

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

Σύμβολα στη συμβολοσειρά μορφοποίησης

Σύμβολο αστέρι (*)

Ένας αστερίσκος (*) είναι μια σημαία που δείχνει ότι η λειτουργία ανάθεσης πρέπει να κατασταλεί. Ο αστερίσκος τίθεται αμέσως μετά το σημάδι "%". Για παράδειγμα,

Scanf ("% d% * c% d", & x, & y); // αγνοήστε το χαρακτήρα μεταξύ δύο ακέραιων αριθμών. Scanf ("% s% * d% s", str, stR2); // αγνοήστε έναν ακέραιο αριθμό μεταξύ δύο γραμμών.

Δηλαδή, αν εισάγετε τη συμβολοσειρά "45-20" στην κονσόλα, το πρόγραμμα θα κάνει τα εξής:

  1. Η μεταβλητή "Χ" θα αντιστοιχιστεί σε 45.
  2. Η μεταβλητή "Υ" θα αντιστοιχιστεί σε 20.
  3. Και το σήμα μείον (παύλα) "-" θα αγνοηθεί χάρη στο "% * c".

Πλάτος (ή πλάτος πεδίου)

Αυτός είναι ένας ακέραιος μεταξύ του σημείου "%" και του προσδιοριστή μορφής που καθορίζει τον μέγιστο αριθμό χαρακτήρων για ανάγνωση για την τρέχουσα λειτουργία ανάγνωσης.

Πρέπει να ληφθεί υπόψη πολλά σημαντικά σημεία:

  1. Το Scanf θα σταματήσει τη δουλειά του εάν αντιμετωπίσετε ένα σύμβολο διαχωρισμού, ακόμα κι αν δεν μετρήσατε 20 χαρακτήρες.
  2. Εάν εφαρμόζονται περισσότεροι από 20 χαρακτήρες στην είσοδο, μόνο τα πρώτα 20 από αυτά θα καταγραφούν στη μεταβλητή StR.

Τύπος τροποποιητές (ή ακρίβεια)

Αυτές είναι ειδικές σημαίες που τροποποιούν τον τύπο των δεδομένων που αναμένεται να εισέλθουν. Η σημαία καθορίζεται στα αριστερά του ειδικού τύπου:

  • L ή L (Μικρό L) όταν χρησιμοποιείτε το "L" με τους προδιαγραφούς D, I, O, U, X, η σημαία αναφέρει το πρόγραμμα ότι τα δεδομένα αναμένεται να εισέλθουν στον τύπο της Long Int. Όταν χρησιμοποιείτε το "L" με τον προσδιοριστή E ή F, η σημαία αναφέρει το πρόγραμμα ότι θα πρέπει να περιμένει την τιμή της διπλής τιμής. Η χρήση του "L" ενημερώνει το πρόγραμμα ότι αναμένεται η αξία του μεγάλου διπλού τύπου. Η χρήση "L" με τους συγκεκριμένες "C" και "S" λέει στο πρόγραμμα ότι αναμένονται σύμβολα διπλού byte τύπου WARA_T. Για παράδειγμα, το "% LC", "% LS", "% L".
  • Η είναι η σημαία που δείχνει προς το είδος του βραχυπρόθεσμου.
  • hH - υποδεικνύει ότι η μεταβλητή είναι ένας δείκτης σε μια τιμή τύπου που υπογράψει χαρακτήρα ή μη υπογεγραμμένη char. Η σημαία μπορεί να χρησιμοποιηθεί με τους ειδικευμένους D, I, O, U, X, N.
  • lL (δύο μικρά L) - υποδεικνύει ότι η μεταβλητή είναι ένας δείκτης στην τιμή της υπογεγραμμένης int ή μη υπογεγραμμένους μακρύς int. Η σημαία χρησιμοποιείται με τους ειδικευμένους: D, I, O, U, X, N.
  • j - Υποδεικνύει ότι η μεταβλητή είναι ένας δείκτης στον τύπο IntMax_T ή Uintmax_t από το αρχείο κεφαλίδας stdint.h. Χρησιμοποιείται με ειδικευμένους: D, I, O, U, X, N.
  • z - Υποδεικνύει ότι η μεταβλητή είναι ένας δείκτης στον τύπο μεγέθους_T, ο ορισμός του οποίου βρίσκεται στο stddef.h. Χρησιμοποιείται με ειδικευμένους: D, I, O, U, X, N.
  • t - Υποδεικνύει ότι η μεταβλητή είναι ένας δείκτης στον τύπο ptrdiff_t. Ο ορισμός αυτού του τύπου βρίσκεται στο stddef.h. Χρησιμοποιείται με ειδικευμένους: D, I, O, U, X, N.

Μια πιο ρητή εικόνα με τροποποιητές μπορεί να εκπροσωπείται ως πίνακας. Μια τέτοια περιγραφή του Scanf C για τους προγραμματιστές θα είναι σαφέστερη.

Υπόλοιπες συμβόλες

Οι χαρακτήρες που θα συναντηθούν σε μορφή θα απορριφθούν. Θα πρέπει να σημειωθεί ότι η παρουσία στη γραμμή ελέγχου του χώρου ή των συμβόλων διαχωρισμού (η νέα γραμμή, ο χώρος, η καρτέλα) μπορεί να οδηγήσει σε διαφορετική συμπεριφορά της λειτουργίας. Σε μία έκδοση του ScanF () θα διαβαστεί χωρίς να αποθηκεύσει οποιονδήποτε αριθμό διαχωριστών μέχρι τη στιγμή που το σύμβολο είναι διαφορετικό από τον διαχωριστή, και σε άλλη έκδοση - χώροι (μόνο) δεν παίζουν τους ρόλους και την έκφραση "% D +% d "ισοδύναμο"% D +% D ".

Παραδείγματα

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

Scanf ("% 3s", str); // Εάν εισάγετε τη συμβολοσειρά "1d2S3D1, 3" στην κονσόλα, μόνο η ScanF "1d2" ("% DMinus% D", & X, & Υ) καταγράφεται στην οδό. // "μείον" χαρακτήρες μεταξύ των δύο αριθμών θα απορριφθούν σάρωση ("% 5", str). // εισέρχονται χαρακτήρες στην οδό, μέχρι να είναι 5 και τα σύμβολα είναι αριθμοί από 0 έως 9. Scanf ("% LF", & D). // Αναμένεται δεδομένα τύπου διπλής σάρωσης ("% HD", & x). // Αναμένεται ο αριθμός του τύπου Scanf ("% HU", & Y); // Αναμένεται ο αριθμός των μη υπογεγραμμένων σύντομων τύπων σάρωπης ("LX", & z). // αριθμός τύπου Long Int

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

scanf C - Περιγραφή για αρχάριους

Αυτή η ενότητα θα είναι χρήσιμη για τους νεοφερμένους. Συχνά, πρέπει να έχετε το χέρι όχι τόσο μια πλήρη περιγραφή του Scanf C, πόσα λεπτομέρειες της λειτουργίας.

  • Η λειτουργία είναι εν μέρει ξεπερασμένη. Υπάρχουν πολλές διαφορετικές εφαρμογές στις βιβλιοθήκες διαφόρων εκδόσεων. Για παράδειγμα, η βελτιωμένη λειτουργία Scanf S C, η περιγραφή του οποίου μπορεί να βρεθεί στον ιστότοπο της Microsoft.
  • Ο αριθμός των ειδικευμένων με τη μορφή πρέπει να αντιστοιχεί στον αριθμό των λειτουργιών που μεταδίδονται.
  • Τα στοιχεία του ρεύματος εισόδου πρέπει να διαχωρίζονται μόνο με διαχωριστικά σύμβολα: ένας χώρος, καρτέλα, μια νέα συμβολοσειρά. Κόμμα, σημείο με κόμμα, σημείο, κλπ. - Αυτοί οι χαρακτήρες δεν χωρίζονται για τη λειτουργία Scanf ().
  • Εάν η ScanF πληροί το διαχωριστικό σύμβολο, η είσοδος θα σταματήσει. Εάν οι μεταβλητές για την ανάγνωση περισσότερων από ένα, στη συνέχεια, η Scanf θα μεταβεί στην ανάγνωση της ακόλουθης μεταβλητής.
  • Η παραμικρή ασυνέπεια της μορφής δεδομένων εισόδου οδηγεί σε απρόβλεπτα αποτελέσματα του προγράμματος. Λοιπόν, εάν το πρόγραμμα ολοκληρώνεται απλά με ένα σφάλμα. Αλλά συχνά το πρόγραμμα συνεχίζει να λειτουργεί και το κάνει εσφαλμένα.
  • scanf ("% 20s ...", ...); Εάν η ροή εισόδου υπερβαίνει τους 20 χαρακτήρες, τότε η Scanf διαβάζει τους πρώτους 20 χαρακτήρες και, ή να σταματήσει να λειτουργεί ή να διαβάσει την ακόλουθη μεταβλητή εάν έχει καθοριστεί. Ταυτόχρονα, η επόμενη κλήση σάρωπης θα συνεχίσει να διαβάζει το ρεύμα εισόδου από τον τόπο όπου διακόπτεται η λειτουργία της προηγούμενης κλήσης Scanf. Εάν κατά την ανάγνωση των πρώτων 20 χαρακτήρων, θα συναντηθεί το σύμβολο διαχωρισμού, το Scanf θα σταματήσει τη λειτουργία του ή θα διαβάσει την ακόλουθη μεταβλητή, ακόμη και αν 20 χαρακτήρες δεν μετρήθηκαν για την πρώτη μεταβλητή. Σε αυτή την περίπτωση, όλα τα μη δεσμευμένα σύμβολα είναι έτοιμοι στην επόμενη μεταβλητή.
  • Εάν το σύνολο σαρωμένων χαρακτήρων ξεκινά από το σημάδι "^", τότε η Scanf θα διαβάσει τα δεδομένα μέχρι να γίνει το σύμβολο διαχωρισμού ή ο χαρακτήρας. Για παράδειγμα, το "% [^ a-e1-5]" θα διαβάσει δεδομένα από το ρεύμα μέχρι να επιτευχθεί ένας από τους χαρακτήρες του αγγλικού αλφαβήτου από Α έως Ε στην κεφαλή ή ένας από τους αριθμούς από το 1 έως 5.
  • Η λειτουργία Scanf C για να περιγράψει επιστρέφει έναν αριθμό ίσο με έναν επιτυχημένο αριθμό εγγραφών σε μεταβλητές. Εάν η ScanF γράφει 3 μεταβλητές, το αποτέλεσμα της επιτυχημένης λειτουργίας της λειτουργίας θα είναι ο αριθμός επιστροφής 3. Εάν η ScanF δεν μπορούσε να γράψει μια μοναδική μεταβλητή, τότε το αποτέλεσμα θα είναι 0. και τελικά, εάν η ScanF δεν μπορούσε να αρχίσει να λειτουργεί για οποιονδήποτε λόγο , το αποτέλεσμα θα είναι καθόλου EOF..
  • Εάν η λειτουργία Scanf () έχει ολοκληρώσει την εργασία του εσφαλμένα. Για παράδειγμα, το Scanf ("% d", & x) - ένας αναμενόμενος αριθμός και τα σύμβολα ήρθαν στην είσοδο. Η επόμενη κλήση Scanf () θα ξεκινήσει την εργασία του από τη θέση στο ρεύμα εισόδου, όπου ολοκληρώνεται η προηγούμενη λειτουργία. Για να ξεπεραστεί αυτό το πρόβλημα, είναι απαραίτητο να απαλλαγείτε από τα σύμβολα προβλημάτων. Αυτό μπορεί να γίνει, για παράδειγμα, καλώντας το ScanF ("% * S"). Δηλαδή, η λειτουργία θα διαβάσει τη σειρά χαρακτήρων και θα το πετάξει. Ένας τέτοιος δύσκολος τρόπος μπορεί να συνεχίσει να εισάγει τα απαραίτητα δεδομένα.
  • Σε ορισμένες εφαρμογές Scanf () στο σύνολο σαρωμένων χαρακτήρων, η χρήση του "-" είναι απαράδεκτη.
  • Ο προσδιοριστής "% C" διαβάζει κάθε σύμβολο ροής. Δηλαδή, το σύμβολο διαβάζει επίσης. Για να παραλείψετε το σύμβολο του διαχωριστή και να συνεχίσετε να διαβάζετε τον επιθυμητό χαρακτήρα, μπορείτε να χρησιμοποιήσετε το "% 1S".
  • Όταν χρησιμοποιείτε τον προσδιοριστή "C", επιτρέπεται να χρησιμοποιήσετε το πλάτος "% 10c", ωστόσο, ως μια μεταβλητή λειτουργία Scanf, πρέπει να μεταφέρετε μια σειρά από στοιχεία char.
  • Το "%" σημαίνει "όλα τα μικρά γράμματα του αγγλικού αλφαβήτου" και "%": απλά 3 χαρακτήρες: «Z», «A», «-». Με άλλα λόγια, το σύμβολο "-" σημαίνει το εύρος μόνο εάν είναι μεταξύ δύο χαρακτήρων που είναι με τη σωστή σειρά των παρακάτω. Εάν "-" βρίσκεται στο τέλος της έκφρασης, στην αρχή ή σε εσφαλμένη σειρά χαρακτήρων και στις δύο πλευρές αυτών, τότε είναι απλώς ένα σύμβολο της παύλα, όχι μια σειρά.

συμπέρασμα

Αυτό ολοκληρώνει την περιγραφή του Scanf C. Αυτή είναι μια καλή βολική λειτουργία για την εργασία σε μικρά προγράμματα και όταν χρησιμοποιείτε μια μέθοδο διαδικαστικής προγραμματισμού. Ωστόσο, το κύριο μειονέκτημα είναι ο αριθμός των απρόβλεπτων σφαλμάτων που ενδέχεται να εμφανιστούν κατά τη χρήση της ScanF. Επομένως, η περιγραφή του Scanf C όταν ο προγραμματισμός διατηρείται καλύτερα μπροστά στα μάτια σας. Σε μεγάλα επαγγελματικά έργα, χρησιμοποιούνται ροές iostream, λόγω του γεγονότος ότι έχουν υψηλότερους επιπέδου ικανότητες, επιτρέπεται καλύτερα να πιάσει και να επεξεργαστεί σφάλματα, καθώς και να εργαστούν με σημαντικά ποσά πληροφοριών. Πρέπει επίσης να σημειωθεί, η περιγραφή του Scanf C στα ρωσικά διατίθεται σε δίκτυο πολλές πηγές, καθώς και παραδείγματα της χρήσης του, λόγω της ηλικίας της λειτουργίας. Επομένως, εάν είναι απαραίτητο, μπορείτε πάντα να βρείτε μια απάντηση στα θεματικά φόρουμ.

1. Εισαγωγή

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

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

Ως βάση για τη συζήτηση των προβλημάτων του αυτόματου προγραμματισμού, θα λάβουμε μια πρόσφατη διάλεξη του Shalyto A.A. Και τα άρθρα "λογισμικού" του για τον προσδιορισμό του παραδείγματος του αυτόματου προγραμματισμού.

Γλώσσα προγραμματισμού C ++

Τελευταία ενημέρωση: 08/28/2017

C ++ Γλώσσα προγραμματισμού είναι μια βασική γλώσσα προγραμματισμού γενικής χρήσης υψηλού επιπέδου με στατική πληκτρολόγηση, η οποία είναι κατάλληλη για τη δημιουργία μιας ευρείας ποικιλίας εφαρμογών. Μέχρι σήμερα, το C ++ είναι μία από τις πιο δημοφιλείς και κοινές γλώσσες.

Είναι ρίζες κατά τη διάρκεια της Si, η οποία σχεδιάστηκε το 1969-1973 στο πρόγραμμα Company Bell Labs Programmer Dennis Ritchie (Dennis Ritchie). Στις αρχές της δεκαετίας του 1980, ο δανικός προγραμματιστής Byrin Sturastrup (Bjarne Stroustrup), η οποία εκείνη την εποχή εργάστηκε στο Bell Labs, ανέπτυξε C ++ ως επέκταση στη γλώσσα SI. Στην πραγματικότητα, στο πρώτο C ++, συμπληρώθηκε απλώς τη γλώσσα του SI ορισμένα χαρακτηριστικά του αντικειμενοστηρίου προγραμματισμού. Και επομένως, ο ίδιος ο Sturastrup τον κάλεσε πρώτα ως "C με μαθήματα" ("Classes").

Στη συνέχεια, μια νέα γλώσσα άρχισε να κερδίζει δημοτικότητα. Προστέθηκε νέα χαρακτηριστικά που δεν το έκανε μόνο μια προσθήκη στο Si, αλλά μια εντελώς νέα γλώσσα προγραμματισμού. Ως αποτέλεσμα, οι "Classes C" μετονομάστηκαν C ++. Και με εκείνα και στις δύο γλώσσες άρχισαν να αναπτύσσονται ανεξάρτητα το ένα από το άλλο.

Το C ++ είναι μια ισχυρή γλώσσα που κληρονόμησε τις πλούσιες ευκαιρίες για εργασία με μνήμη. Ως εκ τούτου, συχνά το C ++ βρίσκει τη χρήση του στον συστημικό προγραμματισμό, ειδικότερα, όταν δημιουργεί λειτουργικά συστήματα, οδηγούς, διάφορες επιχειρήσεις κοινής ωφέλειας, antivirus, κλπ. Με την ευκαιρία, τα Windows γράφονται ως επί το πλείστον στο C ++. Αλλά μόνο ο συστηματικός προγραμματισμός δεν περιορίζεται στη χρήση αυτής της γλώσσας. Το C ++ μπορεί να χρησιμοποιηθεί σε προγράμματα οποιουδήποτε επιπέδου όπου η ταχύτητα εργασίας και η απόδοση είναι σημαντικές. Συχνά εφαρμόζεται για τη δημιουργία γραφικών εφαρμογών, διάφορα προγράμματα εφαρμογής. Επίσης, χρησιμοποιείται ιδιαίτερα για τη δημιουργία παιχνιδιών με πλούσια κορεσμένη απεικόνιση. Επιπλέον, τις τελευταίες στιγμές, η κατεύθυνση κινητής τηλεφωνίας κερδίζει μια κίνηση, όπου το C ++ βρήκε επίσης την εφαρμογή της. Και ακόμη και στην ανάπτυξη ιστοσελίδων, μπορείτε επίσης να χρησιμοποιήσετε το C ++ για να δημιουργήσετε εφαρμογές ιστού ή ορισμένες θυγατρικές υπηρεσίες που εξυπηρετούν μια εφαρμογή Web. Γενικά, το C ++ είναι μια ευρεία γλώσσα χρήσης στην οποία μπορείτε να δημιουργήσετε πρακτικά κάθε είδους προγράμματα.

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

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

Τα κύρια στάδια ανάπτυξης

Το 1979-80, ο Byrin Sturastrup ανέπτυξε μια επέκταση στη γλώσσα Si - "Classes". Το 1983, η γλώσσα μετονομάστηκε σε C ++.

Το 1985 κυκλοφόρησε η πρώτη εμπορική έκδοση της γλώσσας C ++, καθώς και η πρώτη έκδοση του βιβλίου "C ++ γλώσσα προγραμματισμού", η οποία αντιπροσώπευε την πρώτη περιγραφή αυτής της γλώσσας, ελλείψει επίσημου προτύπου.

Το 1989 απελευθερώθηκε μια νέα έκδοση του C ++ 2.0, η οποία περιελάμβανε μια σειρά νέων χαρακτηριστικών. Μετά από αυτό, η γλώσσα αναπτύχθηκε σχετικά αργή μέχρι το 2011. Αλλά το 1998, έγινε η πρώτη προσπάθεια τυποποίησης της γλώσσας ISO (διεθνής οργάνωση για την τελετουργία). Το πρώτο πρότυπο ονομάστηκε ISO / IEC 14882: 1998 ή συντομογραφία C ++ 98. Αργότερα το 2003 δημοσιεύθηκε μια νέα έκδοση του C ++ 03.

Το 2011 δημοσιεύθηκε ένα νέο πρότυπο C ++ 11, το οποίο περιείχε πολλές προσθήκες και εμπλουτίστηκε τη γλώσσα του C ++ ένα μεγάλο αριθμό νέων χαρακτηριστικών. Μετά από αυτό, το 2014 απελευθερώθηκε μια μικρή προσθήκη στο πρότυπο, γνωστό ως C ++ 14. Και μια άλλη βασική έκδοση της γλώσσας έχει προγραμματιστεί για το 2017.

Περιβάλλοντες σε μεταγλωττιστή και ανάπτυξης

Για την ανάπτυξη προγραμμάτων στο C ++, απαιτείται ένας μεταγλωττιστής - μεταφράζει τον πηγαίο κώδικα στη γλώσσα C ++ στο εκτελέσιμο αρχείο, το οποίο στη συνέχεια μπορεί να ξεκινήσει. Αλλά αυτή τη στιγμή υπάρχουν τόσοι διάφοροι μεταγλωττιστές. Μπορεί να διαφέρουν σε διάφορες πτυχές, ειδικότερα, σχετικά με την εφαρμογή των προτύπων. Ο βασικός κατάλογος των μεταγλωττιστών για C ++ μπορεί να βρεθεί στη Wikipedia. Συνιστάται η ανάπτυξη της επιλογής αυτών των μεταγλωττιστών που αναπτύσσουν και εφαρμόζουν όλα τα τελευταία πρότυπα. Έτσι, σε όλο το εγχειρίδιο, ο ελεύθερος συλλέκτης G ++ θα χρησιμοποιηθεί κατά κύριο λόγο, που αναπτύχθηκε στο έργο GNU.

Επίσης, για να δημιουργήσετε προγράμματα, μπορείτε να χρησιμοποιήσετε τα ενσωματωμένα περιβάλλοντα ανάπτυξης IDE, όπως το Visual Studio, NetBeans, Eclipse, QT, κλπ.

Συνεχίζοντας το θέμα:
Δίκτυο

Μετά την πρώτη εμφάνιση του δισκίου στην αγορά συσκευών του υπολογιστή, δεν υπήρχε χρόνο, καθώς ένας tablet PC έγινε ανεξάρτητη μονάδα. Παγκόσμια μάρκες όπως η Samsung και η Apple ...