1.9. Βασικά στοιχεία προγράμματος

Βασικά στοιχεία προγράμματος

Έστω το ακόλουθο απλό πρόγραμμα:

/********************************************* 
This program prints out the sentence "This is a test." 
******************************************* */ 
#include<stdio.h> 
void main () 
{ 
    printf( "This is a test.\n" ); 
} // end of main

 

Η καρδιά ενός προγράμματος της γλώσσας C είναι η λέξη main. Αντιστοιχεί στο κύριο τμήμα του κώδικα και χρησιμοποιείται για να γνωστοποιήσει το σημείο έναρξης εκτέλεσης του προγράμματος. Μετά τη main ακολουθεί το εισαγωγικό αριστερό άγκιστρο ({) και κατόπιν οι γραμμές του προγράμματος. Η main, και μαζί το πρόγραμμα, τερματίζει με το καταληκτικό δεξί άγκιστρο (}). Στο παρόν πρόγραμμα η main αποτελείται από μία μόνο πρόταση κλήσης της συνάρτησης printf, η οποία ανήκει στη βασική βιβλιοθήκη συναρτήσεων της C.

 

Διαφήμιση

 

Η βιβλιοθήκη συναρτήσεων περιλαμβάνει τον κώδικα πρότυπων συναρτήσεων και αποτελείται από μία σειρά αρχείων, τα οποία έχουν την κατάληξη h. Τα αρχεία αυτά ονομάζονται αρχεία κεφαλίδας (header files) και περιλαμβάνουν συναρτήσεις συναφούς λειτουργίας. Δηλώνονται πριν από τη main, με χρήση της οδηγίας προς τον προεπεξεργαστή include ως εξής:

#include <όνομα_αρχείου_κεφαλίδας.h>

Η συνάρτηση main εκτός από προτάσεις και κλήσεις σε συναρτήσεις βιβλιοθήκης μπορεί να καλεί και άλλες συναρτήσεις, οι οποίες δημιουργούνται από το προγραμματιστή. Μία συνάρτηση είναι ένα σύνολο προτάσεων με ένα δεδομένο όνομα, όπως είναι η main ή η printf. Οι προτάσεις αποτελούν το σώμα (body) της συνάρτησης και περικλείονται σε άγκιστρα. Οι συναρτήσεις πριν από τη main και αναπτύσσουν τον κώδικά τους είτε πάνω είτε κάτω από τη main.

Όλες οι προτάσεις τελειώνουν με ερωτηματικό (;) (semicolon), το οποίο ονομάζεται σύμβολο του τερματιστή προτάσεων (statement terminator symbol). Εξαίρεση αποτελούν οι οδηγίες προς τον προεπεξεργαστή, όπως είναι η include, οι οποίες αρχίζουν πάντοτε με δίεση (#) και δεν τελειώνουν με ερωτηματικό. Η έξοδος του προγράμματος είναι η έξοδος της printf: This is a test.

 

Διαφήμιση

 

Οι τρεις πρώτες γραμμές του ανωτέρω προγράμματος είναι σχόλια (comments) και δεν αποτελούν τμήμα του κώδικα, καθώς δε λαμβάνονται υπόψη από το μεταγλωττιστή. To σχόλιο είναι κείμενο ανάμεσα σε / *και */ και μπορεί να τοποθετηθεί οπουδήποτε μέσα στο πρόγραμμα. Μπορεί να επεκταθεί σε περισσότερες από μία γραμμές. Σε περίπτωση που πρέπει να τοποθετηθεί ένα σχόλιο σε κάποιο σημείο μιας γραμμής και να μην επεκταθεί σε άλλη γραμμή, χρησιμοποιείται το σύμβολο // και ακολούθως τοποθετείται το σχόλιο, όπως συμβαίνει στο τέλος του ανωτέρω προγράμματος (το κείμενο end of main είναι σχόλιο).

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

Παρακάτω παρουσιάζονται μερικές περιπτώσεις σωστών και λανθασμένων σχολίων:

α) /* Αυτό /* το σχόλιο */ είναι λανθασμένο */ 
β) /* Αυτό το σχόλιο είναι σωστό */

 

Διαφήμιση

 

  1. Παρατηρήσεις:
    Η γλώσσα C διαχωρίζει τα κεφαλαία γράμματα από τα μικρά (case sensitive). Η εντολή Printf δεν είναι ίδια με την printf. Όλες οι εντολές στη C γράφονται με μικρά γράμματα!
  2. Η σωστή στηλοθεσία είναι πολύ σημαντική καθώς καθιστά τον κώδικα ευανάγνωστο.
  3. Η συνάρτηση printf ανήκει στις μορφοποιούμενες συναρτήσεις εισόδου–εξόδου. Ονομάζεται μορφοποιούμενη γιατί δίνει τη δυνατότητα στο χρήστη να μορφοποιήσει την έξοδό της, δυνάμενη να εκτυπώσει μεταβλητές διαφόρων τύπων και με διάφορους τρόπους, χρησιμοποιώντας κατάλληλα σύμβολα. Δυαδική της printf είναι η scanf, η οποία λαμβάνει πληροφορία από την είσοδο (πληκτρολόγιο). Η πρόταση printf( «This is a test.\n» ); καλεί την printf για να τυπωθεί το καθορισμένο κείμενο. Τα ορίσματα εισόδου (input arguments) περικλείονται από παρενθέσεις και προσδιορίζουν το προς εκτύπωση κείμενο και τη μορφή με την οποία θα εκτυπωθεί. Τέλος, το σύμβολο \n, που ανήκει στις ακολουθίες διαφυγής, σημαίνει «μετακινήσου στην επόμενη γραμμή».
  4. Πέραν της include, μία σημαντική οδηγία προς τον προεπεξεργαστή είναι η define, η οποία αντιστοιχίζει ένα όνομα με μία σταθερά ή με μία σειρά χαρακτήρων. Οποτεδήποτε εμφανίζεται το όνομα μέσα στον κώδικα, αντικαθίσταται αυτόματα με την τιμή της σταθεράς ή τη συμβολοσειρά. Για παράδειγμα, εάν χρησιμοποιηθεί η λέξη TRUE στη θέση της τιμής 1 και η λέξη FALSE στη θέση της τιμής 0, θα δοθούν δύο define ως εξής:

 

#define TRUE 1 
#define FALSE 0

Εάν αντικατασταθεί ολόκληρη φράση, μπορεί να εμφανισθεί στην οθόνη με χρήση της printf:

#define TITLOS "pliroforiki-edu\nprogramming\n" 
printf( TITLOS );

To αποτέλεσμα είναι:

pliroforiki-edu
programming

Μία συνηθισμένη χρήση της define είναι για τον καθορισμό του μεγέθους στοιχείων, όπως είναι η διάσταση ενός πίνακα, τα οποία μπορεί να αλλάξουν κατά την εκτέλεση του προγράμματος.

 

Διαφήμιση
SEE ALL Add a note
YOU
Add your Comment
 
error: Το περιεχόμενο προστατεύεται!!
X