CPE – C++ Certified Entry-Level Programmer Certification: Exam Syllabus
General objectives covered by the exam
-
basic input/output: std::cin, std::cout, std::cerr and stream manipulators: endl, setw
-
general C++ syntax (including C++ keywords) and semantics, block structure, block nesting, identifiers’ scopes, flow control instructions
-
defining and invoking functions, declaring and using vectors, structures, and strings
-
declaring and using pointers.
Exam block #1: Syntax, literals, and operators. (28%)
Objectives covered by the block (9 exam items)
-
C++ syntax fundamentals: literals, symbols, code blocks, and keywords
-
C++ built-in types and their literals
-
main() function declaration conventions and parameters
-
operators: unary and binary, priorities and binding
-
numeric operators: * / % + –
-
post- and pre- increment and decrement operators: ++, —
-
short-circuit evaluations
-
bitwise operators: ~ & ^ | << >>
-
logical (Boolean) operators: ! && ||
-
relational operators: == != > >= < <=
-
assignment and shortcut operators: = op=
-
basics of I/O streams operation
Exam block #2: Flow control and functions (28%)
Objectives covered by the block (8 exam items)
-
conditional execution keywords: if, else
-
loop keywords: while, do, for
-
controlling loop execution keywords: break, continue
-
goto keyword and labeled statements
-
multiple-selection keywords: switch, case, default keywords
-
exiting the function: return keyword
-
defining, declaring and invoking functions
-
typed and void functions, return statement
-
passing arguments to parameters: by value, by reference, by pointer
-
recursion
Exam block #3: Vectors and pointers (24%)
Objectives covered by the block (7 exam items)
-
declaring, initializing and using vectors, declaring multidimensional arrays
-
the data() method
-
declaring pointers to C++ entities, the nullptr pointer
-
dereferencing pointers: * operator
-
obtaining pointers to existing data: & operator
-
converting pointers using static_cast and dynamic_cast operators
-
assigning and releasing memory: new, delete and delete[] operators
Exam block #4: Structures and strings (20%)
Objectives covered by the block (6 exam items)
-
declaring and using structures
-
accessing structure’s fields using . operator
-
vectors of structures: declaring and accessing
-
the std::string type and string literals
-
declaring, initializing, and using strings
-
basic string operations, comparing strings
Last updated: March 25, 2021
Aligned with CPE-20-01