ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΓΛΩΣΣΑΣ C

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

ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΓΛΩΣΣΑΣ C

Δημοσίευσηαπό linuxs » 14 Σεπ 2011, 12:50

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

Η ιστορία της C

Η γλώσσα C δημιουργήθηκε απο τον Dennis Ritche το 1972 για την σχεδίαση του λειτουργικού συστήματος Unix. Η C είναι μια ισχυρή & ευέλικτη γλώσσα γι' αυτό και εξαπλώθηκε γρήγορα και αρκετά ώστε, να έχουν δημιουργθεί διάφορες εκδόσεις με μικροδιαφορές. Κάτι που δεν άρεσε στους προγραμματιστές! αυτός είναι και ο λόγος που το ANSI δημιούργησε ένα πρότυπο λεγόμενο ANSI Stardard C. Κάθε σύγχρονος μεταγγλωτιστής εμμένει σε αυτό το πρότυπο. Γιατί άρεγε η γλώσσα ονομάζεται 'C'? Γιατί η προκαοχή της στα ίδια εργαστήρια ονομάζονταν Β! :P

Τι προσφέρει η C και γιατί να την διαλέξει κάποιος

  • Είναι ισχυρή και ευέλικτη και μπορείται να κάνετε απίστευτα πράγματα. χρησιμοποιείται σε OS, γραφικά μεταγλωτιστές κτλ.
  • Υπάρχει πολύ υλικό και βοηθήματα για να σας βοηθήσουν γραμμένα απο πολλούς προγραμματιστές.
  • Είναι μια γλώσσα με δυνατότητα μεταφοράς απο κάποιο OS σε άλλο με λίγες η και καθόλου αλλαγές!
Off topic:
Φυσικά υπάρχουν και άλλοι λόγοι απλά αυτοί είναι οι πιο σημαντικοί για μένα! ;)

Η πρωτη σκέψη οταν έρθετε αντιμέτωποι με κάποιο πρόβλημα

Για να λύσετε ενα πρόβλημα θα πρέπει να υπάρχει πρόβλημα! :lol: :lol: Αυτό που εννοώ είναι οτι πρώτα θα πρέπει ανα καταλάβετε πιο ακριβώς είναι το πρόβλημα και μετά να αρχίσετε να δίνεται πιθανές λύσεις. Μόλις το λυσετε θα πρέπει να τεστάρετε αν δουλεύει σωστά με πολλές εισόδους! συνήθως τα περισσότερα λάθη είναι όταν δίνουμε 2-3 εισόδους και νομίζουμε οτι έχουμε λύσει το προβλημα! Θα πρέπει αν πάρουμε όλες τις δυνατές περιπτώσεις...

Τι γίνεται όταν τελειώσουμε το γράψιμο του προγράμματος

Μόλις γράψετε το πρόγραμμα θα πρέπει να το τρέξετε! Στην πραγματικότητα δημιουργείται ένα αντικείμενο πρόγραμμα με κατάληξη .o και αφού συνδεθεί με τις βιβλιοθήκες δημιουργείται εκτελέσιμο! Με το flag -c μπορούμε να κρατήσουμε μόνο το .o αρχείο και μετά να κάνουμε gcc! ;) Δοκιμάστε το :)

Παράξενα σφάλματα...

Σίγουρα άν έχετε τρέξει κάποια προγράμματα σε C θα πρέπει να έχετε έρθει αντιμέτωποι με κάποιο σφάλμα! Ένα πιθανό σφάλμα είναι να έχετε ξεχάσει κάπου ένα ;. Για παράδειγμα ας υποθέσουμε οτι το έχετε ξεχάσει στην 5η γραμμή. Το σφάλμα θα λέει κάτι σαν: "Λείπει ένα ; στην 6η γραμμή!". Όπως και εγώ ίσως και κάποιοι απο εσάς θα αναρρωτιέσται γιατί 6η και όχι 5η? Η απάντηση είναι γιατί, στην 5η γραμμή το ; θα μπορούσε να γραφτεί στην 6η και να ήταν οκ! Βέβαια και τέτοιο θα είναι λάθος στο μάτι μας. Ο compiler όμως δεν ενδιαφέρεται και δεν τα βλέπει όπως το ανθρώπινο μάτι! Καθώς τελειώνει την 5η γραμμή δεν βρήκε κάποιο λάθος γιατί θεωρεί οτι μπορεί να υπάρχει απο κάτω. μόλις δεν το βρίσκει χτυπά error στην 6η γραμμή!!!! Κουφο? :mrgreen: :lol: :lol:

...αυτά είχα να πώ για ότι νεότερο θα ξανα-συντονιστώ! :lol: ...
Τελευταία επεξεργασία από linuxs και 15 Σεπ 2011, 01:03, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ 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: Περιγραφή της γλώσσας C

Δημοσίευσηαπό Star_Light » 14 Σεπ 2011, 22:23

Ωραιος ;) βεβαια θα μπερδευτηκες λιγο στην διατυπωση αλλα το τελικο αρχειο δεν ειναι .c στο UNIX δεν εχουμε καν καποια καταληξη για ενα εκτελεσιμο αρχειο

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~/PROGRAMS$ file swap_with_pointers
swap_with_pointers: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
kostas@kostas-SSL:~/PROGRAMS$


not stripped ειναι επειδη δεν εχουν αφαιρεθει οι οδηγιες αποσφαλμάτωσης. ΜΠορεις να τις βγαλεις και αυτες με πλεονεκτημα κερδιζοντας λιγο περισσοτερο χωρο στον δισκο.
Γνώσεις ⇛ 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

Δημοσίευσηαπό linuxs » 15 Σεπ 2011, 00:50

Off topic:
από linuxs » Χθες, 12:50 το μεσημέρι(κλασικά αυπνίες το βράδυ)! Θα το διορθώσω thx...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ 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
Εκτύπωση


  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

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

cron