Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

2.2 Τύποι Δεδομένων στη γλώσσα C

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

Όταν θέλουμε να εμφανίσουμε μια μεταβλητή στην οθόνη με τη χρήση της συνάρτησης printf(), πρέπει να χρησιμοποιήσουμε έναν “format specifier” για να περιγράψουμε τον τύπο της μεταβλητής. Ο “format specifier” καθορίζει τον τρόπο με τον οποίο θα εμφανιστεί η μεταβλητή στην οθόνη.

Για παράδειγμα, χρησιμοποιούμε το %d για να εμφανίσουμε έναν ακέραιο αριθμό, το %f για να εμφανίσουμε έναν δεκαδικό αριθμό και το %s για να εμφανίσουμε μια αλφαριθμητική τιμή. Στην printf() περνάμε τις μεταβλητές που θέλουμε να εμφανίσουμε, ακολουθούμενες από τους αντίστοιχους “format specifiers”.

Έτσι, χρησιμοποιώντας τους σωστούς “format specifiers”, μπορούμε να εμφανίσουμε τις μεταβλητές με τον σωστό τύπο δεδομένων στην οθόνη.

Παραδείγματα:

Αν θέλουμε να ορίσουμε μια μεταβλητή τύπου ακέραιου, μπορούμε να γράψουμε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int myInteger = 10;
int myInteger = 10;
int myInteger = 10;

Αν θέλουμε να εμφανίσουμε τη μεταβλητή myInteger χρησιμοποιούμε τον format specifier %d μέσα στη συνάρτηση printf():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("Η τιμή της μεταβλητής myInteger είναι: %d", myInteger);
printf("Η τιμή της μεταβλητής myInteger είναι: %d", myInteger);
printf("Η τιμή της μεταβλητής myInteger είναι: %d", myInteger);

Αν θέλουμε να ορίσουμε μια μεταβλητή τύπου δεκαδικός, μπορούμε να γράψουμε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float myFloat = 3.14;
float myFloat = 3.14;
float myFloat = 3.14;

Αν θέλουμε να εμφανίσουμε τη μεταβλητή myFloat με τρεις δεκαδικούς αριθμούς, χρησιμοποιούμε τον format specifier %0.3f μέσα στη συνάρτηση printf():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("Η τιμή της μεταβλητής myFloat είναι: %.3f", myFloat);
printf("Η τιμή της μεταβλητής myFloat είναι: %.3f", myFloat);
printf("Η τιμή της μεταβλητής myFloat είναι: %.3f", myFloat);

Αν θέλουμε να ορίσουμε μια μεταβλητή τύπου χαρακτήρας, μπορούμε να γράψουμε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
char myChar = 'A';
char myChar = 'A';
char myChar = 'A';

Αν θέλουμε να εμφανίσουμε τη μεταβλητή myChar, χρησιμοποιούμε τον format specifier %c μέσα στη συνάρτηση printf():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("Η τιμή της μεταβλητής myChar είναι: %c", myChar);
printf("Η τιμή της μεταβλητής myChar είναι: %c", myChar);
printf("Η τιμή της μεταβλητής myChar είναι: %c", myChar);

Βασικοί Τύποι Δεδομένων
Ο τύπος δεδομένων καθορίζει το μέγεθος και τον τύπο των πληροφοριών που θα αποθηκεύει η μεταβλητή.

[adinserter block=”2″]

Οι βασικοί τύποι δεδομένων είναι:

Τύπος ΔεδομένωνΜέγεθοςΠεριγραφή
int2 ή 4 bytesΑποθηκεύει ακέραιους αριθμούς χωρίς δεκαδικά ψηφία
float4 bytesΑποθηκεύει κλασματικούς αριθμούς που περιλαμβάνουν ένα ή περισσότερα δεκαδικά ψηφία. Επαρκής για να αποθηκεύσει 6-7 δεκαδικά ψηφία
double8 bytesΑποθηκεύει κλασματικούς αριθμούς που περιλαμβάνουν ένα ή περισσότερα δεκαδικά ψηφία. Επαρκής για να αποθηκεύσει 15 δεκαδικά ψηφία
char1 byteΑποθηκεύει έναν μόνο χαρακτήρα/γράμμα/αριθμό ή τιμές ASCII

Βασικοί Format Specifiers
Υπάρχουν διαφορετικοί format specifiers για κάθε τύπο δεδομένων. Εδώ είναι μερικοί από αυτούς:

Format SpecifierΤύπος Δεδομένων
%d ή %iint
%ffloat
%lfdouble
%cchar
%sΧρησιμοποιείται για συμβολοσειρές (κείμενο), για το οποίο θα μάθετε περισσότερα σε ένα αργότερο κεφάλαιο.

Ρύθμιση Ακρίβειας Δεκαδικού Μέρους
Πιθανόν να έχετε ήδη παρατηρήσει ότι εάν εκτυπώσετε έναν κινητήρα αριθμό με δεκαδικά ψηφία, το αποτέλεσμα θα δείχνει πολλά ψηφία μετά το δεκαδικό σημείο:

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float myFloat = 3.14159265;
printf("My float is: %f", myFloat);
float myFloat = 3.14159265; printf("My float is: %f", myFloat);
float myFloat = 3.14159265;
printf("My float is: %f", myFloat);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
My float is: 3.141593
My float is: 3.141593
My float is: 3.141593

Παρατηρούμε ότι υπάρχουν πολλά ψηφία μετά το δεκαδικό σημείο. Για να ρυθμίσουμε τον αριθμό των ψηφίων δεκαδικού μέρους που εμφανίζονται, μπορούμε να χρησιμοποιήσουμε τον format specifier %f σε συνδυασμό με τη συμβολοσειρά “%0.nf”, όπου n είναι ο αριθμός των ψηφίων που θέλουμε να εμφανιστούν μετά το δεκαδικό σημείο:

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float myFloat = 3.14159265;
printf("My float is: %.2f", myFloat);
float myFloat = 3.14159265; printf("My float is: %.2f", myFloat);
float myFloat = 3.14159265;
printf("My float is: %.2f", myFloat);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
My float is: 3.14
My float is: 3.14
My float is: 3.14

Παρατηρούμε ότι εμφανίζονται μόνο δύο ψηφία μετά το δεκαδικό σημείο.

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

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float myFloat = 3.14000000;
printf("My float is: %.2f", myFloat);
float myFloat = 3.14000000; printf("My float is: %.2f", myFloat);
float myFloat = 3.14000000;
printf("My float is: %.2f", myFloat);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
My float is: 3.14
My float is: 3.14
My float is: 3.14

Παρατηρούμε ότι δεν υπάρχουν περιττά μηδενικά μετά το δεκαδικό σημείο.

19 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων