diff --git a/src/ch01-02-hello-world.md b/src/ch01-02-hello-world.md
index ea83a9c..9aa649f 100644
--- a/src/ch01-02-hello-world.md
+++ b/src/ch01-02-hello-world.md
@@ -238,7 +238,7 @@ $ cargo run
Hello, world!
```
-注意这一次,并没有出现告诉我们 Cargo 正在编译 `hello_cargo` 的输出。Cargo 发现文件并没有被改变,直接运行了二进制文件。如果修改了源文件的话,将会出现像这样的输出:
+注意这一次并没有出现“正在编译 `hello_cargo`”的输出。Cargo 发现文件并没有被改变,直接运行了二进制文件。如果修改了源文件的话,将会出现像这样的输出:
```
$ cargo run
@@ -256,11 +256,11 @@ Cargo 的另一个优点是,不管你使用什么操作系统,它的命令
### 发布构建
-当项目最终准备好发布了,可以使用`cargo build --release`来优化编译项目。这会在 *target/release* 下生成可执行文件,而不是 *target/debug*。这些优化可以让 Rust 代码运行的更快,不过启用他们会让程序花更长的时间编译。这也是为何这是两种不同的配置:一个为了开发,这时你经常想要快速重新构建;另一个构建提供给用户的最终程序,这时并不会重新构建并希望程序能运行得越快越好。如果你在测试代码的运行时间,请确保运行`cargo build --release`并使用 *target/release* 下的可执行文件进行测试。
+当项目最终准备好发布了,可以使用 `cargo build --release` 来优化编译项目。这会在 *target/release* 下生成可执行文件,而不是 *target/debug*。优化可以让 Rust 代码运行的更快,然而也需要更长的编译时间。因此产生了两种不同的配置:一种为了开发,你需要快速重新构建;另一种构建给用户的最终程序,不会重新构建,并且程序能运行得越快越好。如果你在测试代码的运行时间,请确保运行 `cargo build --release` 并使用 *target/release* 下的可执行文件。
### 把 Cargo 当作习惯
-对于简单项目, Cargo 并不能比`rustc`提供更多的价值,不过随着开发的进行终将体现它的价值。对于拥有多个 crate 的复杂项目,让 Cargo 来协调构建将更简单。有了 Cargo,只需运行`cargo build`,然后一切将有序运行。即便这个项目很简单,也它使用了很多你之后的 Rust 生涯将会用得上的实用工具。其实你可以开始任何你想要从事的项目,使用下面的命令:
+对于简单项目, Cargo 并不比 `rustc` 更有价值,不过随着开发的进行终将体现它的价值。对于拥有多个 crate 的复杂项目,让 Cargo 来协调构建将更简单。有了 Cargo,只需运行`cargo build`,然后一切将有序运行。即便这个项目很简单,也它使用了很多你之后的 Rust 生涯将会用得上的实用工具。其实你可以开始任何你想要从事的项目,使用下面的命令:
```
$ git clone someurl.com/someproject
diff --git a/src/ch02-00-guessing-game-tutorial.md b/src/ch02-00-guessing-game-tutorial.md
index 682b64e..9320e70 100644
--- a/src/ch02-00-guessing-game-tutorial.md
+++ b/src/ch02-00-guessing-game-tutorial.md
@@ -4,13 +4,13 @@
>
> commit e6d6caab41471f7115a621029bd428a812c5260e
-让我们通过自己动手的方式一起完成一个项目来快速上手 Rust!本章将介绍一些常用的 Rust 概念,并通过真实的程序来展示如何运用他们。你将会学到`let`、`match`、方法、关联函数、使用外部 crate 等更多的知识!接下来的章节会探索这些概念的细节。在这一章,我们将练习基础。
+让我们亲自动手,快速熟悉 Rust!本章将介绍 Rust 中常用的一些概念,并通过真实的程序来展示如何运用。你将会学到更多诸如 `let`、`match`、方法、关联函数、外部 crate 等知识!后继章节会深入探索这些概念的细节。在这一章,我们将练习基础。
-我们会实现一个经典的新手编程问题:猜猜看游戏。它是这么工作的:程序将会随机生成一个 1 到 100 之间的随机整数。接着它会提示玩家输入一个猜测。当输入了一个猜测后,它会提示猜测是太大了还是太小了。如果猜对了,它会打印出祝贺并退出。
+我们会实现一个经典的新手编程问题:猜猜看游戏。它是这么工作的:程序将会随机生成一个 1 到 100 之间的随机整数。接着它会请玩家猜一个数并输入,然后提示猜测是大了还是小了。如果猜对了,它会在退出前祝贺你。
## 准备一个新项目
-要创建一个新项目,进入在第一章创建的**项目**目录,像这样使用 Cargo 创建它:
+要创建一个新项目,进入第一章创建的**项目**目录,使用 Cargo 创建它:
```
$ cargo new guessing_game --bin
@@ -60,7 +60,7 @@ Hello, world!
## 处理一次猜测
-程序的第一部分会请求用户输入,处理输入,并检查输入是否为期望的形式。首先,允许玩家输入一个猜测。在 *src/main.rs* 中输入列表 2-1 中的代码。
+程序的第一部分会请求用户输入,处理输入,并检查输入是否符合预期。首先,允许玩家输入一个猜测。在 *src/main.rs* 中输入列表 2-1 中的代码。
Filename: src/main.rs
@@ -83,17 +83,17 @@ fn main() {
Listing 2-1: Code to get a guess from the user and print it out
-这些代码包含很多信息,所以让我们一点一点地过一遍。为了获取用户输入并接着打印结果作为输出,我们需要将`io`(输入/输出)库引入作用域中。`io`库来自于标准库(也被称为`std`):
+这些代码包含很多信息,我们一点一点地过一遍。为了获取用户输入并打印结果作为输出,我们需要将`io`(输入/输出)库引入作用域中。`io`库来自于标准库(也被称为`std`):
```rust,ignore
use std::io;
```
-Rust 默认只在每个程序的 [*prelude*][prelude] 中引用很少的一些类型。如果想要使用的类型并不在 prelude 中,你必须使用一个`use`语句显式的将其引入到作用域中。使用`std::io`库将提供很多`io`相关的功能,接受用户输入的功能。
+Rust 默认只在每个程序的 [*prelude*][prelude] 中引用很少的一些类型。如果想要使用的类型并不在 prelude 中,你必须使用一个`use`语句显式的将其引入到作用域中。`std::io`库提供很多`io`相关的功能,比如接受用户输入。
[prelude]: https://doc.rust-lang.org/std/prelude/index.html
-正如第一章所讲,`main`函数是程序的入口点:
+如第一章所提及,`main`函数是程序的入口点:
```rust,ignore
fn main() {
@@ -101,7 +101,7 @@ fn main() {
`fn`语法声明了一个新函数,`()`表明没有参数,`{`作为函数体的开始。
-第一章也讲到了,`println!`是一个在屏幕上打印字符串的宏:
+第一章也提及,`println!`是一个在屏幕上打印字符串的宏:
```rust,ignore
println!("Guess the number!");
@@ -109,7 +109,7 @@ println!("Guess the number!");
println!("Please input your guess.");
```
-这些代码仅仅打印一个提示,说明游戏的内容并请求用户输入。
+这些代码仅仅打印提示,介绍游戏的内容然后请用户输入。
### 用变量储存值