SlideShare a Scribd company logo
22
Most read
23
Most read
24
Most read
H ΓΛΩΣΣΑ C
Μάθηµα 2:
Βασικά Στοιχεία ενός προγράµµατος C
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Θεωρία
1. Στοιχεία ενός προγράµµατος C
2. Η συνάρτηση main()
3. H οδηγία #include
4. Μεταβλητές
5. Εντολές
1. Η εντολή printf
2. Η εντολή scanf
6. Συναρτήσεις Χρήστη
1. Το πρωτότυπο µιας συνάρτησης
2. Το σώµα µιας συνάρτησης
3. Κλήση µιας συνάρτησης
7. Σχόλια Προγράµµατος
Β. Ασκήσεις
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
1. Ένα συνηθισµένο πρόγραµµα C
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Στο σηµερινό µάθηµα, θα µελετήσουµε αναλυτικά την δοµή ενός προγράµµατος C
Τα ∆οµικά Στοιχεία κάθε προγράµµατος C είναι ίδια, άρα θα πρέπει να γίνει κατανοητή η εικόνα
που θα έχει κάθε πρόγραµµα που θα γράφουµε
Στο στάδιο αυτό δεν µας ενδιαφέρουν ιδιαίτερα οι τεχνικές λεπτοµέρειες διότι θα τις µάθουµε
αναλυτικά στα επόµενα µαθήµατα
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
1. Ένα συνηθισµένο πρόγραµµα C
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Ωστόσο πρέπει να γνωρίζουµε τι είναι µια συνάρτηση στην C. Μια συνάρτηση είναι ένα
ανεξάρτητο τµήµα προγράµµατος που κάνει µια συγκεκριµένη δουλειά και έχει ένα όνοµα.
Αναφέροντας το όνοµα της συνάρτησης, το πρόγραµµα µπορεί να εκτελέσει τον κώδικα της
συνάρτησης. Επίσης:
Έχει την δυνατότητα να λάβει πληροφορίες από το πρόγραµµα, οι οποίες λέγονται
ορίσµατα
Μπορεί να επιστρέψει πληροφορίες στο πρόγραµµα που είναι οι επιστρεφόµενες τιµές.
Στην C υπάρχουν δύο είδη συναρτήσεων:
Οι συναρτήσεις βιβλιοθήκης, οι οποίες έχουν γραφεί στον µεταγλωττιστή και είναι
έτοιµες για να τις χρησιµοποιήσουµε
Οι συναρτήσεις χρήστη, οι οποίες γράφονται από εµάς, ώστε να τις χρησιµοποιήσουµε
στο πρόγραµµά µας.
Μεταγλωττίστε και εκτελέστε το πρόγραµµα της επόµενης διαφάνειας.
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
/* Multiply.c: Programma gia ton ipologismo tou ginomenou dio arithmwn */
#include <stdio.h>
int a,b,c;
int ginomeno(int x, int y);
main()
{
/* Eisodos toy 1ou arithmou */
printf("Eisagete arithmo metaksi 1 kai 100:");
scanf("%d", &a);
/* Eisodos tou 2ou arithmou */
printf("Eisagete allon ena arithmo metaksi 1 kai 100:");
scanf("%d", &b);
c=ginomeno(a,b);
printf("To ginomeno tou %d kai tou %d einai: %dn",a,b,c);
}
/* H synartisi epistrefei to ginomeno twn dio orismatwn tis */
int ginomeno(int x, int y)
{
return (x*y);
}
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
2. Η συνάρτηση main()
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Η συνάρτηση main() είναι απαραίτητη σε κάθε πρόγραµµα C και είναι το σηµείο-αφετηρία του
προγράµµατος µας.
Η απλούστερη µορφή της είναι το όνοµα της, ακολουθούµενη από ένα ζευγάρι κενών
παρενθέσεων () και ένα ζευγάρι άγκιστρα:
Μέσα στα άγκιστρα υπάρχουν προτάσεις που αποτελούν το σώµα του προγράµµατος και η
εκτέλεση ξεκινά από την πρώτη πρόταση και τελειώνει στην τελευταία πρόταση.
Σηµείωση 1: Στην συνέχεια όταν θα αναφερόµαστε στο «πρόγραµµα» εννοούµε πάντα την
συνάρτηση main().
main()
{
}
Σηµείωση 2: Στο προηγούµενο µάθηµα είδαµε µια παραλλαγή όπου η συνάρτηση main()
γραφόταν int main() και επέστρεφε µία τιµή στο λειτουργικό σύστηµα µε την εντολή return 0. Η πιο
απλή χρήση της main είναι να µην επιστρέφει τιµή στο λειτουργικό σύστηµα.
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
3. Η οδηγία #include
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Στην αρχή του προγράµµατος µας έχουµε την οδηγία:
H οδηγία αυτή επιβάλλει στον µεταγλωττιστή να εισάγει στο πρόγραµµά µας το αρχείο
κεφαλίδας (ή αρχείο βιβλιοθήκης) stdio.h
Τα αρχεία κεφαλίδας είναι αυτόνοµα αρχεία, αποθηκευµενα στο σκληρό µας δίσκο τα οποία
περιέχουν πληροφορίες που χρειάζονται για τον µεταγλωττιστή µας.
Στο συγκεκριµένο πρόγραµµα εισάγουµε το αρχείο κεφαλίδας stdio.h γιατί εκεί έχουν
οριστεί οι συναρτήσεις βιβλιοθήκης printf και scanf που χρησιµοποιούµε στο πρόγραµµα
µας
Ποτέ δεν θα χρειαστεί να τροποποιήσουµε τα αρχεία αυτά, γι’ αυτό και βρίσκονται
αποθηκευµένα σε ξεχωριστό χώρο στον δίσκο µας.
#include <stdio.h>
Παρατήρηση: Κάθε συνάρτηση βιβλιοθήκης που θέλουµε να χρησιµοποιήσουµε στο πρόγραµµα
µας απαιτεί την εισαγωγή µέσω της οδηγίας #include του αντίστοιχου αρχείου κεφαλίδας στο οποίο
έχει οριστεί (π.χ. Το stdio.h έχει συναρτήσεις εισόδου-εξόδου, το stdlib.h έχει συναρτήσεις
διαχείρισης µνήµης, το string.h έχει συναρτήσεις διαχείρισης συµβολοσειρών κ.ο.κ.).
Συνεπώς πρέπει να ξέρουµε (ή να έχουµε σηµειωµένες) ποια βιβλιοθήκη αντιστοιχεί σε
κάθε συνάρτηση
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
4. Μεταβλητές
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Κάθε µεταβλητή έχει ένα όνοµα και αποθηκεύεται σε µια θέση αποθήκευσης στην µνήµη και
έχει µία τιµή.
Στην C προτού χρησιµοποιήσουµε µια µεταβλητή πρέπει να την δηλώσουµε δηλαδή να
ορίσουµε στον µεταγλωττιστή τι τύπου δεδοµένα µπορούµε να αποθηκεύσουµε στην
µεταβλητή.
Στο πρόγραµµα µας η γραµµή:
Αποτελεί την δήλωση 3 ακεραίων µεταβλητών.
Η λέξη-κλειδί int ορίζει ότι πρόκειται να δηλώσουµε ακέραιες µεταβλητές (υπάρχουν και
άλλοι τύποι δέδοµένων όπως π.χ. float που αποθηκεύει πραγµατικές µεταβλητες, που θα
δούµε αναλυτικά στο «µάθηµα 3: Μεταβλητές και Σταθερές»)
Ακολουθούν τα ονόµατα των µεταβλητών που δηλώνουµε χωρισµένα µε κόµµατα.
Η δήλωση τελειώνει µε ερωτηµατικό.
Εικόνα της µνήµης µετά τη δήλωση των τριών µεταβλητών (έχει δεσµευτεί χώρος στη µνήµη για
τις µεταβλητές ώστε να αποθηκεύσουµε τιµές σε αυτές.
int a,b,c;
a c b
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Η πραγµατική εργασία ενός προγράµµατος γίνεται από τις εντολές που είναι γραµµένες
ανάµεσα στα άγκιστρα της main.
Οι εντολές της C:
Προβάλλουν πληροφορίες στην οθόνη
Εκτελούν µαθηµατικές λειτουργίες
Καλούν συναρτήσεις
∆ιαβάζουν αρχεία από τον δίσκο
∆ιάβάζουν τιµές από το πληκτρολόγιο
..... Και άλλες λειτουργίες που θα µάθουµε στην διάρκεια των µαθηµάτων.
Συµβουλή: Γράφουµε µία εντολή ανά γραµµή και οι εντολές τελειώνουν πάντα µε ερωτηµατικό.
(είναι συντακτικό λάθος αν ξεχάσουµε να βάλουµε ερωτηµατικό και ο µεταγλωττιστής θα
διαµαρτυρηθεί)
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Α. Η εντολή printf)
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Η εντολή printf είναι µια συνάρτηση βιβλιοθήκης, η οποία προβάλλει το περιεχόµενο της στην
οθόνη.
Την έχουµε χρησιµοποιήσει στην main σε 4 σηµεία στο πρόγραµµά µας:
Η printf είναι µια πάρα πολύ σηµαντική συνάρτηση, ακριβώς διότι προβάλλει στην οθόνη τα
µηνύµατα που θέλουµε.
Έχει πολλές διαφορετικές χρήσεις που θα αναλύσουµε στο µάθηµα «Είσοδος και Έξοδος»
Εδώ θα δούµε 3 διαφορετικές της χρήσεις που θα χρειαστούµε για τα αµέσως επόµενα
µαθήµατα (απλή είσοδος και έξοδος ακεραίων αριθµών).
printf("Eisagete arithmo metaksi 1 kai 100:");
printf("Eisagete allon ena arithmo metaksi 1 kai 100:");
printf("To ginomeno tou %d kai tou %d einai: %dn",a,b,c);
printf("nnPatiste Enter gia eksodo");
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Α. Η εντολή printf)
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Όπως κάθε συνάρτηση, έτσι και η printf παίρνει ορίσµατα.
Στην 1η χρήση της βλέπουµε πως λειτουργεί µε ένα όρισµα:
όπου συµβολοσειρά είναι οποιοδήποτε κείµενο θέλουµε να προβάλλουµε στην οθόνη.
ΠΡΟΣΟΧΗ! Μία συµβολοσειρά χαρακτηρίζεται από τα διπλά εισαγωγικά “……”. Αν ξεχάσουµε
να βάλουµε τα εισαγωγικά είτε στην αρχή είτε στο τέλος, ο µεταγλωττιστής θα διαµαρτυρηθεί.
Μία συµβολοσειρά αποτελείται από χαρακτήρες (δηλαδή ένα-ένα τα γράµµατα που την
αποτελούν
Έχουµε δικαίωµα να εισάγουµε και ειδικούς χαρακτήρες που κάνουν µια συγκεκριµένη
δουλειά
Τέτοιος είναι και ο ‘n’ που λέγεται χαρακτήρας αλλαγής γραµµής διότι η εκτύπωση
του προκαλεί την αλλαγή γραµµής στην οθόνη.
printf("Συµβολοσειρά");
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Α. Η εντολή printf)
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Στην 2η χρήση της βλέπουµε πως λειτουργεί µε δύο ορίσµατα (σηµειώστε ότι ο µεταγλωττιστής
αντιλαµβάνεται τα ορίσµατα διότι αυτά είναι χωρισµένα µε κόµµα):
Το 1ο όρισµα είναι η συµβολοσειρά που θα εκτυπωθει στην οθόνη που περιέχει µέσα της
το %d. Το %d καλείται προσδιοριστής και στο σηµείο όπου βρίσκεται θα εκτυπωθεί η τιµή
της ακέραιας µεταβλητής που έχουµε ως δεύτερο όρισµα.
Για παράδειγµα το τµήµα κώδικα:
Τυπώνει στην οθόνη
printf("Συµβολοσειρά που έχει µέσα της %d",ακέραια µεταβλητή);
int x;
x=1;
printf(" H metabliti exei timi %d ",x)
H metabliti exei timi 1
x
1
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Α. Η εντολή printf)
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Στην 3η χρήση της βλέπουµε πως λειτουργεί µε τρία ορίσµατα (και πάλι πρέπει να τα
χωρίσουµε µε κόµµα για να αντιληφθεί ο µεταγλωττιστής ότι πρόκειται για τρία ορίσµατα)
Μέσα στην συµβολοσειρά τώρα έχουµε δύο %d. Το 1ο %d θα αντικατασταθεί µε την τιµή
της µεταβλητή1 (2ο όρισµα) και το 2ο %d θα αντικατασταθεί µε την τιµή της µεταβλητή2 (3ο
όρισµα)
Για παράδειγµα το τµήµα κώδικα:
Τυπώνει στην οθόνη
printf("Συµβολοσειρά που έχει µέσα της 2 %d",ακέραιος1, ακέραιος2);
int x,y;
x=1;
y=6;
printf(" Oi times einai: %d kai %d ",y,x)
Oi times einai: 6 kai 1
x
1
y
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Α. Η εντολή printf)
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Ο τρόπος που είδαµε στην σύνταξη της printf γενικεύεται, δηλαδή:
Μπορούµε στην συµβολοσειρά να έχουµε τρία %d ακολουθούµενα από τρία ακόµη
ορίσµατα που θα είναι ακέραιες µεταβλητές.
Μπορούµε στην συµβολοσειρά να έχουµε τέσσερα %d ακολουθούµενα από τέσσερα
ακόµη ορίσµατα που θα είναι ακέραιες µεταβλητές.
κ.ο.κ.
Σε επόµενο µάθηµα θα δούµε πως µπορούµε µε την printf να εκτυπώσουµε και άλλους τύπους
δεδοµένων όπως πραγµατικές µεταβλητές, συµβολοσειρές κ.λ.π.
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Β. Η εντολή scanf)
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Η εντολή scanf είναι µια συνάρτηση βιβλιοθήκης (ορισµένη στο αρχείο κεφαλίδας stdio.h), η
οποία διαβάζει από το πληκτρολόγιο δεδοµένα.
Την έχουµε χρησιµοποιήσει στην main σε 2 σηµεία στο πρόγραµµά µας:
Η scanf είναι επίσης πάρα πολύ σηµαντική συνάρτηση, διότι διαβάζει δεδοµένα από τον
χρήστη.
Έχει πολλές διαφορετικές χρήσεις που θα αναλύσουµε σε επόµενο µάθηµα (π.χ διάβασµα
πραγµατικών αριθµών, συµβολοσειρών κ.λπ.)
Εδώ θα δούµε µία µόνο χρήση της, για το πως να διαβάζουµε τιµές για ακέραιες
µεταβλητές.
scanf("%d", &a);
scanf("%d", &b);
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
5. Εντολές (Β. Η εντολή scanf)
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
H scanf συντάσσεται ως εξης:
Όπως βλέπουµε παίρνει 2 ορίσµατα:
Το 1ο όρισµα είναι υποχρεωτικά η συµβολοσειρά “%d” που καθορίζει ότι θα διαβάσουµε
µια ακέραια µεταβλητή
Το %d είναι ο προσδιοριστής ακεραίου
Το 2ο όρισµα είναι υποχρεωτικά το & ακολουθούµενο από το όνοµα της µεταβλητής, στο
οποίο θα αποθηκευτεί η τιµή που θα εισάγει ο χρήστης
Περισσότερες λεπτοµέρειες για το υποχρεωτικό συµβολο & που οφείλει να προηγείται
από το όνοµα της µεταβλητής θα δούµε στο «Μάθηµα 9: ∆είκτες»
Πρακτικά όταν εκτελείται η εντολή scanf το πρόγραµµα «παγώνει» και αναµένει από τον χρήστη
να πληκτρολογήσει τον ακέραιο αριθµό και να πατήσει Enter. Μόλις γίνει αυτό, η τιµή που
πληκτρολόγησε ο χρήστης αποθηκεύεται στην µεταβλητή, και το πρόγραµµα εκτελεί την
επόµενη εντολή.
scanf("%d",&µεταβλητή);
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
6. Συναρτήσεις Χρήστη
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Στο πρόγραµµα αυτό, ο χρήστης έχει εισάγει µια δική του συνάρτηση, την ginomeno, η οποία
υπολογίζει το γινόµενο δύο ακέραιων αριθµών που δέχεται ως ορίσµατα και τα επιστρέφει.
Βλέπουµε τα 3 σηµεία στο πρόγραµµα που αναφέρονται στην συνάρτηση: Το πρωτότυπό της,
το σώµα της και την κλήση της στην main ως εντολή.
.....
int ginomeno(int x, int y); <- Αυτό είναι το πρωτότυπο της συνάρτησης
main()
{
....
c=ginomeno(a,b); <- Εδώ καλούµε την συνάρτηση στην main,
.... σαν µία ακόµη εντολή του προγράµµατος
}
int ginomeno(int x, int y) <-Αυτό είναι το σώµα της συνάρτησης
{
return (x*y);
}
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
6. Συναρτήσεις Χρήστη (Α. Το πρωτότυπο της συνάρτησης)
18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Κάθε συνάρτηση έχει την εξής έννοια
Παίρνει ως είσοδο κάποια δεδοµένα, µέσω των ορισµάτων της
Κάνει έναν υπολογισµό
Επιστρέφει το αποτέλεσµα του υπολογισµού της
ΠΑΝΤΑ πριν από την main καταγράφουµε τα πρωτότυπα των συναρτήσεων που θα ορίσουµε.
Το πρωτότυπο είναι µια περιγραφή µόνο των ορισµάτων της συνάρτησης και της
επιστρεφόµενης τιµής (και όχι του υπολογισµού). Το συντακτικό είναι:
Όπως στην συνάρτηση µάς:
όπου περιγράφουµε ότι πρόκειται να ορίσουµε µια συνάρτηση µε όνοµα ginomeno: που παίρνει
δύο ακέραιες µεταβλητές ως ορίσµατα και επιστρέφει µια ακέραια µεταβλητή
Τύπος_Επιστρεφόµενης_Τιµής ΟΝΟΜΑ_ΣΥΝΑΡΤΗΣΗΣ(Ορισµα1,Ορισµα2,...);
int ginomeno (int x, int y);
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
6. Συναρτήσεις Χρήστη (Β. Το σώµα της Συνάρτησης)
19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Το σώµα της συνάρτησης αποτελεί την περιγραφή των εντολών που εκτελεί η συνάρτηση.
Πάντα θα είναι ΜΕΤΑ την main και οι εντολές της θα βρίσκονται ανάµεσα σε άγκιστρα
Παρατηρούµε ότι η 1η γραµµή είναι ακριβώς ίδια µε το πρωτότυπο (αλλά δεν έχει ερωτηµατικό)
Έπειτα µέσα στα άγκιστρα έχουµε το δικαίωµα να γράψουµε οποιαδήποτε εντολή.
Η εντολή return επιστρέφει σε αυτόν που κάλεσε την συνάρτηση το όρισµά της. Άρα η
συνάρτηση επιστρέφει το γινόµενο του αριθµού x µε το y.
(Το * είναι τελεστής που εκτελεί τον πολλαπλασιασµό των µεταβλητών. Περισσότερους
τελεστές θα δούµε σε επόµενο µάθηµα)
int ginomeno(int x, int y)
{
return (x*y);
}
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
6. Συναρτήσεις Χρήστη (Γ. Κλήση µιας συνάρτησης)
20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
ΑΦΟΥ έχουµε ορίσει µια συνάρτηση (έχοντας γράψει το πρωτότυπό της πριν την main και το
σώµα της µετά την main), µπορούµε να την χρησιµοποιήσουµε σε οποιοδήποτε σηµείο του
προγράµµατός µας, καλώντας την σαν µια οποιαδήποτε εντολή.
Όπου γίνεται κλήση της συνάρτησης µε ορίσµατα τις τιµές των a,b που έχει εισάγει ο χρήστης
νωρίτερα.
Ο έλεγχος µεταβαίνει στην συνάρτηση ginomeno όπου υπολογίζεται και επιστρέφεται το
γινόµενο των δύο αριθµών. Το αποτέλεσµα αποθηκεύεται στην µεταβλητή c µέσω του τελεστή
καταχώρησης ( = ).
Περισσότερα για τον τελεστή καταχώρησης ( = ) θα δούµε στο επόµενο µάθηµα.
main()
{
....
c=ginomeno(a,b);
....
}
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
6. Συναρτήσεις Χρήστη (Γ. Κλήση µιας συνάρτησης)
21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Οι συναρτήσεις είναι το Α και το Ω της γλώσσας C. Πολλές φορές αναφέρεται για την C ότι είναι
η πιο δηµοφιλής διαδικαστική γλώσσα δηλαδή γλώσσα που λειτουργεί µε διαδικασίες
(συναρτήσεις)
Αν και δεν υπάρχει περίπτωση να ορίσουµε µια συνάρτηση που εκτελεί µία τόσο απλή
ενέργεια, όσο ένας πολλαπλασιασµός (όπως στο πρόγραµµά µας), είδαµε πως µπορούµε να
συντάξουµε µια συνάρτηση χρήστη:
Ορίζουµε το πρωτότυπο της
Το σώµα της
Και την καλούµε ως εντολή στην συνέχεια.
Συµβουλή: Ορίζουµε µία συνάρτηση χρήστη όταν θέλουµε να κάνουµε πολλές φορές την ίδια
δουλειά, έτσι ώστε να γράψουµε το πρωτότυπο και το σώµα, και έπειτα απλά να καλούµε την
συνάρτηση σαν µια εντολή, κάθε φορά που θέλουµε να ξαναγίνει η ίδια ενέργεια.
A. Θεωρία
1. Στοιχεία ενός προγράµµατος C
7. Σχόλια Προγράµµατος
22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Είναι πολύ σηµαντικό να τεκµηριώνουµε το πρόγραµµα µας µε σχόλια που εξηγούν σηµεία του
κώδικα.
Συνήθως βάζουµε σχόλια σε τµήµατα κώδικα τα οποία είναι περίπλοκα και βοηθάνε είτε
κάποιον άλλον που διαβάζει τον κώδικά µας, είτε κι εµάς τους ίδιους αν πρόκειται να
ξαναδιαβάσουµε τον κώδικα µετα από καιρό.
Υπάρχουν δύο ειδών σχόλια στην C:
Τα σχόλια µίας γραµµής (ξεκινάνε µε // ):
Τα σχόλια πολλών γραµµών (ξεκινάνε µε /* και τελειώνουν µε */ )
// Εδώ βάζουµε σχόλια που θα τελειώσουν µε την αλλαγή γραµµής
/* Αρχή σχολίων
Μία ∆εύτερη Γραµµή Σχολίων
Τέλος Σχολίων */
Β. Ασκήσεις
Εφαρµογή 1
23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Μεταγλωττίστε και εκτελέστε
το ακόλουθο πρόγραµµα:
1. Εντοπίστε εντολές στο
πρόγραµµα.
2. Εντοπίστε δηλώσεις
µεταβλητών.
3. Εντοπίστε τη δήλωση
πρωτοτυπου συνάρτησης
4. Εντοπίστε τις γραµµές
σώµατος συναρτησης
5. Ποιες γραµµές
περιέχουν σχόλια;
/* print.c: Programma gia ektiposi grammwn */
#include <stdio.h>
int x;
void grammi();
main()
{
// Ektyposeis...
grammi();
printf("nSe posa mathimata thelete na mathete
tin C? ");
scanf("%d", &x);
grammi();
printf("nTha apaitithoun 20 mathimata!");
grammi();
printf("nApantisate %d",x);
grammi();
}
/* H synartisi ektiponei mia grammi */
void grammi()
{
printf("n===============================");
}
Β. Ασκήσεις
Εφαρµογή 2
24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
Μεταγλωττίστε και εκτελέστε το ακόλουθο πρόγραµµα. Στη συνέχεια τροποποιήστε το πρόγραµµα
ώστε να τυπώνει τον κύβο κάθε αριθµού.
/* numbers.c */
#include <stdio.h>
main()
{
int i,N,y;
printf("Eisagete enan akeraio arithmo: ");
scanf("%d",&N);
for (i=1; i<=N; i++)
{
y=i*i;
printf("n%d sto tetragono = %d",i,y);
}
printf("nnTelos Programmatos");
}

More Related Content

PDF
Η Γλώσσα C - Μάθημα 1
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
PDF
Η Γλώσσα C - Μάθημα 3
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
Η Γλώσσα C - Μάθημα 1
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Η Γλώσσα C - Μάθημα 3
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18

What's hot (20)

PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
PDF
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.1
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
Ad

Viewers also liked (11)

PDF
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11 (ΕΚΤΥΠΩΣΗ)
PDF
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
PDF
ΠΛΗ10 ΤΕΣΤ 1
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11 (ΕΚΤΥΠΩΣΗ)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
ΠΛΗ10 ΤΕΣΤ 1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Ad

Similar to Η Γλώσσα C - Μάθημα 2 (20)

PDF
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
PDF
Aepp kef101
PDF
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
PPT
Lecture 1
PDF
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
PDF
Kef10 a synartiseis
PDF
C_01122023.pdf
PDF
C_24112023.pdf
PPT
Python. 1 1 σχεδίαση και συγγραφή κώδικα
PDF
ΑΕΠΠ: 19ο Φύλλο Ασκήσεων
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
PDF
Kef10 b diadikasies
PPT
Python Κεφ. 1.5 συναρτήσεις
PDF
5.1 python γενικά - υπολογισμοί & μεταβλητές
PPT
Κεφ. 10 Υποπρογράμματα
PPT
Parousiash
PDF
Stelios poulakakis daktylidis diploma thesis presentation
PDF
OS_Processes_iteration12333333333333333333333333
PDF
them_psif_syst_epal_230615 (1).pdf
DOC
διαγωνισματα για Slideshare
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Aepp kef101
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Lecture 1
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Kef10 a synartiseis
C_01122023.pdf
C_24112023.pdf
Python. 1 1 σχεδίαση και συγγραφή κώδικα
ΑΕΠΠ: 19ο Φύλλο Ασκήσεων
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
Kef10 b diadikasies
Python Κεφ. 1.5 συναρτήσεις
5.1 python γενικά - υπολογισμοί & μεταβλητές
Κεφ. 10 Υποπρογράμματα
Parousiash
Stelios poulakakis daktylidis diploma thesis presentation
OS_Processes_iteration12333333333333333333333333
them_psif_syst_epal_230615 (1).pdf
διαγωνισματα για Slideshare

More from Dimitris Psounis (20)

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

Recently uploaded (8)

PPTX
Γρηγοριάδου Ανθή Μαρία, Τα Ψηλά Βουνά του Ζαχαρία Παπαντωνίου.pptx
PPTX
A digital marketing strategy presentation for Evangelos Venizelos
PPTX
Χειραφέτιση και Αναμόρφωση 4. Η Εθνοσυνέλευση του 1862-1864
PPTX
Δούλια Θάλεια, Καρδιά Πάνω σε Ρόδες -Άντρη Αντωνίου- τελική Βιβλιοπαρουσίαση....
PPTX
Γερμανίδου Δήμ., Αγκαθα Κρίστι.ΕΓΚΛΗΜΑ ΣΤΟΝ ΝΕΙΛΟ_pptx4.pptx
PPTX
Δριστά Κυριακή, Το καπλάνι της βιτρίνας της Άλκης Ζέη.pptx
PPTX
A digital marketing strategy presentation for Evangelos Venizelos
PPTX
Γερμανίδου Φωτεινή, Το πτώμα στη βιβλιοθήκη.pptx
Γρηγοριάδου Ανθή Μαρία, Τα Ψηλά Βουνά του Ζαχαρία Παπαντωνίου.pptx
A digital marketing strategy presentation for Evangelos Venizelos
Χειραφέτιση και Αναμόρφωση 4. Η Εθνοσυνέλευση του 1862-1864
Δούλια Θάλεια, Καρδιά Πάνω σε Ρόδες -Άντρη Αντωνίου- τελική Βιβλιοπαρουσίαση....
Γερμανίδου Δήμ., Αγκαθα Κρίστι.ΕΓΚΛΗΜΑ ΣΤΟΝ ΝΕΙΛΟ_pptx4.pptx
Δριστά Κυριακή, Το καπλάνι της βιτρίνας της Άλκης Ζέη.pptx
A digital marketing strategy presentation for Evangelos Venizelos
Γερμανίδου Φωτεινή, Το πτώμα στη βιβλιοθήκη.pptx

Η Γλώσσα C - Μάθημα 2

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 2: Βασικά Στοιχεία ενός προγράµµατος C ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Στοιχεία ενός προγράµµατος C 2. Η συνάρτηση main() 3. H οδηγία #include 4. Μεταβλητές 5. Εντολές 1. Η εντολή printf 2. Η εντολή scanf 6. Συναρτήσεις Χρήστη 1. Το πρωτότυπο µιας συνάρτησης 2. Το σώµα µιας συνάρτησης 3. Κλήση µιας συνάρτησης 7. Σχόλια Προγράµµατος Β. Ασκήσεις 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C
  • 3. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 1. Ένα συνηθισµένο πρόγραµµα C 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Στο σηµερινό µάθηµα, θα µελετήσουµε αναλυτικά την δοµή ενός προγράµµατος C Τα ∆οµικά Στοιχεία κάθε προγράµµατος C είναι ίδια, άρα θα πρέπει να γίνει κατανοητή η εικόνα που θα έχει κάθε πρόγραµµα που θα γράφουµε Στο στάδιο αυτό δεν µας ενδιαφέρουν ιδιαίτερα οι τεχνικές λεπτοµέρειες διότι θα τις µάθουµε αναλυτικά στα επόµενα µαθήµατα
  • 4. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 1. Ένα συνηθισµένο πρόγραµµα C 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Ωστόσο πρέπει να γνωρίζουµε τι είναι µια συνάρτηση στην C. Μια συνάρτηση είναι ένα ανεξάρτητο τµήµα προγράµµατος που κάνει µια συγκεκριµένη δουλειά και έχει ένα όνοµα. Αναφέροντας το όνοµα της συνάρτησης, το πρόγραµµα µπορεί να εκτελέσει τον κώδικα της συνάρτησης. Επίσης: Έχει την δυνατότητα να λάβει πληροφορίες από το πρόγραµµα, οι οποίες λέγονται ορίσµατα Μπορεί να επιστρέψει πληροφορίες στο πρόγραµµα που είναι οι επιστρεφόµενες τιµές. Στην C υπάρχουν δύο είδη συναρτήσεων: Οι συναρτήσεις βιβλιοθήκης, οι οποίες έχουν γραφεί στον µεταγλωττιστή και είναι έτοιµες για να τις χρησιµοποιήσουµε Οι συναρτήσεις χρήστη, οι οποίες γράφονται από εµάς, ώστε να τις χρησιµοποιήσουµε στο πρόγραµµά µας. Μεταγλωττίστε και εκτελέστε το πρόγραµµα της επόµενης διαφάνειας.
  • 5. 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C /* Multiply.c: Programma gia ton ipologismo tou ginomenou dio arithmwn */ #include <stdio.h> int a,b,c; int ginomeno(int x, int y); main() { /* Eisodos toy 1ou arithmou */ printf("Eisagete arithmo metaksi 1 kai 100:"); scanf("%d", &a); /* Eisodos tou 2ou arithmou */ printf("Eisagete allon ena arithmo metaksi 1 kai 100:"); scanf("%d", &b); c=ginomeno(a,b); printf("To ginomeno tou %d kai tou %d einai: %dn",a,b,c); } /* H synartisi epistrefei to ginomeno twn dio orismatwn tis */ int ginomeno(int x, int y) { return (x*y); }
  • 6. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 2. Η συνάρτηση main() 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Η συνάρτηση main() είναι απαραίτητη σε κάθε πρόγραµµα C και είναι το σηµείο-αφετηρία του προγράµµατος µας. Η απλούστερη µορφή της είναι το όνοµα της, ακολουθούµενη από ένα ζευγάρι κενών παρενθέσεων () και ένα ζευγάρι άγκιστρα: Μέσα στα άγκιστρα υπάρχουν προτάσεις που αποτελούν το σώµα του προγράµµατος και η εκτέλεση ξεκινά από την πρώτη πρόταση και τελειώνει στην τελευταία πρόταση. Σηµείωση 1: Στην συνέχεια όταν θα αναφερόµαστε στο «πρόγραµµα» εννοούµε πάντα την συνάρτηση main(). main() { } Σηµείωση 2: Στο προηγούµενο µάθηµα είδαµε µια παραλλαγή όπου η συνάρτηση main() γραφόταν int main() και επέστρεφε µία τιµή στο λειτουργικό σύστηµα µε την εντολή return 0. Η πιο απλή χρήση της main είναι να µην επιστρέφει τιµή στο λειτουργικό σύστηµα.
  • 7. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 3. Η οδηγία #include 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Στην αρχή του προγράµµατος µας έχουµε την οδηγία: H οδηγία αυτή επιβάλλει στον µεταγλωττιστή να εισάγει στο πρόγραµµά µας το αρχείο κεφαλίδας (ή αρχείο βιβλιοθήκης) stdio.h Τα αρχεία κεφαλίδας είναι αυτόνοµα αρχεία, αποθηκευµενα στο σκληρό µας δίσκο τα οποία περιέχουν πληροφορίες που χρειάζονται για τον µεταγλωττιστή µας. Στο συγκεκριµένο πρόγραµµα εισάγουµε το αρχείο κεφαλίδας stdio.h γιατί εκεί έχουν οριστεί οι συναρτήσεις βιβλιοθήκης printf και scanf που χρησιµοποιούµε στο πρόγραµµα µας Ποτέ δεν θα χρειαστεί να τροποποιήσουµε τα αρχεία αυτά, γι’ αυτό και βρίσκονται αποθηκευµένα σε ξεχωριστό χώρο στον δίσκο µας. #include <stdio.h> Παρατήρηση: Κάθε συνάρτηση βιβλιοθήκης που θέλουµε να χρησιµοποιήσουµε στο πρόγραµµα µας απαιτεί την εισαγωγή µέσω της οδηγίας #include του αντίστοιχου αρχείου κεφαλίδας στο οποίο έχει οριστεί (π.χ. Το stdio.h έχει συναρτήσεις εισόδου-εξόδου, το stdlib.h έχει συναρτήσεις διαχείρισης µνήµης, το string.h έχει συναρτήσεις διαχείρισης συµβολοσειρών κ.ο.κ.). Συνεπώς πρέπει να ξέρουµε (ή να έχουµε σηµειωµένες) ποια βιβλιοθήκη αντιστοιχεί σε κάθε συνάρτηση
  • 8. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 4. Μεταβλητές 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Κάθε µεταβλητή έχει ένα όνοµα και αποθηκεύεται σε µια θέση αποθήκευσης στην µνήµη και έχει µία τιµή. Στην C προτού χρησιµοποιήσουµε µια µεταβλητή πρέπει να την δηλώσουµε δηλαδή να ορίσουµε στον µεταγλωττιστή τι τύπου δεδοµένα µπορούµε να αποθηκεύσουµε στην µεταβλητή. Στο πρόγραµµα µας η γραµµή: Αποτελεί την δήλωση 3 ακεραίων µεταβλητών. Η λέξη-κλειδί int ορίζει ότι πρόκειται να δηλώσουµε ακέραιες µεταβλητές (υπάρχουν και άλλοι τύποι δέδοµένων όπως π.χ. float που αποθηκεύει πραγµατικές µεταβλητες, που θα δούµε αναλυτικά στο «µάθηµα 3: Μεταβλητές και Σταθερές») Ακολουθούν τα ονόµατα των µεταβλητών που δηλώνουµε χωρισµένα µε κόµµατα. Η δήλωση τελειώνει µε ερωτηµατικό. Εικόνα της µνήµης µετά τη δήλωση των τριών µεταβλητών (έχει δεσµευτεί χώρος στη µνήµη για τις µεταβλητές ώστε να αποθηκεύσουµε τιµές σε αυτές. int a,b,c; a c b
  • 9. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Η πραγµατική εργασία ενός προγράµµατος γίνεται από τις εντολές που είναι γραµµένες ανάµεσα στα άγκιστρα της main. Οι εντολές της C: Προβάλλουν πληροφορίες στην οθόνη Εκτελούν µαθηµατικές λειτουργίες Καλούν συναρτήσεις ∆ιαβάζουν αρχεία από τον δίσκο ∆ιάβάζουν τιµές από το πληκτρολόγιο ..... Και άλλες λειτουργίες που θα µάθουµε στην διάρκεια των µαθηµάτων. Συµβουλή: Γράφουµε µία εντολή ανά γραµµή και οι εντολές τελειώνουν πάντα µε ερωτηµατικό. (είναι συντακτικό λάθος αν ξεχάσουµε να βάλουµε ερωτηµατικό και ο µεταγλωττιστής θα διαµαρτυρηθεί)
  • 10. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Α. Η εντολή printf) 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Η εντολή printf είναι µια συνάρτηση βιβλιοθήκης, η οποία προβάλλει το περιεχόµενο της στην οθόνη. Την έχουµε χρησιµοποιήσει στην main σε 4 σηµεία στο πρόγραµµά µας: Η printf είναι µια πάρα πολύ σηµαντική συνάρτηση, ακριβώς διότι προβάλλει στην οθόνη τα µηνύµατα που θέλουµε. Έχει πολλές διαφορετικές χρήσεις που θα αναλύσουµε στο µάθηµα «Είσοδος και Έξοδος» Εδώ θα δούµε 3 διαφορετικές της χρήσεις που θα χρειαστούµε για τα αµέσως επόµενα µαθήµατα (απλή είσοδος και έξοδος ακεραίων αριθµών). printf("Eisagete arithmo metaksi 1 kai 100:"); printf("Eisagete allon ena arithmo metaksi 1 kai 100:"); printf("To ginomeno tou %d kai tou %d einai: %dn",a,b,c); printf("nnPatiste Enter gia eksodo");
  • 11. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Α. Η εντολή printf) 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Όπως κάθε συνάρτηση, έτσι και η printf παίρνει ορίσµατα. Στην 1η χρήση της βλέπουµε πως λειτουργεί µε ένα όρισµα: όπου συµβολοσειρά είναι οποιοδήποτε κείµενο θέλουµε να προβάλλουµε στην οθόνη. ΠΡΟΣΟΧΗ! Μία συµβολοσειρά χαρακτηρίζεται από τα διπλά εισαγωγικά “……”. Αν ξεχάσουµε να βάλουµε τα εισαγωγικά είτε στην αρχή είτε στο τέλος, ο µεταγλωττιστής θα διαµαρτυρηθεί. Μία συµβολοσειρά αποτελείται από χαρακτήρες (δηλαδή ένα-ένα τα γράµµατα που την αποτελούν Έχουµε δικαίωµα να εισάγουµε και ειδικούς χαρακτήρες που κάνουν µια συγκεκριµένη δουλειά Τέτοιος είναι και ο ‘n’ που λέγεται χαρακτήρας αλλαγής γραµµής διότι η εκτύπωση του προκαλεί την αλλαγή γραµµής στην οθόνη. printf("Συµβολοσειρά");
  • 12. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Α. Η εντολή printf) 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Στην 2η χρήση της βλέπουµε πως λειτουργεί µε δύο ορίσµατα (σηµειώστε ότι ο µεταγλωττιστής αντιλαµβάνεται τα ορίσµατα διότι αυτά είναι χωρισµένα µε κόµµα): Το 1ο όρισµα είναι η συµβολοσειρά που θα εκτυπωθει στην οθόνη που περιέχει µέσα της το %d. Το %d καλείται προσδιοριστής και στο σηµείο όπου βρίσκεται θα εκτυπωθεί η τιµή της ακέραιας µεταβλητής που έχουµε ως δεύτερο όρισµα. Για παράδειγµα το τµήµα κώδικα: Τυπώνει στην οθόνη printf("Συµβολοσειρά που έχει µέσα της %d",ακέραια µεταβλητή); int x; x=1; printf(" H metabliti exei timi %d ",x) H metabliti exei timi 1 x 1
  • 13. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Α. Η εντολή printf) 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Στην 3η χρήση της βλέπουµε πως λειτουργεί µε τρία ορίσµατα (και πάλι πρέπει να τα χωρίσουµε µε κόµµα για να αντιληφθεί ο µεταγλωττιστής ότι πρόκειται για τρία ορίσµατα) Μέσα στην συµβολοσειρά τώρα έχουµε δύο %d. Το 1ο %d θα αντικατασταθεί µε την τιµή της µεταβλητή1 (2ο όρισµα) και το 2ο %d θα αντικατασταθεί µε την τιµή της µεταβλητή2 (3ο όρισµα) Για παράδειγµα το τµήµα κώδικα: Τυπώνει στην οθόνη printf("Συµβολοσειρά που έχει µέσα της 2 %d",ακέραιος1, ακέραιος2); int x,y; x=1; y=6; printf(" Oi times einai: %d kai %d ",y,x) Oi times einai: 6 kai 1 x 1 y
  • 14. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Α. Η εντολή printf) 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Ο τρόπος που είδαµε στην σύνταξη της printf γενικεύεται, δηλαδή: Μπορούµε στην συµβολοσειρά να έχουµε τρία %d ακολουθούµενα από τρία ακόµη ορίσµατα που θα είναι ακέραιες µεταβλητές. Μπορούµε στην συµβολοσειρά να έχουµε τέσσερα %d ακολουθούµενα από τέσσερα ακόµη ορίσµατα που θα είναι ακέραιες µεταβλητές. κ.ο.κ. Σε επόµενο µάθηµα θα δούµε πως µπορούµε µε την printf να εκτυπώσουµε και άλλους τύπους δεδοµένων όπως πραγµατικές µεταβλητές, συµβολοσειρές κ.λ.π.
  • 15. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Β. Η εντολή scanf) 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Η εντολή scanf είναι µια συνάρτηση βιβλιοθήκης (ορισµένη στο αρχείο κεφαλίδας stdio.h), η οποία διαβάζει από το πληκτρολόγιο δεδοµένα. Την έχουµε χρησιµοποιήσει στην main σε 2 σηµεία στο πρόγραµµά µας: Η scanf είναι επίσης πάρα πολύ σηµαντική συνάρτηση, διότι διαβάζει δεδοµένα από τον χρήστη. Έχει πολλές διαφορετικές χρήσεις που θα αναλύσουµε σε επόµενο µάθηµα (π.χ διάβασµα πραγµατικών αριθµών, συµβολοσειρών κ.λπ.) Εδώ θα δούµε µία µόνο χρήση της, για το πως να διαβάζουµε τιµές για ακέραιες µεταβλητές. scanf("%d", &a); scanf("%d", &b);
  • 16. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 5. Εντολές (Β. Η εντολή scanf) 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C H scanf συντάσσεται ως εξης: Όπως βλέπουµε παίρνει 2 ορίσµατα: Το 1ο όρισµα είναι υποχρεωτικά η συµβολοσειρά “%d” που καθορίζει ότι θα διαβάσουµε µια ακέραια µεταβλητή Το %d είναι ο προσδιοριστής ακεραίου Το 2ο όρισµα είναι υποχρεωτικά το & ακολουθούµενο από το όνοµα της µεταβλητής, στο οποίο θα αποθηκευτεί η τιµή που θα εισάγει ο χρήστης Περισσότερες λεπτοµέρειες για το υποχρεωτικό συµβολο & που οφείλει να προηγείται από το όνοµα της µεταβλητής θα δούµε στο «Μάθηµα 9: ∆είκτες» Πρακτικά όταν εκτελείται η εντολή scanf το πρόγραµµα «παγώνει» και αναµένει από τον χρήστη να πληκτρολογήσει τον ακέραιο αριθµό και να πατήσει Enter. Μόλις γίνει αυτό, η τιµή που πληκτρολόγησε ο χρήστης αποθηκεύεται στην µεταβλητή, και το πρόγραµµα εκτελεί την επόµενη εντολή. scanf("%d",&µεταβλητή);
  • 17. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 6. Συναρτήσεις Χρήστη 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Στο πρόγραµµα αυτό, ο χρήστης έχει εισάγει µια δική του συνάρτηση, την ginomeno, η οποία υπολογίζει το γινόµενο δύο ακέραιων αριθµών που δέχεται ως ορίσµατα και τα επιστρέφει. Βλέπουµε τα 3 σηµεία στο πρόγραµµα που αναφέρονται στην συνάρτηση: Το πρωτότυπό της, το σώµα της και την κλήση της στην main ως εντολή. ..... int ginomeno(int x, int y); <- Αυτό είναι το πρωτότυπο της συνάρτησης main() { .... c=ginomeno(a,b); <- Εδώ καλούµε την συνάρτηση στην main, .... σαν µία ακόµη εντολή του προγράµµατος } int ginomeno(int x, int y) <-Αυτό είναι το σώµα της συνάρτησης { return (x*y); }
  • 18. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 6. Συναρτήσεις Χρήστη (Α. Το πρωτότυπο της συνάρτησης) 18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Κάθε συνάρτηση έχει την εξής έννοια Παίρνει ως είσοδο κάποια δεδοµένα, µέσω των ορισµάτων της Κάνει έναν υπολογισµό Επιστρέφει το αποτέλεσµα του υπολογισµού της ΠΑΝΤΑ πριν από την main καταγράφουµε τα πρωτότυπα των συναρτήσεων που θα ορίσουµε. Το πρωτότυπο είναι µια περιγραφή µόνο των ορισµάτων της συνάρτησης και της επιστρεφόµενης τιµής (και όχι του υπολογισµού). Το συντακτικό είναι: Όπως στην συνάρτηση µάς: όπου περιγράφουµε ότι πρόκειται να ορίσουµε µια συνάρτηση µε όνοµα ginomeno: που παίρνει δύο ακέραιες µεταβλητές ως ορίσµατα και επιστρέφει µια ακέραια µεταβλητή Τύπος_Επιστρεφόµενης_Τιµής ΟΝΟΜΑ_ΣΥΝΑΡΤΗΣΗΣ(Ορισµα1,Ορισµα2,...); int ginomeno (int x, int y);
  • 19. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 6. Συναρτήσεις Χρήστη (Β. Το σώµα της Συνάρτησης) 19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Το σώµα της συνάρτησης αποτελεί την περιγραφή των εντολών που εκτελεί η συνάρτηση. Πάντα θα είναι ΜΕΤΑ την main και οι εντολές της θα βρίσκονται ανάµεσα σε άγκιστρα Παρατηρούµε ότι η 1η γραµµή είναι ακριβώς ίδια µε το πρωτότυπο (αλλά δεν έχει ερωτηµατικό) Έπειτα µέσα στα άγκιστρα έχουµε το δικαίωµα να γράψουµε οποιαδήποτε εντολή. Η εντολή return επιστρέφει σε αυτόν που κάλεσε την συνάρτηση το όρισµά της. Άρα η συνάρτηση επιστρέφει το γινόµενο του αριθµού x µε το y. (Το * είναι τελεστής που εκτελεί τον πολλαπλασιασµό των µεταβλητών. Περισσότερους τελεστές θα δούµε σε επόµενο µάθηµα) int ginomeno(int x, int y) { return (x*y); }
  • 20. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 6. Συναρτήσεις Χρήστη (Γ. Κλήση µιας συνάρτησης) 20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C ΑΦΟΥ έχουµε ορίσει µια συνάρτηση (έχοντας γράψει το πρωτότυπό της πριν την main και το σώµα της µετά την main), µπορούµε να την χρησιµοποιήσουµε σε οποιοδήποτε σηµείο του προγράµµατός µας, καλώντας την σαν µια οποιαδήποτε εντολή. Όπου γίνεται κλήση της συνάρτησης µε ορίσµατα τις τιµές των a,b που έχει εισάγει ο χρήστης νωρίτερα. Ο έλεγχος µεταβαίνει στην συνάρτηση ginomeno όπου υπολογίζεται και επιστρέφεται το γινόµενο των δύο αριθµών. Το αποτέλεσµα αποθηκεύεται στην µεταβλητή c µέσω του τελεστή καταχώρησης ( = ). Περισσότερα για τον τελεστή καταχώρησης ( = ) θα δούµε στο επόµενο µάθηµα. main() { .... c=ginomeno(a,b); .... }
  • 21. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 6. Συναρτήσεις Χρήστη (Γ. Κλήση µιας συνάρτησης) 21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Οι συναρτήσεις είναι το Α και το Ω της γλώσσας C. Πολλές φορές αναφέρεται για την C ότι είναι η πιο δηµοφιλής διαδικαστική γλώσσα δηλαδή γλώσσα που λειτουργεί µε διαδικασίες (συναρτήσεις) Αν και δεν υπάρχει περίπτωση να ορίσουµε µια συνάρτηση που εκτελεί µία τόσο απλή ενέργεια, όσο ένας πολλαπλασιασµός (όπως στο πρόγραµµά µας), είδαµε πως µπορούµε να συντάξουµε µια συνάρτηση χρήστη: Ορίζουµε το πρωτότυπο της Το σώµα της Και την καλούµε ως εντολή στην συνέχεια. Συµβουλή: Ορίζουµε µία συνάρτηση χρήστη όταν θέλουµε να κάνουµε πολλές φορές την ίδια δουλειά, έτσι ώστε να γράψουµε το πρωτότυπο και το σώµα, και έπειτα απλά να καλούµε την συνάρτηση σαν µια εντολή, κάθε φορά που θέλουµε να ξαναγίνει η ίδια ενέργεια.
  • 22. A. Θεωρία 1. Στοιχεία ενός προγράµµατος C 7. Σχόλια Προγράµµατος 22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Είναι πολύ σηµαντικό να τεκµηριώνουµε το πρόγραµµα µας µε σχόλια που εξηγούν σηµεία του κώδικα. Συνήθως βάζουµε σχόλια σε τµήµατα κώδικα τα οποία είναι περίπλοκα και βοηθάνε είτε κάποιον άλλον που διαβάζει τον κώδικά µας, είτε κι εµάς τους ίδιους αν πρόκειται να ξαναδιαβάσουµε τον κώδικα µετα από καιρό. Υπάρχουν δύο ειδών σχόλια στην C: Τα σχόλια µίας γραµµής (ξεκινάνε µε // ): Τα σχόλια πολλών γραµµών (ξεκινάνε µε /* και τελειώνουν µε */ ) // Εδώ βάζουµε σχόλια που θα τελειώσουν µε την αλλαγή γραµµής /* Αρχή σχολίων Μία ∆εύτερη Γραµµή Σχολίων Τέλος Σχολίων */
  • 23. Β. Ασκήσεις Εφαρµογή 1 23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Μεταγλωττίστε και εκτελέστε το ακόλουθο πρόγραµµα: 1. Εντοπίστε εντολές στο πρόγραµµα. 2. Εντοπίστε δηλώσεις µεταβλητών. 3. Εντοπίστε τη δήλωση πρωτοτυπου συνάρτησης 4. Εντοπίστε τις γραµµές σώµατος συναρτησης 5. Ποιες γραµµές περιέχουν σχόλια; /* print.c: Programma gia ektiposi grammwn */ #include <stdio.h> int x; void grammi(); main() { // Ektyposeis... grammi(); printf("nSe posa mathimata thelete na mathete tin C? "); scanf("%d", &x); grammi(); printf("nTha apaitithoun 20 mathimata!"); grammi(); printf("nApantisate %d",x); grammi(); } /* H synartisi ektiponei mia grammi */ void grammi() { printf("n==============================="); }
  • 24. Β. Ασκήσεις Εφαρµογή 2 24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 2: Βασικά Στοιχεία ενός Προγράµµατος C Μεταγλωττίστε και εκτελέστε το ακόλουθο πρόγραµµα. Στη συνέχεια τροποποιήστε το πρόγραµµα ώστε να τυπώνει τον κύβο κάθε αριθµού. /* numbers.c */ #include <stdio.h> main() { int i,N,y; printf("Eisagete enan akeraio arithmo: "); scanf("%d",&N); for (i=1; i<=N; i++) { y=i*i; printf("n%d sto tetragono = %d",i,y); } printf("nnTelos Programmatos"); }