Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Απλά δουλεύεις με την C , εμείς δεν σου λέμε κάτι κακό , μπράβο που είσαι σε καλό επίπεδο αλλά δεν ξέρεις C ακόμα , ένας που την δουλεύει 2 χρόνια ξέρει πολύ περισσότερα ή ένας που δουλεύει 5 χρόνια μπορεί να πει ΄είμαι σε καλό επίπεδο ΄, σκέψου το θετικά , για καλό σου τα λέμε B)

Δεν έιπα οτι έιμαι σε καλο επίπεδο, επίσης έδειξα ενα απλό code. Το γεγονός οτι δεν γνωρίζω την C ακόμα, συμφωνώ λίγο διοτι δεν την έχω ολοκληρώσει πλήρης (δλδ με την κάθε λεπτομέρια) αλλα θα μου πάρει πολύ λίγο χρόνο επειδή ασχολούμαι αρκετά.

 

 

Μια φιλική συμβουλή: όσο πιο γρήγορα δεχτείς ότι δε γνωρίζεις C τόσο πιο γρήγορα θα μπορέσεις να μάθεις. Ναι οκ, "ξέρεις" περισσότερη C από το μέσο 17άρη, αλλά αυτό με το να λες "ξέρω C" έχει τεράστια διαφορά.

1

  • Απαντ. 30
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Η c είναι μία γλώσσα που η αξία του προγραμματιστή φαίνεται βάση της γνώσης του στον τομέα εφαρμογής. Επειδή είναι γλώσσα που χρησιμοποιείται σε niche για τα ελληνικά δεδομένα τομείς,αν και υπάρχουν δουλειες όμως, την διαφορά θα την κάνεις με το να αποκτήσεις τις αντίστοιχες γνώσεις( embedded systems , system programming , netcode) .

  • Like 2
Δημοσ.

Η c είναι μία γλώσσα που η αξία του προγραμματιστή φαίνεται βάση της γνώσης του στον τομέα εφαρμογής. Επειδή είναι γλώσσα που χρησιμοποιείται σε niche για τα ελληνικά δεδομένα τομείς,αν και υπάρχουν δουλειες όμως, την διαφορά θα την κάνεις με το να αποκτήσεις τις αντίστοιχες γνώσεις( embedded systems , system programming , netcode) .

Εδωσες ωραια πασα για να κανω copy paste ενα κομματι απο ενα αρθρο που ειχα διαβασει οταν εψαχνα για κατι βιβλια για embedded.

After I read C as a programming language and practiced by writing programs, implementing complex logic, etc., slowly i started to feel very confident about C and started bragging that i could do anything in C. Once when i was bragging about my C, one of my mentors challenged me with this problem.

 

Write a program that collects the data from a serial port and displays it on screen, writes to a file, pushes out on to a network server, print on a paper - All or any of this combination as per user selection.

 

I was stumped !! I was used to writing Fibonacci series, binary search, tax calculators, reversing linked lists, etc... but serial port, printing, network with C .. Oops !! That's when i started seeing programming from the perspective of the system. I realized that if I needed to become an embedded engineer, my programs had to utilize, interact and work with the system to gets its job done and that involves understanding what the system offers for programmers to develop on top of it.

  • Like 6
Δημοσ.

Δεν έιπα οτι έιμαι σε καλο επίπεδο, επίσης έδειξα ενα απλό code. Το γεγονός οτι δεν γνωρίζω την C ακόμα, συμφωνώ λίγο διοτι δεν την έχω ολοκληρώσει πλήρης (δλδ με την κάθε λεπτομέρια) αλλα θα μου πάρει πολύ λίγο χρόνο επειδή ασχολούμαι αρκετά.

 

Παλλικάρι μου, δεν θα σου πάρει πολύ λίγο χρόνο, στο ξαναείπα, το ότι έμαθες printf και scanf δεν λέει κάτι.

 

Πχ, στη  

scanf("%d",&x);

που έγραψες, γνωρίζεις για ποιόν λόγο έβαλες το & μπροστά απο το x; Ή τι κάνει το %d; Δείκτες έχεις μάθει;

 

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

 

Γι' αυτό, σου ξαναλέω μάθε πρώτα κάποια πιο εύκολη γλώσσα (προανέφερα την python & Lua) για να εξασκήσεις την τεχνική σου, και έπειτα ασχολείσαι σε βάθος με τη C.

Δημοσ.

Παλλικάρι μου, δεν θα σου πάρει πολύ λίγο χρόνο, στο ξαναείπα, το ότι έμαθες printf και scanf δεν λέει κάτι.

 

Πχ, στη  

scanf("%d",&x);

που έγραψες, γνωρίζεις για ποιόν λόγο έβαλες το & μπροστά απο το x; Ή τι κάνει το %d; Δείκτες έχεις μάθει;

 

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

 

Γι' αυτό, σου ξαναλέω μάθε πρώτα κάποια πιο εύκολη γλώσσα (προανέφερα την python & Lua) για να εξασκήσεις την τεχνική σου, και έπειτα ασχολείσαι σε βάθος με τη C.

 

'Οσο με υποτιμάς δεν πρόκειται να με ακούσεις, τόσο χαμηλά με έχεις; %d έιναι τύπος δεδομένων (με πιο απλά λόγια, στην περίπτωση της scanf, τί ακριβώς θα διαβάσει) και το & (μπροστά στο x) έιναι διέυθυνση που χρησημοποιήται για να βρεθεί η τιμή της x στην μνήμη. Όταν λες δείκτες, λογίκα θα εννοείς την ανάλυση τους την οποία δεν έχω φτάσει εκεί ακόμα. Ξαναλέω αυτό το code ήταν για πλάκα, αν είχα σκοπό να φτιάξω κατι πιο σοβαρό σίγουρα θα το σκευτόμουν καλύτερα στην δημειουργία του. Η τεχνική έρχεται με την εξάσκηση, όντως δεν έχω εξασκηθεί αρκετά λόγο μαθημάτων.

  • Moderators
Δημοσ.

'Οσο με υποτιμάς δεν πρόκειται να με ακούσεις, τόσο χαμηλά με έχεις; %d έιναι τύπος δεδομένων (με πιο απλά λόγια, στην περίπτωση της scanf, τί ακριβώς θα διαβάσει) και το & (μπροστά στο x) έιναι διέυθυνση που χρησημοποιήται για να βρεθεί η τιμή της x στην μνήμη. Όταν λες δείκτες, λογίκα θα εννοείς την ανάλυση τους την οποία δεν έχω φτάσει εκεί ακόμα. Ξαναλέω αυτό το code ήταν για πλάκα, αν είχα σκοπό να φτιάξω κατι πιο σοβαρό σίγουρα θα το σκευτόμουν καλύτερα στην δημειουργία του. Η τεχνική έρχεται με την εξάσκηση, όντως δεν έχω εξασκηθεί αρκετά λόγο μαθημάτων.

 

Κανείς δεν προσπαθεί να σε μειώσει ούτε να στην πει. Αυτό που προσπαθούμε να σου πούμε είναι να γίνεις λίγο πιο ρεαλιστής. Γράφεις ότι είσαι 17 και γνωρίζεις C, λες ότι δεν έχεις κάνει pointers αλλά ε δε θα σου πάρει και πολύ να τους μάθεις κι αυτούς και προσπαθείς να αποδείξεις (σε ποιον, αλήθεια) ότι γνωρίζεις C βάζοντας κώδικα τον οποίο κάθε πρωτοετής θα πρέπει να είναι σε θέση να γράψει μετά από το πολύ ένα μήνα μαθημάτων. Και όταν σου επισημαίνουν ότι δεν ξέρεις λες όχι ξέρω.

Επαναλαμβάνω, αυτά δε στα λέω για να σε αποθαρρύνω ούτε για να σε μειώσω. Μπράβο σου που ασχολείσαι και θες να μάθεις και είσαι ενθουσιώδης, αλλά στην πληροφορική γενικά καλό είναι να κρατάς μικρό καλάθι όσον αφορά το τι (νομίζεις ότι) ξέρεις. Η C είναι μια εξαιρετικά απλή γλώσσα της οποίας τις εντολές και βασικές λειτουργίες μπορείς να μάθεις σχετικά γρήγορα, κι αυτό ίσως δίνει την εντύπωση ότι ντάξει πάει έμαθα τη γλώσσα. Η C είναι επίσης μια απ' τις πιο δύσκολες γλώσσες για να γράψεις κάτι που δεν είναι τελείως τετριμμένο (όπως το πρόγραμμα που παρέθεσες) και μια γεύση αυτού θα πάρεις όταν αρχίσεις ν' ασχολείσαι λίγο με pointers, δυναμική δέσμευση κλπ.

 

Ρίξε και μια ματιά εδώ κι εδώ για τη scanf.

  • Like 1
Δημοσ.

Δεν ξέρεις C. C Δεν ξέρει ο μέσος επαγγελματίας προγραμματιστής, που έχει και κάμποσες χιλιάδες ώρες δουλειάς. Αυτό προκύπτει από το γεγονός ότι αν δεν σε ενδιαφέρει το system programming, προχωράς σε κάτι άλλο και νομίζεις ότι ξέρεις C αλλά δεν σου χρησιμεύει, άρα δεν την χρησιμοποιείς. Όταν σε ρωτήσουν αν ξέρεις C, λες "αααα εγώ είμαι expert, απλά μωρέ η python κάνει καλύτερα το x πράγμα", αν δεις όμως κανονικό κώδικα C in the wild, θα σου πέσουν τα αυτιά.

 

Για τους pointers που τους βλέπεις σαν "ένα κεφάλαιο ακόμα", θα ιδρώσεις πολύ, και δεν θα καταλαβαίνεις, και μετά θα νομίζεις ότι το έπιασες αλλά πάλι όχι, και μετά πάλι από την αρχή. Εγώ θα σου πω μία άλλη λύση. Δεδομένου ότι ήμουν εκεί που είσαι πριν 3 χρόνια, κάτσε και λιώσε τα μαθηματικά. Και όχι μαθηματικά τύπου διακρίνουσες και ταυτότητες, αλλά μαθηματικά πληροφορικής. Μάθε τι είναι τα P, NP, NP-Hard και NP-Complete, προβλήματα γύρω από αυτά, μηχανές Turing, βασικούς αλγορίθμους συμπίεσης, δέντρα, just to name a few, τα οποία θα τα βρεις μπροστά σου, και άσε για τώρα τη C. Προγραμματισμό θα έχεις χρόνο να μάθεις, άφθονο μάλιστα, καλύτερα να τον μάθεις όταν είναι σωστή η ώρα, παρά να μάθεις κάτι στραβά τώρα και να μην μπορείς να καταλάβεις το σωστό μετά.

 

Αν ακόμα νομίζεις ότι ξέρεις C πές μου γιατί αν

#include <stdio.h>

int main(){
 int a[2];
 a[1] = 2;
 printf("%d\n", a[1]);
 printf("%d\n", 1[a]);
 return 0;
}

α)Δεν υπάρχει συντακτικό λάθος

β)Η δήλωση a[1] είναι ακριβώς το ίδιο με το 1[a];

 

Ούτε εγώ ξέρω C για κάτι πέρα από προβλήματα μαθηματικών και διαχειρισμό δεδομένων... 

  • Like 1
Δημοσ.

java ξεκαθαρα, ολα ειναι ετοιμα, πολυ ευκολη γλωσσα και μετα μπορεις σαφως να πας c++ που ειναι πιο χαωδης οσον αναφορα δεικτες κτλπ

 

γενικα αν σου αρεσει ο προγραμματισμος, μαθε διακριτα μαθηματικα και γραμμικη αλγεβρα, μαθε αλγοριθμους και data structures, μαθε τη λογικη να λυνεις αλγοριθμους, η γλωσσα ειναι το ευκολοτερο imo

  • Like 2
Δημοσ.

Δεν ξέρεις C. C Δεν ξέρει ο μέσος επαγγελματίας προγραμματιστής, που έχει και κάμποσες χιλιάδες ώρες δουλειάς. Αυτό προκύπτει από το γεγονός ότι αν δεν σε ενδιαφέρει το system programming, προχωράς σε κάτι άλλο και νομίζεις ότι ξέρεις C αλλά δεν σου χρησιμεύει, άρα δεν την χρησιμοποιείς. Όταν σε ρωτήσουν αν ξέρεις C, λες "αααα εγώ είμαι expert, απλά μωρέ η python κάνει καλύτερα το x πράγμα", αν δεις όμως κανονικό κώδικα C in the wild, θα σου πέσουν τα αυτιά.

 

Για τους pointers που τους βλέπεις σαν "ένα κεφάλαιο ακόμα", θα ιδρώσεις πολύ, και δεν θα καταλαβαίνεις, και μετά θα νομίζεις ότι το έπιασες αλλά πάλι όχι, και μετά πάλι από την αρχή. Εγώ θα σου πω μία άλλη λύση. Δεδομένου ότι ήμουν εκεί που είσαι πριν 3 χρόνια, κάτσε και λιώσε τα μαθηματικά. Και όχι μαθηματικά τύπου διακρίνουσες και ταυτότητες, αλλά μαθηματικά πληροφορικής. Μάθε τι είναι τα P, NP, NP-Hard και NP-Complete, προβλήματα γύρω από αυτά, μηχανές Turing, βασικούς αλγορίθμους συμπίεσης, δέντρα, just to name a few, τα οποία θα τα βρεις μπροστά σου, και άσε για τώρα τη C. Προγραμματισμό θα έχεις χρόνο να μάθεις, άφθονο μάλιστα, καλύτερα να τον μάθεις όταν είναι σωστή η ώρα, παρά να μάθεις κάτι στραβά τώρα και να μην μπορείς να καταλάβεις το σωστό μετά.

 

Αν ακόμα νομίζεις ότι ξέρεις C πές μου γιατί αν

#include <stdio.h>

int main(){
 int a[2];
 a[1] = 2;
 printf("%d\n", a[1]);
 printf("%d\n", 1[a]);
 return 0;
}

α)Δεν υπάρχει συντακτικό λάθος

β)Η δήλωση a[1] είναι ακριβώς το ίδιο με το 1[a];

 

Ούτε εγώ ξέρω C για κάτι πέρα από προβλήματα μαθηματικών και διαχειρισμό δεδομένων... 

Θα τσεκάρω τα μαθηματικά που είπες.

 

Σχετικά με το πρόγραμμα:

 

α)Πώς ακριβώς να το εξηγίσω αυτό; αν με ρωτάς αν υπάρχει τότε η απαντησή μου έιναι όχι

β)Δεν το ήξερα αυτο... ήξερα κάτι παρόμοιο 

#include <stdio.h>

int main(){
 int a[2];
 a[1] = 2;
 printf(a[1],"%d\n");
 printf(1[a],"%d\n");
 return 0;
}

δλδ να το γράφω ανάποδα (Wow)

Δημοσ.

Θα τσεκάρω τα μαθηματικά που είπες.

 

Σχετικά με το πρόγραμμα:

 

α)Πώς ακριβώς να το εξηγίσω αυτό; αν με ρωτάς αν υπάρχει τότε η απαντησή μου έιναι όχι

β)Δεν το ήξερα αυτο... ήξερα κάτι παρόμοιο 

#include <stdio.h>

int main(){
 int a[2];
 a[1] = 2;
 printf(a[1],"%d\n");
 printf(1[a],"%d\n");
 return 0;
}

δλδ να το γράφω ανάποδα (Wow)

 

 

Θα πρέπει να καταλάβεις πως δουλεύει το pointer arithmetic και πως μεταφράζει ο compiler το παρακάτω:

1[a];

Ψάχτο μέχρι να το καταλάβεις.  (στην ανάγκη χρησιμοποίησε dissembler και δες τον παραγώμενο code και συνέκρινε τον με το a[1]).

Δημοσ.

Λυπάμαι πολυ που στο λεω αυτό αλλα παράτα τον (σοβαρο) προγραμματισμό για φέτος, εχεις ΠΑΝΕΛΛΑΔΙΚΕΣ, δεν πρεπει να ασχολείσαι (στα σοβαρά) με τίποτα άλλο, πρέπει να αφιερώνεις ολη σου την ενέργεια σε αυτο για να καταφέρεις να γράψεις καλά.

Ξαναλέω οτι λυπάμαι πολυ που το προτείνω αυτο αλλα το σύστημα εισαγωγής στην τριτοβάθμια εκπαίδευση στην Ελλάδα ειναι (δυστυχώς) πολυ άσχημο (και περίπλοκο και συνδέεται με πολλα αλλα προβλήματα και οποια επιφανειακή προσπάθεια βελτίωσης του οδηγεί σε κοινωνικά προβλήματα) αλλα αυτο είναι και πρεπει να τα καταφέρεις.

Δημοσ.

Nα μάθεις Ada και JOVIAL και να εστιάσεις σε defence engineering.. Έτσι μόνο θα ξεχωρίσεις απο το πλήθος και θα έχεις σοβαρές προοπτικές καριέρας

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...