ΔΟΜΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C 1.Σχόλια 2.Οδηγίες προεπεξεργαστή 3.Ορισμοί τύπων 4.Δηλώσεις συναρτήσεων (πρωτότυπα) 5.Ορισμός της main 6.Ορισμοί συναρτήσεων.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΜΑΘΗΜΑ 7ο Κυκλικές και Διπλά Συνδεδεμένες Λίστες,
Advertisements

Αναδρομη και static Γραψετε την συναρτηση sequence_size που διαβαζει μια απροσδιοριστου μεγεθους σειρας και υπολογιζει και τυπωνει το μεγεθος της. int.
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Προγραμματισμός Ι Παράδειγμα: Παράδειγμα: Να γραφεί πρόγραμμα που επιλύει δευτεροβάθμιες εξισώσεις. Να δέχεται ως είσοδο τους συντελεστές της εξίσωσης.
Εντολες Επιλογης (Selection)
ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Μετατροπή Εκφράσεων σε C
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 1 Δείκτες σε συναρτήσεις Δείκτης σε συνάρτηση – Περιέχει τη διεύθυνση του κώδικα της συνάρτησης – Ό π ως ένας.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.
9-1 ΜΑΘΗΜΑ 9 ο Δυαδικά Δένδρα, Διάσχιση Δυαδικών Δένδρων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Τύ π οι Μεταβλητών Τελεστές Βασική Είσοδος / Έξοδος.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Επιπλέον στοιχεία της C.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
Εισαγωγή - Τα Βασικά της C1 Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ «Προγραμματισμός.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 4: Επαναληπτικές δομές. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών.
Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 5: Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος.
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Εισαγωγή στον Προγ/μό Η/Υ
Επανάληψη.
Η γλώσσα C Προγραμματισμός Ι
Βασικές Έννοιες Εισόδου-Εξόδου Πίνακες και Δείκτες
Ενισχυτική διδασκαλία
Π Ι Ν Α Κ Ε Σ (arrays) ΤΑΞΙΝΟΜΗΣΗ
Αναγνωριστικά Αναγνωριστικά (identifiers) – Ονοματοδοσία
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΛΩΣΣΑ C
Τεχνολογία και Προγραμματισμός Υπολογιστών
Δομές.
Προγραμματισμός Ι Εισαγωγικά θέματα.
Πίνακες Προγραμματισμός Ι
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Ενότητα Εισαγωγή Είναι εύκολη στη χρήση και στην εκμάθηση.
Ενισχυτική διδασκαλία
Ενισχυτική διδασκαλία
ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ Η εντολή if if ( παράσταση) εντολή επόμενη εντολή.
for (παράσταση_1; παράσταση_2; παράσταση_3)
Δομές διακλάδωσης, επαναλήψεις, μέθοδοι
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Ταξινόμηση Ορισμός: Δοθέντων των στοιχείων a1,a2,… ,an η ταξινόμηση συνίσταται στην αντιμετάθεση της θέσης των στοιχείων ώστε να τοποθετηθούν με μια νέα.
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΛΩΣΣΑ C
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Πρωτογενείς τύποι δεδομένων
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Συναρτήσεις στη C++ ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή
النسبة الذهبية العدد الإلهي
Τύποι δεδομένων και τελεστές,
Είσοδος/έξοδος χαμηλού επιπέδου
Stack[ ] Queue[ ] 7 9 本試卷全部試題均須回答。
ΑΣΚΗΣΕΙΣ C.
ΑΣΚΗΣΕΙΣ.
Μεταγράφημα παρουσίασης:

ΔΟΜΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C 1.Σχόλια 2.Οδηγίες προεπεξεργαστή 3.Ορισμοί τύπων 4.Δηλώσεις συναρτήσεων (πρωτότυπα) 5.Ορισμός της main 6.Ορισμοί συναρτήσεων Τμήμα Δηλώσεων

ΣΧΟΛΙΑ Παράδειγμα // Σχόλιο γραμμής /* Το παρόν πρόγραμμα υπολογίζει τη μέση τιμή τριών αριθμών */

ΟΔΗΓΙΕΣ ΠΡΟΕΠΕΞΕΡΓΑΣΤΗ Η οδηγία #include ενσωματώνει το περιεχόμενο του αρχείου stdio.h, το οποίο αποτελείται από δηλώσεις των βασικών συναρτήσεων εισόδου-εξόδου της C, στο αρχείο του πηγαίου κώδικα.

Η οδηγία #include “arxeio.h” προκαλεί την ενσωμάτωση του περιεχομένου του αρχείου arxeio.h, που δημιούργησε ο προγραμματιστής και είναι αποθηκευμένο στον τρέχοντα κατάλογο (directory), στο πρόγραμμά μας. ΟΔΗΓΙΕΣ ΠΡΟΕΠΕΞΕΡΓΑΣΤΗ

ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ Το τμήμα δηλώσεων περιέχει όλες τις δηλώσεις και ορισμούς για συμβολικά ονόματα που χρησιμοποιούνται στο πρόγραμμα.

ΟΡΙΣΜΟΣ ΤΗΣ main int main ( void ) { Τμήμα Δηλώσεων εντολή_1 εντολή_2 εντολή_ν return 0; } τύπος

Η ΣΥΝΑΡΤΗΣΗ main Κάθε πρόγραμμα σε C πρέπει να έχει μια συνάρτηση main. Το πρόγραμμα αρχίζει να εκτελείται με την συνάντηση της πρώτης εντολής της main και τερματίζεται με την συνάντηση της τελευταίας εντολής : return 0; ΟΡΙΣΜΟΙ ΣΥΝΑΡΤΗΣΕΩΝ Στο τμήμα ορισμοί συναρτήσεων γράφονται όλες οι συναρτήσεις που χρησιμοποιούνται από την main.

ΠΑΡΑΔΕΙΓΜΑ ΕΝΟΣ ΑΠΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C Πρόβλημα Γράψτε ένα πρόγραμμα σε C που να υπολογίζει και τυπώνει το άθροισμα και τη μέση τιμή τριών αριθμών.

Πρόγραμμα /* Υπολογίζει τη μέση τιμή τριών αριθμών*/ #include int main (void) { /* Τμήμα δηλώσεων*/ double x1, x2, x3, athroisma, mesi_timi; printf(“\nΔώστε τις τιμές των τριών αριθμών :”); scanf(“%lf %lf %lf ”, &x1, &x2, &x3); printf(“\nΟι αριθμοί που δώσατε είναι οι:”);

printf(“%5.3f %5.3f %5.3f ”, x1, x2, x3); /* Υπολογισμός του αθροίσματος*/ athroisma = x1 + x2 + x3; /*Υπολογισμός της μέσης τιμής*/ mesi_timi = athroisma / 3.0; /*Eκτύπωση της μέσης τιμής*/ printf(“\nΗ μέση τιμή είναι: %5.3f”, mesi_timi); return 0; }

ΤΟ ΑΛΦΑΒΗΤΟ ΤΗΣ C Πεζά : a b c d... z Κεφαλαία : A B C D... Z Ψηφία : Ειδικοί χαρακτήρες : =, ==, !=, &, &&, +, ++,/, -, -- *, +=, _=, *=, /=, %, ||, … Δεσμευμένες λέξεις: auto, break, case, char, default, do, double, else, enum, extern, float, int, if, for, while, return, short, sizeof, struct, switch, void, typedef, union, static

ΟΝΟΜΑΤΑ Ενα όνομα στην C αποτελείται από μια ακολουθία γραμμάτων, ψηφίων και του ειδικού χαρακτήρα _. Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα ή _. Παράδειγμα athroisma_1 xaraktiras x1 y1 ΣΥΜΒΟΛΟΣΕΙΡΕΣ Παράδειγμα “ Δώστε τα δεδομένα” “x + y”

Ακέραιοι(integer) Μη έγκυροι ακέραιοι 1, [MININT, MAXINT] MININT = MAXINT= Πραγματικοί(floating point) (Ακέραιο τμήμα) (τελεία) (κλασματικό τμήμα) Επιστημονική μορφή x Ε2 ή 0.123e2

ΧΑΡΑΚΤΗΡΕΣ ASCII 128 χαρακτήρες EBCDIC 256 χαρακτήρες Κάθε χαρακτήρας αποθηκεύεται σε ένα byte και έχει σαν τιμή τον ακέραιο αριθμό που του αντιστοιχεί. ‘a’ 97 ‘A’ 65 ‘0’ 48 ‘b’ 98 ‘B’ 66 ‘1’ 49 ‘c’ 99 ‘C’ 67 ‘2’ 50

Χαρακτήρες διαφυγής (escape characters) ΟνομαCτιμή μηδενικός(NULL)‘\0’0 νέα γραμμή(new line)‘\n’10 επιστροφή (Carriage Return) ‘\r’13 διπλή απόστροφος‘\”’34 απλή απόστροφος‘\’’39 πλάγια γραμμή‘\\’92

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

Ενας τύπος δεδομένων είναι ένα σύνολο τιμών και ένα σύνολο πράξεων σε αυτές τις τιμές. Οι τύποι δεδομένων χωρίζονται σε δύο κατηγορίες: 1.Ενσωματωμένοι(built-in) τύποι δεδομένων 2.Τύποι δεδομένων που ορίζονται από τον προγραμματιστή (π.χ δομές, απαριθμητοί τύποι) Οι ενσωματωμένοι τύποι χωρίζονται σε : 1. Βασικούς(fundamental) τύπους δεδομένων 2. Παραγόμενους(derived) τύπους δεδομένων

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΗΛΩΣΕΙΣ Integer Signed Short integer (short, short int, signed short, signed short int) 16 bits Integer (int, signed, signed int) λέξη μηχανής Long integer (long, long int, signed long, signed long int ) δύο λέξεις

Unsigned Short integer (unsigned short,unsigned short int) Integer (unsigned, unsigned int) Long integer (unsigned long, unsigned long int ) Floating point floating point (float) 32 double floating point (double) 64 long double floating point (long double)(96,128) Character(char) 8 bits

short int ή int [-2 15, ]=[-32768, 32767] int (32 bits ) [-2 31, ]=[ , … ] -L* * * * * ****-s 0 s**** * * * * * * * *L Οι ακέραιοι παριστάνονται ακριβώς στη μνήμη. Οι πραγματικοί προσεγγίζονται με τους αριθμούς μηχανής(στρογγύλευση)

ΔΗΛΩΣΗ ΣΤΑΘΕΡΩΝ 1) #define όνομα τιμή #define PI #define MHDEN 1e-20 #define N 200 2) const τύπος όνομα-σταθεράς = τιμή; const double PI = ; const float MHDEN = 1e-20; const int N=200;

ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ τύπος δεδομένων λίστα μεταβλητών; τύπος δεδομένων : int, float, double, char λίστα μεταβλητών : ονόματα μεταβλητών χωρισμένα με κόμματα. Παράδειγμα inti, j; charxar_1, xar_2; floatmax, x, y;

Αριθμητικές Παραστάσεις με ακέραιους αριθμούς Τελεστές Προσεταιριστικότητα Ιεραρχία από δεξιά προς αριστερά 1 * / % από αριστερά προς δεξιά από αριστερά προς δεξιά 3 Πρώτα υπολογίζονται οι παραστάσεις εντός των παρενθέσεων Οι πράξεις εκτελούνται από τα αριστερά προς τα δεξιά

Παράδειγμα Η αριθμητική παράσταση y * y / 2 * z – 1 / x υπολογίζεται ως εξής (υπογραμμίζονται οι ήδη εκτελεσμένες πράξεις): a.y * y b.y * y / 2 c.y * y / 2 * z d.1 / x e.y * y / 2 * z – 1 / x

Αλγεβρική Παράσταση Παράσταση στην C k k/l l z + (x mod y) z + x % y a + b (a + b)/(c + d) c + d a 2 – 4bc a*a – 4 * b * c

Πράξη Τιμή 2 % / % / / % 9 3 n % 2 1, αν n περιττός 0, αν n άρτιος

Παράδειγμα Η αριθμητική παράσταση z – (a + b / 2) + w * y υπολογίζεται ως εξής: a.b / 2 b.a + b / 2 c.w * y d.z – (a + b / 2) e.z – (a + b / 2) + w * y

Η ΕΝΤΟΛΗ ΚΑΤΑΧΩΡΗΣΗΣ Εντολή καταχώρησης (απλή μορφή) μεταβλητή = παράσταση ; Παράδειγμα double x, y, mean, diff ; x = 1.0 ; y = 2.0 ; Για τους πραγματικούς ισχύουν τα ίδια όπως για τους ακέραιους αριθμούς εκτός από τον τελεστή /, ο οποίος επιστρέφει το πηλίκο της διαίρεσης.

mean = (x + y) / 2.0; diff = x – y ; Εντολή καταχώρησης (σύνθετη μορφή) H μεταβλητή τελεστής= παράσταση ; είναι ισοδύναμη με μεταβλητή = μεταβλητή τελεστής παράσταση ;

Αν int x =8, y=15; τότε εντολή ισοδύναμη εντολή τιμή y += x ; y = y + x; 23 y -= x ; y = y - x; 7 y /= x; y = y / x; 1 y %= x ; y = y % x; 7 Προσοχή ! H y *= x+5 ; ισοδύναμη με y = y * (x+5);

Οι τελεστές αύξησης και μείωσης Οι εντολές ++i; και i++ ; είναι ισοδύναμες με την i = i + 1; Αν η ++i χρησιμοποιηθεί εντός μιας παράστασης, η τιμή της ++i αυξάνεται πριν τον υπολογισμό της παράστασης. Ενώ η τιμή της i στην i++ αυξάνεται μετά τον υπολογισμό της παράστασης.

Παράδειγμα Αν protos =3; metritis = protos++; τότε η τιμή της metritis είναι 3 και της protos είναι 4. Αν protos = 3; metritis = ++protos; τότε η τιμή της metritis είναι 4 και της protos είναι 4.

Ο τύπος των αριθμητικών παραστάσεων Κάθε αριθμητική εντολή καταχώρησης έχει μία τιμή. Κανόνες 1. Αν ένας ή περισσότεροι όροι της παράστασης είναι double, τότε ο τύπος της τιμής της παράστασης είναι double. 2. Αν όλοι οι όροι είναι τύπου int, τότε ο τύπος της παράστασης είναι int. 3. Ο τύπος της τιμής της εντολής και ο τύπος της τιμής που αποθηκεύεται στη μεταβλητή είναι οι ίδιοι.

Παράδειγμα double x=3.2; int y = 5; Αν x = x + y ; τότε η τιμή της x είναι 8.2 (double) Αν y = x + y ; τότε η τιμή της y είναι 8 (int)

Κυρίαρχος(casting) τελεστής (τύπος) παράσταση Μετατρέπει τον τύπο της παράστασης στον τύπο που προσδιορίζει ο κυρίαρχος τελεστής. double protos = 3.8 ; int deyteros = 9 ; (int) (protos + deyteros); 12 protos=(int)protos + deyteros; 12.0 protos=(int)protos % deyteros; 3.0 protos=deyteros % (int)protos; 0.0

Αριθμητικές μετατροπές Αποφυγή της απώλειας δεδομένων. int, unsigned short, short<unsigned<long<unsigned long<float<double<long double double d; float f; int i; long double ld; short s; 5 * d - i double 5 * f - d double ld + d long double s + i int ή unsigned

Μετατροπές καταχώρησης Αν υπάρχει ασυμβατότητα τύπων, τότε γινεται αυτόματη μετατροπή της τιμής στον τύπο της μεταβλητής που τη δέχεται. Παράδειγμα double d; int i; floatf; d = f; (δεν υπάρχει πρόβλημα) f= d; (δεν υπάρχει πρόβλημα, εφόσον η d χωράει) i=d; (αυτόματη μετατροπή!, αποκόπτεται το δεκαδικό τμήμα της d).

Παράδειγμα Να γραφτούν οι εντολές για τον υπολογισμό των δύο πραγματικών ριζών της δευτεροβάθμιας εξίσωσης : ax 2 + bx + c = 0 diakrinousa = b * b – 4 * a * c; riza_1 = (-b + sqrt(diakrinousa)) / (2*a); riza_2 = (-b - sqrt(diakrinousa)) / (2*a); σειρά εκτέλεσης 2 3 1

ΛΟΓΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ Τελεστές συσχέτισης (relational operators) Αλγεβρικός τελεστής C Προσετ/τα Ιεραρχία < < αριστερή 1  <= αριστερή 1 > > αριστερή 1  >= αριστερή 1 = == αριστερή 2  != αριστερή 2

Η τιμή μιας λογικής παράστασης είναι : 1(αληθής) ή 0(ψευδής) Παράδειγμα a b a>b τιμή 2 1 αληθής ψευδης 0 Λογικοί τελεστές στην C && (and) || (or) ! (not) Παράσταση_1 Λογ. Τελεστής Παρασταση_2 !Παράσταση

O && επιστρέφει 1 αν και μόνον αν και οι δύο παραστάσεις έχουν μη μηδενική τιμή, διαφορετικά επιστρέφει 0(ψευδής) Ο || επιστρέφει 0 αν και μόνον αν και οι δύο παραστάσεις έχουν τιμή 0(ψευδής), διαφορετικά επιστρέφει 1(αληθής) Ο ! επιστρέφει 0(ψευδής) αν η παράσταση έχει μη μηδενική τιμή, διαφορετικά επιστρέφει 1(αληθής) Κανόνας Εκτελούνται πρώτα οι αριθμητικές πράξεις και μετά οι λογικές. Λογικοί τελεστές στην C

ΙΕΡΑΡΧΙΑ ΤΕΛΕΣΤΩΝ Τελεστές Σύμβολα Ιεραρχία ( ) 1 ! 2 * / % ==, !=,, >= 5 && 6 || 7

Παράδειγμα Οι παραστάσεις a) 0.0 <x < 3.5 b) x <= y <= z c) c < b < a σε C γράφονται a) 0.0 < x && x < 3.5 b) x <=y && y <= z c) c < b && b < a Αν logiki =1; τότε η τιμή της !logiki είναι 0

ΚατηγόρημαΑπλή μορφή !(a = = b) a != b !(a ! = b) a = = b !(a = b !(a b !(a > b) a <= b !(a >= b) a < b !(Λογ.παρ.1 && Λογ.παρ.2) (!Λογ.παρ.1) || (!Λογ.παρ.2) !(Λογ.παρ.1 || Λογ.παρ.2) (!Λογ.παρ.1) && (!Λογ.παρ.2)

ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΧΑΡΑΚΤΗΡΩΝ char xar1, xar2; xar1 = ‘0’; xar2 = ‘6’; xar1 xar2 xar1 < xar2 ‘0’ ‘6’ 1 ‘0’ ‘b’ 1(ASCII) 0(EBCDIC) Η ‘4’ - ‘0’ ισούται με 4. Η ‘Α’ + pezo - ‘a’ επιστρέφει το αντίστοιχο κεφαλαίο γράμμα του pezo

ΒΑΣΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ Η συνάρτηση εισόδου scanf scanf( συμβολοσειρά ελέγχου μορφής, λίστα εισόδου); Τύπος Προσ/στής μορφής short %hd int %d long %ld unsigned short %u unsigned %u unsigned long %lu

float %f %e double %lf %le long double %Lf %Le char %c Παράδειγμα int akeraios; scanf(“ %d”, &akeraios); Ρεύματα εισόδου: 20 _ _ _ _ _ 20 20_ _ _ _

double syndelestis; scanf( “ %3lf”, &syndelestis); Εισαγόμενη τιμή Καταχωρούμενη τιμή e e e e

1)Ανchar xaraktiras; τότε scanf(“%c”, &xaraktiras); 2)Αν int mikos; double platos; char xroma; και scanf(“%d%c%lf”, &mikos, &xroma, &platos); 2.1)Εισοδος από πληκ/γιο 50r1.3e3 τότε mikos=50, xroma=r, platos=1.3e3. 2.2) Εισοδος από πληκ/γιο 50 ⊔ ⊔ r ⊔ ⊔ 1.3e3 τότε mikos=50, xroma= ⊔, platos=

3) Αν scanf(“%d %c %lf”, &mikos, &xroma, &platos); Εισοδος από πληκ/γιο 50r1.3e3 τότε mikos=50, xroma=r, platos=1.3e3. Η συνάρτηση εξόδου printf printf( συμβολοσειρά ελέγχου μορφής, λίστα εξόδου);

ΕΝΤΟΛΕΣ ΕΞΟΔΟΥ Παράδειγμα int arithmos = 15; char apantisi = ‘n’; double riza = 4.32; ΕντολήΤυπώνει printf(“Δώστε τιμή για το x”);Δώστε τιμή για το x printf(“%d”, arithmos);15 printf(“%d”, 25);25 printf(“%d”, arithmos+10);25 printf(“%c”, ‘b’);b printf(“%c”, apantisi);n printf(“%f”, riza); printf(“%lf”, riza); printf(“%f”, 2.25); printf(“%e”, riza); e+00

Παράδειγμα Αν arithmos=15, τότε η printf(“%5d”, arithmos); Θα δημιουργήσει την εκτύπωση ⊔ ⊔ ⊔ 1 5 Η printf(“%–5d”, arithmos); θα έχει ως αποτέλεσμα ⊔ ⊔ ⊔ Ενώ η printf(“%+5d”, arithmos); ⊔ ⊔ + 1 5

Παράδειγμα double arithmos = ΕντολήΕκτύπωση printf(“%10.4f”, arithmos); ⊔ ⊔ ⊔ printf(“%10.3f”, arithmos); ⊔ ⊔ ⊔ ⊔ printf(“%10.3e”, arithmos); ⊔ e + 0 1

Παράδειγμα Αν platos = 10; dekadika = 4; τότε η printf(“%*d”, platos, arithmos); είναι ισοδύναμη με την printf(“%10d”, arithmos); και η printf(“%*.*f”, platos, dekadika, arithmos); είναι ισοδύναμη με την printf(“%10.4f”, arithmos);

ΑΠΛΑ ΠΡΟΓΡΑΜΜΑΤΑ ΣΕ C Πρόβλημα Γράψτε ένα πρόγραμμα σε C που να υπολογίζει και τυπώνει το άθροισμα και τη μέση τιμή τριών αριθμών.

ΑΛΓΟΡΙΘΜΟΣ 1. Διάβασε x1, x2, x3 και τύπωσε τις τιμές που διαβάστηκαν. 2. Υπολογισμός του athroisma =x1 + x2 + x3 3. Υπολογισμός της mesi_timi = athroisma / 3.0 ; 4. Εκτύπωση της mesi_timi

Πρόγραμμα /* Υπολογίζει τη μέση τιμή τριών αριθμών*/ #include int main (void) { /* Τμήμα δηλώσεων*/ double x1, x2, x3, athroisma, mesi_timi; printf(“\nΔώστε τις τιμές των τριών αριθμών :”); scanf(“%lf %lf %lf ”, &x1, &x2, &x3); printf(“\nΟι αριθμοί που δώσατε είναι οι:”);

printf(“%5.3f %5.3f %5.3f ”, x1, x2, x3); /* Υπολογισμός του αθροίσματος*/ athroisma = x1 + x2 + x3; /*Υπολογισμός της μέσης τιμής*/ mesi_timi = athroisma / 3.0; /*Eκτύπωση της μέσης τιμής*/ printf(“\nΗ μέση τιμή είναι: %5.3f”, mesi_timi); return 0; }

Πρόβλημα Γράψτε ένα πρόγραμμα σε C που να υπολογίζει και τυπώνει το εμβαδόν ενός ισόπλευρου τριγώνου όταν δίνεται η πλευρά του x.

ΑΛΓΟΡΙΘΜΟΣ Πρώτη μορφή 1. Διάβασε τη δεδομένη πλευρά x του τριγώνου 2. Υπολόγισε το ύψος h του τριγώνου 3. Υπολόγισε το εμβαδόν Ε του τριγώνου 4. Εκτύπωσε τις τιμές των x και E Δεύτερη μορφή 2. Υπολόγισε το ύψος από τον τύπο h=sqrt(3)/2*x 3. Υπολόγισε το εμβαδόν από τον τύπο e=0.5*x*h

Πρόγραμμα /* Υπολογίζει το εμβαδόν ενός ισόπλευρου τριγώνου, όταν δίνεται η πλευρά του*/ #include int main(void) { /*Τμήμα δηλώσεων*/ double x, h, e; printf(“\nΔώστε την πλευρά x του τριγώνου:”); scanf(“%lf”, &x);

/*Υπολογισμός του ύψους*/ h = sqrt(3)/2.0 * x; /*Υπολογισμός του εμβαδού*/ e = 0.5 * x * h; /*Εκτύπωση αποτελεσμάτων*/ printf(“\nTo ισόπλευρο τρίγωνο πλευράς %f έχει εμβαδόν %f”, x, e); return 0; }