Bird
Raised Fist0
Rustprogramming~5 mins

If–else expression in Rust

Choose your learning style10 modes available
Introduction

If-else expressions help your program choose between two paths based on a condition. This lets your program make decisions like a person would.

When you want to check if a number is positive or negative and do something different for each.
When you want to decide what message to show based on a user's age.
When you want to set a value depending on whether a condition is true or false.
Syntax
Rust
let variable = if condition {
    value_if_true
} else {
    value_if_false
};
The if and else parts are expressions that return values.
You must include both if and else to assign a value to a variable.
Examples
This checks if number is greater than zero and prints if it is positive or not.
Rust
let number = 5;
let result = if number > 0 {
    "positive"
} else {
    "non-positive"
};
println!("{} is {}", number, result);
This sets can_vote to true if age is 18 or more, otherwise false.
Rust
let age = 18;
let can_vote = if age >= 18 { true } else { false };
println!("Can vote: {}", can_vote);
Sample Program

This program checks the temperature and prints if the weather is hot or cool.

Rust
fn main() {
    let temperature = 30;
    let weather = if temperature > 25 {
        "hot"
    } else {
        "cool"
    };
    println!("The weather is {}.", weather);
}
OutputSuccess
Important Notes

Remember, if and else in Rust are expressions, so they return values.

Every if must have an else if you want to assign the result to a variable.

Summary

If-else expressions let your program choose between two options.

They return values, so you can store the result in a variable.

Always include else when assigning the result to a variable.

Practice

(1/5)
1. What does an if-else expression in Rust do?
easy
A. Declares a variable without value
B. Repeats a block of code multiple times
C. Defines a new function
D. Chooses between two options and returns a value

Solution

  1. Step 1: Understand the purpose of if-else

    An if-else expression lets the program pick one of two paths based on a condition.
  2. Step 2: Recognize that it returns a value

    In Rust, if-else expressions return a value that can be stored in a variable.
  3. Final Answer:

    Chooses between two options and returns a value -> Option D
  4. Quick Check:

    If-else expression = choice with value [OK]
Hint: If-else picks one path and returns a value [OK]
Common Mistakes:
  • Thinking if-else repeats code like a loop
  • Confusing if-else with function definition
  • Ignoring that if-else returns a value
2. Which of the following is the correct syntax for an if-else expression in Rust?
easy
A. let x = if condition { 5 } else { 10 };
B. if (condition) then { 5 } else { 10 };
C. let x = if condition: 5 else: 10;
D. let x = if condition { 5 } elseif { 10 };

Solution

  1. Step 1: Check Rust if-else syntax

    Rust uses if condition { value1 } else { value2 } with braces and no parentheses.
  2. Step 2: Identify correct option

    let x = if condition { 5 } else { 10 }; matches Rust syntax exactly with variable assignment and braces.
  3. Final Answer:

    let x = if condition { 5 } else { 10 }; -> Option A
  4. Quick Check:

    Rust if-else syntax = let x = if condition { 5 } else { 10 }; [OK]
Hint: Use braces and no parentheses in Rust if-else [OK]
Common Mistakes:
  • Using parentheses around condition
  • Writing elseif instead of else if
  • Using colons instead of braces
3. What is the output of this Rust code?
let number = 7;
let result = if number % 2 == 0 { "even" } else { "odd" };
println!("{}", result);
medium
A. odd
B. even
C. 7
D. Syntax error

Solution

  1. Step 1: Check the condition number % 2 == 0

    7 % 2 equals 1, which is not 0, so condition is false.
  2. Step 2: Determine which branch runs

    Since condition is false, the else branch runs, returning "odd".
  3. Final Answer:

    odd -> Option A
  4. Quick Check:

    7 is odd, so output = odd [OK]
Hint: Check condition result to pick if or else branch [OK]
Common Mistakes:
  • Assuming 7 is even
  • Confusing modulo operator
  • Expecting number to print instead of result
4. Identify the error in this Rust code:
let x = 10;
let y = if x > 5 { 1 };
println!("{}", y);
medium
A. Variable y is not declared
B. Incorrect comparison operator
C. Missing else branch in if expression
D. println! macro syntax error

Solution

  1. Step 1: Check if-else expression completeness

    When assigning with if, Rust requires both if and else branches to return a value.
  2. Step 2: Identify missing else branch

    The code has no else branch, so y's value is undefined, causing a compile error.
  3. Final Answer:

    Missing else branch in if expression -> Option C
  4. Quick Check:

    if-else must have else when used as expression [OK]
Hint: Always include else when assigning from if [OK]
Common Mistakes:
  • Forgetting else branch when assigning
  • Thinking if alone returns a value
  • Misreading error as println! issue
5. You want to assign a variable grade based on a score: if score is 90 or above, grade is 'A', else 'F'. Which code correctly uses if-else expression?
hard
A. let grade = if score > 90 { 'A' } else if score < 90 { 'F' };
B. let grade = if score >= 90 { 'A' } else { 'F' };
C. let grade = if score >= 90 { 'A' }; else { 'F' };
D. let grade = if score >= 90 then { 'A' } else { 'F' };

Solution

  1. Step 1: Check correct if-else expression syntax

    Rust uses if condition { value } else { value } without 'then' or semicolons inside.
  2. Step 2: Validate condition and branches

    let grade = if score >= 90 { 'A' } else { 'F' }; correctly checks >= 90 and returns 'A' or 'F' in else branch.
  3. Final Answer:

    let grade = if score >= 90 { 'A' } else { 'F' }; -> Option B
  4. Quick Check:

    Correct syntax and logic = let grade = if score >= 90 { 'A' } else { 'F' }; [OK]
Hint: Use braces and else for complete if-else expression [OK]
Common Mistakes:
  • Using 'then' keyword
  • Missing else branch
  • Incorrect semicolon placement
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