Σειεζηέο, Δθθξάζεηο Πξνηάζεηο, Δληνιέο Διέγρνπ Ρνήο 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η 3
Σειεζηέο Έλαο ηελεζηήρ (operator) είναι ένα ζύμβολο ή μία λέξη ηηρ γλώζζαρ ππογπαμκαηηζκνύ, πνπ αλαπαξηζηά ζπγθεθξηκέλε δηεξγαζία, ε νπνία εθηειείηαη πάλω ζε έλα ή πεξηζζόηεξα δεδνκέλα. Σα δεδνκέλα θαινύληαη ηελεζηέοι (operands) θαη κπνξνύλ λα είλαη κεηαβιεηέο, ζηαζεξέο ή αθόκε θιήζεηο ζπλαξηήζεωλ. Σα δεδνκέλα πξέπεη λα είλαη ηνπ ηδίνπ ηύπνπ. Οη ηειεζηέο ρξεζηκνπνηνύληαη γηα ην ζρεκαηηζκό εθθξάζεωλ (expressions). 2 Παξάδεηγκα: ηελ έθθξαζε num + 12 ν ραξαθηήξαο + αλαπαξηζηά ηε δηεξγαζία ηεο πξόζζεζεο ηωλ δύν ηειεζηέωλ, ηεο ηηκήο ηεο κεηαβιεηήο num θαη ηεο ζηαζεξάο 12.
Καηεγνξίεο Σειεζηώλ 3 Καηηγορία ενδεικηικοί ηελεζηές αξηζκεηηθνί +,, *, /, %,++,-- ινγηθνί &&,,! ζπζρεηηζηηθνί >,>=, ==,!=,<,<=
Αξηζκεηηθνί Σειεζηέο 4 ζύμβολο ερμηνεία + πξόζζεζε - αθαίξεζε * πνιιαπιαζηαζκόο / δηαίξεζε % ππόινηπν ++ αύμεζε θαηά 1 -- κείωζε θαηά 1
Παξαδείγκαηα: int x,y,z; x=9; y=10; z=x+y; Αξηζκεηηθνί Σειεζηέο 5
Αξηζκεηηθνί Σειεζηέο (Μνλαδηαίνη Σειεζηέο) 6 πρόηαζη ηιμή x ηιμή y int x = 10, y = 20; 10 20 ++x; 11 20 y = x; 10 10 y = x + y; 9 20 y = y x++; 10 11
Λνγηθνί ηειεζηέο 7 ζύμβολο ερμηνεία && Λνγηθό ΚΑΙ Λνγηθό Η! Λνγηθό ΟΥΙ
Λνγηθνί ηειεζηέο Πίλαθεο Αιεζείαο 8 Λογικό ΟΦΙ (ΝΟΤ ζσμβ. ζε C:!) Α ΟΥΙ Α 0 1 1 0 Λογικό ΚΑΙ (AND ζσμβ. ζε C: &&) Α Β Α ΚΑΙ Β 0 0 0 0 1 0 1 0 0 1 1 1 Λογικό Η (AND ζσμβ. ζε C: ) Α Β Α ΚΑΙ Β 0 0 0 0 1 1 1 0 1 1 1 1
πζρεηηζηηθνί Σειεζηέο 9 ζύμβολο ερμηνεία > κεγαιύηεξν >= κεγαιύηεξν ή ίζν == ίζνλ < κηθξόηεξν <= κηθξόηεξν ή ίζνλ
Δθθξάζεηο - Πξνηάζεηο 10 Μία έθθξαζε, ζηε γεληθή ηεο πεξίπηωζε, απνηειείηαη από έλαλ ή πεξηζζόηεξνπο ηειεζηένπο θαη, πξναηξεηηθά, από έλα ή πεξηζζόηεξνπο ηειεζηέο. Οη ηειεζηένη, κεηαβιεηέο, ζηαζεξέο, θαη θιήζεηο ζπλαξηήζεωλ απνηεινύλ από κόλνη ηνπο εθθξάζεηο, αιιά κπνξνύλ λα ζπλδπαζηνύλ κε ηνπο ηειεζηέο γηα λα ζρεκαηίζνπλ ζύλζεηεο εθθξάζεηο.
Παξάδεηγκα 11 Απλές εκθράζεις ζύνθεηες εκθράζεις 9 12 * 20 count count + 1 count, x count>9 ((count+3*x)+(x+4))*2 (count<9) && (count>-9)
Δθθξάζεηο - Πξνηάζεηο Η πξόηαζε είλαη κία πιήξεο ενηολή (command) ππορ ηον ςπολογιζηή και πξνζδηνξίδεη ηελ εθηέιεζε ζπγθεθξηκέλνπ έξγνπ. Σν Διιεληθό εξωηεκαηηθό (;) πξνζδηνξίδεη ην ηέινο θάζε πξόηαζεο γηα ηελ C. 12
εκαληηθόηεξεο Καηεγνξίεο Πξνηάζεωλ 13 Καηηγορία πρόηαζης Γήλωζης κλήζης ζσνάρηηζης Παράδειγμα int num; printf( Hello World ); ελέγτοσ ροής if (a>b) then a else b; ανάθεζης num = 21; μηδενική ;
Δληνιέο Διέγρνπ Ρνήο Ο ηξόπνο εθηέιεζεο εληνιώλ πνπ ζπλαληήζακε κέρξη ηώξα ήηαλ ν αθνινπζηαθόο. Γύν ή πεξηζζόηεξεο εληνιέο δηαηεηαγκέλεο ε κία κεηά ηελ άιιε εθηεινύληαη δηαδνρηθά. Η αθνινπζία ηωλ εληνιώλ Π1; Π2; Π3; έρεη ζαλ απνηέιεζκα ηελ εθηέιεζε ηεο εληνιήο Π1, κεηά ηεο Π2 θαη ηέινο ηεο Π3. 14
Δληνιέο Διέγρνπ Ρνήο 15 Γηα λα επηηεπρζεί νπνηαδήπνηε δηαθνξνπνίεζε από ηελ αθνινπζηαθή εθηέιεζε ρξεζηκνπνηνύληαη εηδηθέο θαηαζθεπέο. Οη εηδηθέο θαηαζθεπέο καο επηηξεπνπλ λα επηηπρνπκε ηελ επηζπκεηή ξνή ειέγρνπ ηνπ πξνγξάκκαηόο καο. Η δηακόξθωζε ηεο ξνήο ειέγρνπ, ζην δνκεκέλν πξνγξακκαηηζκό, επηηπγράλεηαη κε ηελ θαηάιιειε ρξήζε πξνηάζεωλ ηωλ δύν βαζηθώλ θαηεγνξηώλ ηεο επανάληψηρ (looping) και ηηρ ςπό ζςνθήκη διακλάδωζηρ (conditional branching).
Τπό πλζήθε Γηαθιάδωζε (if) Μηα πξόηαζε δηαθιάδωζεο ππό ζπλζήθε, πεξηέρεη έλαλ αξηζκό εληνιώλ, από ηηο νπνίεο επηιέγεηαη θαη εθηειείηαη κόλν κία. Η πξόηαζε if είλαη ε πιένλ γλωζηή πξόηαζε απηήο ηεο θαηεγνξίαο θαη έρεη ηελ κνξθή: if Δ then Π1 else Π2 16
Τπό πλζήθε Γηαθιάδωζε (if) ε κηα πην ζύλζεηε κνξθή ηεο ε πξόηαζε if επηηξέπεη επηινγή από κεγαιύηεξν (ζπλήζωο απεξηόξηζην) αξηζκό πξνηάζεωλ, κε ηελ έλζεζε δηαδνρηθώλ πξνηάζεωλ ζπλζήθεο. if E1 then Π1 else if E2 then Π2 else if E3 then Π3 : else if En then Πn else Π0 17
Παξάδεηγκα - Δθθώλεζε 18 Να γξαθεί πξόγξακκα όπνπ ζα δηαβάδεη 2 αθέξαηνπο από ην πιεθηξνιόγην θαη ζα ηππώλεη ζηελ νζόλε ηνλ κεγαιύηεξν.
Παξάδεηγκα - Φεπδνθώδηθαο 19 Αξρή πξνγξάκκαηνο Γηάβαζε x Γηάβαζε y OXI x>y? NAI Σύπωζε y Σύπωζε x Σέινο πξνγξάκκαηνο