Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Το αλφαριθμητικό (string)
Βασικές Έννοιες Προγραμματισμού
Προγραμματισμός Ι (αποφύγετέ τον!) 3) Διακοπτόμενος βρόχος: (αποφύγετέ τον!) float energy;......while(TRUE){drink_water(); if(energy
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Προγραμματισμός Ι Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Αναδρομη και static Γραψετε την συναρτηση sequence_size που διαβαζει μια απροσδιοριστου μεγεθους σειρας και υπολογιζει και τυπωνει το μεγεθος της. int.
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Γλώσσα Προγραμματισμού
Τύποι πραγματικών αριθμών
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Μήτρες (templates)  Μία μήτρα είναι ένα κομμάτι κώδικα που περιέχει παραμέτρους οι οποίες δέχονται ως τιμές τύπους δεδομένων.  Είναι ένας μηχανισμός.
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Ολυμπιάδα Πληροφορικής
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
ΣΥΝΑΡΤΗΣΕΙΣ.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΠ06 - Μεταγλωττιστές Εισαγωγή στον Bison Φροντιστήριο - 30/03/2009.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΠ06 - Μεταγλωττιστές Εισαγωγή στον Bison Φροντιστήριο - 23/03/2010.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Ξεχωριστή Μεταγλώττιση & Χώροι Ονομάτων Αντικειμενοστραφής Προγραμματισμός.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Ενισχυτική διδασκαλία
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Εντολές και δομές αλγορίθμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * ********************************************* */ #include<stdio.h> void main() { printf(“This is a test.\n”); }

Ένα απλό πρόγραμμα σε C /* This program prints out the sentence “This is a test.” */ #include<stdio.h> void main () { printf(“This is a test.\n”); } To Σχόλιο (comment) είναι κείμενο ανάμεσα σε /* και */. Να χρησιμοποιείτε συχνά σχόλια για να επεξηγείτε το πρόγραμμά σας και τα τμήματά του. Ο μεταγλωττιστής δε λαμβάνει υπόψη τα σχόλια.

#include σημαίνει “διάβασε και από αυτό το αρχείο” /* This program prints out the sentence “This is a test.” */ #include<stdio.h> void main () { printf(“This is a test.\n”); } stdio είναι ένα αρχείο (library) που παρέχει “πρότυπες συναρτήσεις εισόδου/εξόδου” (όπως η printf) Αρχείο με κατάληξη .h ονομάζεται αρχείο κεφαλίδας

Ένα απλό πρόγραμμα σε C /* This program prints out the sentence “This is a test.” */ #include<stdio.h> void main () { printf(“This is a test.\n”); } Η εκτέλεση του προγράμματος αρχίζει πάντοτε από τη συνάρτηση main(). ΟΛΑ τα προγράμματα σε C ή C++ έχουν συνάρτηση main(), η οποία συνήθως καλεί άλλες συναρτήσεις.

Ένα απλό πρόγραμμα σε C Όλες οι συναρτήσεις χρησιμοποιούν άγκιστρα για να σημειώσουν την αρχή και το τέλος της συνάρτησης. #include<stdio.h> void main () { printf(“This is a test.\n”); } Tο τμήμα ανάμεσα στα άγκιστρα ονομάζεται σώμα (body) της συνάρτησης.

Ένα απλό πρόγραμμα σε C Μία συνάρτηση είναι ένα σύνολο προτάσεων με ένα δεδομένο όνομα, π.χ. main(), printf(). #include<stdio.h> void main () { printf(“This is a test.\n”); } Η πρόταση αυτή καλεί τη συνάρτηση printf() για να τυπώσει το καθορισμένο κείμενο. Τα ορίσματα εισόδου (input arguments) περικλείονται από παρενθέσεις και προσδιορίζουν το προς εκτύπωση κείμενο και τη μορφή με την οποία θα εκτυπωθεί. A function is just a way to group together a set of instructions that you use over and over. give a name to a sequence of instructions you do may do over and over again. To run a function, just write its name. Functions can hold other functions.

Ένα απλό πρόγραμμα σε C #include<stdio.h> void main () { printf(“This is a test.\n”); } ΟΛΕΣ οι προτάσεις τελειώνουν με ερωτηματικό (semicolon) ; το οποίο ονομάζεται σύμβολο τερματισμού πρότασης. Λεπτομέρειες της printf(): \n σημαίνει ‘μετακινήσου στην επόμενη γραμμή’. Ονομάζεται ακολουθία διαφυγής (escape sequence). Statement details >This is a test. > Η έξοδος στην οθόνη είναι:

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

Σύνταξη σχολίων /* Tο σχόλιο /* αυτό */ είναι λανθασμένο */ σχόλιο Να ευθυγραμμίζετε τα σύμβολα των σχολίων και να μην τοποθετείτε ποτέ σχόλια μέσα σε σχόλια (φώλιασμα, nesting) γιατί μερικοί μεταγλωττιστές θα μπερδευτούν. σχόλιο κώδικας;

Παρατηρήσεις: Η γλώσσα C διαχωρίζει τα κεφαλαία γράμματα από τα μικρά (case sensitive). Η εντολή Printf() ΔΕΝ είναι ίδια με την printf(). Όλες οι εντολές στη C γράφονται με μικρά γράμματα! Η σωστή στηλοθεσία είναι πολύ σημαντική καθώς καθιστά τον κώδικα ευανάγνωστο. Να γράφετε πάντοτε σχόλια στα προγράμματά σας. Η εντολή printf() ανήκει στις μορφοποιούμενες συναρτήσεις εισόδου–εξόδου. Ονομάζεται μορφοποιούμενη γιατί δίνει τη δυνατότητα στο χρήστη να μορφοποιήσει την έξοδό της, δυνάμενη να εκτυπώσει μεταβλητές διαφόρων τύπων και με διάφορους τρόπους, χρησιμοποιώντας κατάλληλα σύμβολα. Δυαδική της printf() είναι η scanf(), η οποία λαμβάνει πληροφορία από την είσοδο (πληκτρολόγιο).

Παρατηρήσεις (συνέχεια): Η πρόταση printf( "This is a test.\n" ); καλεί την printf() για να τυπωθεί το καθορισμένο κείμενο. Τα ορίσματα εισόδου (input arguments) περικλείονται από παρενθέσεις και προσδιορίζουν το προς εκτύπωση κείμενο και τη μορφή με την οποία θα εκτυπωθεί. Τέλος, το σύμβολο \n, που ανήκει στις ακολουθίες διαφυγής, σημαίνει «μετακινήσου στην επόμενη γραμμή». Λεπτομερής περιγραφή της λειτουργίας των συναρτήσεων εισόδου – εξόδου δίνεται στη συνέχεια. Πέραν της include, μία σημαντική οδηγία προς τον προεπεξεργαστή είναι η define, η οποία αντιστοιχίζει ένα όνομα με μία σταθερά ή με μία σειρά χαρακτήρων. Οποτεδήποτε εμφανίζεται το όνομα μέσα στον κώδικα, αντικαθίσταται αυτόματα με την τιμή της σταθεράς ή τη συμβολοσειρά.

#define TITLOS "Dpt of Informatics and Communications\n " Για παράδειγμα, εάν χρησιμοποιηθεί η λέξη TRUE στη θέση της τιμής 1 και η λέξη FALSE στη θέση της τιμής 0, θα δοθούν δύο define ως εξής: #define TRUE 1 #define FALSE 0 Εάν αντικατασταθεί ολόκληρη φράση, μπορεί να εμφανισθεί στην οθόνη με χρήση της printf(): #define TITLOS "Dpt of Informatics and Communications\n " printf( TITLOS ); To αποτέλεσμα είναι: Dpt of Informatics and Communications Μία συνηθισμένη χρήση της define είναι για τον καθορισμό του μεγέθους στοιχείων, όπως είναι η διάσταση ενός πίνακα, τα οποία μπορεί να αλλάξουν κατά την εκτέλεση του προγράμματος.

Λεξιλόγιο της γλώσσας C Δεσμευμένες λέξεις (reserved words) Λέξεις κλειδιά (keywords) Τελεστές (operators) Αναγνωριστές (identifiers)

Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως printf(), abs() κ.λ.π. Macro names. Είναι ονόματα που περιέχονται σε αρχεία κεφαλίδας για ορισμό μακροεντολών, π.χ. EOF, INT_MAX. Τype names. Είναι ονόματα τύπων σε ορισμένα αρχεία κεφαλίδας, π.χ. time_t, va_list. Ονόματα εντολών προεπεξεργαστή (preprocessor). Είναι ονόματα που χρησιμοποιεί προεπεξεργαστής της C και έχουν προκαθορισμένη σημασία, π.χ. include, define. Ονόματα που αρχίζουν με το χαρακτήρα υπογράμμισης _ και έχουν δεύτερο χαρακτήρα τον ίδιο ή κεφαλαίο γράμμα, π.χ. _DATE_, _FILE_.

Λέξεις κλειδιά: Λεκτικές μονάδες που μόνες τους ή με άλλες λεκτικές μονάδες χαρακτηρίσουν κάποια γλωσσική κατασκευή Π.χ. int: αναπαριστά τον ακέραιο τύπο δεδομένων if-else: χρησιμοποιούνται στον έλεγχο ροής προγράμματος Οι λέξεις κλειδιά, αν και είναι ένας περιορισμός των γλωσσών, αυξάνουν την αναγνωσιμότητα και αξιοπιστία των προγραμμάτων ενώ ταυτόχρονα επιταχύνουν τη διαδικασία της μεταγλώττισης. Λέξεις κλειδιά όπως if, else, for, case, while, do έχουν γίνει κοινά αποδεκτές, διευκολύνοντας την εκμάθηση των γλωσσών προγραμματισμού.

Λέξεις κλειδιά στην ANSI C: auto else register union break enum return unsigned case extern short void char float signed volatile const for sizeof while continue goto static default if struct do int switch double long typedef

Αναγνωριστές: Λεκτικές μονάδες που κατασκευάζει ο προγραμματιστής Αναγνωριστές: Λεκτικές μονάδες που κατασκευάζει ο προγραμματιστής. Αυτές οι λεκτικές μονάδες χρησιμοποιούνται συνήθως ως ονόματα που ο προγραμματιστής δίνει σε δικές του κατασκευές, όπως μεταβλητές, σταθερές, συναρτήσεις και δικούς του τύπους δεδομένων. Ένα όνομα προσδιορίζει μοναδιαία (uniquely identifies), από το σύνολο των κατασκευών του προγράμματος, την κατασκευή στην οποία αποδόθηκε, εξ ου και το όνομα αναγνωριστής (identifier).

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως i, j, x, y (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: - ονομάστε τη μεταβλητή που αναπαριστά την ταχύτητα ως velocity και τη μέγιστη τιμή της max_velocity ή maxVelocity. - ονομάστε τη συνάρτηση που εμφανίζει τα λάθη στην οθόνη display_error ή displayError. Για καλύτερη αναγνωσιμότητα των μεταβλητών που αποτελούνται από δύο ή περισσότερες λέξεις αποφασίστε αν θα χρησιμοποιείτε τη μορφή display_error ή τη μορφή displayError. Τηρείστε τη σύμβαση σε όλο το πρόγραμμα. Χρησιμοποιείστε μικρά γράμματα για ονόματα μεταβλητών.