Praktikum: Programmiersprache C
 (Practical Training on Programming Language C)


Semester:  SS 2003
LVA-Name:   Praktikum: Programmiersprache C
(Practical Training on Programming Language C)

Die Lehrveranstaltung wird in englischer Sprache abgehalten.
(The lecture will be held in English)

LVA-Nummer:   353.027
LVA-Typ:   KV
Wochenstd. pro Sem.:   2
Vortragende(r):   Alexandros Paramythis
Max. Teilnehmerzahl:   30
Anmeldemodus:   Online
Voraussetzung für die Zulassung zur Lehrveranstaltung ist der erfolgreiche Abschluß von
 - Softwareentwicklung 1
 - Algorithmen und Datenstrukturen 1

Prerequisites for the admission to this lecture:
 -
Software Development 1
 - Algorithms and Data Structures 1


Termine:  Achtung!! Terminänderung!!!
Nachklausur (2nd exam): Di, 14.10.2003,    10:15 - 11:45 Uhr,    UC 5

(nicht am 7.10. um 9:15!!)

This is the final schedule for the course. Please note the following:

  • There will be 5 blocks in total.
  • Each block will comprise 6 academic hours (i.e., six 45-minute sessions).
  • Lectures will be structured in three 90-minute sessions, with two 20-minute breaks between them.
  • For the lecture on Friday, May 9th, we will need to transfer to a different room at 16:00 (so the entry below is correct as it appears).
 Day  Date  From - To  Room 
Fr 25.4.2003 12:45 -18:00 T857
Fr 9.5.2003 12:45 -16:00
16:00 -18:00
T811
T212
Fr 23.5.2003 12:45 -18:00 T212
Fr 6.6.2003 12:45 -18:00 T212
Fr 13.6.2003 12:45 -18:00 T857

 

Ort:   
Inhalt der LVA: 

Contents:

Introduction to C

  • What is C?
  • Features of C
  • Why Program in C?
  • An Overview of C

  • The First Program
  • How to Compile and Run a C Program
  • An Arithmetic Program
  • Execution Flow Control
  • The for Loop
  • Character I/O
  • A File Copier Program
  • A Character Counter
  • The char Data Type
  • Strings (Character Arrays)
  • A Look at Functions
  • A Functional Program
  • Review of printf
  • Data Types and Variables

  • Fundamental Data Types
  • Data Type Values and Sizes
  • Variables, Constants
  • Character and String Constants
  • Operators and Expressions

  • What are Expressions?
  • Arithmetic, Relational, and Assignment Operator
  • Expressions Resulting Value
  • True and False
  • Logical Operators
  • Increment and Decrement Operators (++, --)
  • 'Operate-Assign' Operators (+=, *=, ...)
  • Conditional Expression
  • Operator Precedence
  • Precedence and Order of Evaluation
  • Evaluation of Logical Operators
  • Type Conversions
  • The cast Operator
  • Bitwise Logical Operators
  • Control Flow

  • Statements
  • if - else
  • else - if
  • switch
  • while
  • do - while
  • The for Loop
  • The break and continue Statement
  • Functions

  • What is a Function?
  • Why use Functions?
  • Anatomy of a Function
  • Arguments are Passed by Value
  • Passing an Argument Address
  • When to use the Return Statement
  • Returning Non-Integer Values
  • Functions in Multiple Source Files
  • A Simple make File
  • The Concept of Variable Scope
  • Automatic Variables
  • Global (external) Variables
  • Static Variables
  • External Static Variables
  • The C Preprocessor

  • Symbolic Constants
  • Macro Substitution
  • File Inclusion
  • Pointers and arrays

  • What is a Pointer?
  • Pointer Operators
  • Why use Pointers?
  • Arrays
  • The & Operator
  • Pointers and Arrays
  • Pointer Arithmetic
  • Arrays and Pointers
  • Array Names are Constant Pointers
  • Passing Arrays to Functions
  • Initializing Arrays
  • Advanced Pointers

  • Pointer Initialization
  • Command-Line Arguments
  • Strings and Character Pointers
  • Arrays of Pointers
  • Command-Line Arguments
  • Access Through Pointers
  • Functions and Pointers
  • Structures

  • Structures
  • Structures vs. Arrays
  • Structure Definitions
  • Structure Declaration
  • Structure Parameter Passing by Reference
  • Pointers to Structures
  • Arrays of Structures
  • The Malloc Routine
  • File I/O in C

  • File Streams
  • Predefined Streams
  • The fprintf Function
  • The fscanf Function
  • fscanf() Examples
  • The fputs and fgets Functions
  • The fwrite and fread Functions
  • System I/O
  •  
    LVA-Modus:  Die Lehrveranstaltung wird geblockt und in englischer Sprache abgehalten.
    Prüfung:  schriftliche Prüfung
    (written exam)

     

    Literatur:  Recommended readings (Note! these are not required readings for the class; they are only intended as optional additional readings in German, for anyone who is not sufficiently comfortable with the English materials that make up the course's core):
    1. Programmieren lernen mit C (Karlheinz Zeiner)
      Broschiert - Hanser Fachbuch
      Erscheinungsdatum: Oktober 2000
      ISBN: 3446215964

    2. Programmieren in C. ANSI C (2. A.). Mit dem C- Reference Manual. (Brian W. Kernighan, Dennis M. Ritchie)
      Broschiert - Hanser Fachbuch
      Erscheinungsdatum: 1990
      ISBN: 3446154973

    3. Das C - Lösungsbuch zu ' Programmieren in C'. Ansi C. (2. A.). (Clovis L. Tondo, Scott E. Gimpel, Brian W. Kernighan, Dennis M. Ritchie)
      Broschiert - Hanser Fachbuch
      Erscheinungsdatum: 1990
      ISBN: 3446159460

    4. Einführung in C (Henning Mittelbach)
      Broschiert - 160 Seiten - Fachbuchverlag Leipzig
      Erscheinungsdatum: Februar 2002
      ISBN: 3446219811

    Please feel free free to contact me with any additional titles (preferably in German) that you feel should be included here.

     

    Sonstige Informationen:   
    Weitere Auskünfte:   Alexandros Paramythis (E.mail: paramythis@fim.uni-linz.ac.at)
    Links zu anderen Sem.:   

    letzte Änderung:  2003-09-26