Τα πρώτα σας προγράμματα |
To μικρότερο
main()
{
}
Τι κάνει; τίποτα!
Το πρόγραμμα της C ξεκινά με την κληση της κύριας συνάρτησης με όνομα main (στην C τα προγράμματα και τα υποπρογράμματα ονομάζονται συναρτήσεις). Οι αγκύλες { και } δηλώνουν την αρχή και το τέλος του προγράμματος, αλλά και όπως θα δούμε στην συνέχεια την αρχή και το τέλος μιάς ενότητας του προγράμματος. Το ζευγάρι των παρενθέσεων που ακολουθεί τη λέξη-κλειδί main, υποδεικνύει στον μεταφραστή (compiler) της γλώσσας προγραμματισμού C, ότι πρόκειται για μία συνάρτηση.
Το "κλασσικό" πρώτο σας πρόγραμμα
#include <stdio.h>
main()
{
printf(" Hello World \n");
}
Τι κάνει; τυπώνει το μήνυμα Hello Word στην οθόνη σας.
Η πρώτη γραμμή (#include <stdio.h>) είναι οδηγία προς τον προεπεξεργαστή και βασικά πληροφορεί τον compiler (μεταγλωττιστή) της C, ότι θα γίνει χρήση της βιβλιοθήκης προμετταγλωττισμένων προγραμμάτων stdio.h. Η stdio.h είναι μία προκαθορισμένη standard βιβλιοθήκη, η οποία κατα βάση αναφέρεται σε ενέργειες (υποπρογράμματα / συνανρτήσεις) που έχουν να κάνουν με την εισόδο και έξοδο δεδομένων (Standard Input Output). Οι βιβλιοθήκες όπως η stdio.h, περιέχουν προμεταγλωττισμένα υποπρογράμματα (συναρτήσεις) για συγκεριμένο υπολογιστικό σύστημα. Η εντολή printf (που στην πραγματικότητα δεν είναι εντολή αλλά υποπρόγραμμα / συνάρτηση) βρίσκεται προμεταγλωττισμένη στην βιβλιοθήκη stdio.h και δεν μεταγλωττίζεται κατα την διάρκεια της μεταγλώττισης του προγραμματός μας, αλλά σε δεύτερη φάση την ενσωματώνει ο μεταγλωττιστής στο εκτελέσιμο πρόγραμμα που δημιουργεί, για ένα συγκεκριμένο υπολογιστικό σύστημα.
Η εντολή (που όπως είπαμε είναι ουσιαστικά συνάρτηση) printf καλείται από την κύρια συνάρτηση main() για να εμφανίσει την σειρά των χαρακτήρων που βρίσκονται μέσα στα εισαγωγικά (δηλαδή το Hello Word).
Παρατηρήστε τους χαρακτήρες \n στο τέλος της εντολής printf. Χρησιμοποιούνται για να μεταφερθεί ο έλεγχος της εμφάνισης των στοιχείων στην επόμενη γραμμή της μονάδας εξόδου που δουλέυουμε (πχ στην οθόνη μας). Υπάρχουν και άλλοι χαρακτήρες ελέγχου του τρόπου εμφάνισης των δεδομένων και των μηνύματων μας μέσω της συνάρτησης printf.
Ο χαρακτήρας ";" (ελληνικό ερωτηματικό) δηλώνει ότι τελειώσε η περιγραφή της εντολής και χρησιμοποιείται για αυτό τον σκοπό. Δηλαδή κάθε εντολή της C τελειώνει με ένα ";"
Eνα με σχόλια
/* This is a comment ignored by the compiler */
#include <stdio.h>
main()
{
printf(" Hello World \n ");
printf(" My name is: "); /* A comment is
allowed to be continued on another line */
printf("Ritsa \n"); /* from Computeritsa */
}
Τι κάνει; βρείτε το εσείς!
Τα σχόλια περικλείονται μεταξύ των χαρακτήρων /* (αρχή του σχολίου) και */ (τέλος σχολίου) μπορούμε να τα βάλουμε σε οποιοδήποτε σημείο του προγράμματος, αγνοούνται απο τον μεταφραστή, και είναι δυνατόν να συνεχίζονται σε άλλη γραμμή.
Kαι ένα λιγο πιό δύσκολο
/* program to find factorial of 6 */
#include <stdio.h>
#define VALUE 6
int i, j;
main()
{
j=1;
for (i=1; i<=VALUE; i++)
j=j*i;
printf("The factorial of %d is %d\n", VALUE, j);
}
Τι κάνει; υπολογίζει και τυπώνει το 6 παραγοντικό.
Για να το κάνει αυτό το πρόγραμμα χρησιμοποιεί δύο μεταβλητές (την i και την j) και απαιτείται η δήλωση αυτών, πράγμα που γίνεται με την εντολη int i, j. Η εντολή for είναι μία από τις εντολές επαναληψης που υπάρχουν στην γλώσσα C και χρειάζεται κάποιον δείκτη (τον i) για να υλοποιήσει αυτήν την επανάληψη. Ο δείκτης i στην εντολή for παίρνει τιμές από το 1 έως το 6. O αριθμός 6 είναι η τιμή που έχει η σταθερά VALUE και την παίρνει με την οδηγία #define του προεπεξεργαστή (#define VALUE 6). Η μεταβλητή j χρησιμοποιείται για υπολογιστεί το παραγοντικό του 6. Στην αρχή η j παίρνει την τιμή 1 και στην συνέχεια πολλαπλασιάζεται κατ' επανάληψη με τις τιμές του δείκτη i . Κάθε φορά που γίνεται αυτός ο πολλαπλασιασμός, η τιμή που προκύπτει καταχωρείται στην μεταβλητή j ξανα (με την εντολή καταχώρησης j=j*i). Τέλος με την εντολή printf τυπώνονται ο αριθμός 6 και το 6 παραγοντικό (VALUE, j). Προσέξτε ότι στην εντολή printf, μέσα στα εισαγωγικά (") υπάρχουν 2 προσδιοριστές (%d), για τις αντίστοιχες τιμές της σταθεράς VALUE και της μεταβλητής j.
Στην αρχική σελίδα | |
Κ.Βασιλάκης / ΤΕΙ Κρήτης |