C++ primitive types store common numeric and character values.

primitive type A primitive type such as `int`, `double`, or `char` stores a simple built-in value.

Primitive Types

apples
primitive_types.cpp
Replay: real traced execution (multi-file project)
#include <iostream>

int main() {
    int apples = 7;
    double price = 1.50;
    char grade = 'A';
    double total = apples * price;

    std::cout << "apples=" << apples << std::endl;
    std::cout << "grade=" << grade << std::endl;
    std::cout << "total=" << total << std::endl;
    return 0;
}
#include <iostream>

int main() {
    int apples = 3;
    double price = 1.50;
    char grade = 'A';
    double total = apples * price;

    std::cout << "apples=" << apples << std::endl;
    std::cout << "grade=" << grade << std::endl;
    std::cout << "total=" << total << std::endl;
    return 0;
}
#include <iostream>

int main() {
    int apples = 12;
    double price = 1.50;
    char grade = 'A';
    double total = apples * price;

    std::cout << "apples=" << apples << std::endl;
    std::cout << "grade=" << grade << std::endl;
    std::cout << "total=" << total << std::endl;
    return 0;
}
  1. apples ← 7, price ← 1.5, grade ← A, total ← 10.5

    3int main() {4    int apples→ 7 = 7; //@apples=3, 125    double price→ 1.5 = 1.50;6    char grade→ A = 'A';7    double total→ 10.5 = apples7 * price1.5;89    std::cout << "apples=" << apples7 << std::endl;10    std::cout << "grade=" << gradeA << std::endl;11    std::cout << "total=" << total10.5 << std::endl;12    return 0;13}
    outputapples=7
    grade=A
    total=10.5
  1. apples ← 3, price ← 1.5, grade ← A, total ← 4.5

    3int main() {4    int apples→ 3 = 3;5    double price→ 1.5 = 1.50;6    char grade→ A = 'A';7    double total→ 4.5 = apples3 * price1.5;89    std::cout << "apples=" << apples3 << std::endl;10    std::cout << "grade=" << gradeA << std::endl;11    std::cout << "total=" << total4.5 << std::endl;12    return 0;13}
    outputapples=3
    grade=A
    total=4.5
  1. apples ← 12, price ← 1.5, grade ← A, total ← 18

    3int main() {4    int apples→ 12 = 12;5    double price→ 1.5 = 1.50;6    char grade→ A = 'A';7    double total→ 18 = apples12 * price1.5;89    std::cout << "apples=" << apples12 << std::endl;10    std::cout << "grade=" << gradeA << std::endl;11    std::cout << "total=" << total18 << std::endl;12    return 0;13}
    outputapples=12
    grade=A
    total=18

Follow the Values

  1. apples starts at 7.
  2. grade is A.
  3. The price is 1.50.
  4. total becomes 10.5.
  5. The program prints apples=7, grade=A, and total=10.5. | apples | price | grade | total | | --- | --- | --- | --- | | 3 | 1.50 | A | 4.5 | | 7 | 1.50 | A | 10.5 | | 12 | 1.50 | A | 18 |

Exercise: primitive_types.cpp

Reproduce total=10.5, then use apples 3 and 12 to predict each total while grade stays A.