Skip to main content
Skip header
Terminated in academic year 2010/2011

Programming in C/C++

Type of study Bachelor
Language of instruction Czech
Code 456-0523/02
Abbreviation CPP
Course title Programming in C/C++
Credits 4
Coordinating department Department of Computer Science
Course coordinator doc. RNDr. Jindřich Černohorský, CSc.

Subject syllabus

Lectures:
The algorithm , the means for algorithm notation
Introduction to C, input and output, how the processor code is created. Source code, object code, linking, compilation.
Data types, operators, expressions, constants.
Operators - arithmetical, assignment, relational, logical, conditionl expression, type conversion
Statements and blocks. Comma operator. Break and continue statements. Register variables.
Loop statements for and do-while. Simple program. Arrays.
Functions. Automatic and external variables. Recursive functions
Pointers, arrays, functions.
Pointers and addresses, pointers and function arguments. Pointers and arrays. Pointers and constants.

Command line arguments. Initialization of arrays and arrays of pointers.
Standard C library functions. Making library functions in Code Warrior environment.
Structures, classes, unions, bit arrays, structures and classes, Array of structures, union type, anonymous type union and bit array.
Object oriented programming. Classes and objects in C++. Access modifiers. Inheritance.
Polymorphism in C++, early and late binding. Overloading. Templates.

Literature

ECKEL. Bruce. Thinking in C++. Prentice Hall
Stroustrup, B.: The programming language C++
SCHILDT. Herbert. Teach yourself. Osborne

Advised literature

SCHILDT. Herbert. Nauč se sám C++. Osborne/Softpress. 2000. ISBN 80-86497-13-5
SCHILDT. Herbert. Nauč se sám C. Osborne/Softpress. 2000. ISBN 80-86497-16-X

Sylaby přednášek.
Eletronické výukové materiály: HTML a Macromedia Flash simulace.
Virius M.: Pasti a propasti jazyka C++, ComputerPress, Praha 2005, druhé vydání, ISBN 80-251-0509-1
Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha 2003, ISBN 80-86497-56-9