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.1 Οι μεταβλητές στη C

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

Στη C, υπάρχουν διαφορετικοί τύποι μεταβλητών (που καθορίζονται με διαφορετικές λέξεις-κλειδιά), όπως για παράδειγμα:

int – αποθηκεύει ακέραιους αριθμούς (ακέραιους), χωρίς δεκαδικά, όπως το 123 ή το -123
float – αποθηκεύει αριθμούς με κινητή υποδιαστολή, με δεκαδικά, όπως το 19,99 ή το -19,99
char – αποθηκεύει μονά γράμματα, όπως το ‘a’ ή το ‘B’. Οι τιμές char περικλείονται σε μονά εισαγωγικά.

Δήλωση (Δημιουργία) Μεταβλητών
Για να δημιουργήσετε μια μεταβλητή, καθορίστε τον τύπο της και αναθέστε της μια τιμή:

Σύνταξη

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type variableName = value;
type variableName = value;
type variableName = value;

Οπου ο τύπος είναι ένας από τους τύπους της C (όπως int), και το variableName είναι το όνομα της μεταβλητής (όπως x ή myName). Το ίσον σημείο χρησιμοποιείται για την ανάθεση τιμής στη μεταβλητή.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int myNum = 5;
printf("%d", myNum);
int myNum = 5; printf("%d", myNum);
int myNum = 5;
printf("%d", myNum);

Στο παραπάνω παράδειγμα, δημιουργούμε μια μεταβλητή με όνομα myNum και τύπο int, και της αναθέτουμε την τιμή 5. Στη συνέχεια, εκτυπώνουμε την τιμή της μεταβλητής στην οθόνη χρησιμοποιώντας τη συνάρτηση printf().

Όπου ο τύπος είναι ένας από τους τύπους της C (όπως int), και το variableName είναι το όνομα της μεταβλητής (όπως x ή myName). Το ίσον σημείο χρησιμοποιείται για την ανάθεση τιμής στη μεταβλητή.

[adinserter block=”2″]

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int myNum = 5;
printf("%d", myNum);
int myNum = 5; printf("%d", myNum);
int myNum = 5;
printf("%d", myNum);

Στο παραπάνω παράδειγμα, δημιουργούμε μια μεταβλητή με όνομα myNum και τύπο int, και της αναθέτουμε την τιμή 5. Στη συνέχεια, εκτυπώνουμε την τιμή της μεταβλητής στην οθόνη χρησιμοποιώντας τη συνάρτηση printf().

Μπορείτε επίσης να δηλώσετε μια μεταβλητή χωρίς να της αναθέσετε τιμή, και να της αναθέσετε την τιμή αργότερα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int myNum;
myNum = 15;
printf("%d", myNum);
int myNum; myNum = 15; printf("%d", myNum);
int myNum;
myNum = 15;
printf("%d", myNum);

Στο παραπάνω παράδειγμα, δηλώνουμε μια μεταβλητή με όνομα myNum και τύπο int, αλλά δεν της αναθέτουμε τιμή. Στη συνέχεια, αναθέτουμε την τιμή 15 στη μεταβλητή και την εκτυπώνουμε στην οθόνη.

Μάθατε από το κεφάλαιο εξόδου ότι μπορείτε να εξάγετε τιμές/εκτυπώνετε κείμενο με τη συνάρτηση printf():

Παράδειγμα

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = 5;
int y = 6;
int sum = x + y;
printf("The sum of %d and %d is %d", x, y, sum);
int x = 5; int y = 6; int sum = x + y; printf("The sum of %d and %d is %d", x, y, sum);
int x = 5;
int y = 6;
int sum = x + y;
printf("The sum of %d and %d is %d", x, y, sum);

Στο παραπάνω παράδειγμα, δημιουργούμε δύο μεταβλητές με τύπο int και τιμές 5 και 6 αντίστοιχα. Στη συνέχεια, προσθέτουμε τις δύο μεταβλητές και αποθηκεύουμε το αποτέλεσμα στη μεταβλητή sum. Τέλος, εκτυπώνουμε ένα κείμενο που περιέχει τις τιμές των μεταβλητών x, y και sum στην οθόνη. Σημειώστε ότι οι τιμές των μεταβλητών εισάγονται στο κείμενο χρησιμοποιώντας το %d ως μέρος της μορφής εξόδου της συνάρτησης printf().

Σε πολλές άλλες γλώσσες προγραμματισμού (όπως Python, Java και C++), συνήθως χρησιμοποιείτε μια συνάρτηση εκτύπωσης για να εμφανίσετε την τιμή μιας μεταβλητής. Ωστόσο, αυτό δεν είναι δυνατό στη C:

Για να εμφανίσετε την τιμή μιας μεταβλητής στη C, πρέπει να χρησιμοποιήσετε τη συνάρτηση printf() και να χρησιμοποιήσετε τον κατάλληλο μαρκαδόρο τύπου δεδομένων (όπως το %d για ακέραιους αριθμούς) για να εισαγάγετε την τιμή της μεταβλητής στο κείμενο εξόδου.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = 5;
printf("The value of x is %d", x);
int x = 5; printf("The value of x is %d", x);
int x = 5;
printf("The value of x is %d", x);

Στο παραπάνω παράδειγμα, χρησιμοποιούμε τη συνάρτηση printf() για να εμφανίσουμε την τιμή της μεταβλητής x στην οθόνη. Χρησιμοποιούμε το %d ως μέρος του κειμένου εξόδου για να δηλώσουμε ότι εισάγουμε μια ακέραια τιμή, και στη συνέχεια περνάμε την τιμή της μεταβλητής x ως δεύτερο όρισμα στη συνάρτηση printf().

Οι πιο συνηθισμένοι χαρακτήρες μορφοποίησης που χρησιμοποιούνται με τη συνάρτηση printf() είναι:

  • %d για ακέραιους αριθμούς
  • %f για αριθμούς κινητής υποδιαστολής
  • %c για χαρακτήρες
  • %s για συμβολοσειρές (strings)

[adinserter block=”3″]

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int age = 25;
printf("I am %d years old.", age);
int age = 25; printf("I am %d years old.", age);
int age = 25;
printf("I am %d years old.", age);

Στο παραπάνω παράδειγμα, χρησιμοποιούμε τον χαρακτήρα μορφοποίησης %d για να δηλώσουμε ότι η μεταβλητή age αποθηκεύει έναν ακέραιο αριθμό, και στη συνέχεια εισάγουμε την τιμή της μεταβλητής age χρησιμοποιώντας το δεύτερο όρισμα της συνάρτησης printf().

Ο χαρακτήρας μορφοποίησης %f χρησιμοποιείται για τους αριθμούς κινητής υποδιαστολής (floats) αντί για το %c. Ορίζοντας τον λανθασμένο χαρακτήρα μορφοποίησης για τον τύπο δεδομένων της μεταβλητής σας, μπορείτε να λάβετε παράξενα αποτελέσματα ή ακόμη και να εμφανιστούν σφάλματα.

Αν θέλετε να εκτυπώσετε ένα χαρακτήρα, χρησιμοποιήστε το %c. Για παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
char letter = 'A';
printf("The letter is %c.", letter);
char letter = 'A'; printf("The letter is %c.", letter);
char letter = 'A';
printf("The letter is %c.", letter);

Αν θέλετε να εκτυπώσετε έναν αριθμό κινητής υποδιαστολής (float), χρησιμοποιήστε το %f. Για παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float number = 3.14;
printf("The number is %f.", number);
float number = 3.14; printf("The number is %f.", number);
float number = 3.14;
printf("The number is %f.", number);

Σημειώστε ότι μπορείτε να προσδιορίσετε την ακρίβεια του αριθμού κινητής υποδιαστολής που εκτυπώνετε χρησιμοποιώντας την παράμετρο .N παρακάτω του %f, όπου N είναι ο αριθμός των δεκαδικών ψηφίων που θέλετε να εμφανίζονται. Παραδείγματος χάριν:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
float number = 3.141592;
printf("The number is %.2f.", number);
float number = 3.141592; printf("The number is %.2f.", number);
float number = 3.141592;
printf("The number is %.2f.", number);

Σε αυτήν την περίπτωση, ο αριθμός θα εκτυπωθεί με δύο δεκαδικά ψηφία.

Για να εκτυπώσετε διαφορετικούς τύπους σε μια μόνο συνάρτηση printf(), μπορείτε να χρησιμοποιήσετε τα ακόλουθα:

  • %d για int
  • %f για float
  • %c για char
  • %s για strings

Παραδείγματος χάριν, μπορείτε να εκτυπώσετε έναν αριθμό int, έναν αριθμό κινητής υποδιαστολής (float), έναν χαρακτήρα char και ένα string με την εξής εντολή:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int num = 10;
float fnum = 3.14;
char letter = 'A';
char name[] = "John";
printf("The integer is %d, the float is %f, the character is %c, and the string is %s.", num, fnum, letter, name);
int num = 10; float fnum = 3.14; char letter = 'A'; char name[] = "John"; printf("The integer is %d, the float is %f, the character is %c, and the string is %s.", num, fnum, letter, name);
int num = 10;
float fnum = 3.14;
char letter = 'A';
char name[] = "John";

printf("The integer is %d, the float is %f, the character is %c, and the string is %s.", num, fnum, letter, name);

Το αποτέλεσμα θα πρέπει να είναι κάτι σαν αυτό:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The integer is 10, the float is 3.140000, the character is A, and the string is John.
The integer is 10, the float is 3.140000, the character is A, and the string is John.
The integer is 10, the float is 3.140000, the character is A, and the string is John.

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

Για παράδειγμα, αν έχουμε την εξής κατάσταση:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int num = 5;
printf("The value of num is %d", num);
int num = 5; printf("The value of num is %d", num);
int num = 5;
printf("The value of num is %d", num);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The value of num is 5
The value of num is 5
The value of num is 5

Αν αναθέσουμε μια νέα τιμή στη μεταβλητή num και το εκτυπώσουμε ξανά:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
num = 10;
printf("The value of num is now %d", num);
num = 10; printf("The value of num is now %d", num);
num = 10;
printf("The value of num is now %d", num);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The value of num is now 10
The value of num is now 10
The value of num is now 10

[adinserter block=”4″]

Μπορείτε επίσης να αντιστοιχίσετε την τιμή μιας μεταβλητής σε μια άλλη:

Για παράδειγμα, αν έχουμε τις ακόλουθες μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = 5;
int y = x;
int x = 5; int y = x;
int x = 5;
int y = x;

Σε αυτή την περίπτωση, η μεταβλητή y θα πάρει την τιμή της μεταβλητής x, δηλαδή 5. Αν εκτυπώσουμε την τιμή της y:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("The value of y is %d", y);
printf("The value of y is %d", y);
printf("The value of y is %d", y);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The value of y is 5
The value of y is 5
The value of y is 5

Ή μπορείτε να αντιγράψετε τιμές σε κενές μεταβλητές:

Για παράδειγμα, αν έχουμε τις ακόλουθες μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int a = 5;
int b;
int a = 5; int b;
int a = 5;
int b;

Σε αυτή την περίπτωση, η μεταβλητή b είναι κενή. Μπορούμε να αντιγράψουμε την τιμή της μεταβλητής a στην b:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
b = a;
b = a;
b = a;

Αν εκτυπώσουμε την τιμή της b:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("The value of b is %d", b);
printf("The value of b is %d", b);
printf("The value of b is %d", b);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The value of b is 5
The value of b is 5
The value of b is 5

Για να προσθέσετε δύο μεταβλητές μαζί, μπορείτε να χρησιμοποιήσετε τον τελεστή +:

Για παράδειγμα, αν έχουμε τις ακόλουθες μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = 5;
int y = 3;
int sum = x + y;
int x = 5; int y = 3; int sum = x + y;
int x = 5;
int y = 3;
int sum = x + y;

Η μεταβλητή sum θα πάρει το άθροισμα των μεταβλητών x και y, δηλαδή την τιμή 8. Αν εκτυπώσουμε την τιμή της sum:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
printf("The sum of x and y is %d", sum);
printf("The sum of x and y is %d", sum);
printf("The sum of x and y is %d", sum);

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
The sum of x and y is 8
The sum of x and y is 8
The sum of x and y is 8

Για να δηλώσετε περισσότερες από μία μεταβλητές του ίδιου τύπου, χρησιμοποιήστε μια λίστα διαχωρισμένη με κόμματα:

Για παράδειγμα, αν θέλουμε να δηλώσουμε δύο ακέραιες μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x, y;
int x, y;
int x, y;

Σε αυτή την περίπτωση, οι μεταβλητές x και y έχουν δηλωθεί ως ακέραιες, αλλά δεν έχουν αρχικοποιηθεί με κάποια τιμή.

Μπορούμε να τους δώσουμε αρχικές τιμές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = 5, y = 3;
int x = 5, y = 3;
int x = 5, y = 3;

Ή να τους δώσουμε τιμές αργότερα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = 5;
y = 3;
x = 5; y = 3;
x = 5;
y = 3;

Μπορείτε επίσης να αντιστοιχίσετε την ίδια τιμή σε πολλές μεταβλητές του ίδιου τύπου:

Για παράδειγμα, αν έχουμε τις ακόλουθες μεταβλητές:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x, y, z;
int x, y, z;
int x, y, z;

Μπορούμε να τους αντιστοιχίσουμε την ίδια τιμή:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = y = z = 0;
x = y = z = 0;
x = y = z = 0;

Σε αυτή την περίπτωση, οι μεταβλητές x, y και z έχουν δηλωθεί ως ακέραιες και έχουν αρχικοποιηθεί με την τιμή 0. Η παραπάνω γραμμή ισοδυναμεί με τρεις ξεχωριστές εκχωρήσεις:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
z = 0;
y = z;
x = y;
z = 0; y = z; x = y;
z = 0;
y = z;
x = y;

Όλες οι μεταβλητές στη C πρέπει να αναγνωρίζονται με μοναδικά ονόματα.

Αυτά τα μοναδικά ονόματα ονομάζονται αναγνωριστικά (identifiers).

Τα αναγνωριστικά μπορούν να είναι σύντομα ονόματα (όπως x και y) ή πιο περιγραφικά ονόματα (age, sum, totalVolume).

[adinserter block=”5″]

Σημείωση: Συνιστάται η χρήση περιγραφικών ονομάτων για να δημιουργήσετε κατανοητό και συντηρήσιμο κώδικα:

Ένα παράδειγμα θα ήταν η δήλωση μιας μεταβλητής για το πλήθος των προϊόντων σε ένα κατάστημα:

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

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

Οι γενικοί κανόνες για την ονομασία μεταβλητών είναι οι εξής:

  • Οι ονομασίες μπορούν να περιέχουν γράμματα, αριθμούς και κάτω παύλες (_).
  • Οι ονομασίες πρέπει να αρχίζουν με γράμμα ή κάτω παύλα (_).
  • Οι ονομασίες είναι ευαίσθητες στην πεζή και κεφαλαία γράμματα (η μεταβλητή myVar και η μεταβλητή myvar είναι διαφορετικές μεταβλητές).
  • Οι ονομασίες δεν μπορούν να περιέχουν κενά ή ειδικούς χαρακτήρες όπως !, #, %, κλπ.
  • Λέξεις κλειδιά (όπως int) δεν μπορούν να χρησιμοποιηθούν ως ονόματα.

Σε αυτό το παράδειγμα θα φτιάξουμε ένα πρόγραμμα στο οποίο θα αποθηκεύουμε πληροφορίες για έναν φοιτητή σε ένα πανεπιστήμιο. Θα χρησιμοποιήσουμε το εξής συνολικό σχέδιο δεδομένων:

  • Όνοματεπώνυμο: string
  • Ηλικία: int
  • Βαθμός: float

Για να κάνουμε αυτό, μπορούμε να χρησιμοποιήσουμε τα εξής ονόματα μεταβλητών:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
#include <string.h>
int main() {
char name[50];
int age;
float grade;
strcpy(name, "John Doe");
age = 21;
grade = 8.5;
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("Grade: %.2f\n", grade);
return 0;
}
#include <stdio.h> #include <string.h> int main() { char name[50]; int age; float grade; strcpy(name, "John Doe"); age = 21; grade = 8.5; printf("Name: %s\n", name); printf("Age: %d\n", age); printf("Grade: %.2f\n", grade); return 0; }
#include <stdio.h>
#include <string.h>

int main() {
    char name[50];
    int age;
    float grade;

    strcpy(name, "John Doe");
    age = 21;
    grade = 8.5;

    printf("Name: %s\n", name);
    printf("Age: %d\n", age);
    printf("Grade: %.2f\n", grade);

    return 0;
}

Στο παραπάνω πρόγραμμα, δηλώνουμε τρεις μεταβλητές με τα ονόματα name, age και grade. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση strcpy για να αντιγράψουμε το όνομα του φοιτητή στη μεταβλητή name, αναθέτουμε την ηλικία του στη μεταβλητή age, και τον βαθμό του στη μεταβλητή grade.

Δωρεα μεσω Paypal

Για την κάλυψη αναγκών φιλοξενίας και δημιουργίας περιεχομένου.

κατηγοριες μαθηματων

Ιστορικο ενοτητων

top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων