Bird
Raised Fist0
Rustprogramming~30 mins

Scalar data types in Rust - Mini Project: Build & Apply

Choose your learning style10 modes available
Understanding Scalar Data Types in Rust
๐Ÿ“– Scenario: You are learning Rust programming and want to understand how to use scalar data types. Scalars are the simplest types that hold a single value, like numbers and characters.
๐ŸŽฏ Goal: Build a small Rust program that declares variables of different scalar types and prints their values.
๐Ÿ“‹ What You'll Learn
Declare variables with scalar types: i32, f64, char, and bool
Assign exact values to these variables
Print the values of these variables
๐Ÿ’ก Why This Matters
๐ŸŒ Real World
Scalar data types are the building blocks for storing simple values like counts, measurements, letters, and true/false flags in any Rust program.
๐Ÿ’ผ Career
Understanding scalar types is essential for writing safe and efficient Rust code, which is valuable in systems programming, embedded development, and performance-critical applications.
Progress0 / 4 steps
1
Declare an integer variable
Create a variable called my_integer of type i32 and assign it the value 42.
Rust
Hint

Use let to declare a variable and specify the type with a colon.

2
Add a floating-point variable
Add a variable called my_float of type f64 and assign it the value 3.14 below the integer variable.
Rust
Hint

Remember to use let and specify the type f64 for floating-point numbers.

3
Add a character and a boolean variable
Add two variables: my_char of type char with value 'R', and my_bool of type bool with value true below the previous variables.
Rust
Hint

Use single quotes for char values and true or false for bool.

4
Print all variables
Use println! to print the values of my_integer, my_float, my_char, and my_bool each on its own line.
Rust
Hint

Use println!("{}", variable); to print each variable on its own line.

Practice

(1/5)
1. Which of the following is NOT a scalar data type in Rust?
easy
A. Integer
B. Boolean
C. Array
D. Character

Solution

  1. Step 1: Recall scalar data types in Rust

    Scalar types include integers, floats, booleans, and characters, which hold a single value.
  2. Step 2: Identify the non-scalar type

    An array holds multiple values and is a compound type, not scalar.
  3. Final Answer:

    Array -> Option C
  4. Quick Check:

    Scalar types exclude arrays [OK]
Hint: Scalar types hold one value; arrays hold many [OK]
Common Mistakes:
  • Confusing arrays with scalar types
  • Thinking floats are not scalar
  • Mixing compound and scalar types
2. Which of the following is the correct way to declare a boolean variable named is_active set to true in Rust?
easy
A. let is_active: bool = true;
B. let is_active = True;
C. let is_active = 1;
D. let is_active: boolean = true;

Solution

  1. Step 1: Check Rust boolean syntax

    Rust uses lowercase true and false for booleans, and the type is bool.
  2. Step 2: Validate each option

    let is_active: bool = true; correctly declares is_active as a bool with value true. let is_active = True; uses uppercase True which is invalid. let is_active = 1; assigns an integer, not a boolean. let is_active: boolean = true; uses boolean which is not a Rust type.
  3. Final Answer:

    let is_active: bool = true; -> Option A
  4. Quick Check:

    Boolean type is bool and value is lowercase true [OK]
Hint: Booleans use lowercase true/false and type bool [OK]
Common Mistakes:
  • Using uppercase True/False
  • Using wrong type name boolean
  • Assigning integers to booleans
3. What will be the output of the following Rust code?
let x: i32 = 10;
let y: f64 = 3.5;
println!("{}", x as f64 + y);
medium
A. 13
B. 13.5
C. Type error
D. 10.0

Solution

  1. Step 1: Understand type casting in the code

    The integer x is cast to f64 using as f64, so 10 becomes 10.0.
  2. Step 2: Perform the addition

    Adding 10.0 (casted x) and 3.5 (y) results in 13.5.
  3. Final Answer:

    13.5 -> Option B
  4. Quick Check:

    Cast integer to float, then add floats = 13.5 [OK]
Hint: Cast integers to float before adding floats [OK]
Common Mistakes:
  • Forgetting to cast integer
  • Expecting integer addition
  • Assuming type error without cast
4. Identify the error in the following Rust code snippet:
let letter: char = "a";
medium
A. Missing semicolon
B. char cannot be assigned a letter
C. Variable name is invalid
D. char type must use single quotes, not double quotes

Solution

  1. Step 1: Check char literal syntax

    In Rust, char literals must be enclosed in single quotes, e.g., 'a', not double quotes.
  2. Step 2: Analyze the code

    The code uses double quotes "a", which is a string slice, not a char. This causes a type mismatch error.
  3. Final Answer:

    char type must use single quotes, not double quotes -> Option D
  4. Quick Check:

    char literals use single quotes 'a' [OK]
Hint: Use single quotes for char, double quotes for strings [OK]
Common Mistakes:
  • Using double quotes for char
  • Confusing char with string
  • Ignoring type mismatch errors
5. You want to store the temperature reading 36.6 in Rust using scalar types. Which declaration is best and why?
Options:
A) let temp: i32 = 36.6;
B) let temp: char = '36';
C) let temp: bool = true;
D) let temp: f64 = 36.6;
hard
A. let temp: f64 = 36.6; because floats store decimal numbers
B. let temp: char = '36'; because characters store numbers
C. let temp: bool = true; because temperature is true or false
D. let temp: i32 = 36.6; because integers store decimal numbers

Solution

  1. Step 1: Understand the data type needed for decimal numbers

    Temperature 36.6 has a decimal part, so it requires a floating-point type like f64.
  2. Step 2: Evaluate each option

    let temp: i32 = 36.6; because integers store decimal numbers tries to assign a decimal to an integer, which is invalid. let temp: f64 = 36.6; because floats store decimal numbers correctly uses f64 for decimals. let temp: bool = true; because temperature is true or false uses boolean, which is unrelated. let temp: char = '36'; because characters store numbers uses char with invalid multi-character literal.
  3. Final Answer:

    let temp: f64 = 36.6; because floats store decimal numbers -> Option A
  4. Quick Check:

    Decimal numbers need float types like f64 [OK]
Hint: Use float types for decimal numbers like temperature [OK]
Common Mistakes:
  • Assigning decimals to integers
  • Using bool for numeric values
  • Using char for multi-digit numbers
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard