Εισαγωγή στην C και C++ σε Ολοκληρωμένο Περιβάλλον Δημιουργίας Λογισμικού: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Glavkos (συζήτηση | συνεισφορές)
Basanas (συζήτηση | συνεισφορές)
Προσθήκη Orwell-Dev++, επιπλέον συνδέσμων, διόρθωση ορθογραφικών σφαλμάτων
Γραμμή 1:
Το παρόν βίκιεγχειρίδιο θα σας καθοδηγήσει στα πρώτα σας βήματα στον προγραμματισμόνπρογραμματισμό με [[:w:C_(γλώσσα_προγραμματισμού)|C]] , [[:w:C++|C++]]
σε ένα [[:w:Ολοκληρωμένο περιβάλλον ανάπτυξης|ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού(ΙDE)]].
 
Τα τρία ακόλουθα περιβάλλοντα δημιουργίας σε C, C++ είναι [[:w:Ελεύθερο λογισμικό|ελεύθερο λογισμικό]] και
εκτελούνται σε περιβάλλον [[:w:Windows|Windows]] και [[:w:Linux|GNU/Linux]] με εξαίρεση το Dev-C++ που διατίθεται μόνο για windowsMS Windows.
*'''[[:en:w:Dev-C++|Dev-C++]]'''.
*'''[[:en:w:Dev-C++|Dev-C++]]'''. Το DEV-C++ ειναι στάσιμο σαν εγχείρημα, και εκτελείται σε windows λειτουργικό.
*'''[[:w:en:Code::Blocks|Code::Blocks]]'''
*'''[http://www.eclipse.org/cdt/ Eclipse CDT]'''
Γραμμή 10:
== Εγκατάσταση ==
=== Dev-C++ ===
Μεταβείτε με τοντο πλοηγόφυλλομετρητή διαδικτύουσας στην [http://wwworwelldevcpp.bloodshedblogspot.netgr/dev/devcpp.html ιστοσελίδα λήψης] και κυλίστεκυλήστε το παράθυρο στην ενότητα Downloads Download.
Προσέξτε να κάνετε λήψη του αρχείου στο σημείο '''Dev-C++The 5.0setup betawhich 9.2includes (4.9.9.2)MinGW32 (9.0can MB)be withdownloaded Mingw/GCChere''' που περιέχει και τον [[:w:Μεταγλωττιστής|μεταγλωττιστή]] [[:en:w:MinGW|MinGW]] . Εναλλακτικά, μπορείτε να κατεβάσετε το κατάλληλο αρχείο εγκατάστασης από την επίσημη ιστοσελίδα στο [http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/| sourceforge].
[[:en:w:MinGW|MinGW]] . Υπάρχει και ένα αρχείο χωρίς των μεταγλωττιστή το
οποίο είναι χρήσιμο μόνο αν έχετε παλαίοτερη έκδοση και θέλετε να κάνετε αναβάθμιση.
Αν δεν έχετε τον μεταγλωττιστή δεν θα μπορείτε να ''δημιουργείται''(μεταγλωττίζετε) τα πηγαία αρχεία σας.
=== Code::Blocks ===
Το Code::Blocks είναι ένα ανεξάρτητο πλατφόρμας (cross-platform) IDE για την ανάπτυξη C/C++ εφαρμογών με πληθώρα επιπρόσθετων (plugin) λειτουργιών, το οποίο μπορείτε να [http://www.codeblocks.org/downloads/26 | κατεβάσετε από εδώ].
 
=== Eclipse CDT ===
[http://www.eclipse.org/downloads/packages/node/818 | Eclipse IDE for C/C++ Developers]
 
== Το πρώτο μας πρόγραμμα ==
Το πρώτο μας πρόγραμμα έχει ψυχολογικό και διδακτικό σκοπό. Η επιτυχής δημιουργία και εκτέλεση του θα μας δώσει το πρώτο ενθαρρυντικό σήμα ότι το περιβάλλον μας δουλεύει και ότι η έξοδος του προγράμματος είναι άμεσα ορατή!
η έξοδος του προγράμματος είναι ορατή σε μας!.
 
ΓιαΤα περισσότερα προγράμματα πουαποτελούνται εκτείνονταιαπό πληθώρα αρχείων πηγαίου κώδικα, οπότε και οργανώνονται σε "έργα" (projects). Στη περίπτωση που επιθυμούμε να δουλέψουμε με ένα μόνο αρχείο, δενμπορούμε χρειάζεταιαπευθείας να δημιουργήσουμεδημιουργήσετε ένα έργονέο οπότεπηγαίο αρχείο γιακαι να το μεταγλωττίσετε. Για να ξεκινήσετε, δώστεεπιλέξτε τηναπό εντολήτο τουαντίστοιχο μενού :
*[Dev-C++]'''Αρχείο->Νεο->Πηγαίο Αρχείο''' ή
*[Code::Blocks]'''File->New->File...''' και από τα πλαίσια διαλόγου επιλέξτε C/C++ κατηγορία και κατόπιν C
*[Eclipse CDT] '''File->New->C project''' (στo eclipse πρέπει δυστυχώς να δημιουργήσετε project για να γίνειμεταγλωττίσετε ηκαι δημιουργίαεκτελέσετε καιένα εκτέλεσηπρόγραμμα).
{{Κώδικας:Βασικό
|Το πρώτο μας πρόγραμμα θα εμφανίσει σαν έξοδο ένα [[:w:Συμβολοσειρά|αλφαριθμητικόκείμενο]] με τη χρήση της συνάρτησης '''printf'''.
|<source lang="c">
#include <stdio.h>
Γραμμή 36 ⟶ 34 :
printf("Hello, world!\n");
getchar(); // Χρήσιμη στοσε ορισμένα περιβάλλοντα, ώστε να καθυστερήσουμε το Dev-c++παράθυρο κονσόλας
return 0;
}
Γραμμή 44 ⟶ 42 :
 
Σ'αυτό το πρόγραμμα εκτός από την συνάρτηση διακρίνουμε τα εξής στοιχεία:
*την εντολή συμπερίληψης '''#include <stdio.h>''' (εκ'του '''st'''andard '''i'''nput '''o'''utput '''h'''eader) ενός αρχείου επικεφαλίδα (header) που περιλαμβάνει τους ορισμούς της συνάρτησης printf και άλλων συναρτήσεων εισόδου εξόδου. Υπάρχουν και άλλα αρχεία επικεφαλίδες που μας προσφέρουν και άλλες συναρτήσεις.<sub>Στην προκαθορισμένη(default) ρύθμιση του Dev-C++ δεν χρειάζεται απαραίτητα η επικεφαλίδα stdio.h αφού μερικές στανταρ επικεφαλίδες χρησιμοποιούνται αυτόματα.Αυτή η αυτόματη συμπερίληψη ελέγχεται από '''Εργαλεία->Επιλογές δημιουργίας->Ρυθμίσεις->Linker->Μη χρήση των στανταρ βιβλιοθηκών ή startup αρχείων'''. Χωρίς αυτό το αρχείο ο μεταγλωττιστής μας θα μας εμφανίσεί μηνύματα λάθους μη ορισμένων συμβόλων όπως το printf , getchat κτλ.</sub>
* το αναγνωριστικό '''main''' ξεχωρίζει την συνάρτηση από την οποία θα ξεκινήσει το πρόγραμμα. Μπορούμε σε ένα αρχείο ή ακόμα γενικότερα σε ένα έργο που περιλαμβάνει πολλά αρχεία να έχουμε όσες συναρτήσεις θέλουμε αλλά η πρώτη που θα εκτελεστεί είναι η main. Κοιτώντας την main βλέπουμε και μερικά χαρακτηριστικά που μοιράζονται όλες οι συναρτήσεις. Δηλαδή
** ένα όνομα
Γραμμή 51 ⟶ 49 :
** ένα κύριο σώμα εντολών της συνάρτησης που περιέχεται ανάμεσα σε άγκιστρα . '''{''' , '''}'''.
* η '''printf''' είναι η πιο συχνά χρησιμοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
* η εντολή '''getchar();''' είναι πιο ''φορητή'' εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέποντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα τύπου unixUnix σε αντίθεση με την ''getchar();'' που υπάρχει και σε συστήματα unixUnix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
* Μετά την εντολή getchar(); υπάρχει ένα σχόλιο μιας γραμμής που το ξεκίνημά του οριοθετήτεοριοθετείται από τους χαρακτήρες '''//''' . Το λέμε σχόλιο μιας γραμμής γιατί αν συνεχίσετε στην επόμενη γραμμή το πρόγραμμα θα είναι λάθος συντακτικά.
* και τέλος η εντολή '''return''' η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή επειδή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.
 
== Είσοδος Υπολογισμός Έξοδος ==
Σε γενικές γραμμές, όλα τα προγράμματα θα επεξεργαστούν κάποια δεδομένα [[:en:w:Data_(computing)|δεδομένα]] τα οποία, είτε θα πάρουν από κάποια αρχεία του συστήματος αρχείων του υπολογιστή είτε από τον ίδιο τον χρήστη μέσα από το πληκτρολόγιο ή κάποια άλλη αλληλεπιδραστική συσκευή εισόδου, θα τα επεξεργαστούνεεπεξεργαστούν με βάση τις εντολές του προγράμματος και θα μετά θα δημιουργήσουν τα δεδομένα εξόδου τα οποία είτε θα
εμφανιστούν στην οθόνη μας είτε θα αποθηκευτούν σε κάποιο αρχείο για να τα εξετάσουμε μετά.
Συνεπώς είναι λογικό όταν ερχόμαστε σε επαφή με κάποια γλώσσα προγραμματισμού να προσπαθούμε πρώτα να εξοικιωθούμεεξοικειωθούμε με τις εντολές εκείνες που θα επιτελέσουν την είσοδο και έξοδο καθώς και τις βασικές εντολές επεξεργασίας δεδομένων.
Αρχικά δεν θα μιλήσουμε για είσοδο/έξοδο σε αρχείο.
Ας δούμε λοιπόν ένα πρόγραμμα το οποίο θα πάρει σαν είσοδο 2 αριθμούς και θα μας εμφανίσει τον μεγαλύτερο στην οθόνη.