Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 21:56

Κατα την δικη μου καθαρα προσωπικη αποψη παντως μιας και διαβαζα προ λιγου το παράδειγμα της σελιδας 57 με τους UPC. Δεν υπάρχει λογος στην τελευταια printf του κωδικα να δώσεις τον χαρακτήρα \n.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 09 Μαρ 2012, 22:19

Star_Light έγραψε:btw και στην C το ιδιο αποτέλεσμα δινει

Κώδικας: Επιλογή όλων

#include<stdio.h>
int main(void)
{
int x=-9 , y=7;

printf(" %d " , x % y);

return 0;
}

Στην C99 πάντα -2 θα δίνει. Στην C89 όμως εξαρτάται απ' τον compiler όπως λέει ο King. Μπορεί -2, μπορεί 5.

Star_Light έγραψε:Κατα την δικη μου καθαρα προσωπικη αποψη παντως μιας και διαβαζα προ λιγου το παράδειγμα της σελιδας 57 με τους UPC. Δεν υπάρχει λογος στην τελευταια printf του κωδικα να δώσεις τον χαρακτήρα \n.

Σε τι αναφέρεσε;
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 22:36

Ilias95 έγραψε:
Σε τι αναφέρεσε;


ΣΕλιδα 57 upc.c
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 09 Μαρ 2012, 22:40

Star_Light έγραψε:
Ilias95 έγραψε:
Σε τι αναφέρεσε;


ΣΕλιδα 57 upc.c

Εννοείς στην τελευταία printf() οποιουδήποτε κώδικα; Αν ναι, δεν βλέπω το λόγο.

Edit: Α εννοείς στο συγκεκριμένο πρόγραμμα;

Αν δεν δώσεις το '\n' δεν θα αλλάξει η γραμμή. Αν τρέξεις το πρόγραμμα από κονσόλα θα φανεί άσχημο:
Κώδικας: Επιλογή όλων
ilias@ilias-pc:~$ cat ./script
δεν άλλαξε γραμμήilias@ilias-pc:~$
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 22:47

Ilias95 έγραψε:
Εννοείς στην τελευταία printf() οποιουδήποτε κώδικα; Αν ναι, δεν βλέπω το λόγο.


Nαι λεω και εγω σε τι χρειαζεται το \n στο τελος πχ? :p
ή μαλλον χρειάζεται αν παίζουμε σε καθαρη γραμμη εντολών να μην εμφανιζεται η έξοδος
κολλητα με την προοτροπη του φλοιου πχ...

Μορφοποιημένος Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~/PROGRAMS$ ./tests
Hellokostas@kostas-SSL:~/PROGRAMS$ ./tests
Hello
kostas@kostas-SSL:~/PROGRAMS$


edit: lol ok :p
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 23:27

Να ρωτησω και κατι αλλο στην σελιδα 56 πανω πανω... μεχρι την επικεφαλιδα που ξεκιναει για το UPC... ρε σεις... λεει κατι καινουργιο απο την προτεραιοτητα των πραξεων και τις παρενθεσεις (που εκτελουνται παντα πρωτες) αλλα και οταν έχεις το ιδιο level προτεραιοτητας που πας απο τα αριστερα προς τα δεξια? Ο λογος που ρωταω ειναι επειδη δεν βρισκω και στο λεξικο αυτο το associativity που λεει....
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ntelispak » 09 Μαρ 2012, 23:30

Ilias95 έγραψε: Star_Light έγραψε:btw και στην C το ιδιο αποτέλεσμα δινει

Κώδικας: Επιλογή όλων
#include<stdio.h>
int main(void)
{
int x=-9 , y=7;

printf(" %d " , x % y);

return 0;
}


Στην C99 πάντα -2 θα δίνει. Στην C89 όμως εξαρτάται απ' τον compiler όπως λέει ο King. Μπορεί -2, μπορεί 5.


Off topic:
Πολύ περίεργο. Δεν το είχα συναντήσει έως σήμερα ποτέ και δεν γνώριζα ότι στη C -9%7=-2. Από μαθηματικής σκοπιάς η επιλογή θα έπρεπε να ήταν αντίστροφη, δηλαδή -9%7=5 ως ο μικρότερος μη αρνητικός ακέραιος για τον οποίο ικανοποιείται ο αλγόριθμος της Ευκλείδειας διαίρεσης.
Οδηγείες ΧρήσηςΤutorialsΑναζήτηση
⇛ Linux: noob ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Πολύ Καλά
⇛ Xubuntu 9.04 (Jaunty Jackalope) 64bit
⇛ Intel Core2Duo E6600 (2.4GHZ 4MB) ┃ Asus P5B 965 ┃ 2x1GB DDR2 667MHZ ┃ Radeon X1600P 256MB ┃ MAudio Audiophile 192
Άβαταρ μέλους
Ntelispak
babeTUX
babeTUX
 
Δημοσιεύσεις: 36
Εγγραφή: 19 Ιουν 2009, 20:15
Τοποθεσία: Μεταμόρφωση Αττικής
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 23:35

Ntelispak έγραψε:

Off topic:
Πολύ περίεργο. Δεν το είχα συναντήσει έως σήμερα ποτέ και δεν γνώριζα ότι στη C -9%7=-2. Από μαθηματικής σκοπιάς η επιλογή θα έπρεπε να ήταν αντίστροφη, δηλαδή -9%7=5 ως ο μικρότερος μη αρνητικός ακέραιος για τον οποίο ικανοποιείται ο αλγόριθμος της Ευκλείδειας διαίρεσης.


Θυμησε μας τον αλγοριθμο αν μπορεις. Γιατι βαριέμαι να ψάχνω στα μαθηματικα τωρα. :/
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 09 Μαρ 2012, 23:35

Ntelispak έγραψε:Off topic:
Από μαθηματικής σκοπιάς η επιλογή θα έπρεπε να ήταν αντίστροφη, δηλαδή -9%7=5 ως ο μικρότερος μη αρνητικός ακέραιος για τον οποίο ικανοποιείται ο αλγόριθμος της Ευκλείδειας διαίρεσης.

Off topic:
Μπορείς να το εξηγήσεις λίγο καλύτερα αυτό;
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 09 Μαρ 2012, 23:44

Ilias95 μολις με το καλο ευκαιρήσεις εξηγησε μου τι σημαινει το left & right associative γιατι δεν καταλαβα... στην σελιδα 56 . Επισης δεν καταλαβαινω αυτος ο πινακας που έχει πως διαβαζεται...

Κώδικας: Επιλογή όλων


Highest: + - (unary)
* / %
Lowest: + - (binary)


Οκ τα * / % εχουν μεγαλυτερη προτεραιοτητα απο τα + και - γιατι τα έχει στην 1η σειρα.... ενω τα αλλα δευτερα ... για τα unary λεω
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron