Course detail

The C Programming Language

FIT-IJCAcad. year: 2026/2027

The C programming language as defined by ISO standard. The definition of C language, pointers, modularity, C standard library. Debugging and testing of programs. Basic overview of C++, using the C++ standard library.

Language of instruction

Czech, English

Number of ECTS credits

5

Assignment to study programme types

Bachelor's

Mode of study

Not applicable.

Learning outcomes of the course unit

Not applicable.

Entry knowledge

Not applicable.

Rules for evaluation and completion of the course

2 assignments (30% if points)
Within this course, attendance on the lectures is not monitored. The knowledge of students is examined by 2 assignments and by the final exam.

Aims

The goal is to introduce students to ISO C programming language and programming techniques in C.
Basic knowledge of C programming language, including pointers, address arithmetic, and dynamic memory allocation/deallocation. Modular programming in C.

Study aids

Not applicable.

Prerequisites and corequisites

Basic literature

Kernighan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989 (EN)
N3096: Programming languages — C, ISO working draft, 2023 (EN)
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014 (EN)

Recommended reading

Herout, P.: Učebnice jazyka C, 6. vydání, Kopp, 2010
ISO: Programming languages - C, N1570 Committee Draft, 2011
ISO: Programming languages - C, N3096 Committee Draft, 2023
Kernighan, B.; Ritchie, D.: Programovací jazyk C, Computer Press, 2006
Kernighan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989
Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014

Classification of course in study plans

  • Programme B-MAI-P Bachelor's 1 year of study, summer semester, elective
  • Programme BIT Bachelor's 1 year of study, summer semester, elective
  • Programme BIT Bachelor's 1 year of study, summer semester, elective

Type of course unit

 

Lecture

39 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction. Overview of C language (K&R, ANSI C, ISO C). Basic language constructs, examples of C programs.
  2. Definition of C language: lexical elements, declaration syntax, basic types, variables.
  3. Array, address space, address, pointer. Pointers and arrays, address arithmetic. Alignment, little/big endian. Dynamic memory allocation.
  4. C-strings, multi-dimensional arrays, structures, unions.
  5. Enumerations. Expressions, operators, typecasting, operator precedence. Statements.
  6. Functions, argument passing. Pointers to functions. Command line arguments. The C preprocessor: macros, conditional compilation.
  7. Program structure, compilation units. Linking. The program "make".
  8. The C standard library. Debugging support, character classification, internationalization. Input/output, files.
  9. The examples of standard library use. String and memory management. Time functions. Math library.
  10. Creation of shared libraries. Linking of code written in various languages. 
  11. C++ basics, typical differences of C and C++. New operators of C++, overloading, namespaces.
  12. Input/output in C++, streams. Basic use of C++ standard library (containers, iterators, algorithms, strings). Simple examples.
  13. Profiling and program optimization. Rules for writing portable code. Program checking tools. Program documentation tools.

Project

13 hours, compulsory

Teacher / Lecturer

Syllabus

   - 2 assignments