青少年编程与数学 02-019 Rust 编程基础 08课题、字面量、运算符和表达式-四、综合示例

时间:2025-05-14 12:47:41

以下是一个综合示例代码,展示了 Rust 中字面量、运算符及表达式的用法:

fn main() {
    // 字面量的使用
    // 整数字面量
    let decimal = 42;
    let hex = 0x2A;
    let octal = 0o52;
    let binary = 0b101010;
    let large_number = 1_000_000;

    // 浮点数字面量
    let float = 3.14;
    let scientific = 1.23e4;
    let f32_value = 4.56f32;
    let f64_value = 7.89f64;

    // 字符字面量
    let letter = 'a';
    let chinese_char = '中';
    let newline = '\n';
    let unicode_escape = '\u{4E2D}';

    // 字符串字面量
    let greeting = "Hello, world!";
    let multiline_string = "This is a\nmultiline string.";
    let raw_string = r#"C:\Users\Alice\Documents"#;

    // 布尔字面量
    let is_active = true;
    let is_disabled = false;

    // 字节数组字面量
    let bytes = b"Hello";

    // 输出字面量的值
    println!("整数字面量:decimal = {}, hex = {}, octal = {}, binary = {}, large_number = {}", decimal, hex, octal, binary, large_number);
    println!("浮点数字面量:float = {}, scientific = {}, f32_value = {}, f64_value = {}", float, scientific, f32_value, f64_value);
    println!("字符字面量:letter = {}, chinese_char = {}, newline = {:?}, unicode_escape = {}", letter, chinese_char, newline, unicode_escape);
    println!("字符串字面量:greeting = {}, multiline_string = {}", greeting, multiline_string);
    println!("原始字符串:raw_string = {}", raw_string);
    println!("布尔字面量:is_active = {}, is_disabled = {}", is_active, is_disabled);
    println!("字节数组字面量:bytes = {:?}", bytes);

    // 运算符的使用
    // 算术运算符
    let sum = 1 + 2;
    let difference = 5 - 3;
    let product = 4 * 3;
    let quotient = 10 / 2;
    let remainder = 10 % 3;

    // 逻辑运算符
    let and_result = true && false;
    let or_result = true || false;
    let not_result = !true;

    // 比较运算符
    let equal = 1 == 2;
    let not_equal = 1 != 2;
    let greater_than = 2 > 1;
    let less_than = 1 < 2;
    let greater_than_or_equal = 2 >= 2;
    let less_than_or_equal = 1 <= 2;

    // 位运算符
    let bitwise_and = 5 & 3;
    let bitwise_or = 5 | 3;
    let bitwise_xor = 5 ^ 3;
    let bitwise_not = !5;
    let left_shift = 5 << 1;
    let right_shift = 5 >> 1;

    // 赋值运算符
    let mut a = 5;
    a += 3;
    let mut b = 5;
    b -= 3;
    let mut c = 5;
    c *= 3;
    let mut d = 10;
    d /= 2;
    let mut e = 10;
    e %= 3;

    // 输出运算符的结果
    println!("算术运算符:sum = {}, difference = {}, product = {}, quotient = {}, remainder = {}", sum, difference, product, quotient, remainder);
    println!("逻辑运算符:and_result = {}, or_result = {}, not_result = {}", and_result, or_result, not_result);
    println!("比较运算符:equal = {}, not_equal = {}, greater_than = {}, less_than = {}, greater_than_or_equal = {}, less_than_or_equal = {}", equal, not_equal, greater_than, less_than, greater_than_or_equal, less_than_or_equal);
    println!("位运算符:bitwise_and = {}, bitwise_or = {}, bitwise_xor = {}, bitwise_not = {}, left_shift = {}, right_shift = {}", bitwise_and, bitwise_or, bitwise_xor, bitwise_not, left_shift, right_shift);
    println!("赋值运算符:a = {}, b = {}, c = {}, d = {}, e = {}", a, b, c, d, e);

    // 表达式的使用
    // 字面量表达式
    let x = 42;

    // 变量表达式
    let y = x;

    // 运算符表达式
    let sum = x + y;

    // 函数调用表达式
    let product = multiply(x, y);

    // 条件表达式
    let is_positive = if sum > 0 { true } else { false };

    // 块表达式
    let z = {
        let temp = 10;
        temp + 2
    };

    // 循环表达式
    let mut counter = 0;
    let result = loop {
        counter += 1;
        if counter == 10 {
            break counter * 2;
        }
    };

    // 输出表达式的结果
    println!("字面量表达式:x = {}", x);
    println!("变量表达式:y = {}", y);
    println!("运算符表达式:sum = {}", sum);
    println!("函数调用表达式:product = {}", product);
    println!("条件表达式:is_positive = {}", is_positive);
    println!("块表达式:z = {}", z);
    println!("循环表达式:result = {}", result);
}

// 定义一个简单的函数
fn multiply(a: i32, b: i32) -> i32 {
    a * b
}

运行结果

整数字面量:decimal = 42, hex = 42, octal = 42, binary = 42, large_number = 1000000
浮点数字面量:float = 3.14, scientific = 12300, f32_value = 4.56, f64_value = 7.89
字符字面量:letter = a, chinese_char = 中, newline = '\n', unicode_escape = 中
字符串字面量:greeting = Hello, world!, multiline_string = This is a
multiline string.
原始字符串:raw_string = C:\Users\Alice\Documents
布尔字面量:is_active = true, is_disabled = false
字节数组字面量:bytes = [72, 101, 108, 108, 111]
算术运算符:sum = 3, difference = 2, product = 12, quotient = 5, remainder = 1
逻辑运算符:and_result = false, or_result = true, not_result = false
比较运算符:equal = false, not_equal = true, greater_than = true, less_than = true, greater_than_or_equal = true, less_than_or_equal = true
位运算符:bitwise_and = 1, bitwise_or = 7, bitwise_xor = 6, bitwise_not = -6, left_shift = 10, right_shift = 2
赋值运算符:a = 8, b = 2, c = 15, d = 5, e = 1
字面量表达式:x = 42
变量表达式:y = 42
运算符表达式:sum = 84
函数调用表达式:product = 1764
条件表达式:is_positive = true
块表达式:z = 12
循环表达式:result = 20

进程已结束,退出代码为 0

示例代码说明

  1. 字面量的使用

    • 展示了各种类型的字面量(整数、浮点数、字符、字符串、布尔值、字节数组)的定义和输出。
    • 包括不同进制的整数字面量(十进制、十六进制、八进制、二进制)和字符串的转义字符。
  2. 运算符的使用

    • 展示了算术运算符、逻辑运算符、比较运算符、位运算符和赋值运算符的用法。
    • 每个运算符的结果都被打印出来,便于观察。
  3. 表达式的使用

    • 展示了字面量表达式、变量表达式、运算符表达式、函数调用表达式、条件表达式、块表达式和循环表达式的用法。
    • 每个表达式的结果都被打印出来,展示了表达式的多样性和灵活性。

通过这个示例代码,可以全面了解 Rust 中字面量、运算符和表达式的用法。