Δομή προγράμματος στη γλώσσα C: δομή προγράμματος C, βασικοί τύποι και κατασκευή νέων τύπων, πράξεων και εκφράσεων

Αυτο 07.07.2019
Αυτο

ΔΟΜΗ ΑΠΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

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

ΡΥΖΙ. 2.4. Δομή συνάρτησης στη γλώσσα C: κεφαλίδα και σώμα.

Από το βιβλίο της C++ από τον Hill Murray

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

Από το βιβλίο Αρχιτέκτονας Οικίας. Προετοιμασία για επισκευή και κατασκευή σε υπολογιστή συγγραφέας Bulat Vitaly

Δομή του προγράμματος Super Home Suite Ας δούμε το κύριο παράθυρο του προγράμματος Super Home Suite (έκδοση επίδειξης 3.5.2) (Εικ. 2.1). Ρύζι. 2.1. Το κύριο παράθυρο του προγράμματος Super Home Suite Στο επάνω μέρος υπάρχει ένα μενού συστήματος, το οποίο περιλαμβάνει ενότητες εντολών για τη διαχείριση του προγράμματος, την επεξεργασία δεδομένων,

Από το βιβλίο Computer Science and Information Technologies: Lecture Notes συγγραφέας Tsvetkova A V

Δομή προγράμματος Το παράθυρο προγράμματος PromOffice Euroremont (Εικ. 3.1) αποτελείται από πολλά μέρη. Στο επάνω μέρος υπάρχει ένα οριζόντιο πλαίσιο με το κύριο μενού, κάτω από αυτό είναι μια γραμμή εργαλείων. Η υπόλοιπη περιοχή του παραθύρου καταλαμβάνεται από πάνελ για εργασία με δεδομένα. Στην τελευταία έκδοση του προγράμματος στα δεξιά

Από το βιβλίο Επιστήμη Υπολογιστών και Πληροφορική συγγραφέας Tsvetkova A V

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

Από το βιβλίο The C# 2005 Programming Language and the .NET 2.0 Platform. από τον Troelsen Andrew

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

Από το βιβλίο Γλώσσα προγραμματισμού C για έναν προσωπικό υπολογιστή συγγραφέας Bochkov S. O.

Η δομή ενός απλού προγράμματος C# Η γλώσσα C# απαιτεί όλη η λογική του προγράμματος να περιέχεται στον ορισμό κάποιου τύπου (θυμηθείτε από το Κεφάλαιο 1 ότι ο όρος τύπος χρησιμοποιείται για να αναφέρεται σε οποιοδήποτε στοιχείο ενός συνόλου (κλάση, διεπαφή, δομή, απαρίθμηση , εκπρόσωπος)). ΣΕ

Από το βιβλίο Δημιουργία ιού και προστασίας από ιούς συγγραφέας Guliev Igor A.

ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Πρόγραμμα πηγής Το πρόγραμμα πηγής είναι μια συλλογή από τα ακόλουθα στοιχεία: οδηγίες προεπεξεργαστή, οδηγίες μεταγλωττιστή, δηλώσεις και ορισμοί. Οι οδηγίες προεπεξεργαστή καθορίζουν τι πρέπει να κάνει ο προεπεξεργαστής για να μετασχηματίσει

Από το βιβλίο The C Language - A Guide for Beginners από την Prata Steven

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

Από το βιβλίο Linux and UNIX: shell programming. Οδηγός προγραμματιστή. από τον Tainsley David

Δομή και διαδικασία φόρτωσης ενός προγράμματος EXE Σε αντίθεση με τα προγράμματα COM, τα προγράμματα EXE μπορούν να αποτελούνται από πολλά τμήματα (κώδικας, δεδομένα, στοίβα). Μπορούν να καταλάβουν περισσότερα από 64 KB Το αρχείο EXE έχει μια κεφαλίδα που χρησιμοποιείται κατά τη φόρτωσή του. Η κεφαλίδα αποτελείται από

Από το βιβλίο Το τέλος του Ιερού Πολέμου. Pascal vs C συγγραφέας Krivtsov M.A.

ΠΑΡΑΔΕΙΓΜΑ ΑΠΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΓΛΩΣΣΑ C Ας δούμε ένα απλό πρόγραμμα σε γλώσσα C. Θα πρέπει να πούμε αμέσως ότι χρειαζόμαστε ένα τέτοιο παράδειγμα μόνο για να εντοπίσουμε μερικά από τα κύρια χαρακτηριστικά οποιουδήποτε προγράμματος γραμμένου στη γλώσσα C. Στη συνέχεια θα δώσουμε εξηγήσεις για κάθε γραμμή, αλλά πριν

Από το βιβλίο Linux and Everything, Everything, Everything... Άρθρα και στήλες σε LinuxFormat, 2006-2013 συγγραφέας Fedorchuk Alexey Viktorovich

18.5.1. Βρόχος Simple for Αυτός ο βρόχος απλώς εμφανίζει μια λίστα που αποτελείται από "1 2 3 4 5". Για πρόσβαση σε κάθε μεταβλητή, η παράμετρος variable_name είναι "loop".$ pg for_i#!/bin/sh# for_ifor βρόχος σε 1 2 3 4 5doecho $LOOP doneΤο παραπάνω σενάριο εξάγει τα εξής:$

Από το βιβλίο Περιγραφή της γλώσσας PascalABC.NET συγγραφέας Ομάδα RuBoard

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

Από το βιβλίο του συγγραφέα

1. Δομή προγράμματος στη γλώσσα C Ένα πρόγραμμα μπορεί να αποτελείται από μία ή περισσότερες διασυνδεδεμένες συναρτήσεις, η κύρια από τις οποίες ονομάζεται main - εδώ αρχίζει η εκτέλεση του προγράμματος. Επομένως, η παρουσία μιας συνάρτησης με αυτό το όνομα σε οποιοδήποτε πρόγραμμα

Από το βιβλίο του συγγραφέα

Δημιουργία μιας απλής πισίνας Έχοντας κατακτήσει προηγουμένως τις βασικές έννοιες, μάθαμε να κατανοούμε το ZFS. Για την αντίστροφη εργασία - για να μας καταλάβει το ZFS - πρέπει να εξοικειωθούμε με τις εντολές του. Τα κυριότερα είναι δύο: zpool για δημιουργία και διαχείριση pools και zfs για δημιουργία και διαχείριση συνόλων δεδομένων.

Από το βιβλίο του συγγραφέα

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

Από το βιβλίο του συγγραφέα

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

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

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

#περιλαμβάνω int main(void) ( printf("Hello world! \n"); return 0; )

Οδηγίες

Το απλούστερο δομικό στοιχείο ενός προγράμματος C είναι οι δηλώσεις. Κάθε εντολή εκτελεί μια συγκεκριμένη ενέργεια. Στη γλώσσα C, οι δηλώσεις τελειώνουν με ερωτηματικό (;). Αυτό το σύμβολο υποδεικνύει στον μεταγλωττιστή ότι η εντολή έχει ολοκληρωθεί. Για παράδειγμα:

Printf("Γεια σου κόσμο!");

Κλήση της συνάρτησης printf, η οποία εκτυπώνει τη συμβολοσειρά "Hello world!" είναι μια οδηγία και τελειώνει με ερωτηματικό.

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

( printf("Γεια σου κόσμο!"); printf("Αντίο κόσμο!");

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

Οδηγίες προεπεξεργαστή

Για την έξοδο δεδομένων στην κονσόλα στο παραπάνω παράδειγμα, χρησιμοποιείται η συνάρτηση printf(), αλλά για να χρησιμοποιηθεί αυτή η συνάρτηση, ώστε να είναι γενικά διαθέσιμη σε εμάς στο πρόγραμμα C, είναι απαραίτητο να συμπεριλάβουμε την κεφαλίδα stdio.h αρχείο στην αρχή του αρχείου πηγαίου κώδικα χρησιμοποιώντας την οδηγία συμπερίληψης.

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

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

Η οδηγία "συμπερίληψη" καθορίζει άμεσα ποια αρχεία πρέπει να περιλαμβάνονται σε μια δεδομένη θέση στο κείμενο του προγράμματος. Από προεπιλογή, μπορούμε να συμπεριλάβουμε τυπικά αρχεία από τον κατάλογο των λεγόμενων "αρχείων κεφαλίδας", τα οποία συνήθως παρέχονται με τις τυπικές βιβλιοθήκες του μεταγλωττιστή. Και το αρχείο "stdio.h" είναι μόνο ένα από αυτά τα αρχεία κεφαλίδας.

Γενικά, ο ίδιος ο όρος «αρχείο κεφαλίδας» υποδηλώνει τη συμπερίληψη του κειμένου του αρχείου στην αρχή ή στην κεφαλίδα του προγράμματος. Επομένως, τα αρχεία κεφαλίδας περιλαμβάνονται συνήθως στην αρχή του πηγαίου κώδικα. Επιπλέον, το αρχείο κεφαλίδας πρέπει να συμπεριληφθεί πριν καλέσετε τις συναρτήσεις που ορίζει. Δηλαδή, για παράδειγμα, το αρχείο stdio.h αποθηκεύει τον ορισμό της συνάρτησης printf, επομένως αυτό το αρχείο πρέπει να συμπεριληφθεί πριν καλέσετε τη συνάρτηση printf.

Αλλά γενικά, οι οδηγίες προεπεξεργαστή δεν χρειάζεται να τοποθετούνται στην αρχή του αρχείου.

Κατά τη μεταγλώττιση του πηγαίου κώδικα, ο προεπεξεργαστής εκτελεί πρώτα και σαρώνει τον πηγαίο κώδικα για γραμμές που ξεκινούν με τον χαρακτήρα #. Αυτές οι γραμμές αντιμετωπίζονται από τον προεπεξεργαστή ως οδηγίες. Και στη θέση αυτών των οδηγιών, το κείμενο μετατρέπεται. Για παράδειγμα, στη θέση της οδηγίας #include Εισάγεται ο κώδικας από το αρχείο stdio.h.

κύρια λειτουργία

Το σημείο εκκίνησης για οποιοδήποτε πρόγραμμα C είναι η συνάρτηση main(). Με αυτή τη λειτουργία ξεκινά η εκτέλεση της εφαρμογής. Το όνομά του main είναι σταθερό και είναι πάντα το ίδιο για όλα τα προγράμματα C.

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

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

#περιλαμβάνω void main() ( printf("Hello world!");)

#περιλαμβάνω int main() ( printf("Hello world!"); return 0; )

Η χρήση αυτών των ορισμών δεν θα ήταν σφάλμα και το πρόγραμμα θα εκτυπώσει επίσης τη συμβολοσειρά "Hello world" στην κονσόλα. Και για τους περισσότερους μεταγλωττιστές αυτό θα ήταν εντάξει.

Στη συνέχεια θα ρίξουμε μια πιο προσεκτική ματιά στον ορισμό των συναρτήσεων, αλλά εδώ πρέπει να λάβουμε υπόψη την ακόλουθη πτυχή. Ο ορισμός μιας συνάρτησης με τη μορφή int main(void) έχει καθοριστεί στο πρότυπο γλώσσας C11. Οι μεταγλωττιστές επικεντρώνονται κυρίως στο γλωσσικό πρότυπο, στις προδιαγραφές του. Επομένως, εάν χρησιμοποιήσουμε τον ορισμό που δίνεται στο γλωσσικό πρότυπο, τότε υπάρχει μεγαλύτερη πιθανότητα να υποστηρίζεται από όλους τους μεταγλωττιστές. Αν και, ξανά, επαναλαμβάνω, δεν θα γίνει μεγάλο λάθος στη χρήση της δεύτερης επιλογής ή του int main().

Μπορείτε να δείτε το πλήρες πιο πρόσφατο πρότυπο C11 στη διεύθυνση

Ανέστειλε το AdBlock σε αυτόν τον ιστότοπο.

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

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

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

Εικ. 1 Χάρτης "Δομή προγραμμάτων στη γλώσσα C." Πρώτο επίπεδο.

Σε όλη τη διάρκεια του μαθήματος, θα επιστρέψουμε σε αυτόν τον χάρτη, θα τον αποσαφηνίσουμε και θα τον συμπληρώσουμε με νέα στοιχεία και μπλοκ.

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

Καταχώριση 1. Πρόγραμμα 1. Εκτυπώνει "Hello, World!"

#περιλαμβάνω

Λίστα 2. Πρόγραμμα 2

Int main(void) (int a, b, c; a = 5; b = 10; c = a+b; return 0; )

Λίστα 3. Πρόγραμμα 3

#περιλαμβάνω int main(void) ( FILE *fp; fp = fopen("input.txt", "w"); fprintf(fp, "This is Sparta!"); fclose(fp); return 0; )

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

Άρα, η απάντηση: Σε όλα τα παραπάνω προγράμματα υπάρχει η εξής κατασκευή:

Λίστα 4. Η κύρια συνάρτηση οποιουδήποτε προγράμματος C είναι η κύρια συνάρτηση.

Int main(void) (επιστροφή 0;)

Τι είδους σχέδιο είναι αυτό; Αυτή είναι η δήλωση της κύριας λειτουργίας. Κάθε πρόγραμμα που είναι γραμμένο στη γλώσσα C πρέπει να έχει μια τέτοια λειτουργία Ένα μεγάλο ή μικρό πρόγραμμα, ένα παιχνίδι υπολογιστή ή ένα πρόγραμμα "Hello, World!", γραμμένο από εσάς ή τον Bill Gates Γλώσσα C - έχει μια κύρια λειτουργία. Αυτή είναι, θα λέγαμε, η κύρια λειτουργία του προγράμματός μας. Όταν εκτελούμε ένα πρόγραμμα, μπορούμε να το σκεφτούμε ότι εκτελεί την κύρια λειτουργία του προγράμματος.

Ας σταματήσουμε για ένα δευτερόλεπτο. Φαίνεται ότι έχουμε ήδη καταλάβει κάτι σχετικά με τη δομή των προγραμμάτων C. Κάθε πρόγραμμα C πρέπει να περιέχει μια κύρια συνάρτηση. Ας εμφανίσουμε αυτό το γεγονός στον χάρτη γνώσεων μας «Δομή προγραμμάτων στη γλώσσα C».

Εικ.2 Χάρτης "Δομή προγραμμάτων σε γλώσσα C." Λειτουργία κύρια.

Τώρα ο χάρτης δεν μας ενοχλεί με το κενό του. Ας συνεχίσουμε την έρευνά μας.

Επιτρέψτε μου να σας πω λίγα λόγια για την κύρια λειτουργία και για τις λειτουργίες γενικά.

Το όνομα της συνάρτησης προηγείται από το int, το οποίο είναι μια συντομογραφία της λέξης integer, η οποία μεταφράζεται από τα αγγλικά ως "integer". Αυτή η σημείωση σημαίνει ότι όταν η κύρια συνάρτηση ολοκληρώσει την εργασία της, θα πρέπει να επιστρέψει κάποιο ακέραιο στο καλούν πρόγραμμα (στην περίπτωσή μας, στο λειτουργικό σύστημα). Συνήθως, για την κύρια συνάρτηση αυτός είναι ο αριθμός μηδέν, ο οποίος ειδοποιεί το λειτουργικό σύστημα: "Όλα είναι καλά Δεν συνέβησαν περιστατικά".

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

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

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

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

Ίσως ρωτήσετε, γιατί ακριβώς μηδέν; Και ο διάβολος ξέρει! Απλώς έτσι το κάνουν συνήθως. Μπορείτε, καταρχήν, να επιστρέψετε κάποιον άλλο ακέραιο αριθμό, για παράδειγμα 100 ή -236. Αν ήταν μόνο ένας ακέραιος αριθμός. Θυμάστε το int; Επομένως το σύνολο.

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

Ας επιστρέψουμε τώρα στο πρώτο μας πρόγραμμα «Hello, World» και ας δούμε τι είναι τι.

Λίστα 5. Γεια, πρόγραμμα Κόσμος

#περιλαμβάνω int main(void) ( printf("Hello, World!\n"); return 0; )

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

Λίστα 6. Η οδηγία περιλαμβάνει

#περιλαμβάνω

Αυτή η γραμμή είναι ένα μήνυμα προς τον μεταγλωττιστή. Αυτά τα μηνύματα, που ξεκινούν με το σύμβολο #, ονομάζονται οδηγίες μεταγλώττισης. Κυριολεκτικά: "συνδέστε το αρχείο stdio.h." Κατά τη μεταγλώττιση, τα περιεχόμενα του αρχείου stdio.h θα εισαχθούν αντί αυτής της γραμμής. Τώρα ας μιλήσουμε λίγο για αυτό το αρχείο. Το stdio.h (από το αγγλικό STanDart Input Output) είναι ένα αρχείο κεφαλίδας που περιγράφει διάφορες τυπικές λειτουργίες που σχετίζονται με την είσοδο και την έξοδο.

Προκύπτει ένα εύλογο ερώτημα: "Γιατί χρειάζεται να γράψουμε αυτή τη γραμμή Γιατί χρειάστηκε καν να εισάγουμε αυτό το αρχείο εδώ;" Αυτό είναι απαραίτητο για να μπορούμε στο πρόγραμμά μας να χρησιμοποιήσουμε την τυπική λειτουργία προβολής οθόνης printf().

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

Το ίδιο και ο μεταγλωττιστής. Όταν συναντά μια συνάρτηση, αναζητά την περιγραφή της (δηλαδή τι πρέπει να κάνει και τι σημαίνει) στην αρχή του προγράμματος (από την αρχή μέχρι τη στιγμή που χρησιμοποιείται στο πρόγραμμα). Έτσι, η συνάρτηση printf() περιγράφεται στο αρχείο stdio.h. Γι' αυτό το συνδέουμε. Όταν όμως το συνδέσουμε, ο μεταγλωττιστής θα μπορεί να βρει τη συνάρτηση printf(), διαφορετικά θα βγάλει σφάλμα.

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

Εικ.3 Χάρτης "Δομή προγραμμάτων σε γλώσσα C." Μπλοκ για τη σύνδεση αρχείων κεφαλίδας.

Ας συνεχίσουμε με το πρόγραμμά μας.

Λίστα 7. συνάρτηση printf().

Printf("Hello, World!\n");

Σε αυτή τη γραμμή καλούμε την τυπική συνάρτηση printf(). Σε αυτήν την πιο απλή περίπτωση, της περνάμε μια παράμετρο, μια συμβολοσειρά γραμμένη σε εισαγωγικά που πρέπει να εμφανίζεται στην οθόνη, στην περίπτωσή μας είναι Hello, World! \n. Αλλά περιμένετε, τι είναι αυτό; Δεν υπήρχαν \n στην οθόνη όταν ξεκίνησε το πρόγραμμα. Γιατί τότε το γράψαμε αυτό εδώ; Αυτή η ακολουθία είναι ένας ειδικός χαρακτήρας, ο οποίος είναι μια εντολή για μετάβαση στην επόμενη γραμμή. Είναι σαν να πατάς το πλήκτρο Enter στο MS Word. Υπάρχουν αρκετοί τέτοιοι ειδικοί χαρακτήρες, όλοι τους γράφονται χρησιμοποιώντας τον χαρακτήρα "\" - μια ανάστροφη κάθετο. Αυτοί οι ειδικοί χαρακτήρες ονομάζονται χαρακτήρες ελέγχου. Μετά θα σας τα ξαναδείξω. Διαφορετικά, αυτό που γράψατε σε διπλά εισαγωγικά θα εμφανιστεί στην οθόνη.

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

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

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

Λίστα 8. Τυπικό πρότυπο για προγράμματα C.

#περιλαμβάνω int main(void) (επιστροφή 0;)

Λοιπόν, αυτό φαίνεται να είναι όλο. Με αυτό, το πρώτο μάθημα μπορεί να θεωρηθεί ολοκληρωμένο. Αν και όχι, υπάρχει ένα ακόμη σημείο.

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


Ο πηγαίος κώδικας του προγράμματος καρτ ποστάλ βρίσκεται στο αρχείο με τους πηγαίους κώδικες αυτού του μαθήματος. Πείραμα! Θα πετυχεις.

Το πρόγραμμα που είναι γραμμένο σε C# αποτελείται από τα ακόλουθα μπλοκ:

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

Ένα παράδειγμα απλού προγράμματος

Ας δούμε ένα απλό πρόγραμμα γραμμένο σε C#. Αυτή θα είναι μια εφαρμογή κονσόλας που εκτυπώνει τη συμβολοσειρά "Hello World" (ένα είδος κλασικού για το πρώτο πρόγραμμα στην πρακτική ενός προγραμματιστή). Ο κώδικας για ένα τέτοιο πρόγραμμα δίνεται παρακάτω, ας τον δούμε:

//Σύνδεση του χώρου ονομάτων Σύστημα με χρήση συστήματος. //Δήλωση του χώρου ονομάτων ProgramStructure ( //Δήλωση της κλάσης της κλάσης Program ( //Κύρια μέθοδος του προγράμματος static void Main(string args) ( //Έξοδος της γραμμής Console.WriteLine("Hello World!"); / /Βοηθητικός χειριστής Console.ReadKey () )

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

Δεύτερη γραμμή του προγράμματος ( χρησιμοποιώντας το σύστημα.) είναι ένας τελεστής που περιλαμβάνει τον τυπικό χώρο ονομάτων Σύστημα. Ουσιαστικά, έχουμε πρόσβαση σε ένα σύνολο τάξεων που είναι διαθέσιμες στο "κοντέινερ" Σύστημα. Όπως μπορείτε να δείτε, αυτή η γραμμή αποτελείται από δύο λέξεις, την πρώτη (λέξη-κλειδί χρησιμοποιώντας) σημαίνει ότι θέλουμε να συμπεριλάβουμε τον χώρο ονομάτων και το δεύτερο Σύστημα— το όνομα του απαιτούμενου χώρου ονομάτων.

Στο τέλος της δεύτερης γραμμής υπάρχει ένα σύμβολο ";" που υποδεικνύει το τέλος της δήλωσης. Κάθε δήλωση προγράμματος πρέπει να τελειώνει με ένα τέτοιο σύμβολο.

Η τέταρτη γραμμή του προγράμματος είναι και πάλι ένα σχόλιο, όπως και οι γραμμές 7, 10, 13, 15. Τα σχόλια στη C# ξεκινούν με τους χαρακτήρες "//" (δύο κάθετες προς τα εμπρός, δύο κάθετες) και ισχύουν μόνο μέχρι το τέλος του η γραμμή.

Το C# έχει επίσης σχόλια πολλαπλών γραμμών, μερικές φορές είναι πιο βολικό να τα χρησιμοποιήσετε, θα τα συναντήσουμε αργότερα.

Στην πέμπτη γραμμή ( Χώρος ονομάτων Δομή προγράμματος) δηλώνει τον δικό του χώρο ονομάτων, ονομάζεται "ProgramStructure". Ο χώρος ονομάτων είναι ένα είδος κοντέινερ και οριοθετείται από τα σγουρά στηρίγματα (που ανοίγουν στη γραμμή 6 και κλείνουν στη γραμμή 19) που ακολουθούν το όνομά του. Έτσι, τα πάντα μεταξύ των γραμμών 6 και 19 ανήκουν στον χώρο ονομάτων Δομή Προγράμματος.

Η γραμμή 8 δηλώνει μια κλάση που ονομάζεται "Πρόγραμμα", αυτή είναι η κύρια και μοναδική κλάση του προγράμματός μας. Όπως μπορείτε να δείτε, η λέξη-κλειδί χρησιμοποιείται για τη δήλωση μιας κλάσης τάξηακολουθούμενο από το όνομα της τάξης. Το πρόγραμμα μπορεί να έχει όχι μία, αλλά πολλές κλάσεις. Συνήθως, μια κλάση αποτελείται από ένα σύνολο μεθόδων που ορίζουν τη λεγόμενη συμπεριφορά της κλάσης (λειτουργικότητα, αν θέλετε). Τα όρια των κλάσεων, καθώς και οι χώροι ονομάτων, υποδηλώνονται με σγουρά άγκιστρα (γραμμές 9 και 18). Στην περίπτωσή μας, η κλάση έχει μόνο μία μέθοδο, αυτή είναι η μέθοδος Κύριος.

Η γραμμή 11 απλώς δηλώνει τη μέθοδο Κύριος. Αυτή η μέθοδος είναι η κύρια στο πρόγραμμά μας, το λεγόμενο σημείο εισόδου στο πρόγραμμα. Αυτό σημαίνει ότι όταν ξεκινήσει το πρόγραμμα, η μέθοδος θα εκτελεστεί πρώτη Κύριος. Κάθε μέθοδος έχει επίσης όρια, τα οποία υποδεικνύονται επίσης με σγουρά τιράντες (γραμμές 12 και 17).

Μέθοδος ΚύριοςΤο πρόγραμμά μας περιέχει μόνο δύο δηλώσεις. Αυτές οι δηλώσεις εμφανίζονται στις γραμμές 14 και 16. Η πρώτη τυπώνει το μήνυμα "Hello World!" Και το δεύτερο είναι βοηθητικό, αναγκάζει το πρόγραμμα να περιμένει να πατηθεί ένα πλήκτρο στο πληκτρολόγιο και δεν του επιτρέπει να ολοκληρώσει την εκτέλεσή του μέχρι εκείνη τη στιγμή (χωρίς αυτόν τον χειριστή, το πρόγραμμα θα είχε εκτυπώσει τη γραμμή και θα έκλεινε γρήγορα , ώστε να μην προλάβουμε καν να διαβάσουμε τι βγάζει).

Τώρα προσπαθήστε να δημιουργήσετε και να εκτελέσετε αυτό το πρόγραμμα στο Visual Studio. Για να το κάνετε αυτό χρειάζεστε:

  • εκκίνηση του Visual Studio.
  • Δημιουργήστε ένα νέο έργο εφαρμογής κονσόλας.
  • αντιγράψτε τις γραμμές 13-16 από το παραπάνω παράδειγμα.
  • εισάγετε αυτές τις γραμμές στη μέθοδο Κύριοςέργο που δημιουργήθηκε στο Visual Studio.
  • πατήστε το πλήκτρο F5.

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

Κάθε πρόγραμμα γραμμένο στη γλώσσα C αποτελείται από μία ή περισσότερες «συναρτήσεις», οι οποίες είναι οι κύριες ενότητες από τις οποίες συναρμολογείται.

Ένα παράδειγμα της δομής ενός απλού προγράμματος C:

Γενική μορφή

Παράδειγμα

οδηγίες προεπεξεργαστή

#περιλαμβάνω

# ορίστε το N 10

όνομα της κύριας λειτουργίας

έναρξη του σώματος κύριας λειτουργίας

δηλώσεις μεταβλητών και πινάκων

int x=1; char str[N];

προγραμματικές δηλώσεις

βάζει("Εισαγω Ονομα");

gets(str);

printf("\n %s, είσαι %d καλεσμένος μου!",str,x);

Τέλος κύριας λειτουργίας σώμα

      1. Οδηγίες προεπεξεργαστή

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

Η πιο συχνά χρησιμοποιούμενη οδηγία είναι η συμπερίληψη ενός αρχείου σε ένα πρόγραμμα

# περιλαμβάνω < όνομα>

Οπου όνομα– το όνομα του αρχείου που περιλαμβάνεται στο κείμενο του προγράμματος.

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

# περιλαμβάνω < μαθηματικά. η>

θα σας επιτρέψει να χρησιμοποιήσετε τυπικές μαθηματικές συναρτήσεις στο πρόγραμμα, όπως sin x, cos x, ln x κ.λπ. Μια λίστα με τυπικές μαθηματικές συναρτήσεις θα δοθεί παρακάτω.

Διευθυντικός

# περιλαμβάνω < stdio. η>

καθιστά δυνατή τη χρήση τυπικών συναρτήσεων εισόδου/εξόδου στο πρόγραμμα.

Μια άλλη ευρέως χρησιμοποιούμενη οδηγία είναι η οδηγία για τον ορισμό

#define S1 S2

Οπου S1, S2– συμβολοσειρές χαρακτήρων.

Ο προεπεξεργαστής βρίσκει μια σειρά χαρακτήρων στο κείμενο του προγράμματος μικρό1 και το αντικαθιστά με τη χορδή μικρό2 . Για παράδειγμα, να συμπεριληφθεί στο πρόγραμμα η οδηγία

# καθορίζω Π printf

σας επιτρέπει να πληκτρολογήσετε ένα γράμμα στο πληκτρολόγιο Παντί της λέξης printf.

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

      1. Κύρια λειτουργία

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

κενό κύριο (κενό)

void main()

      1. Μεταβλητές και Πίνακες

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

a – z, A - Z, 0 – 9,_(υπογράμμιση),

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

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

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

k = sizeof(int);

printf(«Σε μια μεταβλητή τύπουενθΈχουν εκχωρηθεί %d byte μνήμης”,κ);

Αυτές οι οδηγίες συζητούν τρεις κύριους τύπους μεταβλητών και πινάκων και παρέχουν τυπικές τιμές για την ποσότητα της μνήμης που καταλαμβάνεται και το εύρος τιμών (Πίνακας 1):

Τραπέζι 1

Τύπος Specifier (Λέξη-κλειδί)

Εννοια

Μέγεθος

μνήμη (byte)

Εύρος τιμών

Ακέραιος αριθμός

32768 . . . +32767

2147483648 . . . +2147483647

Εγκυρος

Πραγματικός αριθμός

3,4¼10 -38. . . 3,4¼10 38

(modulo)

Συμβολικός

128 . . . +127

Ας ρίξουμε μια πιο προσεκτική ματιά στη μεταβλητή τύπου απανθρακώνω. Όπως φαίνεται από τον πίνακα. 1, μεταβλητή τύπου απανθρακώνω καταλαμβάνει ένα byte μνήμης. Ένα byte μνήμης μπορεί να περιέχει είτε έναν ανυπόγραφο ακέραιο από την περιοχή , είτε έναν προσημασμένο ακέραιο από το εύρος [–128, 127]. Αυτός ο αριθμός είναι ο κωδικός για έναν από τους 256 χαρακτήρες. Ο χαρακτήρας που αντιστοιχεί σε έναν δεδομένο κωδικό καθορίζεται από τον πίνακα κωδικών που χρησιμοποιείται. Έτσι, η τιμή μιας μεταβλητής όπως απανθρακώνωμπορεί να αντιμετωπιστεί είτε ως ακέραιος είτε ως χαρακτήρας του οποίου ο κωδικός είναι ίσος με αυτόν τον αριθμό.



Συνιστούμε να διαβάσετε

Μπλουζα