Οι σταθερές αυτές χρησιμοποιούνται συχνά για να παραστήσουν μηνύματα
προς το χρήστη (π.χ. "Παρακαλώ βάλτε την κάρτα σας στην υποδοχή") ή
και μεταξύ υπολογιστών (π.χ. "RCPT TO: dspin@aegean.gr").
Ένα άλλο είδος σταθερών είναι αυτές που παριστάνουν αριθμητικές
τιμές (π.χ. 42 ή 3.1415927).
Για να τυπώσουμε ακέραιες τιμές προσθέτουμε στη συμβολοσειρά του
printf τον κωδικό μορφής (format code) %d στο
σημείο που θέλουμε να εμφανιστεί η κάθε τιμή και ακολουθούμε
τη συμβολοσειρά με τις αντίστοιχες τιμές. Παράδειγμα:
printf("Τα γραπτά βαθμολογούνται με βαθμούς από το %d μέχρι το %d.\n",0, 10);
).
Αντίστοιχα για να τυπώσουμε τιμές κινητής υποδιαστολής χρησιμοποιούμε
τον κωδικό μορφής %g. Παράδειγμα:
printf("Ο αριθμός %g είναι μια προσέγγιση του π.", 3.1415927)
Απλές πράξεις
Οι αριθμητικές τιμές της C μπορούν να συνδυαστούν με τη
χρήση των παρακάτω τελεστών (operands):
Πράξη
Τελεστής της C
Πρόσθεση
+
Αφαίρεση
-
Πολλαπλασιασμός
*
Διαίρεση
/
Υπόλοιπο ακέραιας διαίρεσης
%
Για τον υπολογισμό μιας τιμής, πρώτα εκτελούνται οι πράξεις ανάμεσα
στους τελεστές * / % και μετά οι πράξεις ανάμεσα στους τελεστές + -.
Η παραπάνω σειρά μπορεί να μεταβληθεί με τη χρήση παρενθέσεων.
Παραδείγματα
printf("ένα συν ένα = %d\n", 1 + 1);
printf("Το εμβαδό του δωματίου είναι %d τετραγωνικά μέτρα.\n", 3 * 5);
Οι μεταβλητές που χρησιμοποιούμε για να αποθηκεύμουμε τιμές κατά
το διάστημα που υπολογίζεται μια συνάρτηση ορίζονται στην αρχή της
αντίστοιχης συνάρτησης μετά το σύμβολο "{".
Ο ορισμός τους γίνεται γράφοντας τον τύπο της μεταβλητής
(int για ακέραιες τιμές, double για τιμές κινητής υποδιαστολής)
ακολουθούμενο από το όνομα της μεταβλητής.
Στο τέλος του ορισμού γράφουμε το χαρακτήρα ";".
Μπορούμε να ορίσουμε πολλές μεταβλητές ίδιου τύπου χωρίζοντάς τις
με ",".
Παράδειγμα:
main()
{ int faces; double x, y;
}
Για να δώσουμε μια τιμή σε μια μεταβλητή χρησιμοποιούμε τη
σύνταξη:
μεταβλητή = τιμή;
για παράδειγμα:
faces = 2 * 8 + 12;
Στη συνέχεια μπορούμε να χρησιμοποιούμε την τιμή της μεταβλητής
όπως και οποιοδήποτε άλλη σταθερά. Παράδειγμα:
#include <stdio.h>
main()
{ int faces; double len;
len = 12.5;
faces = 6;
printf("Επιφάνεια = %g\n", len * len * faces);
}
Είσοδος στοιχείων
Μπορούμε να κάνουμε το πρόγραμμά μας να σταματήσει την εκτέλεσή
του για να διαβάσει από το χρήστη κάποιες τιμές.
Για παράδειγμα το πρόγραμμα ελέγχου μια μηχανής αυτόματης
ανάληψης χρημάτων σταματά την εκτέλεσή του όταν τυπώνει την
ερώτηση "Δώστε το ποσό που θέλετε να αναλάβετε" και περιμένει
από το χρήστη να γράψει την αντίστοιχη τιμή.
Η συνάρτηση της C scanf σταματά την εκτέλεση ενός προγράμματος
περιμένοντας ο χρήστης του να πληκτρολογήσει κάποιες τιμές και στη
συνέχεια αναθέτει τις τιμές αυτές στις μεταβλητές που έχουμε ορίσει.
Για να διαβάσουμε από το χρήστη μια ακέραια τιμή καλούμε τη
συνάρτηση scanf με πρώτο όρισμα μια συμβολοσειρά με τον κωδικό μορφής
%d και ακολουθούμε τη συμβολοσειρά με την αντίστοιχη μεταβλητή
με το χαρακτήρα & πριν από το όνομά της. Παράδειγμα:
scanf("%d", &grade);
Αντίστοιχα για να διαβάσουμε τιμές κινητής υποδιαστολής χρησιμοποιούμε
τον κωδικό μορφής %lg. Παράδειγμα:
main()
{ double temperature;
scanf("%lg", &temperature);
printf("The temperature is %g\n", temperature);
}
Παρατήρηση: αφού ο χρήστης γράψει την τιμή πρέπει να πατήσει το πλήκτρο
ENTER για να συνεχίσει το πρόγραμμα τη λειτουργία του.
Ασκήσεις
Είσοδος έξοδος και υπολογισμοί
Να γράψετε ένα πρόγραμμα που θα διαβάζει από το χρήστη την
ταχύτητα ενός αντικειμένου σε km/h και την τυπώνει σε m/s.
Παράδειγμα της εκτέλεσης του πρόγραμματος:
Speed (km/h)=120
A speed of 120 km/h is 33.333 m/s
Βιβλιογραφία
Brian W. Kernighan, Dennis M. Ritchie
Η γλώσσα προγραμματισμού C. σ. 23-28, 218-222 (τμήματα)
Δεύτερη έκδοση.
Κλειδάριθμος, 1988.
Brian W. Kernighan and Dennis M. Ritchie.
The C Programming Language, pages 8-12, 157-169 (parts).
Prentice-Hall, second edition, 1988.
Τελευταία αλλαγή: Τρίτη, 29 Ιανουαρίου 2002 10:23 πμ
Εκτός αν αναφέρεται κάτι διαφορετικό, όλο το πρωτότυπο υλικό της σελίδας αυτής
του οποίου δημιουργός είναι ο Διομήδης Σπινέλλης παρέχεται σύμφωνα με τους
όρους της άδειας
«Creative Commons Attribution-Share Alike 3.0 Greece License».