Course detail

The C Programming Language

FIT-IJC Acad. year: 2025/2026 Summer semester

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

Number of ECTS credits

5

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.

The study programmes with the given course

Programme B-MAI-P: Mathematical Engineering, Bachelor's, elective

Programme BIT: Information Technology, Bachelor's
specialization BITP: Information Technology, elective

Type of course unit

 

Lecture

39 hours, optionally

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

Syllabus

– 2 assignments