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

Από Βικιβιβλία
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 50: Γραμμή 50:
** λίστα παραμέτρων ( είναι το '''(void)''') και σημαίνει ότι δεν έχει παραμέτρους η main αλλά όπως θα δούμε μπορούσαμε να έχουμε μια συνάρτηση με πολλές παραμέτρους. Οι παράμετροι είναι κάποια δεδομένα που δίνουμε στην συνάρτηση για να επεξεργαστεί και να δώσει κάποιο αποτέλεσμα.
** λίστα παραμέτρων ( είναι το '''(void)''') και σημαίνει ότι δεν έχει παραμέτρους η main αλλά όπως θα δούμε μπορούσαμε να έχουμε μια συνάρτηση με πολλές παραμέτρους. Οι παράμετροι είναι κάποια δεδομένα που δίνουμε στην συνάρτηση για να επεξεργαστεί και να δώσει κάποιο αποτέλεσμα.
** ένα κύριο σώμα εντολών της συνάρτησης που περιέχεται ανάμεσα σε άγκιστρα . '''{''' , '''}'''.
** ένα κύριο σώμα εντολών της συνάρτησης που περιέχεται ανάμεσα σε άγκιστρα . '''{''' , '''}'''.
* η '''printf''' είναι η ποιό συχνά χρησημοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
* η '''printf''' είναι η πιο συχνά χρησιμοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
* η εντολή '''getchar();''' είναι ποιό ''φορητή'' εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέπωντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα ύπου unix σε αντίθεση με την ''getchar();'' που υπάρχει και σε συστήματα unix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
* η εντολή '''getchar();''' είναι πιο ''φορητή'' εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέποντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα τύπου unix σε αντίθεση με την ''getchar();'' που υπάρχει και σε συστήματα unix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
* Μετά την εντολή getchar(); υπάρχει ένα σχόλιο μιας γραμμής που το ξεκίνημά του οριοθετήτε από τους χαρακτήρες '''//''' . Το λέμε σχόλιο μιας γραμμής γιατί αν συνεχίσετε στην επόμενη γραμμή το πρόγραμμα θα είναι λάθος συντακτικά.
* Μετά την εντολή getchar(); υπάρχει ένα σχόλιο μιας γραμμής που το ξεκίνημά του οριοθετήτε από τους χαρακτήρες '''//''' . Το λέμε σχόλιο μιας γραμμής γιατί αν συνεχίσετε στην επόμενη γραμμή το πρόγραμμα θα είναι λάθος συντακτικά.
* και τέλος η εντολή '''return''' η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.
* και τέλος η εντολή '''return''' η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.

Αναθεώρηση της 10:28, 4 Ιανουαρίου 2012

Το παρόν βίκιεγχειρίδιο θα σας καθοδηγήσει στα πρώτα σας βήματα στον προγραμματισμόν με C , C++ σε ένα ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού(ΙDE).

Τα τρία ακόλουθα περιβάλλοντα δημιουργίας σε C, C++ είναι ελεύθερο λογισμικό και εκτελούνται σε περιβάλλον Windows και GNU/Linux με εξαίρεση το Dev-C++ που διατίθεται μόνο για windows.

  • Dev-C++. Το DEV-C++ ειναι στάσιμο σαν εγχείρημα, και εκτελείται σε windows λειτουργικό.
  • Code::Blocks
  • Eclipse CDT

Εγκατάσταση

Dev-C++

Μεταβείτε με τον πλοηγό διαδικτύου στην ιστοσελίδα λήψης και κυλίστε το παράθυρο στην ενότητα Downloads . Προσέξτε να κάνετε λήψη του αρχείου Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC που περιέχει και τον μεταγλωττιστή MinGW . Υπάρχει και ένα αρχείο χωρίς των μεταγλωττιστή το οποίο είναι χρήσιμο μόνο αν έχετε παλαίοτερη έκδοση και θέλετε να κάνετε αναβάθμιση. Αν δεν έχετε τον μεταγλωττιστή δεν θα μπορείτε να δημιουργείται(μεταγλωττίζετε) τα πηγαία αρχεία σας.

Code::Blocks

Eclipse CDT

Το πρώτο μας πρόγραμμα

Το πρώτο μας πρόγραμμα έχει ψυχολογικό και διδακτικό σκοπό. Η επιτυχής δημιουργία και εκτέλεση του θα μας δώσει το πρώτο ενθαρρυντικό σήμα ότι το περιβάλλον μας δουλέει και ότι η έξοδος του προγράμματος είναι ορατή σε μας!.

Για προγράμματα που εκτείνονται σε ένα μόνο αρχείο δεν χρειάζεται να δημιουργήσουμε ένα έργο οπότε για να ξεκινήσετε δώστε την εντολή του μενου :

  • [Dev-C++]Αρχείο->Νεο->Πηγαίο Αρχείο ή
  • [Code::Blocks]File->New->File... και από τα πλαίσια διαλόγου επιλέξτε C/C++ κατηγορία και κατόπιν C
  • [Eclipse CDT] File->New->C project (στo eclipse πρέπει να δημιουργήσετε project για να γίνει η δημιουργία και εκτέλεση).
Το πρώτο μας πρόγραμμα θα εμφανίσει σαν έξοδο ένα αλφαριθμητικό με χρήση της συνάρτησης printf.
#include <stdio.h>
 
int main(void)
{
  printf("Hello, world!\n");
  
  getchar(); //  Χρήσιμη στο Dev-c++ 
  return 0;
}


Σ'αυτό το πρόγραμμα εκτός από την συνάρτηση διακρίνουμε τα εξής στοιχεία:

  • την εντολή συμπερίληψης #include <stdio.h> (εκ'του standard input output header) ενός αρχείου επικεφαλίδα(header) που περιλαμβάνει τους ορισμούς της συνάρτησης printf και άλλων συναρτήσεων εισόδου εξόδου. Υπάρχουν και άλλα αρχεία επικεφαλίδες που μας προσφέρουν και άλλες συναρτήσεις.Στην προκαθορισμένη(default) ρύθμιση του Dev-C++ δεν χρειάζεται απαραίτητα η επικεφαλίδα stdio.h αφού μερικές στανταρ επικεφαλίδες χρησιμοποιούνται αυτόματα.Αυτή η αυτόματη συμπερίληψη ελέγχεται από Εργαλεία->Επιλογές δημιουργίας->Ρυθμίσεις->Linker->Μη χρήση των στανταρ βιβλιοθηκών ή startup αρχείων. Χωρίς αυτό το αρχείο ο μεταγλωττιστής μας θα μας εμφανίσεί μηνύματα λάθους μη ορισμένων συμβόλων όπως το printf , getchat κτλ.
  • το αναγνωριστικό main ξεχωρίζει την συνάρτηση από την οποία θα ξεκινήσει το πρόγραμμα. Μπορούμε σε ένα αρχείο ή ακόμα γενικότερα σε ένα έργο που περιλαμβάνει πολλά αρχεία να έχουμε όσες συναρτήσεις θέλουμε αλλά η πρώτη που θα εκτελεστεί είναι η main. Κοιτώντας την main βλέπουμε και μερικά χαρακτηριστικά που μοιράζονται όλες οι συναρτήσεις. Δηλαδή
    • ένα όνομα
    • τύπος επιστρεφόμενης τιμής (στο παράδειγμά μας είναι int) Σχετική με την τιμή αυτή είναι η τελευταία εντολή της main η return 0 η οποία επιστρέφει τον αριθμό 0.
    • λίστα παραμέτρων ( είναι το (void)) και σημαίνει ότι δεν έχει παραμέτρους η main αλλά όπως θα δούμε μπορούσαμε να έχουμε μια συνάρτηση με πολλές παραμέτρους. Οι παράμετροι είναι κάποια δεδομένα που δίνουμε στην συνάρτηση για να επεξεργαστεί και να δώσει κάποιο αποτέλεσμα.
    • ένα κύριο σώμα εντολών της συνάρτησης που περιέχεται ανάμεσα σε άγκιστρα . { , }.
  • η printf είναι η πιο συχνά χρησιμοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
  • η εντολή getchar(); είναι πιο φορητή εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέποντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα τύπου unix σε αντίθεση με την getchar(); που υπάρχει και σε συστήματα unix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
  • Μετά την εντολή getchar(); υπάρχει ένα σχόλιο μιας γραμμής που το ξεκίνημά του οριοθετήτε από τους χαρακτήρες // . Το λέμε σχόλιο μιας γραμμής γιατί αν συνεχίσετε στην επόμενη γραμμή το πρόγραμμα θα είναι λάθος συντακτικά.
  • και τέλος η εντολή return η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.

Είσοδος Υπολογισμός Έξοδος

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

Το πρόγραμμα θα ζητήσει από το πληκτρολόγιο δυο αριθμούς και θα υπολογίσει και θα εμφανίσει σαν έξοδο τον μεγαλύτερο.
#include<stdio.h>

int main(void)
{
    system("chcp 1253");
    //system("chcp 28597");
  int a,b ; 
  int max ;
  char name[20] ;
  
  scanf("%d",&a);  
  scanf("%d",&b); 
  if ( a<b )
    printf("μεγαλύτερος είναι ο: %d \n",b);
  else 
    printf("μεγαλύτερος είναι ο  : %d \n ",a);
  
    system("PAUSE");
  return 0;
}


Η εντολή system("chcp 1253"); είναι χρήσιμη για την εμφάνιση ελληνικών.

Έννοιες