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

Από Βικιβιβλία
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Chomwitt (συζήτηση | συνεισφορές)
μ IDEs
Γραμμή 23: Γραμμή 23:
'''Αρχείο->Νεο->Πηγαίο Αρχείο'''
'''Αρχείο->Νεο->Πηγαίο Αρχείο'''
{{Κώδικας:Βασικό
{{Κώδικας:Βασικό
|Το πρώτο μας πρόγραμμα θα εμφανίσει σαν έξοδο ένα [[:w:Συμβολοσειρά|αλφαρηθμητικό]] με χρήση της συνάρτησης '''printf'''
|Το πρώτο μας πρόγραμμα θα εμφανίσει σαν έξοδο ένα [[:w:Συμβολοσειρά|αλφαρηθμητικό]] με χρήση της συνάρτησης '''printf'''.
|<source lang="c">
|<source lang="c">
#include <stdio.h>
#include <stdio.h>
Γραμμή 31: Γραμμή 31:
printf("Hello, world!\n");
printf("Hello, world!\n");
getchar();
getchar(); // Χρήσιμη στο Dev-c++
return 0;
return 0;
}
}
Γραμμή 47: Γραμμή 47:
* η '''printf''' είναι η ποιό συχνά χρησημοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
* η '''printf''' είναι η ποιό συχνά χρησημοποιούμενη εντολή και αυτό είναι λογικό αφού είναι εντολή εξόδου, δηλαδή εμφανίζει στην οθόνη μας τα αποτελέσματα του προγράμματος.
* η εντολή '''getchar();''' είναι ποιό ''φορητή'' εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέπωντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα ύπου unix σε αντίθεση με την ''getchar();'' που υπάρχει και σε συστήματα unix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
* η εντολή '''getchar();''' είναι ποιό ''φορητή'' εκδοχή της system("PAUSE") η οποία παγώνει το πρόγραμμα πριν τελειώσει επιτρέπωντας μας να δούμε την έξοδο του. Το πρόβλημα με την system("PAUSE") είναι ότι δεν υπάρχει σε συστήματα ύπου unix σε αντίθεση με την ''getchar();'' που υπάρχει και σε συστήματα unix και επίσης σταματά απλούστερα το πρόγραμμα μέχρι να πατήσουμε enter.
* Μετά την εντολή getchar(); υπάρχει ένα σχόλιο μιας γραμμής που το ξεκίνημά του οριοθετήτε από τους χαρακτήρες '''//''' . Το λέμε σχόλιο μιας γραμμής γιατί αν συνεχίσετε στην επόμενη γραμμή το πρόγραμμα θα είναι λάθος συντακτικά.
* και τέλος η εντολή '''return''' η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.
* και τέλος η εντολή '''return''' η οποία επιτελεί δυο ενέργειες. Τερματίζει την εκτέλεση της συνάρτησης (και επεισή η main είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.

Στο eclipse πρέπει να δημιουργήσετε project για να μπορέσετε να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.


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

Αναθεώρηση της 20:44, 12 Ιουνίου 2009

Το παρόν βίκιεγχειρίδιο θα σας καθοδηγήσει στα πρώτα σας βήματα στον προγραμματισμόν με 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

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

Για προγράμματα που εκτείνονται σε ένα μόνο αρχείο δεν χρειάζεται να δημιουργήσουμε ένα έργο. Αρχείο->Νεο->Πηγαίο Αρχείο

Το πρώτο μας πρόγραμμα θα εμφανίσει σαν έξοδο ένα αλφαρηθμητικό με χρήση της συνάρτησης 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 είναι η πρώτη συνάρτηση αυτό σημαίνει ότι τερματίζει το πρόγραμμά μας) και επιστρέφει μια τιμή. Η δυνατότητα μια συνάρτηση να επιστρέφει τιμή έχει δυο βασικές χρησιμότητες. Μπορεί αυτό να είναι το αποτέλεσμα του υπολογισμού της συνάρτησης, μπορεί επίσης να είναι μια ένδειξη αν υπήρχε κάποιο σφάλμα.

Στο eclipse πρέπει να δημιουργήσετε project για να μπορέσετε να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.

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

Σε γενικές γραμμές όλα τα προγράμματα θα επεξεργαστούν κάποια δεδομένα δεδομένα τα οποία ,είτε θα πάρουν από κάποια αρχεία του συστήματος αρχείων του υπολογιστή είτε από τον ίδιο τον χρήστη μέσα από το πληκτρολόγιο ή κάποια άλλη αλληλεπιδραστική συσκευή εισόδου , θα τα επεξεργαστούνε με βάση τις εντολές του προγράμματος και θα μετά θα δημιουργήσουν τα δεδομένα εξόδου τα οποία είτε θα εμφανιστούν στην οθόνη μας είτε θα αποθηκευτούν σε κάποιο αρχείο για να τα εξετάσουμε μετά. Συνεπώς είναι λογικό όταν ερχόμαστε σε επαφή με κάποια γλώσσα προγραμματισμού να προσπαθούμε πρώτα να εξοικιωθούμε με τις εντολές εκείνες που θα επιτελέσουν την είσοδο και έξοδο καθώς και τις βασικές εντολές επεξεργασίας δεδομένων. Αρχικά δεν θα μιλήσουμε για είσοδο/έξοδο σε αρχείο. Ας δούμε λοιπόν ένα πρόγραμμα το οποία θα πάρει σαν είσοδο 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"); είναι χρήσιμη για την εμφάνιση ελληνικών.

Έννοιες