Η γλώσσα C, το πρώτο πρόγραμμα
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Ιστορία της C
Χρονολογίες
Δημιουργήθηκε από το 1969-1973 μαζί με το λειτουργικό σύστημα Unix
Αλλαγές έγιναν το 1977-1979 όταν το Unix μεταφερόταν σε διαφορετικές υπολογιστικές πλατφόρμες
Στα μέσα του 1980 έγινε αμερικανικό και διεθνές πρότυπο
Γενεαλογία
Αλγοριθμικές γλώσσες όπως FORTRAN και Algol
BCPL (Martin Richards, μέσα 1960)
B (Ken Thompson, 1969)
Απόγονοι
Objective C
C++
Perl, Java
Το πρώτο μου πρόγραμμα
Το παρακάτω πρόγραμμα τυπώνει "hello, world" στην οθόνη.
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Μπορούμε να το αλλάξουμε για να τυπώσει:
Στοιχεία του προγράμματος
Τα προγράμματα της C αποτελούνται από ορισμένες βασικές τάξεις στοιχείων:
Ορισμός απλών συναρτήσεων
Ασκήσεις
Εξοικείωση με το μεταγλωττιστή και τη διαδικασία προγραμματισμού
- Να πληκτρολογήσετε, μεταγλωττίσετε και να εκτελέσετε ένα πρόγραμμα
σε C που να τυπώνει "I am learning C"
- Πειραματιστείτε αλλάζοντας διάφορα στοιχεία του προγράμματος.
(Το πιθανότερο είναι οι περισσότερες αλλαγές σας να καταλήγουν σε λάθη.)
- Φτιάξτε ένα πρόγραμμα το οποίο να τυπώνει με * ένα τετράγωνο
στην οθόνη σαν το παρακάτω:
***************
* *
* *
* *
* *
* *
* *
***************
Για να επαναλαμβανόμενα στοιχεία του τετραγώνου να ορίσετε δύο συναρτήσεις
οι οποίες να τα τυπώνουν και να τις καλέσετε όσες φορές και με τη σειρά
που χρειάζεται.
Βιβλιογραφία
- Brian W. Kernighan, Dennis M. Ritchie
Η γλώσσα προγραμματισμού C. σ. 19-23
Δεύτερη έκδοση.
Κλειδάριθμος, 1988.
- Brian W. Kernighan and Dennis M. Ritchie.
The C Programming Language, pages 5-7.
Prentice-Hall, second edition, 1988.
Γενική βιβλιογραφία
- Brian W. Kernighan, Dennis M. Ritchie
Η γλώσσα προγραμματισμού C. σ. 19-23
Δεύτερη έκδοση.
Κλειδάριθμος, 1988.
- American National
Standard for Information Systems --- programming language --- C:
ANSI X3.159-1989.
Published by the American National Standards Institute, 1430 Broadway, New
York, New York 10018, December 1989.
(Also ISO/IEC 9899:1990).
- Samuel P. Harbison
and Guy L. Steele Jr.
C: A
Reference Manual.
Prentice-Hall, third edition, 1991.
- Mark R. Horton.
Portable C Software.
Prentice Hall, 1990.
- Stephen C. Johnson and
Brian W. Kernighan.
The programming language b.
Computer Science Technical Report 8, Bell Laboratories, Murray Hill, NJ, USA,
January 1977.
- Brian W. Kernighan and
P. J. Plauger.
The Elements
of Programming Style.
McGraw-Hill, second edition, 1978.
- Brian W. Kernighan and
Dennis M. Ritchie.
The C Programming Language.
Prentice-Hall, first edition, 1978.
- Brian W. Kernighan.
Why Pascal is not my favorite programming language.
Technical Report 100, Bell Laboratories, Murray Hill, New Jersey 07974, July
1981.
- Andrew Koenig.
C Traps and
Pitfalls.
Addison-Wesley, 1988.
- Don Libes.
Obfuscated
C and Other Mysteries.
John Wiley and Sons, 1993.
- P. J. Plauger.
The Standard C Library.
Prentice Hall, 1992.
- Henry Rabinowitz and
Chaim Schaap.
Portable C.
Prentice Hall, 1990.
- D. M. Ritchie, S. C. Johnson,
M. E. Lesk, and B. W. Kernighan.
The C programming language.
Bell System Technical Journal, 57(6), July-August, Year=.
- Dennis M. Ritchie.
The development of the C language.
ACM SIGPLAN Notices, 28(3):201-208, March 1993.
Preprints of the History of Programming Languages Conference (HOPL-II).
- L. Rosler.
The evolution of c --- past and future.
Bell System Technical Journal, 63(8), October 1984.
- Robert Sedgewick.
Algorithms in
C.
Addison-Wesley, 1990.
- The Accredited
Standard Committee X3, Information Processing Systems, Technical Committee
for Programming Language C (X3J11).
Rationale for
the ANSI C Programming Language.
Silicon Press, 25 Beverly Road, Summit, NJ 07901, USA, 1990.