SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
H ΓΛΩΣΣΑ C++
Μάθημα 1:
Εισαγωγή στην C++ και σχέση με την γλώσσα C
Δημήτρης Ψούνης
Περιεχόμενα Μαθήματος
Α. Θεωρία
1. Η Γλώσσα C++
1. Γενικά
2. Ιστορία – Εκδόσεις
3. Η αναγκαιότητα της C
4. Μεταγλωττιστές
2. Hello World!
1. Πηγαίος Κώδικας
2. Σχόλια
3. Βιβλιοθήκη iostream
4. main, block κώδικα, return
5. Είσοδος/Έξοδος
1. Έξοδος με την cout
2. Οδηγία using
3. Περισσότερα για την cout
4. Είσοδος με την cin
2Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
3. Στοιχεία της C
1. Μεταβλητές
2. Σταθερές
3. Τελεστές και η Δομή Ελέγχου
4. Δομές Επανάληψης
5. Συναρτήσεις
1. Πολυμορφισμός Συναρτήσεων
6. Πίνακες
7. Συμβολοσειρές
8. Δείκτες
Ασκήσεις
A. Θεωρία
1. Η Γλώσσα C++
1. Γενικά
3
Η Γλώσσα Προγραμματισμού C++
• Είναι μια επέκταση της γλώσσας C με
• Την οργάνωση των δεδομένων και των
συναρτήσεων σε μία ενιαία οντότητα που
ονομάζεται κλάση (class)
• Οργάνωση των δεδομένων και των
συναρτήσεων της κλάσης, ώστε να
επιτυγχάνεται απόκρυψη πληροφορίας:
ενθυλάκωση (encapsulation)
• Η δυνατότητα των κλάσεων να
κληρονομούνται (inheritance) από άλλες
κλάσεις και να προσθέτουν την δική τους
λειτουργικότητα
• Η δυνατότητα συναρτήσεων και κλάσεων
να είναι πολυμορφικές (polymorphism)
• Ένα όνομα θα μπορεί να κάνει
διαφορετικές ενέργειες
• Με πολλές καινούργιες βιβλιοθήκες, οι οποίες
κάνουν πιο αποδοτικό τον προγραμματισμό
μεγαλύτερων projects.
Παράδειγμα:
Θέλω να κατασκευάσω ένα παιχνίδι, το
οποίο θα έχει για ήρωα τον σκύλο «Πίκο»
(μικρόσωμο) και τον σκύλο «Αζόρ»
(μεγαλόσωμο)
• Θα ορίσω μία κλάση με όνομα σκύλος
με όλη τη συμπεριφορά του σκύλου
• Η ενέργεια «γάβγισε» θα είναι δημόσια,
ενώ η ενέργεια «εκνευρισμός» θα είναι
εσωτερική (ενθυλάκωση)
• Την κλάση αυτή θα την κληρονομούν
δύο υπό-κλάσεις οι οποίες θα
εξειδικεύουν τα χαρακτηριστικά των
μεγαλόσωμων και μικρόσωμων σκύλων.
• Ο Πίκο θα είναι ένα αντικείμενο της
κλάσης «Μικρόσωμος σκύλος»
• Η κλάση θα έχει μία μέθοδο «γάβγισε»,
που θα αντιδρά διαφορετικά, αν ο σκύλος
γαβγίζει μία γάτα ή έναν άνθρωπο
(πολυμορφισμός)
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
1. Η Γλώσσα C++
2. Ιστορία – Εκδόσεις C++
4
• 1979 «C with classes» από τον Bjarne Stroustroup
• στα εργαστήρια της Bell και της ΑΤ & T
• 1984 Μετονομασία σε «C++» με αρκετές προσθήκες
• 1989 2η έκδοση της C++ με πολλές προσθήκες ακόμη στη γλώσσα
• 1998 Πρώτη standard έκδοση με πρότυπο ISO
• Από το 2011 βγαίνει μία καινούργια έκδοση κάθε 3 χρόνια συνήθως
με αλλαγές που συνήθως είναι επεκτάσεις της γλώσσας. Εκδόσεις:
• C++11 (2011)
• C++14 (2014)
• C++17 (2017)
• επόμενη έκδοση C++20 (2020)
Bjarne Stroustrup
Σημείωση:
• Το όνομα C++ σημαίνει
• Αύξηση της C κατά 1 (με βάση τον τελεστή ++, που σημαίνει αύξηση κατά 1)
• Άρα είναι μία επέκταση της C, ωστόσο:
• Δεν είναι αυστηρό υπερσύνολο της, υπάρχουν κάποια (λίγα) χαρακτηριστικά της C που
δεν δουλεύουν σε C++.
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
1. Η Γλώσσα C++
3. Η αναγκαιότητα της C
5
• Η C++ «πατάει» πάνω στην γλώσσα C
• Γι’αυτό είναι απαραίτητη καλή γνώση της C
• Ωστόσο δεν είναι απαραίτητη η γνώση όλων των χαρακτηριστικών της C
• Για παράδειγμα οι περισσότερες βιβλιοθήκες συναρτήσεων αλλάζουν στην C++ και
γίνονται (συνήθως) πιο εύκολες στην χρήση.
• Τα περισσότερα βασικά χαρακτηριστικά όμως είναι ίδια.
• Π.χ. ο χειρισμός
• Μεταβλητών, Τύπων Δεδομένων
• Δομής Ελέγχου, Δομών Επανάληψης
• Συναρτήσεων
• Πινάκων
• Δεικτών
• είναι ίδιος στην C++ και είναι προαπαιτούμενος για την κατανόηση των νέων
χαρακτηριστικών (κλάσεις, κληρονομικότητα κ.λπ.)
• Αλλά η μεγάλη διαφορά της C με την C++ είναι η μετατόπιση του ενδιαφέροντος στην δόμηση
των προγραμμάτων από:
• τις συναρτήσεις της C (διαδικαστικός προγραμματισμός)
• στα αντικείμενα της C++ (αντικειμενοστραφής προγραμματισμός – object oriented
programming)
• Στην συνέχεια του μαθήματος θα κάνουμε μία υπενθύμιση των βασικών χαρακτηριστικών της
γλώσσας C (με κάποια νέα στοιχεία).
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
1. Η Γλώσσα C++
4. Μεταγλωττιστές
6
• Υπάρχουν δεκάδες μεταγλωττιστές της γλώσσας C++, είτε δωρεάν, είτε με πληρωμή.
• Στα πλαίσια αυτής της σειράς μαθημάτων θα χρησιμοποιήσουμε τον (δωρεάν) online
μεταγλωττιστή OnlineGDB
• Στην σελίδα https://www.onlinegdb.com/
• Χρησιμοποιεί τον μεταγλωττιστή g++
• Έχει μηχανισμό για debugging
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
1. Πηγαίος κώδικας
7
• Δημιουργούμε το νέο project CPP1.helloworld.cpp
• και το εκτελούμε:
/* CPP1.helloworld.cpp */
#include <iostream>
int main()
{
std::cout<<"Hello World!";
return 0;
}
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
2. Σχόλια
8
• Βλέπουμε την πρώτη γραμμή
• Είναι ένα σχόλιο. Συνηθίζεται να γράφουμε στην αρχή, το όνομα του αρχείου με κάποια
επεξηγηματικά σχόλια.
• Τα σχόλια γράφονται όπως στην C και υπάρχουν δύο είδη σχολίων:
• Σχόλια πολλών γραμμών. Ξεκινάνε με /* και τελέιώνουν με */
• Σχόλια μίας γραμμής. Ξεκινάνε με //
/* CPP1.helloworld.cpp */
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
/* Αυτό
είναι ένα σχόλιο πολλών
γραμμών */
// Αυτό είναι ένα σχόλιο μίας γραμμής
A. Θεωρία
2. Hello World!
3. Βιβλιοθήκη iostream
9
• Βλέπουμε την γραμμή
• Είναι μια οδηγία για τον προεπεξεργαστή (ξεκινά με το #)
• Λέει πρακτικά, βρες το αρχείο (iostream.h) και βάλε τα περιεχόμενά του εδώ.
• Η βιβλιοθήκη iostream.h
• Περιέχει τις standard κλάσεις/συναρτήσεις για τον χειρισμό εισόδου/εξόδου
#include <iostream>
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
Παρατηρήσεις:
• Η βιβλιοθήκη iostream.h αντικαθιστά την stdio.h της C
• Η βιβλιοθήκη είναι απαραίτητη για το αντικείμενο cout, το οποίο κάνει το χειρισμό της εξόδου
στην οθόνη, εδώ της συμβολοσειράς «Hello World!»
A. Θεωρία
2. Hello World!
4. main, block κώδικα, return
10
• Η συνάρτηση main είναι το σημείο εισόδου του προγράμματος μας.
• Με το που ξεκινάει να τρέχει, εκτελούνται σειριακά οι εντολές μέσα στην main.
• H main υποχρεωτικά επιστρεφει ακέραια τιμή.
• Η επιστροφή γίνεται στο λειτουργικό σύστημα που τρέχει το εκτελέσιμο.
• Η τιμή 0 σημαίνει ότι όλα πήγαν καλά (κατά σύμβαση)
• Ο προγραμματιστής μπορεί να διαχειριστεί μη μηδενικές τιμές για να δείξει (στο
λειτουργικό) ότι κάτι δεν πήγε καλά στην εκτέλεση του προγράμματος.
• Τα άγκιστρα πάντα ορίζουν την αρχή και το τέλος της συνάρτησης main
• και λέμε ότι ορίζεται από αυτά, ένα μπλοκ κώδικα.
int main()
{
…
return 0;
}
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
Παρατηρήσεις:
• H χρήση της return είναι ίδια με την C
• Είναι μία εντολή, άρα πρέπει να ακολουθείται από ερωτηματικό.
11
• Το αντικείμενο std::cout χρησιμοποιείται για την έξοδο δεδομένων στην οθόνη
• Η πλήρης κατανόηση του, απαιτεί την γνώση κλάσεων, άλλά θα δώσουμε μια πρόχειρη
ιδέα (αν δεν την κατανοούμε πλήρως, δεν πειράζει για την ώρα).
• Η βιβλιοθήκη iostream ορίζει μεταξύ άλλων:
• Ένα αντικείμενο που λέγεται cout το οποίο τυπώνει στην οθόνη
• Οι κλάσεις/αντικείμενα εισόδου/εξόδου της iostream ορίζονται σε έναν χώρο ονομάτων
(namespace) που ονομάζεται std
• Ο χώρος ονομάτων χρησιμοποιείται για να μην έχουν τα αντικείμενα αυτά καθολική
εμβέλεια.
• Ο χώρος ονομάτων std περιέχεται στο iostream.h
• Οπότε η έκφραση std::cout σημαίνει:
• Βρες το αντικείμενο cout το οποίο βρίσκεται στον χώρο ονομάτων std.
• To << θα το ονομάζουμε τελεστή εξόδου.
• Πρακτικά λέμε στο αντικείμενο std::cout, πάρε σαν είσοδο αυτή την συμβολοσειρά
(Hello World!) και τύπωσε την στην οθόνη.
std::cout<<“Hello World!”;
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
Παρατήρηση:
• Περισσότερα για τους χώρους ονομάτων θα δούμε στη συνέχεια του μαθήματος.
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (1. Έξοδος με την cout)
12
• Με την οδηγία using, μπορούμε να δώσουμε εντολή στο πρόγραμμα μας:
• να ενσωματώσει στο πρόγραμμα μας ένα στοιχείο (αντικείμενο, σταθερά κ.ο.κ)
• ώστε να μην γράφουμε κάθε φορά που βρίσκεται το αντικείμενο cout
• Έτσι ο ακόλουθος κώδικας είναι κομψότερος:
/* CPP1.helloworld2.cpp using std::cout */
#include <iostream>
using std::cout;
int main()
{
cout<<"Hello World!";
return 0;
}
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (2. Οδηγία using)
13
• και ο δρόμος του τεμπέλη:
• Δίνουμε οδηγία στο πρόγραμμα μας να ενσωματώσει όλα τα στοιχεία του χώρου ονομάτων
της std.
• Χρησιμοποιώντας την οδηγία using namespace std;
/* CPP1.helloworld3.cpp Ενσωμάτωση όλης της std*/
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!";
return 0;
}
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (2. Οδηγία using)
14
• Ο τελεστής << λέμε ότι είναι υπερφορτωμένος (overloaded)
• διότι μπορεί να προβάλλει στην οθόνη, διαφορετικούς τύπους δεδομένων.
• Στα προηγούμενα παραδείγματα είδαμε πως μπορεί να προβάλλει συμβολοσειρές
• Ας δούμε πως μπορούμε να προβάλλουμε ακέραιες και πραγματικές μεταβλητές
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (3. Περισσότερα για την cout)
/* CPP1.overloading.cpp Εκτύπωση διαφορετικών τύπων δεδομένων */
#include <iostream>
using namespace std;
int main()
{
int x = 5;
double y = 5.01;
cout<<"To x einai ";
cout<<x;
cout<<" kai to y einai ";
cout<<y;
return 0;
}
15
• Στην std έχει οριστεί και το std::endl
• Το οποίο αλλάζει γραμμή στην κονσόλα.
• Μπορούμε και να ενσωματώσουμε τον χαρακτήρα n μέσα σε μία συμβολοσειρά της C
• Επίσης, ο τελεστής << μπορεί να γραφεί και πολλές φορές στην ίδια γραμμή μίας cout.
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (4. Περισσότερα για την cout)
/* CPP1.endl.cpp Χρήση του endl */
#include <iostream>
using namespace std;
int main()
{
int x = 5;
double y = 5.01;
cout<<"To x einai "<<x<<endl<<"kai to y einai "<<y<<"n";
return 0;
}
16
• H std::cin χρησιμοποιείται για την είσοδο από το το πληκτρολόγιο
• Αντικαθιστά την scanf της C
• Λειτουργεί όπως η cout
• Με την διαφορά ότι ο τελεστής εισόδου που έχει οριστεί είναι ο >>
Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
2. Hello World!
5. Είσοδος / Έξοδος (5. Είσοδος με την cin)
/* CPP1.cin.cpp Χρήση της cin */
#include <iostream>
using namespace std;
int main()
{
int x;
cout<<"Dwse x: ";
cin>>x;
cout<<"To x einai: "<<x;
return 0;
}
Παρατήρηση:
• Οι cin και cout είναι περίπλοκα αντικείμενα. Θα τα μελετήσουμε αναλυτικά σε επόμενο μάθημα
17Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Ο ορισμός των μεταβλητών γίνεται όπως στην C
• Π.χ. η δήλωση:
• δηλώνει μία ακέραια μεταβλητή και της αναθέτει την τιμή 5.
• Οι τύποι δεδομένων της C υπάρχουν αυτούσιοι στην C++:
• char, short, int, long για ακέραιες τιμές
• float, double για πραγματικές τιμές
• Και ορίζεται ένας νέος τύπος δεδομένων:
int x=5;
Ο τύπος δεδομένων bool απεικονίζει λογικές τιμές, και συγκεκριμένα δέχεται μόνο δύο τιμές:
• true (λογικό αληθές). Δεσμευμένη λέξη (keyword) με τιμή 1.
• false (λογικό ψευδές). Δεσμευμένη λέξη (keyword) με τιμή 0.
Παρατηρήσεις:
• Κάθε αριθμητική τιμή μετατρέπεται σε λογική τιμή ώς εξής
• Το 0, γίνεται false.
• Κάθε άλλη τιμή, γίνεται true.
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 3: Μεταβλητές και Σταθερές»
A. Θεωρία
3. Στοιχεία της C
1. Μεταβλητές
18Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
/* CPP1.bool.cpp Χρήση λογικών μεταβλητών */
#include <iostream>
using namespace std;
int main(){
bool x = true;
// Αριθμητική τιμή μίας λογικής μεταβλητής
cout<<x<<endl;
// Μετατροπή αριθμού σε λογική μεταβλητή
x = 4;
cout<<x<<endl;
// Μία συνθήκη που ερμηνεύεται σε μεταβλητή bool.
x = !(0>1);
if (x)
cout<<x<<endl;
return 0;
}
A. Θεωρία
3. Στοιχεία της C
1. Μεταβλητές
19Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Ισχύει ο διαχωρισμός των σταθερών σε:
• Αριθμητικές σταθερές, π.χ. 1, 3.14
• Συμβολικές σταθερές
• Είτε με την οδηγία προεπεξεργαστή #define, π.χ.
• Η οποία αντικαθιστά κάθε εμφάνιση της PI με 3.14 πριν την μεταγλώττιση του
προγράμματος
• Είτε με την λέξη κλειδί const πριν από την δήλωση της μεταβλητής, π.χ.
• H οποία απαγορεύει στην μεταβλητή x να αλλάξει την τιμή της κατά την εκτέλεση
του προγράμματος.
#define PI 3.14
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 3: Μεταβλητές και Σταθερές»
A. Θεωρία
3. Στοιχεία της C
2. Σταθερές
const int x = 2;
20Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Οι τελεστές της C είναι ίδιοι στην C++:
• Αριθμητικοί τελεστές:
+,*,-,/,% και ++,--
• Σχεσιακοί τελεστές:
==, >, >=, <, <=, !=
• Λογικοί τελεστές:
&&, ||, !
• και οι συντομογραφίες:
+=, -=, *=, /=, %=
• Ενώ και η σύνταξη της δομής ελέγχου (if)
είναι ίδια.
• Και μπορούμε να χρησιμοποιήσουμε την
switch
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 4: Τελεστές και η δομή ελέγχου»
• και τη switch από το «Γλώσσα C – Μάθημα 12: Έλεγχος Ροής Προγράμματος»
A. Θεωρία
3. Στοιχεία της C
3. Τελεστές και η δομή ελέγχου
[προηγούμενες εντολές]
if (πρώτη συνθήκη)
{
(εντολές1)
}
else if (δεύτερη συνθήκη)
{
(εντολές2)
}
…
else if (συνθήκηΝ)
{
(εντολέςΝ)
}
else
{
(εντολέςΝ+1)
}
[επόμενες εντολές]
21Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Και οι δομές επανάληψης είναι ίδιες με την C:
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 5: Δομές Επανάληψης»
• και τις break, continue από το «Γλώσσα C – Μάθημα 12: Έλεγχος Ροής Προγράμματος»
A. Θεωρία
3. Στοιχεία της C
4. Δομές Επανάληψης
[προηγούμενες εντολές]
for( αρχική; συνθήκη; βήμα)
{
(εντολές)
}
[επόμενες εντολές]
do
{
(Εντολές)
}
while (Συνθήκη);
while (Συνθήκη)
{
(εντολές)
}
22Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Και οι συναρτήσεις είναι ίδιες με την C:
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 6: Συναρτήσεις»
A. Θεωρία
3. Στοιχεία της C
5. Συναρτήσεις
.....
int func(int x, int y); <- Αυτό είναι το πρωτότυπο της συνάρτησης
Σημείωση: Μπορεί να γραφεί και ως int func(int, int); σε C++
main()
{
....
c=func(a,b); <- Εδώ καλούμε την συνάρτηση στην main,
.... σαν μία ακόμη εντολή του προγράμματος
}
int func(int x, int y) <-Αυτό είναι το σώμα της συνάρτησης
{
return (x*y);
}
23Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Μια σημαντική προσθήκη στην C++ είναι ο «πολυμορφισμός» (polymorphism)
• ή πως το ίδιο όνομα μπορεί να κάνει διαφορετικά πράγματα.
• Ο πολυμορφισμός συναρτήσεων στην C++ είναι μία διευκόλυνση:
• Το ίδιο όνομα συνάρτησης μπορεί να χρησιμοποιηθεί για να κάνει διαφορετικές
δουλειές.
• Π.χ. ενώ στην C αν θέλαμε μία συνάρτηση που να προσθέτει είτε int είτε float θα γράφαμε δύο
συναρτήσεις:
• στην C++ μπορούμε να χρησιμοποιήσουμε το ίδιο όνομα συνάρτησης:
• O μεταγλωττιστής αποφασίζει ποια από τις δύο συναρτήσεις θα χρησιμοποιήσει, ανάλογα
με τα ορίσματα της κλήσης της συνάρτησης.
A. Θεωρία
3. Στοιχεία της C
5.1. Πολυμορφισμός Συναρτήσεων
int sumi(int x, int y);
float sumf(float x, floaty);
int sum(int x, int y);
float sum(float x, floaty);
24Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
3. Στοιχεία της C
5.1. Πολυμορφισμός Συναρτήσεων (Παράδειγμα )
/* CPP1.overloading.cpp Υπερφόρτωση
Συναρτήσεων */
#include <iostream>
using namespace std;
int sum(int x, int y);
double sum(double x, double y);
int main()
{
std::cout<<sum(5,3);
std::cout<<" ";
std::cout<<sum(1.1,2.2);
return 0;
}
int sum(int x, int y)
{
return x+y;
}
double sum(double x, double y)
{
return x+y;
}
25Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Σημαντικό!
• Ο μεταγλωττιστής αποφασίζει ποια δήλωση να ακολουθήσει ως εξής:
• Βλέπει την κλήση της συνάρτησης και τα ορίσματα που έχουμε βάλει σε αυτήν
• Και καλέι εκείνη την δήλωση που ταιριάζουν τα ορίσματα.
• Δεν λαμβάνει υπόψιν του λοιπόν, την επιστρεφόμενη τιμή.
• Έτσι αν είχαμε τις δηλώσεις συναρτήσεων:
• Αυτές έχουν ίδιο όνομα και ίδια ορίσματα, οπότε δεν διαφοροποιούνται και θα
οδηγήσει σε λάθος μεταγλώττισης.
A. Θεωρία
3. Στοιχεία της C
5.1. Πολυμορφισμός Συναρτήσεων
int func(int x, int y);
float func(int x, int y);
Παρατηρήσεις:
• Υπάρχουν και άλλα είδη πολυμορφισμού, π.χ. κλάσεων, που θα δούμε στα επόμενα μαθήματα.
26Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Και οι πίνακες είναι ίδιοι με την C:
• Παράδειγμα ορισμού πίνακα:
• Επεξεργασία κάποιου στοιχείου του πίνακα:
• Παράδειγμα ορισμού διδιάστατου πίνακα
• και επεξεργασία κάποιου στοιχείου του πίνακα:
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 7: Πίνακες»
A. Θεωρία
3. Στοιχεία της C
6. Πίνακες
int arr[5] = {0,4,9,2,1};
arr[2] = 4;
int arr[2][3] = {{0,1,2}, {3,4,5}};
arr[0][1] = 4;
27Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Επίσης οι συμβολοσειρές είναι ίδιες με την C
• Παράδειγμα ορισμού συμβολοσέιράς:
• Η εκτύπωση μπορεί να γίνει με την cout (και η είσοδος με την cin)
• Ενδέχεται να μας φανεί χρήσιμη κάποια συνάρτηση του string.h
• Προσοχή! Η ενσωμάτωση της αλλάζει και γίνεται ως εξής:
• Παρόμοια μπορούμε να ενσωματώσουμε και άλλες βιβλιοθήκες της C π.χ. η cstdlib
είναι η stdlib.h, η ctime είναι η time.h κ.ο.κ.
• Η C++ προσφέρει και έναν καινούργιο τρόπο διαχείρισης συμβολοσειρών μέσω της βιβλιοθήκης
STL (αλλά θα είναι ένα από τα τελευταία μαθήματα)
Παρατηρήσεις:
• Αναλυτικά βλ.
• «Γλώσσα C – Μάθημα 10: Συμβολοσειρές» και
• «Γλώσσα C – Μάθημα 18: string.h»
A. Θεωρία
3. Στοιχεία της C
7. Συμβολοσειρές
char str[80] = “A string”;
cout<<str;
#include <cstring>
28Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
A. Θεωρία
3. Στοιχεία της C
7.1. Συμβολοσειρές (Παράδειγμα)
/* CPP1.strings.cpp */
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str1[80];
char str2[80];
cout<<"Dwse string: ";
cin>>str1;
strcpy(str2,str1);
cout<<str2;
return 0;
}
29Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Οι δείκτες είναι εξίσου σημαντικοί στην C++ όπως και στην C!
• Παράδειγμα ορισμού δείκτη:
• Βάζουμε τον δείκτη να δείχνει σε μια μεταβλητή (διευθυνσιοδότηση):
• Και ισχύει πλέον:
• Καθώς και
• Και εξίσου σημαντικά είναι:
• Η σχέση πινάκων με δείκτες
• Η αριθμητική δεικτών
• Τα ορίσματα συναρτήσεων (μέσω δείκτη και μέσω αναφοράς), η σταθερά NULL
Παρατηρήσεις:
• Αναλυτικά βλ. «Γλώσσα C – Μάθημα 8: Δείκτες»
• Προσοχή όμως ότι αλλάζει ο τρόπος δυναμικής δέσμευσης μνήμης (malloc – free)
A. Θεωρία
3. Στοιχεία της C
8. Δείκτες
int *p;
p = &x;
p == &x; // Διεύθυνση της x
*p == x; // Τιμή της x
30Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Ο κώδικας του μαθήματος είναι διαθέσιμος στο:
Σημαντικό!
https://github.com/psounis/CPP-programming
Β. Ασκήσεις
Άσκηση 1
31Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
Κατασκευάστε ένα νέο πρόγραμμα που να ζητάει από το χρήστη:
• Το όνομά του
• Το επώνυμο του
• Την ηλικία του (έτη)
• Και να τα τυπώνει έπειτα στην οθόνη σε μία γραμμή: «ΕΠΩΝΥΜΟ ΟΝΟΜΑ (ΗΛΙΚΙΑ)»
Β. Ασκήσεις
Άσκηση 2
32Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
• Κατασκευάστε μία συνάρτηση, με όνομα average, η οποία να υπολογίζει το μέσο όρο, είτε δύο
ακεραίων είτε δύο πραγματικών αριθμών.
• Η main να δίνει την επιλογή στο χρήστη να εισάγει από το πληκτρολόγιο δύο ακέραιους ή δύο
πραγματικούς και να υπολογίζει και να εκτυπώνει τον μέσο όρο τους.
Υπενθύμιση:
• Μέσος όρος των α+β είναι (α+β)/2.
Β. Ασκήσεις
Άσκηση 3
33Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
Το ακόλουθο πρόγραμμα από το «Γλώσσα C – Μάθημα 11» υλοποιεί την Σειριακή Αναζήτηση
 Τροποποιήστε το πρόγραμμα ώστε:
 Να είναι C++
 Να χρησιμοποιεί λογική μεταβλητή που υποδεικνύει αν βρέθηκε το στοιχείο στον πίνακα.
*
**
***
****
*****
/* break.c: Deixnei tin xrisi tis break */
#include <stdio.h>
#define N 5
main()
{
int i;
int A[N]= {5, 3, 2, 4, 8 }; // Pinakas dedomenwn
int x=2; // Pros anazitisi stoixeio
/* Psaxnoume gia to stoixeio x ston pinaka A */
for (i=0; i<N; i++)
{
if (A[i]==x)
break;
}
if (i<N)
printf("nVrethike to stoixeio %d sti thesi %d",x,i);
else
printf("nDen Vrethike to stoixeio");
}

Mais conteúdo relacionado

Mais procurados

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥDimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝDimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥDimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10 Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣDimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣDimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑDimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Dimitris Psounis
 

Mais procurados (20)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
 

Semelhante a C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C

ΠΛΗ10 ΜΑΘΗΜΑ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 ΠΛΗ10 ΜΑΘΗΜΑ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 Dimitris Psounis
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαΙωάννου Γιαννάκης
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdfargideli1
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdfargideli1
 
5.1 python γενικά - υπολογισμοί & μεταβλητές
5.1 python γενικά - υπολογισμοί & μεταβλητές5.1 python γενικά - υπολογισμοί & μεταβλητές
5.1 python γενικά - υπολογισμοί & μεταβλητέςPanagiotis Mastrapas
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Stathis Gourzis
 
1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
1η διάλεξη Τεχνολογίες Παγκόσμιου ΙστούManolis Vavalis
 
Why computers can' compute
Why computers can' computeWhy computers can' compute
Why computers can' computejtsagata
 
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία Κόλατς
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία ΚόλατςΕξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία Κόλατς
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία ΚόλατςPeriklis Georgiadis
 
C_03112023.pdf
C_03112023.pdfC_03112023.pdf
C_03112023.pdfargideli1
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Stathis Gourzis
 
Kef10 a synartiseis
Kef10 a synartiseisKef10 a synartiseis
Kef10 a synartiseismnikol
 
C_27102023.pdf
C_27102023.pdfC_27102023.pdf
C_27102023.pdfargideli1
 
μάθημα 3 υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμός
μάθημα 3   υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμόςμάθημα 3   υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμός
μάθημα 3 υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμόςGeorge Avgeris
 

Semelhante a C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (20)

ΠΛΗ10 ΜΑΘΗΜΑ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 ΠΛΗ10 ΜΑΘΗΜΑ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.1
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικα
 
Εισαγωγή σε C# και .ΝΕΤ
Εισαγωγή σε C# και .ΝΕΤΕισαγωγή σε C# και .ΝΕΤ
Εισαγωγή σε C# και .ΝΕΤ
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdf
 
Avouris teaching python
Avouris teaching pythonAvouris teaching python
Avouris teaching python
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdf
 
Make tutorial
Make tutorialMake tutorial
Make tutorial
 
5.1 python γενικά - υπολογισμοί & μεταβλητές
5.1 python γενικά - υπολογισμοί & μεταβλητές5.1 python γενικά - υπολογισμοί & μεταβλητές
5.1 python γενικά - υπολογισμοί & μεταβλητές
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
 
Why computers can' compute
Why computers can' computeWhy computers can' compute
Why computers can' compute
 
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία Κόλατς
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία ΚόλατςΕξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία Κόλατς
Εξάσκηση σε Υποπρογράμματα με αφορμή την Εικασία Κόλατς
 
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
 
C_03112023.pdf
C_03112023.pdfC_03112023.pdf
C_03112023.pdf
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.
 
Kef10 a synartiseis
Kef10 a synartiseisKef10 a synartiseis
Kef10 a synartiseis
 
C_27102023.pdf
C_27102023.pdfC_27102023.pdf
C_27102023.pdf
 
μάθημα 3 υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμός
μάθημα 3   υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμόςμάθημα 3   υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμός
μάθημα 3 υλοποίηση αλγορίθμου με υπολογιστή - προγραμματισμός
 

Mais de Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 

Mais de Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32
 
ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31
 
ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30
 
ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35
 
ΠΛΗ10 ΤΕΣΤ 34
ΠΛΗ10 ΤΕΣΤ 34ΠΛΗ10 ΤΕΣΤ 34
ΠΛΗ10 ΤΕΣΤ 34
 

Último

Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .Dimitra Mylonaki
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο Χρύσα Παπακωνσταντίνου
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdfssuser2f8893
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 

Último (20)

Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 

C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C

  • 1. H ΓΛΩΣΣΑ C++ Μάθημα 1: Εισαγωγή στην C++ και σχέση με την γλώσσα C Δημήτρης Ψούνης
  • 2. Περιεχόμενα Μαθήματος Α. Θεωρία 1. Η Γλώσσα C++ 1. Γενικά 2. Ιστορία – Εκδόσεις 3. Η αναγκαιότητα της C 4. Μεταγλωττιστές 2. Hello World! 1. Πηγαίος Κώδικας 2. Σχόλια 3. Βιβλιοθήκη iostream 4. main, block κώδικα, return 5. Είσοδος/Έξοδος 1. Έξοδος με την cout 2. Οδηγία using 3. Περισσότερα για την cout 4. Είσοδος με την cin 2Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C 3. Στοιχεία της C 1. Μεταβλητές 2. Σταθερές 3. Τελεστές και η Δομή Ελέγχου 4. Δομές Επανάληψης 5. Συναρτήσεις 1. Πολυμορφισμός Συναρτήσεων 6. Πίνακες 7. Συμβολοσειρές 8. Δείκτες Ασκήσεις
  • 3. A. Θεωρία 1. Η Γλώσσα C++ 1. Γενικά 3 Η Γλώσσα Προγραμματισμού C++ • Είναι μια επέκταση της γλώσσας C με • Την οργάνωση των δεδομένων και των συναρτήσεων σε μία ενιαία οντότητα που ονομάζεται κλάση (class) • Οργάνωση των δεδομένων και των συναρτήσεων της κλάσης, ώστε να επιτυγχάνεται απόκρυψη πληροφορίας: ενθυλάκωση (encapsulation) • Η δυνατότητα των κλάσεων να κληρονομούνται (inheritance) από άλλες κλάσεις και να προσθέτουν την δική τους λειτουργικότητα • Η δυνατότητα συναρτήσεων και κλάσεων να είναι πολυμορφικές (polymorphism) • Ένα όνομα θα μπορεί να κάνει διαφορετικές ενέργειες • Με πολλές καινούργιες βιβλιοθήκες, οι οποίες κάνουν πιο αποδοτικό τον προγραμματισμό μεγαλύτερων projects. Παράδειγμα: Θέλω να κατασκευάσω ένα παιχνίδι, το οποίο θα έχει για ήρωα τον σκύλο «Πίκο» (μικρόσωμο) και τον σκύλο «Αζόρ» (μεγαλόσωμο) • Θα ορίσω μία κλάση με όνομα σκύλος με όλη τη συμπεριφορά του σκύλου • Η ενέργεια «γάβγισε» θα είναι δημόσια, ενώ η ενέργεια «εκνευρισμός» θα είναι εσωτερική (ενθυλάκωση) • Την κλάση αυτή θα την κληρονομούν δύο υπό-κλάσεις οι οποίες θα εξειδικεύουν τα χαρακτηριστικά των μεγαλόσωμων και μικρόσωμων σκύλων. • Ο Πίκο θα είναι ένα αντικείμενο της κλάσης «Μικρόσωμος σκύλος» • Η κλάση θα έχει μία μέθοδο «γάβγισε», που θα αντιδρά διαφορετικά, αν ο σκύλος γαβγίζει μία γάτα ή έναν άνθρωπο (πολυμορφισμός) Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
  • 4. A. Θεωρία 1. Η Γλώσσα C++ 2. Ιστορία – Εκδόσεις C++ 4 • 1979 «C with classes» από τον Bjarne Stroustroup • στα εργαστήρια της Bell και της ΑΤ & T • 1984 Μετονομασία σε «C++» με αρκετές προσθήκες • 1989 2η έκδοση της C++ με πολλές προσθήκες ακόμη στη γλώσσα • 1998 Πρώτη standard έκδοση με πρότυπο ISO • Από το 2011 βγαίνει μία καινούργια έκδοση κάθε 3 χρόνια συνήθως με αλλαγές που συνήθως είναι επεκτάσεις της γλώσσας. Εκδόσεις: • C++11 (2011) • C++14 (2014) • C++17 (2017) • επόμενη έκδοση C++20 (2020) Bjarne Stroustrup Σημείωση: • Το όνομα C++ σημαίνει • Αύξηση της C κατά 1 (με βάση τον τελεστή ++, που σημαίνει αύξηση κατά 1) • Άρα είναι μία επέκταση της C, ωστόσο: • Δεν είναι αυστηρό υπερσύνολο της, υπάρχουν κάποια (λίγα) χαρακτηριστικά της C που δεν δουλεύουν σε C++. Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
  • 5. A. Θεωρία 1. Η Γλώσσα C++ 3. Η αναγκαιότητα της C 5 • Η C++ «πατάει» πάνω στην γλώσσα C • Γι’αυτό είναι απαραίτητη καλή γνώση της C • Ωστόσο δεν είναι απαραίτητη η γνώση όλων των χαρακτηριστικών της C • Για παράδειγμα οι περισσότερες βιβλιοθήκες συναρτήσεων αλλάζουν στην C++ και γίνονται (συνήθως) πιο εύκολες στην χρήση. • Τα περισσότερα βασικά χαρακτηριστικά όμως είναι ίδια. • Π.χ. ο χειρισμός • Μεταβλητών, Τύπων Δεδομένων • Δομής Ελέγχου, Δομών Επανάληψης • Συναρτήσεων • Πινάκων • Δεικτών • είναι ίδιος στην C++ και είναι προαπαιτούμενος για την κατανόηση των νέων χαρακτηριστικών (κλάσεις, κληρονομικότητα κ.λπ.) • Αλλά η μεγάλη διαφορά της C με την C++ είναι η μετατόπιση του ενδιαφέροντος στην δόμηση των προγραμμάτων από: • τις συναρτήσεις της C (διαδικαστικός προγραμματισμός) • στα αντικείμενα της C++ (αντικειμενοστραφής προγραμματισμός – object oriented programming) • Στην συνέχεια του μαθήματος θα κάνουμε μία υπενθύμιση των βασικών χαρακτηριστικών της γλώσσας C (με κάποια νέα στοιχεία). Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
  • 6. A. Θεωρία 1. Η Γλώσσα C++ 4. Μεταγλωττιστές 6 • Υπάρχουν δεκάδες μεταγλωττιστές της γλώσσας C++, είτε δωρεάν, είτε με πληρωμή. • Στα πλαίσια αυτής της σειράς μαθημάτων θα χρησιμοποιήσουμε τον (δωρεάν) online μεταγλωττιστή OnlineGDB • Στην σελίδα https://www.onlinegdb.com/ • Χρησιμοποιεί τον μεταγλωττιστή g++ • Έχει μηχανισμό για debugging Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
  • 7. A. Θεωρία 2. Hello World! 1. Πηγαίος κώδικας 7 • Δημιουργούμε το νέο project CPP1.helloworld.cpp • και το εκτελούμε: /* CPP1.helloworld.cpp */ #include <iostream> int main() { std::cout<<"Hello World!"; return 0; } Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C
  • 8. A. Θεωρία 2. Hello World! 2. Σχόλια 8 • Βλέπουμε την πρώτη γραμμή • Είναι ένα σχόλιο. Συνηθίζεται να γράφουμε στην αρχή, το όνομα του αρχείου με κάποια επεξηγηματικά σχόλια. • Τα σχόλια γράφονται όπως στην C και υπάρχουν δύο είδη σχολίων: • Σχόλια πολλών γραμμών. Ξεκινάνε με /* και τελέιώνουν με */ • Σχόλια μίας γραμμής. Ξεκινάνε με // /* CPP1.helloworld.cpp */ Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C /* Αυτό είναι ένα σχόλιο πολλών γραμμών */ // Αυτό είναι ένα σχόλιο μίας γραμμής
  • 9. A. Θεωρία 2. Hello World! 3. Βιβλιοθήκη iostream 9 • Βλέπουμε την γραμμή • Είναι μια οδηγία για τον προεπεξεργαστή (ξεκινά με το #) • Λέει πρακτικά, βρες το αρχείο (iostream.h) και βάλε τα περιεχόμενά του εδώ. • Η βιβλιοθήκη iostream.h • Περιέχει τις standard κλάσεις/συναρτήσεις για τον χειρισμό εισόδου/εξόδου #include <iostream> Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C Παρατηρήσεις: • Η βιβλιοθήκη iostream.h αντικαθιστά την stdio.h της C • Η βιβλιοθήκη είναι απαραίτητη για το αντικείμενο cout, το οποίο κάνει το χειρισμό της εξόδου στην οθόνη, εδώ της συμβολοσειράς «Hello World!»
  • 10. A. Θεωρία 2. Hello World! 4. main, block κώδικα, return 10 • Η συνάρτηση main είναι το σημείο εισόδου του προγράμματος μας. • Με το που ξεκινάει να τρέχει, εκτελούνται σειριακά οι εντολές μέσα στην main. • H main υποχρεωτικά επιστρεφει ακέραια τιμή. • Η επιστροφή γίνεται στο λειτουργικό σύστημα που τρέχει το εκτελέσιμο. • Η τιμή 0 σημαίνει ότι όλα πήγαν καλά (κατά σύμβαση) • Ο προγραμματιστής μπορεί να διαχειριστεί μη μηδενικές τιμές για να δείξει (στο λειτουργικό) ότι κάτι δεν πήγε καλά στην εκτέλεση του προγράμματος. • Τα άγκιστρα πάντα ορίζουν την αρχή και το τέλος της συνάρτησης main • και λέμε ότι ορίζεται από αυτά, ένα μπλοκ κώδικα. int main() { … return 0; } Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C Παρατηρήσεις: • H χρήση της return είναι ίδια με την C • Είναι μία εντολή, άρα πρέπει να ακολουθείται από ερωτηματικό.
  • 11. 11 • Το αντικείμενο std::cout χρησιμοποιείται για την έξοδο δεδομένων στην οθόνη • Η πλήρης κατανόηση του, απαιτεί την γνώση κλάσεων, άλλά θα δώσουμε μια πρόχειρη ιδέα (αν δεν την κατανοούμε πλήρως, δεν πειράζει για την ώρα). • Η βιβλιοθήκη iostream ορίζει μεταξύ άλλων: • Ένα αντικείμενο που λέγεται cout το οποίο τυπώνει στην οθόνη • Οι κλάσεις/αντικείμενα εισόδου/εξόδου της iostream ορίζονται σε έναν χώρο ονομάτων (namespace) που ονομάζεται std • Ο χώρος ονομάτων χρησιμοποιείται για να μην έχουν τα αντικείμενα αυτά καθολική εμβέλεια. • Ο χώρος ονομάτων std περιέχεται στο iostream.h • Οπότε η έκφραση std::cout σημαίνει: • Βρες το αντικείμενο cout το οποίο βρίσκεται στον χώρο ονομάτων std. • To << θα το ονομάζουμε τελεστή εξόδου. • Πρακτικά λέμε στο αντικείμενο std::cout, πάρε σαν είσοδο αυτή την συμβολοσειρά (Hello World!) και τύπωσε την στην οθόνη. std::cout<<“Hello World!”; Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C Παρατήρηση: • Περισσότερα για τους χώρους ονομάτων θα δούμε στη συνέχεια του μαθήματος. A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (1. Έξοδος με την cout)
  • 12. 12 • Με την οδηγία using, μπορούμε να δώσουμε εντολή στο πρόγραμμα μας: • να ενσωματώσει στο πρόγραμμα μας ένα στοιχείο (αντικείμενο, σταθερά κ.ο.κ) • ώστε να μην γράφουμε κάθε φορά που βρίσκεται το αντικείμενο cout • Έτσι ο ακόλουθος κώδικας είναι κομψότερος: /* CPP1.helloworld2.cpp using std::cout */ #include <iostream> using std::cout; int main() { cout<<"Hello World!"; return 0; } Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (2. Οδηγία using)
  • 13. 13 • και ο δρόμος του τεμπέλη: • Δίνουμε οδηγία στο πρόγραμμα μας να ενσωματώσει όλα τα στοιχεία του χώρου ονομάτων της std. • Χρησιμοποιώντας την οδηγία using namespace std; /* CPP1.helloworld3.cpp Ενσωμάτωση όλης της std*/ #include <iostream> using namespace std; int main() { cout<<"Hello World!"; return 0; } Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (2. Οδηγία using)
  • 14. 14 • Ο τελεστής << λέμε ότι είναι υπερφορτωμένος (overloaded) • διότι μπορεί να προβάλλει στην οθόνη, διαφορετικούς τύπους δεδομένων. • Στα προηγούμενα παραδείγματα είδαμε πως μπορεί να προβάλλει συμβολοσειρές • Ας δούμε πως μπορούμε να προβάλλουμε ακέραιες και πραγματικές μεταβλητές Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (3. Περισσότερα για την cout) /* CPP1.overloading.cpp Εκτύπωση διαφορετικών τύπων δεδομένων */ #include <iostream> using namespace std; int main() { int x = 5; double y = 5.01; cout<<"To x einai "; cout<<x; cout<<" kai to y einai "; cout<<y; return 0; }
  • 15. 15 • Στην std έχει οριστεί και το std::endl • Το οποίο αλλάζει γραμμή στην κονσόλα. • Μπορούμε και να ενσωματώσουμε τον χαρακτήρα n μέσα σε μία συμβολοσειρά της C • Επίσης, ο τελεστής << μπορεί να γραφεί και πολλές φορές στην ίδια γραμμή μίας cout. Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (4. Περισσότερα για την cout) /* CPP1.endl.cpp Χρήση του endl */ #include <iostream> using namespace std; int main() { int x = 5; double y = 5.01; cout<<"To x einai "<<x<<endl<<"kai to y einai "<<y<<"n"; return 0; }
  • 16. 16 • H std::cin χρησιμοποιείται για την είσοδο από το το πληκτρολόγιο • Αντικαθιστά την scanf της C • Λειτουργεί όπως η cout • Με την διαφορά ότι ο τελεστής εισόδου που έχει οριστεί είναι ο >> Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 2. Hello World! 5. Είσοδος / Έξοδος (5. Είσοδος με την cin) /* CPP1.cin.cpp Χρήση της cin */ #include <iostream> using namespace std; int main() { int x; cout<<"Dwse x: "; cin>>x; cout<<"To x einai: "<<x; return 0; } Παρατήρηση: • Οι cin και cout είναι περίπλοκα αντικείμενα. Θα τα μελετήσουμε αναλυτικά σε επόμενο μάθημα
  • 17. 17Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Ο ορισμός των μεταβλητών γίνεται όπως στην C • Π.χ. η δήλωση: • δηλώνει μία ακέραια μεταβλητή και της αναθέτει την τιμή 5. • Οι τύποι δεδομένων της C υπάρχουν αυτούσιοι στην C++: • char, short, int, long για ακέραιες τιμές • float, double για πραγματικές τιμές • Και ορίζεται ένας νέος τύπος δεδομένων: int x=5; Ο τύπος δεδομένων bool απεικονίζει λογικές τιμές, και συγκεκριμένα δέχεται μόνο δύο τιμές: • true (λογικό αληθές). Δεσμευμένη λέξη (keyword) με τιμή 1. • false (λογικό ψευδές). Δεσμευμένη λέξη (keyword) με τιμή 0. Παρατηρήσεις: • Κάθε αριθμητική τιμή μετατρέπεται σε λογική τιμή ώς εξής • Το 0, γίνεται false. • Κάθε άλλη τιμή, γίνεται true. • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 3: Μεταβλητές και Σταθερές» A. Θεωρία 3. Στοιχεία της C 1. Μεταβλητές
  • 18. 18Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C /* CPP1.bool.cpp Χρήση λογικών μεταβλητών */ #include <iostream> using namespace std; int main(){ bool x = true; // Αριθμητική τιμή μίας λογικής μεταβλητής cout<<x<<endl; // Μετατροπή αριθμού σε λογική μεταβλητή x = 4; cout<<x<<endl; // Μία συνθήκη που ερμηνεύεται σε μεταβλητή bool. x = !(0>1); if (x) cout<<x<<endl; return 0; } A. Θεωρία 3. Στοιχεία της C 1. Μεταβλητές
  • 19. 19Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Ισχύει ο διαχωρισμός των σταθερών σε: • Αριθμητικές σταθερές, π.χ. 1, 3.14 • Συμβολικές σταθερές • Είτε με την οδηγία προεπεξεργαστή #define, π.χ. • Η οποία αντικαθιστά κάθε εμφάνιση της PI με 3.14 πριν την μεταγλώττιση του προγράμματος • Είτε με την λέξη κλειδί const πριν από την δήλωση της μεταβλητής, π.χ. • H οποία απαγορεύει στην μεταβλητή x να αλλάξει την τιμή της κατά την εκτέλεση του προγράμματος. #define PI 3.14 Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 3: Μεταβλητές και Σταθερές» A. Θεωρία 3. Στοιχεία της C 2. Σταθερές const int x = 2;
  • 20. 20Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Οι τελεστές της C είναι ίδιοι στην C++: • Αριθμητικοί τελεστές: +,*,-,/,% και ++,-- • Σχεσιακοί τελεστές: ==, >, >=, <, <=, != • Λογικοί τελεστές: &&, ||, ! • και οι συντομογραφίες: +=, -=, *=, /=, %= • Ενώ και η σύνταξη της δομής ελέγχου (if) είναι ίδια. • Και μπορούμε να χρησιμοποιήσουμε την switch Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 4: Τελεστές και η δομή ελέγχου» • και τη switch από το «Γλώσσα C – Μάθημα 12: Έλεγχος Ροής Προγράμματος» A. Θεωρία 3. Στοιχεία της C 3. Τελεστές και η δομή ελέγχου [προηγούμενες εντολές] if (πρώτη συνθήκη) { (εντολές1) } else if (δεύτερη συνθήκη) { (εντολές2) } … else if (συνθήκηΝ) { (εντολέςΝ) } else { (εντολέςΝ+1) } [επόμενες εντολές]
  • 21. 21Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Και οι δομές επανάληψης είναι ίδιες με την C: Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 5: Δομές Επανάληψης» • και τις break, continue από το «Γλώσσα C – Μάθημα 12: Έλεγχος Ροής Προγράμματος» A. Θεωρία 3. Στοιχεία της C 4. Δομές Επανάληψης [προηγούμενες εντολές] for( αρχική; συνθήκη; βήμα) { (εντολές) } [επόμενες εντολές] do { (Εντολές) } while (Συνθήκη); while (Συνθήκη) { (εντολές) }
  • 22. 22Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Και οι συναρτήσεις είναι ίδιες με την C: Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 6: Συναρτήσεις» A. Θεωρία 3. Στοιχεία της C 5. Συναρτήσεις ..... int func(int x, int y); <- Αυτό είναι το πρωτότυπο της συνάρτησης Σημείωση: Μπορεί να γραφεί και ως int func(int, int); σε C++ main() { .... c=func(a,b); <- Εδώ καλούμε την συνάρτηση στην main, .... σαν μία ακόμη εντολή του προγράμματος } int func(int x, int y) <-Αυτό είναι το σώμα της συνάρτησης { return (x*y); }
  • 23. 23Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Μια σημαντική προσθήκη στην C++ είναι ο «πολυμορφισμός» (polymorphism) • ή πως το ίδιο όνομα μπορεί να κάνει διαφορετικά πράγματα. • Ο πολυμορφισμός συναρτήσεων στην C++ είναι μία διευκόλυνση: • Το ίδιο όνομα συνάρτησης μπορεί να χρησιμοποιηθεί για να κάνει διαφορετικές δουλειές. • Π.χ. ενώ στην C αν θέλαμε μία συνάρτηση που να προσθέτει είτε int είτε float θα γράφαμε δύο συναρτήσεις: • στην C++ μπορούμε να χρησιμοποιήσουμε το ίδιο όνομα συνάρτησης: • O μεταγλωττιστής αποφασίζει ποια από τις δύο συναρτήσεις θα χρησιμοποιήσει, ανάλογα με τα ορίσματα της κλήσης της συνάρτησης. A. Θεωρία 3. Στοιχεία της C 5.1. Πολυμορφισμός Συναρτήσεων int sumi(int x, int y); float sumf(float x, floaty); int sum(int x, int y); float sum(float x, floaty);
  • 24. 24Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 3. Στοιχεία της C 5.1. Πολυμορφισμός Συναρτήσεων (Παράδειγμα ) /* CPP1.overloading.cpp Υπερφόρτωση Συναρτήσεων */ #include <iostream> using namespace std; int sum(int x, int y); double sum(double x, double y); int main() { std::cout<<sum(5,3); std::cout<<" "; std::cout<<sum(1.1,2.2); return 0; } int sum(int x, int y) { return x+y; } double sum(double x, double y) { return x+y; }
  • 25. 25Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Σημαντικό! • Ο μεταγλωττιστής αποφασίζει ποια δήλωση να ακολουθήσει ως εξής: • Βλέπει την κλήση της συνάρτησης και τα ορίσματα που έχουμε βάλει σε αυτήν • Και καλέι εκείνη την δήλωση που ταιριάζουν τα ορίσματα. • Δεν λαμβάνει υπόψιν του λοιπόν, την επιστρεφόμενη τιμή. • Έτσι αν είχαμε τις δηλώσεις συναρτήσεων: • Αυτές έχουν ίδιο όνομα και ίδια ορίσματα, οπότε δεν διαφοροποιούνται και θα οδηγήσει σε λάθος μεταγλώττισης. A. Θεωρία 3. Στοιχεία της C 5.1. Πολυμορφισμός Συναρτήσεων int func(int x, int y); float func(int x, int y); Παρατηρήσεις: • Υπάρχουν και άλλα είδη πολυμορφισμού, π.χ. κλάσεων, που θα δούμε στα επόμενα μαθήματα.
  • 26. 26Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Και οι πίνακες είναι ίδιοι με την C: • Παράδειγμα ορισμού πίνακα: • Επεξεργασία κάποιου στοιχείου του πίνακα: • Παράδειγμα ορισμού διδιάστατου πίνακα • και επεξεργασία κάποιου στοιχείου του πίνακα: Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 7: Πίνακες» A. Θεωρία 3. Στοιχεία της C 6. Πίνακες int arr[5] = {0,4,9,2,1}; arr[2] = 4; int arr[2][3] = {{0,1,2}, {3,4,5}}; arr[0][1] = 4;
  • 27. 27Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Επίσης οι συμβολοσειρές είναι ίδιες με την C • Παράδειγμα ορισμού συμβολοσέιράς: • Η εκτύπωση μπορεί να γίνει με την cout (και η είσοδος με την cin) • Ενδέχεται να μας φανεί χρήσιμη κάποια συνάρτηση του string.h • Προσοχή! Η ενσωμάτωση της αλλάζει και γίνεται ως εξής: • Παρόμοια μπορούμε να ενσωματώσουμε και άλλες βιβλιοθήκες της C π.χ. η cstdlib είναι η stdlib.h, η ctime είναι η time.h κ.ο.κ. • Η C++ προσφέρει και έναν καινούργιο τρόπο διαχείρισης συμβολοσειρών μέσω της βιβλιοθήκης STL (αλλά θα είναι ένα από τα τελευταία μαθήματα) Παρατηρήσεις: • Αναλυτικά βλ. • «Γλώσσα C – Μάθημα 10: Συμβολοσειρές» και • «Γλώσσα C – Μάθημα 18: string.h» A. Θεωρία 3. Στοιχεία της C 7. Συμβολοσειρές char str[80] = “A string”; cout<<str; #include <cstring>
  • 28. 28Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C A. Θεωρία 3. Στοιχεία της C 7.1. Συμβολοσειρές (Παράδειγμα) /* CPP1.strings.cpp */ #include <iostream> #include <cstring> using namespace std; int main() { char str1[80]; char str2[80]; cout<<"Dwse string: "; cin>>str1; strcpy(str2,str1); cout<<str2; return 0; }
  • 29. 29Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Οι δείκτες είναι εξίσου σημαντικοί στην C++ όπως και στην C! • Παράδειγμα ορισμού δείκτη: • Βάζουμε τον δείκτη να δείχνει σε μια μεταβλητή (διευθυνσιοδότηση): • Και ισχύει πλέον: • Καθώς και • Και εξίσου σημαντικά είναι: • Η σχέση πινάκων με δείκτες • Η αριθμητική δεικτών • Τα ορίσματα συναρτήσεων (μέσω δείκτη και μέσω αναφοράς), η σταθερά NULL Παρατηρήσεις: • Αναλυτικά βλ. «Γλώσσα C – Μάθημα 8: Δείκτες» • Προσοχή όμως ότι αλλάζει ο τρόπος δυναμικής δέσμευσης μνήμης (malloc – free) A. Θεωρία 3. Στοιχεία της C 8. Δείκτες int *p; p = &x; p == &x; // Διεύθυνση της x *p == x; // Τιμή της x
  • 30. 30Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Ο κώδικας του μαθήματος είναι διαθέσιμος στο: Σημαντικό! https://github.com/psounis/CPP-programming
  • 31. Β. Ασκήσεις Άσκηση 1 31Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C Κατασκευάστε ένα νέο πρόγραμμα που να ζητάει από το χρήστη: • Το όνομά του • Το επώνυμο του • Την ηλικία του (έτη) • Και να τα τυπώνει έπειτα στην οθόνη σε μία γραμμή: «ΕΠΩΝΥΜΟ ΟΝΟΜΑ (ΗΛΙΚΙΑ)»
  • 32. Β. Ασκήσεις Άσκηση 2 32Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C • Κατασκευάστε μία συνάρτηση, με όνομα average, η οποία να υπολογίζει το μέσο όρο, είτε δύο ακεραίων είτε δύο πραγματικών αριθμών. • Η main να δίνει την επιλογή στο χρήστη να εισάγει από το πληκτρολόγιο δύο ακέραιους ή δύο πραγματικούς και να υπολογίζει και να εκτυπώνει τον μέσο όρο τους. Υπενθύμιση: • Μέσος όρος των α+β είναι (α+β)/2.
  • 33. Β. Ασκήσεις Άσκηση 3 33Δημήτρης Ψούνης, Η Γλώσσα C++, Μάθημα 1: Εισαγωγή στην C++ και σχέση με την C Το ακόλουθο πρόγραμμα από το «Γλώσσα C – Μάθημα 11» υλοποιεί την Σειριακή Αναζήτηση  Τροποποιήστε το πρόγραμμα ώστε:  Να είναι C++  Να χρησιμοποιεί λογική μεταβλητή που υποδεικνύει αν βρέθηκε το στοιχείο στον πίνακα. * ** *** **** ***** /* break.c: Deixnei tin xrisi tis break */ #include <stdio.h> #define N 5 main() { int i; int A[N]= {5, 3, 2, 4, 8 }; // Pinakas dedomenwn int x=2; // Pros anazitisi stoixeio /* Psaxnoume gia to stoixeio x ston pinaka A */ for (i=0; i<N; i++) { if (A[i]==x) break; } if (i<N) printf("nVrethike to stoixeio %d sti thesi %d",x,i); else printf("nDen Vrethike to stoixeio"); }