InfoCode · Knowledge explorer
C++ knowledge explorer
16 lessons
Read the concept, examples and tips for a topic, then practice it in the app. These lessons are site teaching material, not an official syllabus.
Variables and types
- Constants, variables and assignment — Distinguish C++ initialization from assignment, trace copied and overwritten values, choose suitable types and try self-checks before revealing answers.
Operators and expressions
- Modulo and Integer Division — Compare integer and floating-point division, conversion timing, truncation toward zero and remainders, with examples and self-checks.
Control structures
- Selection Structure (if) — Trace scores 59, 60, 89 and 90 through condition boundaries, the first matching if/else if branch and independent if statements.
- Loop structures — Compare C++ for, while and do-while loops with execution order, sum and sentinel examples, and common boundary mistakes.
- Multi-level nesting — Trace C++ nested loops with multiplication-table and execution-count examples, then use braces to clarify nested if and else.
Arrays
- Array index — Learn C++ array initialization and zero-based indexing, then check valid bounds with element access and reverse traversal.
- Array traversal — Use C++ loops to sum an array, count matching elements and find a maximum, with accumulator initialization and traversal boundaries.
- Two-dimensional and multidimensional arrays — Understand row and column indices in C++ 2D arrays with row-sum examples, nested traversal and valid-neighbor boundary checks.
Strings
- Strings — Trace the newline left after numeric cin input and use getline to read a full line with spaces, alongside character counts, palindromes, find and substr.
- Character arrays and related functions — Distinguish C++ string length from character-array capacity, reserve room for the null terminator and check concatenation bounds.
Functions
- Functions and parameters — Trace an int copy, an int reference and a received return value using the same data, then check which variables change after each call.
- Recursion — Compare recursion and iteration with C++ factorial, trace calls and returns, and understand base cases, stack space and repeated Fibonacci work.
Sorting
- Sorting algorithms — Compare selection and insertion sort using the same array, time complexity and stability, alongside C++ bubble sort and std::sort examples.
- Merge sort — See why merge sort takes O(n log n) time with a split-and-merge trace, C++ implementation, auxiliary space and stability conditions.
Strategies
- Binary search — Explain O(log n) binary search with a halving trace, C++ lower_bound and duplicate-count examples, including half-open boundaries.
- Binary search on the answer — Learn binary search on the answer through minimum shipping capacity: prove monotone feasibility, choose bounds and check extreme-day cases.
Frequently asked questions
Are these lessons an official syllabus?
No. The lessons are written by InfoCode; reference levels are site mappings and do not represent official levels, certification or eligibility. Official rules follow the organizer.
How are topics expanded?
We are checking content quality, search indexing and real use before expanding; unedited knowledge pages are not published in bulk.
How do I practice after reading?
Each lesson links to practice for that topic in the app. Practice records show practice, not mastery or official certification.