background preloader

Βασικές Αρχές Προγραμματισμού

Facebook Twitter

Happy Codings - C Programming Sample Code Source Code Search Engine, Code Examples. Cplusplus.com - The C++ Resources Network. Εισαγωγή στον προγραμματισμό υπολογιστών. Eisagogi_stin_pliroforiki. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Κεντρική Σελίδα. C-Exercises. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Μέρος 1 - Εισαγωγή. Η Γλώσσα Προγραμματισμού C(Μέρος 1 - Εισαγωγή) Σύντομη Ιστορία της C Η γλώσσα προγραμματισμού C δημιουργήθηκε από τον Dennis Ritchie στα Bell Labs το 1972 όταν αυτός και ο Ken Thompson ασχολούνταν με τον σχεδιασμό του λειτουργικού συστήματος Unix.

Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Μέρος 1 - Εισαγωγή

Η C ήταν μια εξέλιξη της γλώσσας Β του Ken Thompson και εκείνη με τη σειρά της ήταν μια εξέλιξη της γλώσσας BCPL και δημιουργήθηκε για να μπορέσει να καλύψει κάποιες αυξημένες ανάγκες στον προγραμματισμό. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Οι Βασικές Εντολές της C. Η Γλώσσα Προγραμματισμού C(Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C Η C, όπως όλες οι γλώσσες προγραμμστισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές λειτουργίες.

Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Οι Βασικές Εντολές της C

Το = είναι ένας τελεστής καταχώρησης τιμών. Πρέπει να έχουμε υπόψη μας ότι δεν μπορούμε να καταχωρήσουμε τιμή σε μια σταθερά και το μέρος στα αριστερά του συμβόλου = πρέπει να είναι το όνομα της μεταβλητής και αναφέρεται σε μία θέση αποθήκευσης. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Συναρτήσεις, Πίνακες και Δείκτες. Η Γλώσσα Προγραμματισμού C(Μέρος 3 - Συναρτήσεις, Πίνακες και Δείκτες) Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων.

Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Συναρτήσεις, Πίνακες και Δείκτες

Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(), strlen() και άλλες, αλλά έχουμε δημιουργήσει και δικές μας συναρτήσεις. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Προχωρημένα Θέματα. Η Γλώσσα Προγραμματισμού C(Μέρος 4 - Προχωρημένα Θέματα) Είσοδος/Εξοδος Αρχείων Ένα αρχείο είναι ένας χώρος της μνήμης, συνήθως σ' έναν σκληρό δίσκο, μ’ ένα όνομα.

Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Η Γλώσσα Προγραμματισμού C - Προχωρημένα Θέματα

Η C βλέπει ένα αρχείο σαν μια ακολουθία από bytes, καθένα από τα οποία μπορεί να διαβαστεί μεμονωμένα. Η C έχει δύο προσεγγίσεις για τα αρχεία. Στη δυαδική προσέγγιση, κάθε byte του αρχείου είναι προσπελάσιμο σ' ένα πρόγραμμα, ενώ στην προσέγγιση κειμένου, αυτό που βλέπει το πρόγραμμα μπορεί να διαφέρει από το τι περιέχεται στο αρχείο. Μπορούμε ακόμα να διαλέξουμε μεταξύ δύο επιπέδων εισόδου/εξόδου, δηλ. δύο επιπέδων διαχείρισης της προσπέλασης της αρχείων.

Από την άλλη πλευρά, η τυποποιημένη Ε/Ε είναι με προσωρινό καταχωρητή και οι ρουτίνες Ε/Ε διαβάζουν από ή γράφουν σ’ έναν ενδιάμεσο προσωρινό καταχωρητή. Τα Τυποποιημένα Αρχεία της C Τα προγράμματα της C ανοίγουν αυτόματα τα εξής τρία αρχεία : την τυποποιημένη είσοδο, την τυποποιημένη έξοδο και το τυποποιημένο λάθος. Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Εντολές και Συναρτήσεις στη C. Τα σχόλια στη C γράφονται ανάμεσα στα σύμβολα /* και */ και μπορούν να καταλαμβάνουν και περισσότερες από μία γραμμές.

Κέντρο ΠΛΗΝΕΤ Ν. Φλώρινας - Εντολές και Συναρτήσεις στη C

Ένα πρόγραμμα στη C πρέπει να ξεκινά με τις δηλώσεις #include <stdio.h> και main() και μετά όλο το πρόγραμμα περικλείεται στις αγκύλες { και }. Με τις αγκύλες αυτές δηλώνουμε γενικότερα μια ομάδα (μπλοκ) εντολών, κάτι αντίστοιχο δηλ. των δηλώσεων begin και end της Pascal. #include <stdio.h> main /* κύριο πρόγραμμα*/ Οι τύποι δεδομένων πρέπει να δηλώνονται στην αρχή του προγράμματος : int i; /* ακέραιος από -32767 έως 32768 */ char ch; /* χαρακτήρας ascii από 0-255 */ char name[20]; /* string 20 χαρακτήρων */ long misthos; /* μεγάλος ακέραιος */ float b; /* πραγματικός αριθμός*/ double a; /* πραγματικός αριθμός μεγαλύτερης ακρίβειας*/ ‘x’ /* είναι μόνο ο χαρακτήρας x */ "x" /* είναι ίσο με x\0 */ Η εντολή εκτύπωσης συντάσσεται ως εξής : printf("Ο αριθμός είναι %d και ο χαρακτήρας είναι %c \n", i, ch); /* τα %d και %c είναι προσδιοριστές ακεραίων και χαρακτήρων αντίστοιχα*/ int i = 0; do.

C/Μάθημα 1ο - Βικιεπιστήμιο. Hello World[επεξεργασία] Ας περάσουμε στην πράξη.

C/Μάθημα 1ο - Βικιεπιστήμιο

Το πιο απλό πρόγραμμα, και το εκ των πραγμάτων πρώτο παράδειγμα για κάθε γλώσσα προγραμματισμού είναι το περιβόητο hello world πρόγραμμα. Αυτό είναι μια εφαρμογή που ξεκινάει, δείχνει το μήνυμα 'Hello world', και τερματίζει. Ο κώδικας εμφανίζεται παρακάτω με τις γραμμές του αριθμημένες. Την αρίθμηση θα την παραλείψετε όταν αντιγράψετε τον κώδικα. C/Μάθημα 2ο - Βικιεπιστήμιο. Δεδομένα[επεξεργασία] Τα προγράμματα επεξεργάζονται δεδομένα που είναι αποθηκευμένα στην κύρια μνήμη (RAM), και είναι είτε χαρακτήρες είτε αριθμοί.

C/Μάθημα 2ο - Βικιεπιστήμιο

Διακρίνονται όμως και ως προς τον τύπο των δεδομένων που περιέχουν, καθώς αλλιώς αποθηκεύεται ένας ακέραιος και αλλιώς ένας δεκαδικός αριθμός. Αυτό γίνεται για λόγους οικονομίας στη χρήση της μνήμης επειδή ένας ακέραιος καταλαμβάνει λιγότερο χώρο για να αποθηκευτεί από ότι ένας δεκαδικός. Επιπλέον στην C όλα τα δεδομένα, ανεξαρτήτως τύπου, αποθηκεύονται με δύο τρόπους, είτε ως μεταβλητές είτε ως σταθερές. Μια μεταβλητή περιέχει μια τιμή η οποία μπορεί να μεταβληθεί κατά την εκτέλεση του προγράμματος. Τύποι δεδομένων[επεξεργασία] Στην C υπάρχουν οι ακόλουθοι τύποι δεδομένων Σημειώστε ότι η ακριβής έκταση σε Bytes που καταλαμβάνει ο κάθε τύπος ενδέχεται να διαφέρει ανάλογα με την αρχιτεκτονική του συστήματος αλλά και τον μεταγλωττιστή, όπως θα δούμε παρακάτω. C/Μάθημα 3ο - Βικιεπιστήμιο. Στο μάθημα αυτό θα μελετήσουμε τους τελεστές και την χρήση τους στην C.

C/Μάθημα 3ο - Βικιεπιστήμιο

Οι τελεστές χωρίζονται σε τρεις κατηγορίες ανάλογα με τις μεταβλητές που μπορούν να χειριστούν ταυτόχρονα. Υπάρχουν οι μοναδιαίοι τελεστές (unary), οι δυαδικοί (binary), και οι τριαδικοί (ternary). Πριν συνεχίσουμε πρέπει να ξεκαθαρίσουμε κάτι. Expression στην C θεωρείτε οποιαδήποτε μαθηματική ή μη μαθηματική έκφραση, έχει μία τιμή. Είναι πολύ σημαντικό να το θυμάστε αυτό γιατί τα expression παίζουν δέοντα ρόλο στον κώδικά μας. Αριθμητικοί Τελεστές (Arithmetic Operators)[επεξεργασία] Στο προηγούμενο μάθημα αναφέρθηκαν μερικοί μαθηματικοί τελεστές. Σημείωση: Η πράξη ακέραια διαίρεση (div) εκτελείται με ανάθεση του αποτελέσματος της διαίρεσης σε ακέραιο αριθμό.

C/Μάθημα 4ο - Βικιεπιστήμιο. Στο μάθημα αυτό θα κάνουμε μάθουμε εντολές λήψης αποφάσεων.

C/Μάθημα 4ο - Βικιεπιστήμιο

Δομή ελέγχου if[επεξεργασία] Η δομή if είναι ένας τρόπος επικοινωνίας με το πρόγραμμα. Στην ουσία είναι μια "ερώτηση" που κάνουμε και πράττουμε ανάλογα με την απάντηση. Η ερώτηση είναι υπό την μορφή μιας συνθήκης και η if ελέγχει την ορθότητα της. C/Μάθημα 5ο - Βικιεπιστήμιο. Σε αυτό το μάθημα θα εξετάσουμε τις επαναληπτικές δηλώσεις (iterative statements).

C/Μάθημα 5ο - Βικιεπιστήμιο

Επαναληπτικές δηλώσεις ονομάζονται μπλοκ κώδικα που εκτελούνται παραπάνω από μία φορές ανάλογα με την συνθήκη που τα έχουμε δηλώσει. while[επεξεργασία] Η while χρησιμοποιείτε όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων ή υπάρχει περίπτωση οι εντολές να μην εκτελεστούν ούτε μία φορά. C/Μάθημα 6ο - Βικιεπιστήμιο. Σε όλες τις γλώσσες προγραμματισμού υπάρχει η δυνατότητα ομαδοποίησης των δεδομένων ίδιου τύπου. Συμβατικά ονομάζουμε την δομή που προκύπτει πίνακα, θεωρώντας πως τα δεδομένα αποθηκεύονται σε γραμμές και στήλες αν και στην μνήμη η αποθήκευση γίνεται σειριακά. Αναφορά στον πίνακα γίνεται μέσω ενός ονόματος, όπως στις μεταβλητές, ενώ για τα δεδομένα ενός πίνακα χρησιμοποιείται το όνομα και ένας αριθμός που καθορίζει την θέση του στοιχείου μέσα στον πίνακα. C/Μάθημα 7ο - Βικιεπιστήμιο. Ασχολούμενοι όλο και περισσότερο με τον προγραμματισμό θα διαπιστώσετε πως κάποιες εντολές γίνονται επαναλαμβανόμενες. Αν θέλαμε για παράδειγμα στο πρόγραμμα κρυπτογράφησης του προηγούμενου μαθήματος να δημιουργήσουμε ένα μενού όπου ο χρήστης θα επέλεγε ανάμεσα στις επιλογές κρυπτογράφησης και αποκρυπτογράφησης, με τις μέχρι τώρα γνώσεις μας, θα το κάναμε με μια δομή επανάληψης.

Όμως αν στην συνέχεια θέλαμε να προσθέσουμε και άλλα μενού η δομή επανάληψης θα γινόταν περίπλοκη και χαοτική. Λύση σε αυτό το πρόβλημα δίνουν οι συναρτήσεις(functions) οι οποίες έχουν δύο σημαντικά πλεονεκτήματα: Απλοποίηση και ευκολότερη ανάγνωση του κώδικα,Αποφυγή του code duplication, δηλαδή να ξαναγράφεται ο ίδιος κώδικας περισσότερες από μία φορές. Έχουμε ήδη εξετάσει την συνάρτηση main(). Index.htm.