[Powered by Google Translate] TOMMY MACWILLIAM: Chúng ta hãy nói về các vòng, một trong những phổ biến chương trình xây dựng chúng ta sẽ thấy trong suốt CS50. Chúng tôi sẽ sử dụng các vòng lặp khi chúng ta muốn thực hiện một nhiệm vụ nhiều hơn một lần. Ví dụ, chúng ta có thể muốn in "hi" 100 lần hoặc in ra tất cả các chữ cái trong bảng chữ cái. Trong cả hai trường hợp, chúng tôi có một điều chúng tôi muốn làm nhiều lần, in cái gì. Tuy nhiên, những gì chúng ta in ra mỗi thời gian có thể khác nhau. Vì vậy, chúng ta có thể làm một cái gì đó hơi khác nhau trên mỗi lặp đi lặp lại, hoặc chạy qua, vòng lặp. Chúng ta sẽ thấy ba loại khác nhau của các vòng trong C, trong khi vòng, vòng, và làm trong khi các vòng. Mặc dù ba loại của các vòng có một cú pháp khác nhau, những ý tưởng đằng sau họ đều giống nhau. Chúng tôi sẽ xác định một số khối mã trong dấu ngoặc nhọn, được gọi là thân của vòng lặp, mà chúng tôi muốn được thực hiện một số số lần. Bằng cách thay đổi các giá trị của biến được sử dụng trong cơ thể, chúng tôi có thể làm cho vòng lặp của chúng tôi làm điều gì đó khác nhau mỗi lần nó chạy. Với bất cứ lặp chúng tôi viết, chúng tôi cũng sẽ cần phải quyết định khi vòng lặp sẽ ngừng chạy. Nếu chúng ta không làm điều đó, sau đó máy tính đáng tin cậy của chúng tôi sẽ tiếp tục để chạy vòng lặp cho đến khi chúng ta diệt các chương trình. Scratch, chúng tôi có thể sử dụng lặp lại n lần chặn để tạo ra một vòng lặp. Tất cả các mảnh bên trong một khối mà nói lặp lại 10 sẽ được chạy 10 lần. Và sau đó, chúng tôi muốn chuyển các mảnh sau khi vòng lặp đó. Vì vậy, điều kiện dừng của chúng tôi chỉ đơn giản là, khối này đã được chạy 10 lần. Vì vậy, hãy tạo lại trong C. Để cho Scratch để đảm bảo rằng các mảnh bên trong khối lặp lại được thực hiện chính xác là 10 lần, Scratch cần phải theo dõi từng thực hiện khối lặp lại. Để theo dõi thân vòng lặp của chúng tôi đã bao nhiêu lần thực hiện, chúng ta hãy tạo ra một biến tên gọi là i. Chúng tôi sẽ bắt đầu tôi ở số không, kể từ khi vòng lặp của chúng tôi không được chạy. OK Bây giờ chúng ta sẽ sử dụng các từ khóa trong khi bắt đầu vòng lặp của chúng tôi. Bây giờ chúng ta sẽ cần phải tìm ra khi vòng lặp của chúng tôi sẽ dừng lại, nhưng hãy để cho bây giờ và sau đó trở về với nó. Được rồi. Bên trong vòng lặp của chúng tôi, chúng ta hãy chỉ in một tin nhắn, giống như "Hi". Chúng tôi có thể sử dụng chức năng printf cho điều này. Được rồi. Vì vậy, bây giờ chúng tôi sẽ ghi rằng một sự lặp lại của cơ thể lặp được thực hiện. Chúng ta có thể làm điều đó bằng cách thêm 1, hoặc incrementing, truy cập của chúng tôi biến, i. Để làm được điều đó, chúng ta có thể nói rằng tôi là bằng i cộng thêm 1, hoặc nhiều hơn đơn giản, cộng với cộng. Lớn. Vì vậy, bây giờ chúng ta có thể thấy rằng mỗi vòng lặp của chúng tôi là chạy, truy cập biến đi lên từng người một. Vì vậy, chúng ta biết chính xác có bao nhiêu lặp đi lặp lại chúng tôi đã chạy cho đến nay. Sau khi một lần lặp của vòng lặp, giá trị của chúng tôi của i sẽ được 1. Sau hai lặp đi lặp lại, tôi sẽ được 2. Và sau 10 lần lặp lại, tôi sẽ được 10. Vì vậy, nếu chúng ta muốn chạy vòng lặp này chính xác là 10 lần, sau đó đây là khi chúng ta muốn dừng lại. Vì vậy, chúng tôi muốn chạy vòng lặp trong khi tôi là ít hơn 10, và đó chính xác là những gì chúng tôi sẽ viết, khi tôi là nhỏ hơn 10. Tình trạng này trông giống như các điều kiện mà chúng tôi sử dụng trong nếu else khối. Sau khi cơ thể của vòng lặp của chúng tôi đã được thực hiện, chương trình của chúng tôi sẽ nhảy trở lại với điều kiện vòng lặp. Nếu điều kiện là đúng, sau đó cơ thể của vòng lặp sẽ được chạy một lần nữa. Nếu điều kiện là không còn đúng nữa, sau đó lặp chúng ta sẽ không chạy nữa và sẽ chuyển sang dòng tiếp theo của mã bên dưới vòng lặp của chúng tôi. Được rồi. Vì vậy, chúng ta hãy nhìn vào một loại thứ hai của vòng lặp, vòng lặp for. Bên cạnh các từ khóa trong khi, trong ngoặc đơn, chúng tôi đã có một điều, các điều kiện cần thiết để được đúng đối với các thân vòng lặp để chạy. Điều đó có nghĩa chúng tôi đã có để tạo ra các biến truy cập của chúng tôi bên ngoài của các vòng lặp và nhớ để tăng nó tại một số điểm bên trong vòng lặp. Các tiêu đề của chúng tôi cho vòng lặp, mặt khác, có ba các bộ phận, mỗi trong số đó sẽ được phân cách bằng dấu chấm phẩy. Thứ ba đầu tiên của chúng tôi, chúng tôi có thể tuyên bố bất kỳ truy cập hoặc helper biến chúng tôi muốn sử dụng trong vòng lặp của chúng tôi. Trong thực tế, điều này có thể thực sự hữu ích. Chúng tôi thực sự không cần biến đó, i, sau một thời gian của chúng tôi vòng lặp chạy, vì vậy chúng tôi thực sự không nên phải khai báo nó bên ngoài vòng lặp. Thứ ba thứ hai sẽ là điều kiện phải đúng sự thật cho cơ thể được thực hiện một lần nữa, giống như trong vòng lặp trong khi của chúng tôi. Trong ba cuối của chúng tôi, chúng tôi có thể chạy một tuyên bố rằng sẽ thực hiện sau khi mỗi lần lặp của vòng lặp, do đó, chúng tôi không có để xây dựng nó vào cơ thể lặp. Vì vậy, chúng ta hãy viết cho vòng lặp đếm ngược từ 5 để 1. Chúng tôi sẽ bắt đầu với các từ khóa cho. Chúng ta có thể tạo ra một biến truy cập đầu tiên, chúng tôi sẽ thiết lập đến 5 thời gian kể từ khi chúng tôi đang đếm ngược, tiếp theo là một dấu chấm phẩy. Tiếp theo là điều kiện của chúng tôi, mà chúng tôi sẽ trở lại. Thứ ba, chúng tôi muốn giảm giá trị biến đếm của chúng tôi sau khi mỗi lần lặp của vòng lặp. Vì vậy, thay vì nói rằng tôi cộng với cộng với, chúng tôi sẽ nói rằng tôi trừ trừ. Được rồi. Vì vậy, chúng tôi muốn cơ thể lặp để chạy trong khi tôi vẫn còn lớn hơn 0. Trong cơ thể của vòng lặp, chúng ta hãy in ra các giá trị của i. Để làm như vậy, chúng ta sẽ sử dụng chức năng printf, bằng cách sử dụng d% giữ chỗ. Hãy nhớ rằng, giữ chỗ mà sẽ được thay thế bằng giá trị của i. Cuối cùng, chúng ta hãy thêm một tuyên bố sau khi vòng lặp cho chúng tôi. Khi chúng tôi chạy vòng lặp này, tôi sẽ bắt đầu vào lúc 5, như vậy 5 sẽ được in. Một lần tôi được là 0, tình trạng này tiếp tục, tôi là lớn hơn 0, sẽ không còn giữ. Vì vậy vòng lặp của chúng tôi sẽ ngừng thực hiện, và chúng ta sẽ thấy tuyên bố sau khi vòng lặp. Vì vậy, chúng ta hãy chạy mã này. Trước tiên, chúng tôi sẽ biên soạn một countdown.c với làm đếm ngược. Bây giờ, chúng ta có thể chạy mã này với đếm ngược /. Trong cả hai vòng trong khi và cho các vòng, tiếp tục của chúng tôi điều kiện sẽ được kiểm tra trước khi cơ thể của vòng lặp được thực thi. Điều đó có nghĩa rằng, nếu điều kiện của chúng tôi không phải là ban đầu đúng, sau đó cơ thể của vòng lặp của chúng tôi sẽ không bao giờ được chạy. Vì vậy, nó đôi khi hữu ích để kiểm tra các điều kiện sau khi cơ thể của vòng lặp hơn là trước khi nó. Vì vậy, hãy viết một vòng lặp để nhắc nhở người dùng cho một số cho đến khi một số dương được cung cấp. Nếu người sử dụng đầu vào một số tiêu cực, chúng ta sẽ muốn hỏi họ cho một số khác. Vì vậy, chúng tôi sẽ muốn điều này nhanh chóng được bên trong cơ thể ra khỏi vòng lặp. Tuy nhiên, khi vòng lặp được chạy lần đầu tiên, người sử dụng đã không cho chúng tôi biết số. Vì vậy, nó không có ý nghĩa để kiểm tra xem nó là tích cực. Thay vào đó, chúng tôi sẽ muốn kiểm tra số sau khi cơ thể của vòng lặp được chạy. Chúng ta có thể làm điều này với một do trong khi vòng lặp. Đầu tiên, chúng ta sẽ tạo ra một biến, n, mà sẽ giữ đầu vào của người dùng. Bây giờ chúng ta sẽ sử dụng các từ khóa do, tiếp theo là dấu ngoặc nhọn sẽ bắt đầu ra khỏi cơ thể của vòng lặp của chúng tôi. Trong cơ thể, chúng ta có thể nhắc nhở người sử dụng cho một số với GetInt chức năng. Bây giờ, chúng tôi sẽ muốn cơ thể của vòng lặp này để thực hiện một lần nữa nếu người dùng gõ một số âm, vì vậy chúng tôi sẽ nói trong khi n là nhỏ hơn 0. Chú ý các dấu chấm phẩy ở đây sau khi tuyên bố trong khi. Vì vậy, chúng ta hãy chạy mã này. Trước tiên, chúng tôi sẽ biên dịch này thực hiện tích cực. Bây giờ chúng ta có thể chạy chương trình với bản / dương bản. Nếu chúng tôi cung cấp cho chương trình này một số tiêu cực, như tiêu cực 4, sau đó chúng tôi sẽ được nhắc nhở một lần nữa cho một số từ điều kiện do của chúng tôi trong khi vòng lặp là sự thật. Một khi chúng tôi cung cấp cho một số dương, giống như 8, sau đó điều kiện do của chúng tôi trong khi vòng lặp sẽ không còn là sự thật. Vì vậy vòng lặp sẽ không được thực thi một lần nữa. Và đó là nó cho ba loại của các vòng, chúng tôi sẽ sử dụng trong C. Tên tôi là Tommy, và điều này là CS50.