diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" deleted file mode 100644 index bff6171e43af4a380c97d6b4fa46fb7a3fe248b0..0000000000000000000000000000000000000000 --- "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" +++ /dev/null @@ -1,8 +0,0 @@ -{ - "node_id": "rust-ec374a0aec5940b8b3a86e3cb4da98ca", - "keywords": [], - "children": [], - "export": [], - "keywords_must": [], - "keywords_forbid": [] -} \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/.gitkeep" deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" similarity index 79% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" index 99c8c35ff31facdd579a63384647d957d6c7fcc8..e0ae40c4e46e939e59b8b895d83685e0c4f067b8 100644 --- "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" @@ -3,7 +3,8 @@ "keywords": [], "children": [], "export": [ - "match.json" + "match.json", + "expression.json" ], "keywords_must": [], "keywords_forbid": [] diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" new file mode 100644 index 0000000000000000000000000000000000000000..d9945a2e8883efbaf1ab134e8831b62585ac7645 --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": "jackymao_com", + "source": "expression.md", + "notebook_enable": false, + "exercise_id": "25a3a49bd39d4d0385bc4f797c3fe1e3" + } \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" new file mode 100644 index 0000000000000000000000000000000000000000..dff2ef520fd7d1bdfb1e2b511e227df688bef3fa --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" @@ -0,0 +1,81 @@ +# 表达式与语句 + +Rust 中的语法分为两大类: 语句 (statement) 和表达式 (Expression)。 + +语句:指的是要执行的一些操作和产生副作用的表达式。不一定有返回值。有的声明语句没有值,不能作为右值放在赋值语句的等号右边。 + +表达式:主要用于计算求值。一般有返回值。 + + +语句 + + 声明语句:用于声明各种语言项,包括变量、静态变量、常量、结构体、函数等,以及通过extern和use关键字引入包和模块。 + + 表达式语句:特指以分号结尾的表达式。此类表达式求值结果将会被舍弃,并总是返回单元类型()。单元类型拥有唯一的值,就是它本身。 + + +下面代码中使用有误的地方是: + +```rust + +// A +// use std::prelude::v1::*; +// pub use core::prelude::rust_2021::*; +// std::prelude 是自动引入的,一般不需要写,但写了也没有关系。一般只有在写嵌入式系统代码的时候使用 #[no_std] 属性明确指定了不需要标准库,才不会引入标准库 + +fn main(){ + + // 赋值语句 + let x = 5_u32; + + // B + // 连环赋值? + let u = v = w = 6; + let u = (let v = 7); + + let y = { + let x_squared = x * x; + let x_cube = x_squared * x; + + // C + // 将此表达式赋给 `y` + x_cube + x_squared + x + }; + + let z = { + // D + // 分号结束了这个表达式,于是将 `()` 赋给 `z` + 2 * x; + }; + + println!("x is {:?}", x); + println!("y is {:?}", y); + println!("z is {:?}", z); + +} + +``` + +## 答案 + +### + +B + +## 选项 + +### + +A + +### + +C + +### + +D + + + \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.md" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.md" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.md" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.md"