Στοιχεία της γλώσσας προγραμματισμού C

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Δομή

Η C είναι μια γλώσσα προγραμματισμού γενικού σκοπού που προσφέρει οικονομία στην έκφραση, μοντέρνο έλεγχο της ροής του προγράμματος, πλήρεις δομές δεδομένων καθώς και ένα πλούσιο σύνολο τελεστών. Η απουσία περιορισμών και η γενικότητά της την κάνουν ιδιαίτερα εύχρηστη και αποτελεσματική για την υλοποίηση μεγάλου εύρους εφαρμογών.

Τα προγράμματα της C αποτελούνται από ένα σύνολο ορισμών συναρτήσεων και μεταβλητών. Η εκτέλεση του προγράμματος αρχίζει πάντα από τη συνάρτηση main η οποία πρέπει να έχει οποσδήποτε οριστεί. Το παρακάτω είναι ένα απλό πρόγραμμα σε C:

/* Τύπωσε hello, world */
#include <stdio.h>

int
main()
{
	printf("hello, world\n");
	return (0);
}

Οι συναρτήσεις ορίζονται με βάση το όνομά τους, τον τύπο του αποτελέσματος που επιστρέφουν και τα ονόματα και τους τύπους των ορισμάτων τους. Η τιμή που θα επιστρέψει η συνάρτηση δίδεται ως παράμετρος στην εντολή return. Η παρακάτω συνάρτηση επιστρέφει το τετράγωνο ενός ακεραίου:

int
sqr(int n)
{
	return (n * n);
}

Ο προεπεξεργαστής

Το πρόγραμμα της C πριν το μεταγλωτιστή περνά από τον προεπεξεργαστή ο οποίο και εκτελεί ορισμένες απλές λεκτικές αλλαγές. Συγκεκριμένα επιτρέπει:

Βασικοί τύποι

Οι βασικοί τύποι της C είναι:
int
Ακέραιοι
char
Χαρακτήρες
double
Αριθμοί κινητής υποδιαστολής
Οι λογικές τιμές αληθές και ψευδές παριστάνονται με ακέραιους διάφορους του 0 και το 0 αντίστοιχα.

Τελεστές

Δομές ελέγχου

Η C υποστηρίζει τις παρακάτω δομές ελέγχου:
if (έκφραση) εντολή1 else εντολή2
Εκτέλεση της εντολής1 αν η έκφραση είναι αληθής (όχι 0). Το τμήμα else μπορεί να παραληφθεί.
while (έκφραση) εντολή
Εκτέλεση της εντολής όσο η έκφραση είναι αληθής.
do εντολή while (έκφραση)
Εκτέλεση της εντολής μέχρι η έκφραση να μην είναι αληθής (έλεγχος στο τέλος του βρόχου).
for (εντολή1; έκφραση; εντολή2) εντολή3
Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της εντολής3 και της εντολής2 όσο η έκφραση είναι αληθής. Για παράδειγμα το
FOR I :=0 TO 9 
	WRITELN(i)
της Pascal γράφεται σε C ως
for (i = 0; i < 10; i++)
	printf("%d\n", i);
switch (έκφραση) {
case σταθερά1: 
	εντολή1; 
	break;
case σταθερά2: 
	εντολή2; 
	break; 
default:
	εντολήΝ;
	break;
}
Εκτέλεση της εντολής της οποίας η σταθερά ταιριάζει με την τιμή της έκφρασης. Αν η τιμή δεν ταιριάζει με καμία σταθερά τότε εκτελείται η εντολή της default.
break;
Τερματισμός της εκτέλεσης του εσώτερου while, do, ή for.
continue;
Επανεκτέλεση του εσώτερου while, do, ή for από την αρχή του βρόχου.
Σε όλες τις περιπτώσεις μια εντολή μπορεί να αντικατασταθεί από περισσότερες με την χρήση των { }.

Άσκηση

Βιβλιογραφία