Chapter 3: Programming Language and Its Applications¶
Syllabus: ACtE03
Coverage: ACtE0301 through ACtE0306
Status: DRAFT - syllabus and assigned-question pass complete; independent source audit pending
Exam use: Recognition of C/C++ syntax, semantics, object-model rules, files, templates, STL, and exception-handling facts for recall/concept/light-trace MCQs
Chapter map¶
| Code | Area | Highest-yield recognition cues |
|---|---|---|
ACtE0301 |
Introduction to C programming | tokens, operators, I/O, control flow, arrays, strings, recursion |
ACtE0302 |
Pointers, structure and data files in C | pointer arithmetic, array relation, struct vs union, file modes |
ACtE0303 |
C++ language constructs with objects and classes | overloading, references, constructors, destructor, this, static, const, friend |
ACtE0304 |
Features of object-oriented programming | operator overloading, conversions, inheritance forms, ctor/dtor order |
ACtE0305 |
Pure virtual function and file handling | dynamic binding, abstract class, streams, flags, manipulators, file states |
ACtE0306 |
Generic programming and exception handling | templates, STL, try/catch/throw, rethrow, catch-all, noexcept |
Chapter rapid-revision sheet¶
| Trigger phrase | Immediate association |
|---|---|
| "smallest meaningful C unit" | token |
| "compares equality" | == |
| "single character input" | getchar |
| "runs at least once" | do-while |
| "string terminator" | \0 |
| "array decays" | pointer to first element |
| "shared storage for members" | union |
| "random access in file" | fseek / ftell / rewind |
| "same name, different parameter list" | overloading |
| "alias to existing object" | reference |
| "current object pointer" | this |
| "shared by all objects" | static data member |
| "runtime dispatch through base interface" | virtual function |
| "cannot instantiate directly" | abstract class |
| "stream at end on every write" | ios::app |
| "generic code by type" | template |
| "rethrow current exception" | throw; |
| "modern non-throwing declaration" | noexcept |
Assigned-question audit¶
The chapter was checked against set1-013 to set1-018 and set1-069 to set1-072. Each revised item has one technically valid answer and an explicit deciding language rule.
| Target | Deciding fact | Result |
|---|---|---|
set1-013 |
do and while are separate keywords; do-while is a construct name |
Supported by ACtE0301 |
set1-014 |
fwrite writes a specified number of fixed-size objects to an output stream |
Supported by ACtE0302 |
set1-015 |
a user-provided destructor is needed for directly owned resources requiring explicit cleanup | Supported by ACtE0303 |
set1-016 |
inheritance reuses accessible base-class behavior | Supported by ACtE0304 |
set1-017 |
among the choices, operator* may be a non-member friend; =, (), and -> must be members |
Supported by ACtE0304 |
set1-018 |
exceptions allow controlled propagation, cleanup, reporting, or recovery from runtime failures | Supported by ACtE0306 |
set1-069 |
arr[i] equals *(arr + i); the third element uses offset 2 |
Supported by ACtE0302 |
set1-070 |
a friend can access private and protected members | Supported by ACtE0303 |
set1-071 |
a constructor initializes an object | Supported by ACtE0303 |
set1-072 |
setjmp saves the environment; longjmp performs the jump |
Supported by ACtE0306 |
Sources and verification note¶
Primary coverage authority is syllab.md. Technical content was aligned to standard C and C++ language/library references and mainstream textbooks.
Recommended verification sources for the pending independent audit:
- Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language - core C syntax, operators, functions, arrays, pointers, structures, and file-stream concepts.
- ISO/IEC 9899 C standard family and standard library references - language-defined behavior, object/pointer distinctions, and standard I/O semantics.
- Bjarne Stroustrup, The C++ Programming Language - namespaces, references, classes, constructors, destructor, operator overloading, inheritance, templates, and exceptions.
- ISO/IEC 14882 C++ standard family and cppreference-aligned language/library behavior - modern
noexcept, virtual dispatch, abstract classes, STL categories, and stream semantics. - Herbert Schildt / Yashavant Kanetkar style teaching references were used only as secondary exam-style wording cross-checks, not as authority over the language standards.
This is a review-first edition. Where old textbook terminology conflicts with current standard terminology, the notes state the standard fact and explicitly mark obsolete constructs as such.