ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

...ασύγχρονα μαθήματα γλώσσας C

ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό linuxs » 24 Μαρ 2011, 01:50

Κεφάλαιο 4 - Εντολές συνθήκης & Επανάληψης

...τι περιλαμβάνει αυτό το κεφάλαιο:
Στο κεφάλαιο αυτό θα δείτε τις εντολές συνθήκης και επανάληψης! Πολλές φορές ο κώδικας μας δεν είναι ένα κομμάτι που εκτελείται ολόκληρο...υπάρχουν περιπτώσεις(και μάλιστα πολλές) που χρειάζεται να ελέγξουμε μια μεταβλητή/παράσταση για να συνεχίσουμε και πιό συγκεκριμένα, συνήθως αν ισχύει κάνουμε κάτι και δε διαφορετική περίπτωση κάνουμε κάτι άλλο. Ακόμη, είναι σημαντικό να καταλάβετε και να χρησιμοποιείτε εντολές επανάληψης ή αλλιώς να κάνετε loop. Σε ένα πρόγραμμα υπάρχουν περιπτώσεις που θα πρέπει να επαναλάβετε ένα κομμάτι!


Πολλές φορές σε κάποιο πρόγραμμα, ίσως χρειαστεί να γράψετε το ίδιο κομμάτι κώδικα επαναληπτικά. Στην πραγματικότητα αυτό είναι κάπως βασανιστικό και κυρίως καταναλώνει άσκοπο χώρο μνήμης και πολύ χρόνο. Επίσης σε ένα πρόγραμμα δεν έχουν όλα μια σειρά μέχρι το τέλος. Υπάρχει, η πιθανότητα να υπάρχουν συνθήκες όπως, αν ισχύει κάτι θα γίνει αυτό αλλιώς θα γίνει το άλλο. Η C λοιπόν μας προσφέρει εντολές συνθήκης αλλα και επανάληψης! Στην αρχή ίσως σας δυσκολέψει αλλα και τα δύο, είναι ΠΟΛΥ χρήσιμα!

Εντολές Συνθήκης
Οι εντολές συνθήκης είναι δύο ειδών: Η εντολή if else και η switch. Στην ουσία δεν υπάρχει διαφορά απλά μερικές φορές διευκολύνει το switch λόγω αναγνωσιμότητας και χρόνου. Δείτε παρακάτω την βασική δομή:

Κώδικας: Επιλογή όλων
if(συνθήκη){
... /* εντολές αν ισχύει η συνθήκη */
}else{
... /* εντολές αν δεν ισχύει η συνθήκη */
}


Κώδικας: Επιλογή όλων
switch(μεταβλητή){
case τιμή1:
... /* εντολές αν η μεταβλητή είναι ίση με τη τιμή1 */
break;
case τιμή 1:
... /* εντολές αν η μεταβλητή είναι ίση με τη τιμή2 */
break;
...
default:
... /* εντολές αν η μεταβλητή δεν είναι ίση με τίποτα απο τα παραπάνω */
break;
}

Ποιό συγκεκριμένα την εντολή if else μπορούμε να την "σπάσουμε" με μερικές υποκατηγορίες ανάλογα με το πόσες περιπτώσεις υπάρχουν. Να σημειώσω πως μιλάμε για την ίδια εντολή απλά διαφοροποιείτε λίγο, δηλαδή,

Συνθήκη if μιας περίπτωσης,
Κώδικας: Επιλογή όλων
if(συνθήκη){
... /* μπλόκ εντολών */
}

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

Συνθήκη if else δύο περιπτώσεων,
Κώδικας: Επιλογή όλων
if(συνθήκη){
... /* πρώτο μπλόκ εντολών */
}else{
... /* δεύτερο μπλόκ εντολών */
}

Εξήγηση: Σε αντίθεση με τα παραπάνω μπορεί να θέλουμε να πούμε αν ισχύει κάτι κάνε αυτό ΑΛΛΙΩΣ κάνε κάτι άλλο.

Συνθήκη if else πολλαπλών περιπτώσεων,
Κώδικας: Επιλογή όλων
if(συνθήκη 1){
... /* πρώτο μπλόκ εντολών */
}else if(συνθήκη 2){
... /* δεύτερο μπλόκ εντολών */
}else if(συνθήκη 3){
... /* τρίτο μπλόκ εντολών */
}
else{
... /* τελικό μπλόκ εντολών (αν δεν ισχύει τίποτα απο τα παραπάνω) */
}

Εξήγηση: Πηγαίνοντας στα ποιό σύνθετα, αν έχουμε πολλές περιπτώσεις χρησιμοποιούμε πολλά else if. Δεν διαφέρει με την δεύτερη περίπτωση αλλα σαν δομή ίσως κάποιος να τα ξεχώριζε. Θα δώσω και ένα παράδειγμα για να καταλάβετε πως χρησιμποιείται. Ας υποθέσουμε πως θέλουμε να κάνουμε ένα απλό πρόγραμμα που δέχεται ως είσοδο έναν αριθμό και εκτυπώνει τι αριθμός είναι. Πως θα γίνει? Θα διαβάζουμε με κάποιον τρόπο τον αριθμό και θα εξετάζουμε σε ποιά περίπτωση ισχύει. Δηλαδή,
Κώδικας: Επιλογή όλων
/* Το παρακάτω είναι γραμμένο σε ψευδοκώδικα */
if(x=0){
Εκτύπωσε "μηδέν";
}else if(χ=1){
Εκτύπωσε "ένα";
}else if(χ=2){
Εκτύπωσε "δύο";
...
}else{
Εκτύπωσε "Δεν υπάρχει η τιμή που δώσατε!";
}


η τελευταία περίπτωση όμοια με την παραπάνω αλλά ίσως λίγο ποιό βολική για ΠΟΛΛΑ else if είναι η,

switch case,
Κώδικας: Επιλογή όλων
switch(μεταβλητή){
case τιμή1:
... /* εντολές αν η μεταβλητή είναι ίση με τη τιμή1 */
break;
case τιμή 1:
... /* εντολές αν η μεταβλητή είναι ίση με τη τιμή2 */
break;
...
default:
... /* εντολές αν η μεταβλητή δεν είναι ίση με τίποτα απο τα παραπάνω */
break;
}

Εξήγηση: Το switch case το χρησιμοποιούμε όταν έχομυε πολλά “else if” για λόγους συντήρησης του προγράμματος και ευκολίας στην ανάγνωση. Είναι σχετικά ποιό απλό και βολεύει.Για παράδειγμα το παραπάνω πρόγραμμα(ψευδοκώδικας) θα μπορούσαμε να το κάνουμε με switch case ως εξής:
Κώδικας: Επιλογή όλων
/* Το παρακάτω είναι γραμμένο σε ψευδοκώδικα */
switch(x){
case 0:
Εκτύπωσε "μηδέν";
break;
case 1:
Εκτύπωσε "ένα";
break;
...
default:
Εκτύπωσε "Δεν υπάρχει η τιμή που δώσατε!";
break;
}



Εντολές Επανάληψης
Οι εντολές επανάληψης χρησιμοποιούνται όταν υπάρχει ένα κομμάτι κώδικα που μπορούμε να το γράψουμε μια φορά και με ένα loop να επαναλαμβάνεται! Είναι πολύ χρήσιμο γιατί γλιτώνουμε γραμμές κώδικα, μνήμη(αν και στην εποχή μας είναι ~άπειρη!), ευκολία ανάγνωσης κ.τ.λ. Στο μυαλό έχω 3 επαναλήψεις που θα ήταν καλό να αναφέρω. Κάνουν πάνω κάτω την ίδια δουλειά αλλα διαφέρουν σε κάποια λεπτά σημεία που θα τα δούμε παρακάτω.

For loop
Το for loop χρησιμοποιείται κυρίως για πίνακες. Με άλλα λόγια όταν έχετε πίνακα σε άσκηση => for loop χωρίς δεύτερη σκέψη! Στην ουσία μια επανάληψη κάνει με το σκεπτικό οτι υπάρχει ένας μετρητής που ξεκινά απο έναν αριθμό(απο το 0) και αυξάνεται κατα ένα "βήμα"(σταθερός αριθμός, συνήθως 1) και μόλις φτάσει ένα όριο τέλος! Δείτε πως συντάσεται παρακάτω:
Κώδικας: Επιλογή όλων
for (<αρχική_τιμή> <συνθήκη_τερματισμού> <βήμα_επανάληψης> ) {
/* εντολές που εκτελούνται όσο ισχύει η συνθήκη! */
}


για παράδειγμα...
int sum=0;
for(i=0; i<10; i++) {
sum = sum + i;
}
αναμενόμενο αποτέλεσμα: 0+1+2+3+...+9
έγραψε:προσέξτε οτι ξεκινά απο το μηδέν και τελειώνει στο εννέα!!!


While loop
Το While loop και το Do while είναι σχεδόν ίδια απλά στο while loop οι εντολές εκτελούνται μέχρι η συνθηκη να γίνει ψευδής! Συντάσεται ως εξής:
Κώδικας: Επιλογή όλων
while( <συνθήκη_επανάληψης> ) {
/* εντολές επανάληψης όσο η συνθήκη είναι αληθής:*/
}


για παράδειγμα...
Κώδικας: Επιλογή όλων
int sum, i = 0;
while( i<10 ) {
sum = sum + i;
i++;
}


Do while loop
Όμοια με το παραπάνω μόνο που εκτελείαι όσο η συνθήκη είναι ψευδής! Το δεύτερο σημαντικό είναι οτι σε αντίθεση με τα παραπάνω θα μπούμε τουλάχιστον μια φορά στο loop αφού η συνθήκη είναι στο τέλος! Συντάσεται ως εξής:
Κώδικας: Επιλογή όλων
do {
/* εντολές επανάληψης όσο η συνθήκη ψευδή; */
}while ( <συνθήκη > );


για παράδειγμα...
Κώδικας: Επιλογή όλων
int sum =0;
int i=0;
do{
sum = sum + i;
i++;
}while (i >= 10);


Με όλα τα παραπάνω μπορούμε να επαναλαμβάνουμε κομμάτι απο τον κώδικά μας έχοντας μια βασική συνθήκη.Εγκυκλοπαιδικά, ένα κομμάτι κώδικα μπορεί να εκτελεστεί με άλλους δυο τρόπος(απο όσο γνωρίζω), ο πρώτος είναι με την χρήση συναρτήσεων καλώντας 2 η και 3 φορές τις ίδιες συναρτήσεις εκτελείται το ίδιο κομμάτι κώδικα. Δεύτερον είναι με χρήση συναρτήσεων συστήματος όπως η κλήση της fork(). δημιουργεί μια θυγατρική διεργασία και εκτελείται ψευδο-παράλληλα. ;)

Ελπίζω να βοηθήσουν τα παραπάνω! Καλή συνέχεια... ;)
Τελευταία επεξεργασία από linuxs και 16 Ιουν 2011, 22:22, έχει επεξεργασθεί 2 φορά/ες συνολικά
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό clepto » 10 Ιουν 2011, 15:32

λοιπόν έχω λίγο καιρό που έχω αρχίσει και διαβάζω C, έχω γράψει ένα script που σου ζητάει να μαντέψεις έναν αριθμό...δινεις τον αριθμο εσυ και μετα σου λεει αν τον πετυχες, αν ειναι μικροτερος απο αυτον που εδωσε ή μεγαλυτερος...αλλα παω να το κανω compile και μου λεει αυτο
Κώδικας: Επιλογή όλων

chris@chris-Aspire-5732Z:~/C$ cc test2.c -o test2
test2.c: In function ‘main’:
test2.c:9:14: error: ‘number’ undeclared (first use in this function)
test2.c:9:14: note: each undeclared identifier is reported only once for each function it appears in



το script:
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <math.h>

int main(void) {



printf(" Δώστε έναν αριθμό: ");
scanf("%s", number);

if (number < 50) {
printf(" Ο αριθμός είναι πιο μεγάλος");
}

else if (number = 50) {
printf("Τον βρήκατε");
}

else if (number > 50) {
printf(" Ο αριθμός είναι πιο μικρός");
}

return 0;

}
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό maenolis » 10 Ιουν 2011, 15:38

Πρέπει να δηλώσεις την μεταβλητή number
πχ:
Κώδικας: Επιλογή όλων
number int;
1 Γνώσεις → Linux: Αρχάριος ┃ Προγραμματισμός: c,c++,sql,html,css ┃ Αγγλικά: Μέτριος
2 Λειτουργικό →Dual boot Ubuntu 12.04 64-bit (en_US.UTF-8) & Windows 7 Professional 64-bit
3 Προδιαγραφές → Intel® Core™ i3-2330M CPU @ 2.20GHz × 4 ‖ RAM 7.7 Gb
4 Κάρτες γραφικών: Intel® HD3000
5 Σκληρός Δίσκος: → OCZ Vertex4 Sata III 128Gb
Άβαταρ μέλους
maenolis
punkTUX
punkTUX
 
Δημοσιεύσεις: 261
Εγγραφή: 12 Μάιος 2011, 09:56
Τοποθεσία: Ν.Κόσμος
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό clepto » 10 Ιουν 2011, 15:47

την δηλωσα με
Κώδικας: Επιλογή όλων
int number;

και τωρα μου βγαζει αυτο
Κώδικας: Επιλογή όλων
chris@chris-Aspire-5732Z:~/C$ cc test2.c -o test2
test2.c: In function ‘main’:
test2.c:8:2: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’


κατάλαβα που είναι το λάθος αλλά δεν ξέρω πως να το διορθώσω
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό Qdata » 10 Ιουν 2011, 15:48

clepto έγραψε:την δηλωσα με
Κώδικας: Επιλογή όλων
int number;

και τωρα μου βγαζει αυτο
Κώδικας: Επιλογή όλων
chris@chris-Aspire-5732Z:~/C$ cc test2.c -o test2
test2.c: In function ‘main’:
test2.c:8:2: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’


Αντί για
Κώδικας: Επιλογή όλων
%s


βάλε:
Κώδικας: Επιλογή όλων
%d


--------------------


και στο σημείο:
Κώδικας: Επιλογή όλων
else if (number = 50) {
printf("Τον βρήκατε");
}


άλλαξέ το με:
Κώδικας: Επιλογή όλων
else if (number == 50) {
printf("Τον βρήκατε");
}
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό clepto » 10 Ιουν 2011, 15:51

Κώδικας: Επιλογή όλων
chris@chris-Aspire-5732Z:~/C$ cc test2.c -o test2
test2.c: In function ‘main’:
test2.c:8:2: warning: format ‘%d’ expects type ‘int *’, but argument 2 has type ‘int’

:P
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό maenolis » 10 Ιουν 2011, 15:53

Qdata έγραψε:
Κώδικας: Επιλογή όλων
else if (number = 50) {
printf("Τον βρήκατε");
}


άλλαξέ το με:
Κώδικας: Επιλογή όλων
else if (number == 50) {
printf("Τον βρήκατε");
}

Κλασσικό λάθος!!Νομίζω έχει ταλάνησει κάθε άνθρωπο που έχει γράψει σε c!!
1 Γνώσεις → Linux: Αρχάριος ┃ Προγραμματισμός: c,c++,sql,html,css ┃ Αγγλικά: Μέτριος
2 Λειτουργικό →Dual boot Ubuntu 12.04 64-bit (en_US.UTF-8) & Windows 7 Professional 64-bit
3 Προδιαγραφές → Intel® Core™ i3-2330M CPU @ 2.20GHz × 4 ‖ RAM 7.7 Gb
4 Κάρτες γραφικών: Intel® HD3000
5 Σκληρός Δίσκος: → OCZ Vertex4 Sata III 128Gb
Άβαταρ μέλους
maenolis
punkTUX
punkTUX
 
Δημοσιεύσεις: 261
Εγγραφή: 12 Μάιος 2011, 09:56
Τοποθεσία: Ν.Κόσμος
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό clepto » 10 Ιουν 2011, 15:56

μπα πάλι το ίδιο μου λέει...πάντως παντού με ένα = το βλέπω όταν πρόκειται για C
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό Qdata » 10 Ιουν 2011, 15:59

Ο σωστός κώδικας είναι:

Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <math.h>

int main(void) {

int number;

printf(" Δώστε έναν αριθμό: ");
scanf("%d", &number);

if (number < 50) {
printf(" Ο αριθμός είναι πιο μεγάλος");
}

else if (number == 50) {
printf("Τον βρήκατε");
}

else if (number > 50) {
printf(" Ο αριθμός είναι πιο μικρός");
}

return 0;

}
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 4 - ΕΝΤΟΛΕΣ ΣΥΝΘΗΚΗΣ & ΕΠΑΝΑΛΗΨΗΣ

Δημοσίευσηαπό clepto » 10 Ιουν 2011, 16:00

&number μπορείς να μου εξηγήσεις κιόλας;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Επόμενο

Επιστροφή στο Μαθήματα C