1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Giả sử chúng ta muốn viết một chương trình yêu cầu tất cả mọi người trong 2 00:00:03,160 --> 00:00:06,740 phòng cho tuổi của họ, và sau đó in ra bao nhiêu tuổi những người sẽ là một 3 00:00:06,740 --> 00:00:07,520 năm do đó? 4 00:00:07,520 --> 00:00:09,900 Bây giờ, rõ ràng là số học cho điều này vấn đề là có được khá 5 00:00:09,900 --> 00:00:10,660 đơn giản. 6 00:00:10,660 --> 00:00:14,090 Nhưng câu hỏi thú vị là, nếu chúng ta không biết trước có bao nhiêu người 7 00:00:14,090 --> 00:00:16,790 đang có được trong căn phòng này, làm thế nào chúng ta có thể đi về lưu trữ 8 00:00:16,790 --> 00:00:17,980 tất cả các lứa tuổi của họ? 9 00:00:17,980 --> 00:00:19,680 Vâng, chúng ta hãy có một cái nhìn. 10 00:00:19,680 --> 00:00:22,760 >> Chúng ta hãy bắt đầu bằng cách đầu tiên khiến người sử dụng, như tôi đã làm ở đây, cho 11 00:00:22,760 --> 00:00:26,410 số lượng người trong phòng sử dụng getInt và một vòng lặp do-while để 12 00:00:26,410 --> 00:00:28,220 có một số nguyên n. 13 00:00:28,220 --> 00:00:32,310 Giả sử bây giờ chúng tôi muốn hỏi mỗi như vậy người trong phòng với tuổi. 14 00:00:32,310 --> 00:00:35,820 Vâng, bản năng của tôi sẽ được sử dụng một vòng lặp để làm điều đó nhắc, nhưng tôi cũng 15 00:00:35,820 --> 00:00:37,840 cần một nơi để lưu trữ lứa tuổi những người dân. 16 00:00:37,840 --> 00:00:40,760 Và bản năng đầu tiên của tôi sẽ có sử dụng một biến cho người đầu tiên 17 00:00:40,760 --> 00:00:43,690 tuổi của người, biến khác cho tuổi người thứ hai của, 18 00:00:43,690 --> 00:00:44,780 loại cùng dòng. 19 00:00:44,780 --> 00:00:46,230 Int tuổi - 20 00:00:46,230 --> 00:00:48,850 tốt, chúng ta hãy gọi nó 1 cho người đầu tiên. 21 00:00:48,850 --> 00:00:51,480 Int 2 tuổi cho người thứ hai. 22 00:00:51,480 --> 00:00:53,980 Int 3 tuổi cho người thứ ba. 23 00:00:53,980 --> 00:00:56,750 >> Nhưng chờ một phút, đây không phải là có lẽ con đường tốt nhất để đi xuống. 24 00:00:56,750 --> 00:01:00,620 Bởi vì tôi không biết trước viết và biên soạn chương trình này như thế nào 25 00:01:00,620 --> 00:01:02,330 nhiều người sử dụng có đang có được. 26 00:01:02,330 --> 00:01:06,590 Và hơn thế nữa, nếu có càng nhiều càng 100 người sử dụng, khai báo 100 biến 27 00:01:06,590 --> 00:01:10,350 loại tên kỳ quặc như thế này không cảm thấy như thiết kế tốt nhất. 28 00:01:10,350 --> 00:01:14,430 >> Vâng, may mắn có tồn tại khác kiểu của biến được gọi là một mảng 29 00:01:14,430 --> 00:01:18,710 cho phép chúng ta lưu trữ bất kỳ số lượng ints bên trong của nó, ngay cả khi chúng ta không biết 30 00:01:18,710 --> 00:01:22,190 khi viết chương trình của tôi bao nhiêu ints như vậy chúng ta sẽ cần. 31 00:01:22,190 --> 00:01:25,970 Vì vậy, chúng ta hãy quay lại và xóa các nhiều ints, và thay vào đó thay thế nó 32 00:01:25,970 --> 00:01:29,620 với một biến được gọi là, nói, tuổi, số nhiều. 33 00:01:29,620 --> 00:01:33,420 Nhưng chúng ta hãy tiếp tục xác định trên dòng này mã trong dấu ngoặc vuông mà chúng ta 34 00:01:33,420 --> 00:01:35,460 muốn n số nguyên. 35 00:01:35,460 --> 00:01:39,570 Và do đó, chúng tôi sẽ chung tham khảo các số nguyên như lứa tuổi. 36 00:01:39,570 --> 00:01:43,490 >> Bây giờ chỉ trong một thời điểm tôi sẽ có thể để có được tại mỗi ints trong mảng này 37 00:01:43,490 --> 00:01:47,270 tương tự bằng cách khung vuông ký hiệu, bắt đầu từ 0. 38 00:01:47,270 --> 00:01:51,720 Vì vậy, hãy tiến hành tại trong vòng một để nhắc nhở người sử dụng cho các lứa tuổi của họ. 39 00:01:51,720 --> 00:01:54,780 Cho int tôi nhận được 0. 40 00:01:54,780 --> 00:01:59,464 Tôi nhỏ hơn N, số lượng người trong phòng, tôi cộng với cộng. 41 00:01:59,464 --> 00:02:06,610 >> Và bây giờ trong vòng lặp này, chúng ta hãy nói printf tuổi số người, phần trăm tôi 42 00:02:06,610 --> 00:02:09,430 là một giữ chỗ, dấu phẩy. 43 00:02:09,430 --> 00:02:13,210 Và bây giờ, chứ không phải là bắt đầu đếm từ 0 trong chương trình riêng của mình, chúng ta hãy ở 44 00:02:13,210 --> 00:02:17,180 ít nhất là tăng tôi 1 để bình thường người sử dụng chương trình này 45 00:02:17,180 --> 00:02:20,120 không phải đếm như một khoa học máy tính có thể. 46 00:02:20,120 --> 00:02:26,130 Bây giờ chúng ta làm các lứa tuổi, khung I, do đó xác định rằng tuổi thứ i trong của chúng tôi 47 00:02:26,130 --> 00:02:31,480 loạt các lứa tuổi sẽ nhận được giá trị trả lại getInt. 48 00:02:31,480 --> 00:02:37,800 >> Bây giờ dưới vòng lặp này, chúng ta hãy tiến hành cho rằng một số thời gian trôi qua. 49 00:02:37,800 --> 00:02:41,690 Và bây giờ chúng ta tiến hành trong vòng một để tất cả mọi người trong phòng thực sự già 50 00:02:41,690 --> 00:02:42,800 một năm. 51 00:02:42,800 --> 00:02:48,110 Vì vậy, một lần nữa, cho int tôi nhận được 0, tôi ít hơn N, số lượng người trong 52 00:02:48,110 --> 00:02:49,680 phòng, tôi cộng với cộng. 53 00:02:49,680 --> 00:02:57,210 >> Và bây giờ bên trong vòng lặp này, chúng ta hãy nói printf một năm kể từ bây giờ số người, 54 00:02:57,210 --> 00:03:00,990 phần trăm tôi là một giữ chỗ, sẽ được, phần trăm tôi là một 55 00:03:00,990 --> 00:03:03,210 giữ chỗ, tuổi. 56 00:03:03,210 --> 00:03:07,230 Và sau đó để cắm vào những giữ chỗ, trước tiên hãy nói rằng tôi cộng 57 00:03:07,230 --> 00:03:11,220 1, do đó, một lần nữa chúng tôi bắt đầu đếm cho người sử dụng từ 1. 58 00:03:11,220 --> 00:03:18,630 Và sau đó hãy cắm vào tuổi của người đó như lứa tuổi khung I cộng với 1, do đó 59 00:03:18,630 --> 00:03:23,740 xác định đi lấy tuổi thứ i trong của chúng tôi loạt các lứa tuổi, thêm 1 vào nó, và sau đó 60 00:03:23,740 --> 00:03:28,370 chèn số tiền đó vào giữ chỗ của chúng tôi, dấu ngoặc đóng, dấu chấm phẩy. 61 00:03:28,370 --> 00:03:33,280 >> Bây giờ chúng ta biên dịch chương trình này với make lứa tuổi, và chúng ta hãy chạy nó với dấu chấm 62 00:03:33,280 --> 00:03:34,990 cắt giảm các lứa tuổi. 63 00:03:34,990 --> 00:03:38,770 Và giả sử rằng chỉ có ba người ở trong phòng, và một người nào đó là 18, 64 00:03:38,770 --> 00:03:40,700 một người nào đó là 19, một người nào đó là 20. 65 00:03:40,700 --> 00:03:45,350 Vâng, trong một năm, mỗi người người sẽ là 19, 20, và 21, 66 00:03:45,350 --> 00:03:46,600 tương ứng. 67 00:03:46,600 --> 00:03:48,948