1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> Jason Hirschhorn: Chào mừng bạn đến CS50 phần, tất cả mọi người. 3 00:00:08,650 --> 00:00:11,430 Tôi tên là Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Tôi là một người rất nhiều TF của bạn, nhưng rất nhiều người hy vọng sẽ được tham gia với chúng tôi 5 00:00:15,850 --> 00:00:20,420 trực tuyến, sinh viên mở rộng hoặc sinh viên cố gắng xem xét thông qua phần nếu họ 6 00:00:20,420 --> 00:00:22,830 bỏ qua phần của họ trong tuần đó hoặc chỉ bắt kịp nếu họ muốn 7 00:00:22,830 --> 00:00:24,510 xem xét một số tài liệu. 8 00:00:24,510 --> 00:00:30,060 >> Như vậy, theo các giáo trình, mà tất cả các bạn đã đọc, có đúng không? 9 00:00:30,060 --> 00:00:31,390 Tôi nhìn thấy rất nhiều gật đầu. 10 00:00:31,390 --> 00:00:34,220 Phần cung cấp cho bạn cơ hội khám phá của khóa học 11 00:00:34,220 --> 00:00:37,420 vật liệu trong một môi trường thân mật hơn, cũng như đi sâu vào 12 00:00:37,420 --> 00:00:38,810 thực hành các hoạt động. 13 00:00:38,810 --> 00:00:41,230 >> Vì vậy, đó là cơ bản những gì chúng tôi sẽ được thực hiện mỗi tuần. 14 00:00:41,230 --> 00:00:45,090 Chúng ta sẽ đi qua những gì chúng ta có xác định là quan trọng nhất 15 00:00:45,090 --> 00:00:49,170 chủ đề trong bài giảng, và những cái có lẽ cũng hữu ích nhất và 16 00:00:49,170 --> 00:00:52,780 nhiều khả năng để đi lên trên bộ vấn đề và trong câu đố, và trong mã hóa của bạn 17 00:00:52,780 --> 00:00:53,970 cuộc sống bên ngoài của CS50. 18 00:00:53,970 --> 00:00:57,260 Vì vậy, chúng ta sẽ đi vào những chủ đề, thảo luận, đi qua chúng, 19 00:00:57,260 --> 00:01:00,660 trả lời bất kỳ câu hỏi các bạn có, và sau đó chúng ta sẽ làm được rất nhiều 20 00:01:00,660 --> 00:01:02,250 vấn đề thực hành trong mã hóa. 21 00:01:02,250 --> 00:01:04,239 >> Tất cả các bạn mang máy tính xách tay, mà là tuyệt vời. 22 00:01:04,239 --> 00:01:05,710 Đây là một lớp khoa học máy tính. 23 00:01:05,710 --> 00:01:10,070 Tuy nhiên, rất nhiều các bài tập chúng tôi, bạn sẽ không cần máy tính xách tay của bạn cho. 24 00:01:10,070 --> 00:01:11,720 Bạn có thể làm cho họ trên một tờ giấy. 25 00:01:11,720 --> 00:01:13,580 Đó là cách bạn sẽ làm cho họ trên các câu đố. 26 00:01:13,580 --> 00:01:16,450 Và quả thật, đó là một cách tuyệt vời để thực sự biết rằng bạn làm thế nào để 27 00:01:16,450 --> 00:01:19,720 một cái gì đó nếu bạn không có kiểm tra 50 dựa trên hoặc Hãy để dựa vào, nói 28 00:01:19,720 --> 00:01:20,620 bạn đã thực hiện bất kỳ lỗi nào. 29 00:01:20,620 --> 00:01:25,670 >> Vì vậy, bạn đang chào đón để mã trên thiết bị hoặc run.cs50.net, đó là 30 00:01:25,670 --> 00:01:29,770 một công cụ cho phép bạn mã trực tuyến, nhưng tôi cũng muốn giới thiệu, nếu 31 00:01:29,770 --> 00:01:32,280 bạn đã không thử nó, sử dụng một bảng giấy và cố gắng thực hành những 32 00:01:32,280 --> 00:01:33,640 vấn đề trên một tờ giấy. 33 00:01:33,640 --> 00:01:35,330 Bởi vì một lần nữa, đó là cuối cùng những gì bạn sẽ được 34 00:01:35,330 --> 00:01:37,430 yêu cầu làm bài kiểm tra trên. 35 00:01:37,430 --> 00:01:44,080 >> Vì vậy, chúng ta hãy bắt đầu với chúng tôi chương trình nghị sự cho ngày hôm nay. 36 00:01:44,080 --> 00:01:47,710 Chúng ta sẽ đi qua một số chỉ tiêu cho phần của chúng tôi, sau đó chúng ta sẽ đi sâu 37 00:01:47,710 --> 00:01:51,180 vào mảng, chức năng, và dòng lệnh đối số, đó là những gì các bạn 38 00:01:51,180 --> 00:01:56,200 đã bao phủ trong tuần qua trong bài giảng và sau đó thứ hai, và những gì bạn sẽ bao gồm 39 00:01:56,200 --> 00:01:57,330 hơn trong tương lai. 40 00:01:57,330 --> 00:01:59,060 Và cuối cùng, chúng ta sẽ để nói về pset2. 41 00:01:59,060 --> 00:02:03,640 Nếu tôi có thể có được một giơ tay nếu bạn đã không nhìn vào các vấn đề thiết lập hai 42 00:02:03,640 --> 00:02:04,890 đặc điểm kỹ thuật. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Chúng tôi sẽ nói tất cả mọi người. 45 00:02:08,120 --> 00:02:09,419 Tuyệt vời. 46 00:02:09,419 --> 00:02:12,070 >> Chúng tôi sẽ nói về bài tập trong một chút, nhưng nếu bạn đọc những bộ vấn đề 47 00:02:12,070 --> 00:02:14,340 đặc điểm kỹ thuật, đó là tất cả các bạn cần phải làm. 48 00:02:14,340 --> 00:02:18,370 Nếu bạn đọc trước khi bạn đến lớp và phần thứ ba, bạn sẽ 49 00:02:18,370 --> 00:02:19,220 là một vị trí tuyệt vời. 50 00:02:19,220 --> 00:02:21,680 Chúng ta có thể đi qua các thiết lập vấn đề, đó là những gì chúng ta sẽ 51 00:02:21,680 --> 00:02:22,090 làm ở cuối. 52 00:02:22,090 --> 00:02:23,500 Chúng ta sẽ đi qua logic, đảm bảo 53 00:02:23,500 --> 00:02:24,710 tất cả mọi người là trên cùng một trang. 54 00:02:24,710 --> 00:02:28,650 >> Tôi muốn các bạn có thể để lại thứ ba cảm thấy rất thoải mái với những gì bạn 55 00:02:28,650 --> 00:02:31,560 cần làm cho bộ vấn đề của tuần này, và nếu bạn không, tôi sẽ hạnh phúc 56 00:02:31,560 --> 00:02:33,050 ở lại sau và làm việc với bạn. 57 00:02:33,050 --> 00:02:36,850 Nhưng đó là một điều mà bạn phải làm nhưng tôi nghĩ rằng sẽ thực sự thông minh, 58 00:02:36,850 --> 00:02:40,500 chỉ để đọc tập vấn đề đặc điểm kỹ thuật của lớp ngày Thứ ba, 59 00:02:40,500 --> 00:02:42,640 mà nó có vẻ giống như một rất nhiều các bạn đã làm. 60 00:02:42,640 --> 00:02:45,810 >> Tôi sẽ bắt đầu với một chương trình nghị sự mỗi lớp vì vậy bạn có biết chúng ta đang đi. 61 00:02:45,810 --> 00:02:49,520 Điều này cũng hữu ích cho những người xem trực tuyến bởi vì mỗi phần 62 00:02:49,520 --> 00:02:53,540 được mã màu sắc, vì vậy nếu bạn muốn đến trở lại và chỉ xem 10 phút thay 63 00:02:53,540 --> 00:02:56,950 hơn thế toàn bộ phần 90 phút, bạn chỉ có thể đi với màu sắc phần mã 64 00:02:56,950 --> 00:02:57,890 và nhìn vào phần đó. 65 00:02:57,890 --> 00:03:01,510 Vì vậy, tôi đã cố gắng để phá vỡ chúng thành đẹp mô-đun mà sẽ cho phép bạn - 66 00:03:01,510 --> 00:03:03,960 nếu bạn muốn quay trở lại và xem xét, hoặc sinh viên khác, những người chỉ 67 00:03:03,960 --> 00:03:05,350 xem một phần để xem xét - 68 00:03:05,350 --> 00:03:08,130 để tìm thấy những điều cụ thể mà họ muốn chú ý đến 69 00:03:08,130 --> 00:03:10,480 và tìm hiểu thêm về. 70 00:03:10,480 --> 00:03:11,390 Ngọt ngào. 71 00:03:11,390 --> 00:03:12,180 >> Định mức. 72 00:03:12,180 --> 00:03:13,680 Tôi là một nhà lãnh đạo FOP trong khuôn viên trường. 73 00:03:13,680 --> 00:03:14,900 Tôi không biết nếu ai đã làm FOP. 74 00:03:14,900 --> 00:03:16,280 Có ai làm FOP? 75 00:03:16,280 --> 00:03:17,100 Một người đã làm FOP. 76 00:03:17,100 --> 00:03:18,430 Hai người đã làm FOP. 77 00:03:18,430 --> 00:03:19,250 Tuyệt vời. 78 00:03:19,250 --> 00:03:22,360 Vì vậy, FOP là năm đầu tiên ngoài trời Chương trình định hướng. 79 00:03:22,360 --> 00:03:27,240 Chúng tôi có tân sinh viên vào rừng và thực hiện những kinh nghiệm huyền diệu nhất của 80 00:03:27,240 --> 00:03:28,830 cuộc sống của họ, đúng không? 81 00:03:28,830 --> 00:03:29,220 Vâng. 82 00:03:29,220 --> 00:03:30,080 Âm thanh về bên phải. 83 00:03:30,080 --> 00:03:36,360 >> Vì vậy, tôi chỉ muốn bắt đầu của chúng tôi đầu tiên phần bằng cách thảo luận một số định mức 84 00:03:36,360 --> 00:03:38,860 cho các lớp học và mối quan hệ của chúng tôi vì tôi nghĩ rằng 85 00:03:38,860 --> 00:03:40,010 họ là rất quan trọng. 86 00:03:40,010 --> 00:03:43,630 Trước hết, như những người bạn của người là phần của tôi đã nhận được và 87 00:03:43,630 --> 00:03:47,150 đã được thảo luận trong đó email, tôi yêu này. 88 00:03:47,150 --> 00:03:48,130 Đây là một phần yêu thích của tôi trong năm. 89 00:03:48,130 --> 00:03:49,100 Tôi đã rất vui mừng. 90 00:03:49,100 --> 00:03:50,040 Tôi đã ở đây hàng giờ đồng hồ ngày hôm nay. 91 00:03:50,040 --> 00:03:54,560 Tôi đã không để lại tòa nhà này ngoại trừ việc đi ăn vì tôi yêu CS50 phần, tôi 92 00:03:54,560 --> 00:03:58,620 yêu giảng dạy, tôi thích làm việc với các bạn. 93 00:03:58,620 --> 00:04:02,000 >> Một trong những ưu tiên cao nhất của tôi, nếu không tôi ưu tiên số một, không chỉ cho 94 00:04:02,000 --> 00:04:05,130 lớp này bao gồm nhưng khác của tôi các lớp học và extracurriculars, là 95 00:04:05,130 --> 00:04:09,350 hỗ trợ các bạn, và giúp đỡ các bạn, và làm hết sức mình để đảm bảo rằng bạn 96 00:04:09,350 --> 00:04:13,780 kẻ có một tuyệt vời, vui vẻ, sản xuất, hấp dẫn, thú vị 97 00:04:13,780 --> 00:04:15,250 kinh nghiệm trong lớp học này. 98 00:04:15,250 --> 00:04:16,190 Đó là những gì tôi đang cam kết. 99 00:04:16,190 --> 00:04:17,959 Đó là lý do tại sao tôi yêu để làm điều này. 100 00:04:17,959 --> 00:04:20,190 Đó là một điều tôi số, hỗ trợ các bạn. 101 00:04:20,190 --> 00:04:25,110 Nếu bạn có thắc mắc về bài giảng, bộ vấn đề, phần, 102 00:04:25,110 --> 00:04:28,830 cuộc sống, ngay cả khi bạn muốn nói về cuộc sống, xin vui lòng để tiếp cận. 103 00:04:28,830 --> 00:04:31,210 >> Bạn có số điện thoại di động của tôi, bạn có email của tôi 104 00:04:31,210 --> 00:04:32,910 địa chỉ, bạn có Gchat của tôi. 105 00:04:32,910 --> 00:04:37,540 Bạn có thể liên hệ với tôi tại bất kỳ hoặc tất cả các những người bất cứ khi nào, nhưng có thể sẽ không nhận được 106 00:04:37,540 --> 00:04:38,720 một phản ứng bất cứ khi nào. 107 00:04:38,720 --> 00:04:41,020 Tôi cố gắng và nhận được trở lại trong vòng 24 giờ. 108 00:04:41,020 --> 00:04:44,760 Thông thường nó sẽ nằm trong 20 phút hoặc 24 phút. 109 00:04:44,760 --> 00:04:46,110 Tôi có nên nói rằng để làm cho nó song song. 110 00:04:46,110 --> 00:04:48,840 Nhưng bạn sẽ nhận được một phản ứng khá nhanh chóng. 111 00:04:48,840 --> 00:04:54,220 >> Nếu bạn nhắn tin cho tôi một giờ trước khi bộ vấn đề là do, tôi sẽ bình tĩnh bạn 112 00:04:54,220 --> 00:04:57,660 xuống và làm các bài tập thở sâu với bạn, nhưng nếu bạn chưa bắt đầu, 113 00:04:57,660 --> 00:05:00,270 bạn có thể sẽ không hoàn thành, và Tôi có thể không thực sự giúp bạn có 114 00:05:00,270 --> 00:05:01,710 mặc dù tôi sẽ cố gắng tốt nhất của tôi. 115 00:05:01,710 --> 00:05:03,920 Vì vậy, tôi sẽ làm tất cả mọi thứ Tôi có thể hỗ trợ bạn. 116 00:05:03,920 --> 00:05:07,980 Xin vui lòng để tiếp cận với liệu đó là trong phần một lần nữa, tại Thời gian làm việc 117 00:05:07,980 --> 00:05:09,150 nếu bạn nhìn thấy tôi, hoặc thậm chí bên ngoài. 118 00:05:09,150 --> 00:05:11,800 Tôi đang hạnh phúc để thiết lập một thời gian để đáp ứng và làm việc thông qua các vấn đề 119 00:05:11,800 --> 00:05:14,410 có hoặc đi qua vật chất. 120 00:05:14,410 --> 00:05:15,990 Vì vậy, đó là số một, hỗ trợ. 121 00:05:15,990 --> 00:05:17,940 Tôi sẽ làm tất cả mọi thứ tôi có thể hỗ trợ bạn. 122 00:05:17,940 --> 00:05:21,520 >> Số hai, cuộc họp ở giữa. 123 00:05:21,520 --> 00:05:24,760 Nhiều như tôi muốn có, tôi không toàn năng hay toàn năng hoặc 124 00:05:24,760 --> 00:05:28,410 biết tất cả, vì vậy tôi không biết tất cả các thời gian nếu những gì tôi đang làm là nhận được 125 00:05:28,410 --> 00:05:33,410 trên, nếu theo cách tôi đang giảng dạy chủ đề sẽ giúp bạn tìm hiểu nó, hoặc nếu bạn 126 00:05:33,410 --> 00:05:36,120 đang bối rối về một chủ đề nhưng không nâng cao tay của bạn hoặc yêu cầu tôi 127 00:05:36,120 --> 00:05:37,390 hoặc gửi cho tôi một email. 128 00:05:37,390 --> 00:05:42,150 Hoặc thậm chí nếu bạn, một lần nữa, đang bối rối về một cái gì đó trên bộ vấn đề. 129 00:05:42,150 --> 00:05:44,240 Nếu bạn không tiếp cận với tôi, Tôi không thể biết rằng chắc chắn. 130 00:05:44,240 --> 00:05:46,950 Tôi sẽ làm hết sức mình để kiểm tra trên các bạn, hãy chắc chắn rằng tất cả mọi thứ 131 00:05:46,950 --> 00:05:51,170 tiến triển tốt, cố gắng dạy những điều một cách đó sẽ có lợi cho hầu hết 132 00:05:51,170 --> 00:05:54,910 phong cách học tập của bạn, nhưng nếu có bất cứ điều gì tôi có thể làm, cho tôi biết. 133 00:05:54,910 --> 00:05:58,520 >> Theo hướng này, nếu bạn muốn giúp đỡ với bộ vấn đề, tôi hơn 134 00:05:58,520 --> 00:05:59,700 hạnh phúc hơn để giúp bạn với bộ vấn đề. 135 00:05:59,700 --> 00:06:02,300 Chúng ta sẽ làm được rất nhiều rằng đối với thứ hai 136 00:06:02,300 --> 00:06:03,460 một nửa của phần này. 137 00:06:03,460 --> 00:06:06,040 Nhưng nếu bạn đã không đọc những vấn đề đặt ra trở lại và đã không xem đi bộ 138 00:06:06,040 --> 00:06:09,310 thông qua và đã không xem những phim ngắn và hy vọng tôi để dạy cho bạn 139 00:06:09,310 --> 00:06:13,260 tất cả mọi thứ đã được ghi hình hoặc trực tuyến mà bạn có thể tìm thấy ở CS50 140 00:06:13,260 --> 00:06:16,720 nghiên cứu, đó là không thực sự công bằng để tôi hay các đồng nghiệp khác của bạn. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Vì vậy, xin vui lòng, tôi đang hạnh phúc hơn để giúp bạn, nhưng các bạn đã gặp tôi trong 143 00:06:25,730 --> 00:06:27,230 giữa. 144 00:06:27,230 --> 00:06:30,100 Chúng tôi đã tấn các nguồn lực cho bạn có sẵn trên CS50. 145 00:06:30,100 --> 00:06:31,230 Tôi đã đề cập một số người trong số họ. 146 00:06:31,230 --> 00:06:32,960 Hãy tận dụng lợi thế của họ. 147 00:06:32,960 --> 00:06:35,140 Nếu bạn đang bối rối, tôi đang hạnh phúc hơn để giúp bạn giải thích cho họ trong 148 00:06:35,140 --> 00:06:39,290 một cách khác, nhưng thật không công bằng nếu sinh viên hiện tại giờ làm việc, 149 00:06:39,290 --> 00:06:42,530 đã không bắt đầu bất cứ điều gì, và nó Thứ năm đêm và họ đang mong đợi 150 00:06:42,530 --> 00:06:45,880 TF đi bộ chúng thông qua mỗi đơn điều cho vấn đề thiết lập do 151 00:06:45,880 --> 00:06:47,140 vào buổi trưa ngày hôm sau. 152 00:06:47,140 --> 00:06:48,300 Có ý nghĩa? 153 00:06:48,300 --> 00:06:50,890 Một lần nữa, xin vui lòng gặp chúng tôi ở giữa. 154 00:06:50,890 --> 00:06:53,230 >> Và cuối cùng, kỳ vọng cao. 155 00:06:53,230 --> 00:06:58,010 Tôi sẽ được chấm điểm tất cả mọi người là trong phần của tôi, hay chấm điểm của bạn 156 00:06:58,010 --> 00:06:59,020 bộ vấn đề. 157 00:06:59,020 --> 00:07:01,240 Bạn đã không quay trở lại vấn đề thiết lập không hoặc một được nêu ra. 158 00:07:01,240 --> 00:07:02,250 Chúng tôi xin lỗi về điều đó. 159 00:07:02,250 --> 00:07:04,970 Chúng tôi đã mất một thời gian để cuối cùng giải quyết phần, và bây giờ 160 00:07:04,970 --> 00:07:05,560 chúng ta có thể bắt đầu phân loại. 161 00:07:05,560 --> 00:07:09,560 >> Tôi sẽ lấy lại cho bạn càng sớm càng tốt. 162 00:07:09,560 --> 00:07:11,890 Đó là một số của tôi advisees ra khỏi đó. 163 00:07:11,890 --> 00:07:14,150 Tôi sẽ lấy lại cho bạn càng sớm càng tốt. 164 00:07:14,150 --> 00:07:18,046 Và vấn đề thiết lập hai, chúng ta sẽ ở lịch và chúng tôi sẽ bắt đầu nhận được chúng 165 00:07:18,046 --> 00:07:20,440 cho bạn khá nhanh chóng sau khi bạn bật chúng in 166 00:07:20,440 --> 00:07:24,130 >> Khi bạn nhận được vấn đề của bạn thiết lập trở lại, bạn sẽ có được điểm số, mà bạn biết 167 00:07:24,130 --> 00:07:28,150 đọc các giáo trình - chính xác, thiết kế, phạm vi và phong cách điểm số. 168 00:07:28,150 --> 00:07:29,760 Bạn cũng sẽ nhận được ý kiến. 169 00:07:29,760 --> 00:07:32,160 Các ý kiến ​​quan trọng hơn hơn điểm số. 170 00:07:32,160 --> 00:07:33,780 Tôi nghĩ rằng nó an toàn để nói rằng. 171 00:07:33,780 --> 00:07:37,930 >> Điểm chỉ là một số từ một đến năm. 172 00:07:37,930 --> 00:07:38,930 Thật khó để đọc vào những người. 173 00:07:38,930 --> 00:07:40,720 Thật khó để cải thiện từ những người. 174 00:07:40,720 --> 00:07:44,460 Nhưng các ý kiến ​​sẽ chỉ ra cụ thể những điều bạn đã làm tốt hoặc các khu vực 175 00:07:44,460 --> 00:07:48,360 bạn có thể cải thiện và cung cấp cho bạn một số ý tưởng cho tương lai hoặc thay thế 176 00:07:48,360 --> 00:07:49,160 cách làm việc. 177 00:07:49,160 --> 00:07:52,270 >> Vì vậy, xin vui lòng, xin vui lòng, xin vui lòng đọc thông qua các ý kiến. 178 00:07:52,270 --> 00:07:54,190 Tôi đặt rất nhiều thời gian vào những ý kiến. 179 00:07:54,190 --> 00:07:57,190 Xin vui lòng đọc qua và không chỉ di chuyển xuống phía dưới cùng của 180 00:07:57,190 --> 00:08:01,890 PDF, tìm kiếm điểm số của bạn, hoặc đi trực tuyến và tìm thấy điểm số của bạn, và sau đó bỏ qua 181 00:08:01,890 --> 00:08:02,800 các ý kiến. 182 00:08:02,800 --> 00:08:03,910 Đó không phải là cách bạn sẽ tốt hơn. 183 00:08:03,910 --> 00:08:06,550 Đó không phải là cách bạn sẽ tăng điểm cuối cùng của bạn, chỉ cần 184 00:08:06,550 --> 00:08:07,340 bằng cách nhìn vào điểm số. 185 00:08:07,340 --> 00:08:08,760 Hãy nhìn vào những ý kiến. 186 00:08:08,760 --> 00:08:13,240 >> Và theo hướng kỳ vọng cao, một lần nữa, như tôi đã nói, bạn 187 00:08:13,240 --> 00:08:14,260 có thể ghi bàn từ một đến năm. 188 00:08:14,260 --> 00:08:17,120 Twos, chia thành ba, và bốn chân là Phần lớn các điểm 189 00:08:17,120 --> 00:08:17,940 bạn sẽ nhận được. 190 00:08:17,940 --> 00:08:20,180 Những người thân và đập tay là cả hai thực sự hiếm. 191 00:08:20,180 --> 00:08:21,720 Luôn luôn có những điều chúng ta có thể làm tốt hơn. 192 00:08:21,720 --> 00:08:23,490 Bất cứ khi nào tôi mã một chương trình, có luôn luôn một cái gì đó tôi 193 00:08:23,490 --> 00:08:24,800 đã có thể làm tốt hơn. 194 00:08:24,800 --> 00:08:28,740 >> Vì vậy, thay vì nói rằng bạn có được một năm tất cả các thời gian trên tất cả mọi thứ và làm 195 00:08:28,740 --> 00:08:31,960 tất cả mọi thứ hoàn hảo, tôi không nghĩ rằng bất kỳ chúng ta thực sự tin rằng chúng ta - hoặc 196 00:08:31,960 --> 00:08:34,830 hy vọng, chúng ta không làm tất cả mọi thứ hoàn thiện tất cả các thời gian. 197 00:08:34,830 --> 00:08:37,010 Do đó, không phải lo lắng nếu bạn đã không nhận được một năm. 198 00:08:37,010 --> 00:08:40,470 Một năm không có bản đồ vào một một, bốn không có bản đồ vào một B, một ba không 199 00:08:40,470 --> 00:08:42,950 không bản đồ vào một C. Đó là không cách điểm làm việc. 200 00:08:42,950 --> 00:08:48,140 >> Như David đã nói nhiều lần, tại cuối học kỳ của tất cả các điểm số của bạn và 201 00:08:48,140 --> 00:08:53,390 đầu vào từ tôi, TF của bạn, đến với nhau và xác định một lớp cuối cùng cho bạn. 202 00:08:53,390 --> 00:08:56,760 Nhưng một lần nữa, nó không phải là năm, A, bốn, B, vân vân. 203 00:08:56,760 --> 00:09:01,150 Vì vậy, tôi sẽ có những kỳ vọng cao cho các bạn. 204 00:09:01,150 --> 00:09:03,670 Tôi sẽ mong đợi vấn đề tốt bộ và tôi sẽ cung cấp cho 205 00:09:03,670 --> 00:09:05,010 bạn thông tin phản hồi như vậy. 206 00:09:05,010 --> 00:09:07,430 Và nó sẽ không có nghĩa là bạn sẽ nhận được một lớp tồi tệ hơn. 207 00:09:07,430 --> 00:09:09,760 Bạn đang phân loại về tiến bộ của bạn từ tuần 208 00:09:09,760 --> 00:09:11,260 bằng không đến cuối khóa học của. 209 00:09:11,260 --> 00:09:17,190 >> Và cuối cùng, về cao mong đợi trong lớp, tôi yêu khi 210 00:09:17,190 --> 00:09:18,460 người tham gia. 211 00:09:18,460 --> 00:09:23,180 Tôi hiểu một số người cảm thấy nhiều hơn hoặc ít thoải mái tham gia. 212 00:09:23,180 --> 00:09:26,050 Những người khác đang tham gia không bằng cách nâng cao tay của họ và 213 00:09:26,050 --> 00:09:27,320 nói tất cả các thời gian. 214 00:09:27,320 --> 00:09:30,570 Nhưng chúng tôi trong lớp này sẽ được làm rất nhiều vấn đề nhỏ, rất nhiều 215 00:09:30,570 --> 00:09:33,770 câu hỏi nhỏ, và sau đó một số lớn hơn mã hóa vấn đề. 216 00:09:33,770 --> 00:09:36,760 Vì vậy, chắc chắn việc các bài tập ra khi chúng ta làm cho họ trên máy tính của bạn hoặc trên 217 00:09:36,760 --> 00:09:37,900 một tờ giấy. 218 00:09:37,900 --> 00:09:40,933 >> Nhưng tôi cũng sẽ cung cấp cho bạn một số thời gian trước khi ai bao giờ phải trả lời một số 219 00:09:40,933 --> 00:09:42,220 trong những câu hỏi tôi hỏi. 220 00:09:42,220 --> 00:09:44,930 Vì vậy, bởi vì tôi sẽ cung cấp cho bạn một thời gian để suy nghĩ về nó, bởi vì chúng ta sẽ 221 00:09:44,930 --> 00:09:49,380 để làm những việc trong các đối tác đôi khi, Tôi sẽ mong đợi tất cả mọi người 222 00:09:49,380 --> 00:09:52,150 để được tham gia phần nào. 223 00:09:52,150 --> 00:09:56,030 Và vì thiếu một thuật ngữ tốt hơn, có có thể sẽ được gọi điện lạnh, mà 224 00:09:56,030 --> 00:09:59,045 là nơi mà tất cả mọi người sẽ có cơ hội để suy nghĩ về câu trả lời, và sau đó 225 00:09:59,045 --> 00:10:01,150 Tôi sẽ kêu gọi các bạn, và sau đó bạn sẽ nói câu trả lời. 226 00:10:01,150 --> 00:10:05,200 >> Đừng lo lắng hay sợ hãi về điều đó. 227 00:10:05,200 --> 00:10:08,610 Tôi đã thực hiện nó trong quá khứ và chúng tôi đã tìm thấy rằng nó nhiều hơn nữa thành công, 228 00:10:08,610 --> 00:10:11,810 cũng đọc nghiên cứu giáo dục vào nó để xác định có hay không nó là một 229 00:10:11,810 --> 00:10:12,640 chiến thuật tốt. 230 00:10:12,640 --> 00:10:15,790 Nó rất hữu ích, đặc biệt là nếu bạn cho học sinh thời gian để suy nghĩ về 231 00:10:15,790 --> 00:10:20,070 câu trả lời và không làm cho họ chỉ đến ra và nói nó phải off the bat. 232 00:10:20,070 --> 00:10:22,620 Nhưng nếu bạn không cảm thấy thoải mái trả lời, tôi cũng khá tốt 233 00:10:22,620 --> 00:10:25,370 cảm biến mà ra, và chúng tôi sẽ không đặt bạn vào vị trí, đặc biệt là trên 234 00:10:25,370 --> 00:10:28,240 máy ảnh, mặc dù không ai trong số bạn đang ở trên máy ảnh ngay bây giờ. 235 00:10:28,240 --> 00:10:32,250 >> Vì vậy, đó là những tiêu chuẩn tôi có. 236 00:10:32,250 --> 00:10:34,670 Một điều nữa dọc theo dòng đáp ứng ở giữa. 237 00:10:34,670 --> 00:10:36,490 Tôi sẽ cho các bạn rất nhiều thông tin phản hồi. 238 00:10:36,490 --> 00:10:38,310 Xin vui lòng cho tôi thông tin phản hồi là tốt. 239 00:10:38,310 --> 00:10:46,190 Có một trang web, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Vì vậy, nó là một phản hồi trung thực. 241 00:10:48,380 --> 00:10:50,730 Nếu bạn muốn cung cấp cho nó trong phần, Tôi nhận được một email bất cứ khi nào nó sẽ xảy ra. 242 00:10:50,730 --> 00:10:53,820 Chúng tôi sẽ nghỉ ngơi một chút, vì vậy tôi sẽ xem xét thông qua các thông tin phản hồi sau đó. 243 00:10:53,820 --> 00:10:55,970 Nếu bạn có bất kỳ thông tin phản hồi, xin vui lòng cung cấp cho nó để tôi có. 244 00:10:55,970 --> 00:11:01,380 >> Nếu bạn cung cấp cho tôi thông tin phản hồi trên Q, đó là tuyệt vời, nhưng đó là hướng dẫn 245 00:11:01,380 --> 00:11:02,570 mà bạn làm ở cuối. 246 00:11:02,570 --> 00:11:05,690 Nhưng điều đó sẽ được vào cuối học kỳ để Tôi sẽ không thể để có được điều đó 247 00:11:05,690 --> 00:11:08,620 thông tin phản hồi và biến nó thành giảng dạy các bạn tốt hơn. 248 00:11:08,620 --> 00:11:11,020 Vì vậy, xin vui lòng, nếu bạn có bất kỳ thông tin phản hồi, đưa nó cho tôi. 249 00:11:11,020 --> 00:11:12,010 Tôi yêu phản hồi. 250 00:11:12,010 --> 00:11:14,490 Sao để FOP, chúng tôi nhận được phản hồi tất cả các thời gian. 251 00:11:14,490 --> 00:11:18,610 >> Bạn có thể cho tôi mặt được, những điều tốt đẹp, vùng đồng bằng, điều tôi có thể cải tiến. 252 00:11:18,610 --> 00:11:20,600 Bạn có thể nhận xét về trang phục của tôi. 253 00:11:20,600 --> 00:11:24,170 Điều đó sẽ không thể là hữu ích, nhưng bạn hoan nghênh nhận xét về bất kỳ và 254 00:11:24,170 --> 00:11:24,570 tất cả mọi thứ. 255 00:11:24,570 --> 00:11:26,280 Xin vui lòng, xin vui lòng cho tôi thông tin phản hồi. 256 00:11:26,280 --> 00:11:28,740 Tôi đánh giá nó rất nhiều và nó có nghĩa là rất nhiều cho tôi. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Là một trong nhiều tiêu chuẩn, vui vẻ. 259 00:11:33,280 --> 00:11:34,530 Chúng ta sẽ có rất nhiều niềm vui. 260 00:11:34,530 --> 00:11:36,930 Hy vọng rằng trong khóa học này, bạn sẽ có rất nhiều niềm vui. 261 00:11:36,930 --> 00:11:38,780 Chúng tôi sẽ có kẹo ở phần. 262 00:11:38,780 --> 00:11:40,040 Chúng tôi sẽ có âm nhạc. 263 00:11:40,040 --> 00:11:45,510 Chúng tôi sẽ hy vọng tìm hiểu một một phần nào tốt, vì vậy tôi muốn 264 00:11:45,510 --> 00:11:47,690 đây là một niềm vui, kinh nghiệm tham gia. 265 00:11:47,690 --> 00:11:50,890 >> Tôi biết một số bạn đã ngủ trong các bài giảng mà bạn đã có trước đó ngày hôm nay, 266 00:11:50,890 --> 00:11:53,750 để hy vọng rằng sẽ không có trường hợp hiện nay. 267 00:11:53,750 --> 00:11:55,960 Và nếu đó là trường hợp hiện nay, chỉ cần không ngáy vì mà có thể 268 00:11:55,960 --> 00:11:57,580 được ghi lại trên máy ảnh. 269 00:11:57,580 --> 00:11:58,770 Ngọt ngào. 270 00:11:58,770 --> 00:12:04,020 Mọi câu hỏi, ý kiến, hoặc quan tâm trước khi tôi chuyển về bất cứ điều gì chúng tôi đã 271 00:12:04,020 --> 00:12:05,270 nói về? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Tuyệt vời. 274 00:12:11,350 --> 00:12:14,830 >> Vì vậy, chúng ta sẽ đi vào mảng đầu tiên. 275 00:12:14,830 --> 00:12:17,140 Đây là cách bạn làm cho một mảng. 276 00:12:17,140 --> 00:12:18,410 Chúng tôi đã nhìn thấy điều này trước đây. 277 00:12:18,410 --> 00:12:21,830 Bạn có một kiểu dữ liệu, bạn có một tên, và sau đó bạn có một kích thước. 278 00:12:21,830 --> 00:12:24,430 Ngay tại đây, tôi tạo ra hai mảng. 279 00:12:24,430 --> 00:12:30,360 Người đầu tiên là một mảng kí tự, và nó có 26 gian. 280 00:12:30,360 --> 00:12:33,790 Điều thứ hai là một mảng của điểm, và nó có ba 281 00:12:33,790 --> 00:12:35,390 không gian cho ba số nguyên. 282 00:12:35,390 --> 00:12:35,827 Có? 283 00:12:35,827 --> 00:12:38,200 >> HỌC SINH: Có phải tất cả các slide có sẵn ở đâu đó cho chúng tôi? 284 00:12:38,200 --> 00:12:38,850 >> Jason Hirschhorn: Great câu hỏi. 285 00:12:38,850 --> 00:12:40,650 Câu hỏi đặt ra là, là tất cả những trang trình bày có sẵn? 286 00:12:40,650 --> 00:12:40,920 Vâng. 287 00:12:40,920 --> 00:12:43,420 Tất cả các slide sẽ có sẵn, và trong tương lai, tôi sẽ gửi email cho bạn 288 00:12:43,420 --> 00:12:44,640 bạn trước khi phần. 289 00:12:44,640 --> 00:12:47,340 Nhưng ngày hôm nay, bởi vì đây là lần đầu tiên tuần, chúng tôi đã có một sự khởi đầu muộn. 290 00:12:47,340 --> 00:12:49,675 Vì vậy, thông thường, bạn sẽ nhận được các slide, nhưng họ sẽ có sẵn trực tuyến 291 00:12:49,675 --> 00:12:52,420 Tôi sẽ gửi email cho bạn ngay sau giờ học. 292 00:12:52,420 --> 00:12:54,140 Bất kỳ câu hỏi khác? 293 00:12:54,140 --> 00:13:01,330 >> Vì vậy, một lần nữa, mảng hộp, vì thiếu một từ tốt hơn, giữ nhiều 294 00:13:01,330 --> 00:13:06,420 các yếu tố của một kiểu dữ liệu, và họ bên cạnh nhau trong bộ nhớ. 295 00:13:06,420 --> 00:13:11,370 Và như vậy một lần nữa, đây là cách bạn có thể làm hai loại mảng. 296 00:13:11,370 --> 00:13:15,090 >> Vì vậy, sau khi bạn đã thực hiện mảng của bạn với dòng đầu tiên - điểm int, khung 297 00:13:15,090 --> 00:13:17,430 ba, dấu đóng ngoặc - bạn muốn khởi tạo nó. 298 00:13:17,430 --> 00:13:19,050 Bạn muốn đặt một số giá trị trong đó. 299 00:13:19,050 --> 00:13:24,660 Và đây là cách bạn đặt một số giá trị trong có, chỉ cần lựa chọn các chỉ tiêu và 300 00:13:24,660 --> 00:13:25,670 ghi mã số. 301 00:13:25,670 --> 00:13:27,130 Chúng ta hãy vẽ này trên diễn đàn. 302 00:13:27,130 --> 00:13:28,270 Tất cả mọi người có thể nhìn thấy? 303 00:13:28,270 --> 00:13:29,030 Tất cả mọi người có thể nhìn thấy. 304 00:13:29,030 --> 00:13:30,790 Ngọt ngào. 305 00:13:30,790 --> 00:13:36,550 >> Vì vậy, đó sẽ là của tôi mảng được gọi là Điểm. 306 00:13:36,550 --> 00:13:37,730 Như bạn có thể thấy, đó là kích thước ba. 307 00:13:37,730 --> 00:13:39,210 Có ba hộp trong đó. 308 00:13:39,210 --> 00:13:43,120 Mỗi người có thể phù hợp với những gì loại kiểu dữ liệu? 309 00:13:43,120 --> 00:13:43,790 >> HỌC SINH: Integer. 310 00:13:43,790 --> 00:13:45,250 >> Jason Hirschhorn: Một số nguyên trong một này. 311 00:13:45,250 --> 00:13:48,790 Chúng tôi đã viết int điểm, và từ đầu tiên là kiểu dữ liệu đó sẽ 312 00:13:48,790 --> 00:13:50,910 đi vào các ô trong mảng đó. 313 00:13:50,910 --> 00:13:52,160 Vì vậy, tôi có thể phù hợp với ba. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Tại sao tôi không lên có trên diễn đàn? 316 00:13:57,000 --> 00:13:59,240 Tại sao nó nói điểm không bằng 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Nhắc nhở tôi về tên của bạn. 319 00:14:03,180 --> 00:14:03,470 >> HỌC SINH: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> Jason Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> HỌC SINH: Có. 322 00:14:04,480 --> 00:14:04,920 >> Jason Hirschhorn: Tại sao? 323 00:14:04,920 --> 00:14:07,230 >> HỌC SINH: Bởi vì chỉ số đầu tiên là bằng không, chúng tôi bắt đầu đếm từ số không. 324 00:14:07,230 --> 00:14:08,480 >> Jason Hirschhorn: Vì vậy, chúng ta bắt đầu đếm ở số không. 325 00:14:08,480 --> 00:14:09,580 Đó chính quyền. 326 00:14:09,580 --> 00:14:12,340 Đây là phần khó hiểu và ý chuyến đi bạn lên, đặc biệt là khi bạn 327 00:14:12,340 --> 00:14:14,900 cố gắng để lặp qua mảng, mà chúng tôi sẽ làm trong một chút. 328 00:14:14,900 --> 00:14:15,980 Chúng tôi bắt đầu đếm từ số không. 329 00:14:15,980 --> 00:14:19,170 Vì vậy, nếu tôi muốn đề cập đến đầu tiên hộp, nó không phải là một hộp. 330 00:14:19,170 --> 00:14:22,290 Thật không may, đó là hộp số không. 331 00:14:22,290 --> 00:14:26,460 Điều thứ hai là một hộp, và trong này trường hợp, một phần ba là hai hộp. 332 00:14:26,460 --> 00:14:28,700 >> Những gì về hộp ba? 333 00:14:28,700 --> 00:14:30,670 Nơi hộp ba là? 334 00:14:30,670 --> 00:14:34,750 Hoặc nếu tôi muốn làm điểm, khung ba, dấu đóng ngoặc, có chuyện gì vậy? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Vì vậy, bạn cho biết các ký tự null. 337 00:14:39,760 --> 00:14:41,600 Bất kỳ suy nghĩ khác? 338 00:14:41,600 --> 00:14:44,590 Điểm khung là những gì ba khung? 339 00:14:44,590 --> 00:14:48,045 >> HỌC SINH: Nó không thực sự tồn tại bởi vì bạn chỉ được xác định như điểm, 340 00:14:48,045 --> 00:14:49,370 khung ba. 341 00:14:49,370 --> 00:14:51,400 >> Jason Hirschhorn: Vì vậy, bạn nói nó không thực sự tồn tại. 342 00:14:51,400 --> 00:14:54,230 Trong một số trường hợp, khi chúng tôi đang làm việc với chuỗi, thường chúng tôi sẽ đặt một null 343 00:14:54,230 --> 00:14:54,790 nhân vật ở cuối. 344 00:14:54,790 --> 00:14:56,100 Chúng tôi sẽ đề cập đến trong một giây. 345 00:14:56,100 --> 00:15:01,020 Nhưng trong trường hợp này, không có hộp thứ ba ở đây. 346 00:15:01,020 --> 00:15:06,390 Vì vậy, các hộp cuối cùng trong mảng bất kỳ là kích thước trừ đi 1. 347 00:15:06,390 --> 00:15:11,310 Vì vậy, nếu chúng ta có một mảng có kích thước n, hộp đầu tiên là tại số không, sau cùng là 348 00:15:11,310 --> 00:15:12,700 tại n trừ đi 1. 349 00:15:12,700 --> 00:15:14,970 Và trong trường hợp này, nó không tồn tại. 350 00:15:14,970 --> 00:15:17,970 Có cái gì đó ở đây trong bộ nhớ, nhưng nó không phải là của chúng ta. 351 00:15:17,970 --> 00:15:18,460 Chúng tôi không sở hữu nó. 352 00:15:18,460 --> 00:15:19,570 Chúng tôi không yêu cầu nó. 353 00:15:19,570 --> 00:15:22,606 Vì vậy, nếu chúng ta cố gắng truy cập vào nó, mà chúng tôi sẽ làm trong một chút, chúng ta có thể sẽ 354 00:15:22,606 --> 00:15:24,970 gặp rắc rối. 355 00:15:24,970 --> 00:15:29,180 >> Trong trường hợp này, tôi khởi tạo của tôi mảng với ba biến. 356 00:15:29,180 --> 00:15:36,195 Chúng tôi đang đặt một trong hộp không, một hai trong hộp một và ba trong hộp hai. 357 00:15:36,195 --> 00:15:39,280 Không ai có bất kỳ câu hỏi về khởi tạo một mảng? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Vì vậy, chúng tôi đã giới này ngay bây giờ. 360 00:15:46,970 --> 00:15:52,725 Điểm số, khung ba, dấu đóng ngoặc, không tồn tại. 361 00:15:52,725 --> 00:15:58,130 Chúng tôi không được lập chỉ mục trong khoa học máy tính, vì vậy chúng tôi bắt đầu đếm từ số không. 362 00:15:58,130 --> 00:16:01,860 Hộp cuối cùng có sẵn cho chúng tôi, đó là hộp thứ ba, nhưng nó được gọi là hộp 363 00:16:01,860 --> 00:16:03,110 số hai. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Xuống dưới, đây là một sự thay thế cách khởi tạo mảng. 366 00:16:09,710 --> 00:16:13,410 Vì vậy, thay vì tạo ra các mảng trên một dòng, làm đầy hộp đầu tiên, sau đó 367 00:16:13,410 --> 00:16:17,070 hộp thứ hai, sau đó hộp thứ ba, bạn có thể làm tất cả trong một dòng. 368 00:16:17,070 --> 00:16:19,040 Vì vậy, trong dòng đó, cả hai mảng. 369 00:16:19,040 --> 00:16:23,460 Điều này tạo ra các mảng chính xác giống như những gì chúng tôi tạo ra ở đây, nhưng nó 370 00:16:23,460 --> 00:16:24,710 chỉ hiện nó trong một dòng. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Bây giờ chúng ta đã tạo ra mảng của chúng tôi. 373 00:16:31,360 --> 00:16:34,100 Thường khi bạn tạo ra một mảng, bạn muốn làm điều gì đó với nó, cho dù 374 00:16:34,100 --> 00:16:38,430 đó là điền vào nó hoặc có được những thứ ra khỏi nó và in chúng ra trên màn hình. 375 00:16:38,430 --> 00:16:42,270 Trong trường hợp này, chúng ta sẽ thông qua của chúng tôi điểm số mảng, mà chúng ta khởi tạo trên 376 00:16:42,270 --> 00:16:44,740 dòng đầu tiên lên đây trong màu xám. 377 00:16:44,740 --> 00:16:49,600 Và sau đó trên dòng thứ hai, chúng tôi bắt đầu lặp qua mảng. 378 00:16:49,600 --> 00:16:52,640 Không ai có thắc mắc về cấu trúc của một vòng lặp? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Vì vậy, đây là cho vòng lặp. 381 00:16:56,400 --> 00:16:59,530 Chúng tôi có điều kiện ban đầu của chúng tôi, và sau đó tình trạng thức của chúng tôi, và sau đó chúng tôi 382 00:16:59,530 --> 00:17:01,160 lặp đi lặp lại, tôi, mỗi vòng lặp. 383 00:17:01,160 --> 00:17:05,579 Và trong các dấu ngoặc nhọn trong này vòng lặp, những gì sẽ xảy ra nếu tôi được là để chạy 384 00:17:05,579 --> 00:17:06,290 chương trình này? 385 00:17:06,290 --> 00:17:10,410 Ai có thể cho tôi biết những gì chúng tôi sẽ nhận được? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> MATU: In tất cả các điểm trên mỗi dòng. 388 00:17:13,819 --> 00:17:14,900 Nó sẽ in mỗi điểm trên một dòng riêng biệt. 389 00:17:14,900 --> 00:17:16,300 >> Jason Hirschhorn: Điều gì chính xác nó sẽ in? 390 00:17:16,300 --> 00:17:19,790 >> HỌC SINH: Nó sẽ in một, sau đó hai, sau đó ba. 391 00:17:19,790 --> 00:17:20,235 >> Jason Hirschhorn: Chính xác. 392 00:17:20,235 --> 00:17:23,490 Nó sẽ in một, sau đó hai, sau đó ba, mỗi ngày dòng riêng biệt, bởi vì 393 00:17:23,490 --> 00:17:27,810 chúng ta đang trải qua mảng và bạn sẽ thấy rằng thứ hai, printf 394 00:17:27,810 --> 00:17:29,275 tuyên bố, điểm i. 395 00:17:29,275 --> 00:17:32,880 Vì vậy, trên vòng đầu tiên thông qua của chúng tôi cho vòng lặp, tôi bằng không, có nghĩa là chúng tôi 396 00:17:32,880 --> 00:17:34,640 nhận được giá trị vào điểm số không - 397 00:17:34,640 --> 00:17:36,900 trong đó, nếu chúng ta trở lại sơ đồ của chúng tôi, là một trong những - 398 00:17:36,900 --> 00:17:38,630 và điền vào - 399 00:17:38,630 --> 00:17:39,700 oh, nó nói c. 400 00:17:39,700 --> 00:17:41,680 Đó nên là% d. 401 00:17:41,680 --> 00:17:43,970 Tôi sẽ khắc phục điều đó trong một chút khi Tôi bàn tay ra đến với bạn. 402 00:17:43,970 --> 00:17:48,670 Nhưng chúng tôi đang trình bày một số nguyên do đó, nó nên được% d ở đây, không phải% c. 403 00:17:48,670 --> 00:17:50,340 % C cho là gì? 404 00:17:50,340 --> 00:17:50,790 >> HỌC SINH: nhân vật. 405 00:17:50,790 --> 00:17:52,680 >> Jason Hirschhorn: nhân vật, chính xác. 406 00:17:52,680 --> 00:17:53,690 Một trong những khác là gì? 407 00:17:53,690 --> 00:17:56,260 Nếu bạn không muốn làm% d cho một số nguyên, những gì khác bạn có thể làm gì? 408 00:17:56,260 --> 00:17:57,000 >> HỌC SINH: i. 409 00:17:57,000 --> 00:17:59,180 >> Jason Hirschhorn:% i, chính xác. 410 00:17:59,180 --> 00:18:01,660 Vì vậy, bất kỳ câu hỏi về lặp lại thông qua mảng? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Vì vậy, những gì sẽ xảy ra nếu chúng ta làm điều này? 413 00:18:07,800 --> 00:18:10,290 Thay vì làm tôi ít hơn ba, chúng tôi i nhỏ 414 00:18:10,290 --> 00:18:11,390 hơn hoặc bằng ba. 415 00:18:11,390 --> 00:18:13,420 Điều gì xảy ra khi chúng ta chạy mã này? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Có, Annie? 418 00:18:18,940 --> 00:18:22,030 >> HỌC SINH: Họ sẽ in ra thứ lạ trên dòng thứ tư. 419 00:18:22,030 --> 00:18:23,850 >> Jason Hirschhorn: Vì vậy, bạn nói, là nó sẽ in ra những thứ lạ trên 420 00:18:23,850 --> 00:18:24,390 dòng thứ tư? 421 00:18:24,390 --> 00:18:25,750 Không ai có một câu trả lời cho câu hỏi của mình? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Vì vậy, tỷ lệ cược là khi chúng ta đến - 424 00:18:33,160 --> 00:18:36,700 để vào vòng thứ tư thông qua cho chúng tôi vòng lặp, giống như bạn nghĩ, Annie, 425 00:18:36,700 --> 00:18:39,430 nó sẽ được điểm khung ba, mà chúng tôi đã tìm ra không 426 00:18:39,430 --> 00:18:41,990 tồn tại, và chúng tôi sẽ cố gắng và truy cập vào đó, in 427 00:18:41,990 --> 00:18:43,350 , hãy sử dụng nó một cách nào đó. 428 00:18:43,350 --> 00:18:46,060 Vì vậy, các máy tính có thể sẽ giận chúng tôi. 429 00:18:46,060 --> 00:18:46,760 Bạn là chính xác. 430 00:18:46,760 --> 00:18:48,830 >> Nó có thể thoát khỏi chương trình hoàn toàn. 431 00:18:48,830 --> 00:18:52,222 Nó có thể in ra một cái gì đó thực sự lạ. 432 00:18:52,222 --> 00:18:53,420 Bạn không thể nói chắc chắn. 433 00:18:53,420 --> 00:18:56,210 Tỷ lệ cược là nó có thể sẽ giận bạn và chỉ cần bỏ ngay lập tức. 434 00:18:56,210 --> 00:19:00,100 >> Nhưng đây là một lỗi phổ biến bạn sẽ có nơi mà bạn chỉ ra bởi một tại 435 00:19:00,100 --> 00:19:05,110 Cuối cùng, và đây là một lỗi sẽ bệnh dịch hạch bạn trong suốt mã hóa của bạn. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Một trong những cách tôi muốn làm là chỉ trên một bảng trắng, đi qua mỗi lần lặp 438 00:19:14,150 --> 00:19:18,190 của các vòng trên tay hoặc trên giấy để xem những gì đang xảy ra, và sau đó bạn 439 00:19:18,190 --> 00:19:20,440 thường nhận ra, oh chờ đợi, tôi không nên đã đi vào nhỏ hơn hoặc 440 00:19:20,440 --> 00:19:20,870 bằng ba. 441 00:19:20,870 --> 00:19:24,730 Tôi nên dừng lại ở hai, đó là những gì sẽ xảy ra nếu tình trạng của bạn là ít hơn 442 00:19:24,730 --> 00:19:26,206 hơn ba. 443 00:19:26,206 --> 00:19:29,120 Bất kỳ câu hỏi cho đến nay? 444 00:19:29,120 --> 00:19:31,010 Ngọt ngào. 445 00:19:31,010 --> 00:19:33,360 >> Vì vậy, tất cả các bạn có máy tính của bạn mở. 446 00:19:33,360 --> 00:19:36,760 Chúng tôi sẽ cung cấp cho bạn 02:58 phút để viết một chương trình 447 00:19:36,760 --> 00:19:40,460 tạo ra một mảng với các số nguyên một thông qua các năm và sau đó in ra mỗi 448 00:19:40,460 --> 00:19:41,720 số nguyên trên một dòng mới. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 Và nếu bạn có bất kỳ câu hỏi, giơ tay lên. 451 00:19:46,000 --> 00:19:48,140 Tôi rất vui khi đi qua. 452 00:19:48,140 --> 00:19:50,630 Như tôi đã nói, chúng ta hãy xem ba phút để viết này. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Tất cả mọi người là OK nếu tôi đi đến một cửa sổ mới và đóng? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Tôi xin lỗi nếu bạn không có một cơ hội để kết thúc, nhưng chúng ta sẽ làm điều đó 457 00:22:15,520 --> 00:22:17,310 cùng nhau ngay bây giờ. 458 00:22:17,310 --> 00:22:23,640 Vì vậy, trên màn hình, tôi đã # bao gồm cs50.h, # bao gồm stdio.h. 459 00:22:23,640 --> 00:22:26,090 Ai đó có thể cho tôi biết những gì hai dòng làm gì? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> HỌC SINH: Họ bao gồm các thư viện mà CS50 thực hiện và rằng Steve có 463 00:22:40,030 --> 00:22:44,210 lưu để bạn có thể sử dụng để làm cho cuộc sống của bạn dễ dàng hơn. 464 00:22:44,210 --> 00:22:46,820 >> Jason Hirschhorn: Vì vậy, bạn biết họ bao gồm các thư viện, một trong đó CS50 465 00:22:46,820 --> 00:22:51,230 thực hiện, cs50.h, và một trong đó là chuẩn, đi kèm với 466 00:22:51,230 --> 00:22:53,510 gói C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Ý anh là sao bao gồm các thư viện, mặc dù? 468 00:22:54,890 --> 00:22:55,770 Bạn có thể cho biết cụ thể hơn? 469 00:22:55,770 --> 00:23:01,180 >> HỌC SINH: Nó làm cho nó để bạn có thể sử dụng từ mã nhất định để có một 470 00:23:01,180 --> 00:23:05,710 hoạt động xảy ra mà không cần phải đi và làm cho chức năng c mình. 471 00:23:05,710 --> 00:23:08,730 >> Jason Hirschhorn: có thể bạn cung cấp cho tôi một ví dụ? 472 00:23:08,730 --> 00:23:11,160 >> HỌC SINH: Giống như printf là một trong những bạn có thể sử dụng. 473 00:23:11,160 --> 00:23:11,860 >> Jason Hirschhorn: printf. 474 00:23:11,860 --> 00:23:14,680 Vì vậy, bạn nói printf là một trong những chức năng hơn là có đến 475 00:23:14,680 --> 00:23:19,840 printf viết trên của riêng bạn, printf là bao gồm thực sự trong stdio.h, vì vậy bạn 476 00:23:19,840 --> 00:23:22,010 chỉ có thể sử dụng nó và giả định rằng nó sẽ làm việc. 477 00:23:22,010 --> 00:23:28,270 Trong stdio.h, nếu bạn mở tập tin đó, nó sẽ bao gồm cách printf 478 00:23:28,270 --> 00:23:31,620 công trình, tất cả các mã cho printf? 479 00:23:31,620 --> 00:23:33,105 Tại sao anh lại lắc đầu của bạn? 480 00:23:33,105 --> 00:23:35,710 >> HỌC SINH: Bởi vì các tập tin tiêu đề chỉ bao gồm việc khai báo hàm. 481 00:23:35,710 --> 00:23:36,400 >> Jason Hirschhorn: Chính xác phải. 482 00:23:36,400 --> 00:23:39,680 Các tập tin tiêu đề chỉ bao gồm khai báo hàm. 483 00:23:39,680 --> 00:23:42,950 Vì vậy, về cơ bản, khi bạn biên dịch này, Hãy nhấn Count, mà chúng ta sẽ làm trong một 484 00:23:42,950 --> 00:23:48,070 thứ hai, trình biên dịch biết rằng nếu bạn sử dụng printf, printf tồn tại. 485 00:23:48,070 --> 00:23:49,370 Nó sẽ được xác định ở đâu đó. 486 00:23:49,370 --> 00:23:51,200 Nó không phải là một vấn đề cho bạn sử dụng nó. 487 00:23:51,200 --> 00:23:55,490 Và sau đó sau này, nó sẽ bao gồm các những người thân và số không thực sự chứa 488 00:23:55,490 --> 00:23:58,360 printf của việc thực hiện và kết hợp chúng với mã của bạn. 489 00:23:58,360 --> 00:24:01,935 Làm thế nào để bạn chắc chắn rằng nó bao gồm các những người thân và số không cho, nói rằng, có được chuỗi? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> HỌC SINH: Nhận chuỗi là trong cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> Jason Hirschhorn: Đúng vậy. 493 00:24:07,830 --> 00:24:11,110 Vì vậy, nói rằng nhận được chuỗi tồn tại, khai báo hàm. 494 00:24:11,110 --> 00:24:15,410 Nhưng sau đó những người và số không, nhị phân tập tin đó thực sự bao gồm các 495 00:24:15,410 --> 00:24:17,370 thực hiện get chuỗi? 496 00:24:17,370 --> 00:24:19,310 Làm thế nào để bạn chắc chắn rằng đi với chương trình của bạn? 497 00:24:19,310 --> 00:24:23,220 >> HỌC SINH: Vượt qua các mối liên kết trong đối số dòng lệnh. 498 00:24:23,220 --> 00:24:25,430 >> Jason Hirschhorn: Vượt qua các mối liên kết trong đối số dòng lệnh. 499 00:24:25,430 --> 00:24:26,700 Làm thế nào để bạn làm điều đó? 500 00:24:26,700 --> 00:24:29,730 >> HỌC SINH: Đó là-l dòng trong kêu vang 501 00:24:29,730 --> 00:24:30,480 >> Jason Hirschhorn: Chính xác phải. 502 00:24:30,480 --> 00:24:32,900 Bạn nói-l CS50, phải không? 503 00:24:32,900 --> 00:24:34,940 Điều đó bao gồm những người thân và số không. 504 00:24:34,940 --> 00:24:36,460 >> HỌC SINH: Nhưng làm không điều đó cho bạn, phải không? 505 00:24:36,460 --> 00:24:37,010 >> Jason Hirschhorn: Chính xác. 506 00:24:37,010 --> 00:24:40,390 Làm điều đó cho bạn, nhưng cuối cùng, bạn sẽ không phải làm, hoặc 507 00:24:40,390 --> 00:24:43,220 bạn sẽ phải thực hiện một Hãy ngày của riêng bạn, vì vậy đó là một 508 00:24:43,220 --> 00:24:43,940 điều tốt để nhớ. 509 00:24:43,940 --> 00:24:47,350 Nếu bạn đã đi vào sử dụng một trong những các thư viện khác, không chỉ làm bạn có 510 00:24:47,350 --> 00:24:49,490 viết # bao gồm và sau đó thư viện. 511 00:24:49,490 --> 00:24:51,420 Bạn cũng cần phải liên kết nó vào 512 00:24:51,420 --> 00:24:54,480 Và hai điều này là khác nhau. -L CS50 là khác nhau 513 00:24:54,480 --> 00:24:59,260 hơn # bao gồm cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Sau đó chúng tôi có int main trống xoăn niềng răng, và bây giờ chúng tôi đang đi vào mã 515 00:25:02,870 --> 00:25:03,590 bên trong chính. 516 00:25:03,590 --> 00:25:07,090 Dòng đầu tiên tôi có ở đây là một lời nhận xét nói rằng, tạo ra một mảng 517 00:25:07,090 --> 00:25:08,820 với số nguyên một năm qua. 518 00:25:08,820 --> 00:25:12,600 Một lời tốt đẹp để mô tả những gì tôi là những gì có ngay bây giờ trên màn hình, chỉ 519 00:25:12,600 --> 00:25:14,170 ý kiến ​​trong chính? 520 00:25:14,170 --> 00:25:15,722 Chúng ta gọi đó? 521 00:25:15,722 --> 00:25:16,820 >> HỌC SINH: Mã giả. 522 00:25:16,820 --> 00:25:17,840 >> Jason Hirschhorn: Mã giả. 523 00:25:17,840 --> 00:25:18,420 Cảm ơn bạn, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Đó là chính xác. 525 00:25:19,540 --> 00:25:20,005 Giả. 526 00:25:20,005 --> 00:25:22,854 Các bạn đã nhìn thấy giả trước? 527 00:25:22,854 --> 00:25:28,340 Nâng cao tay của bạn nếu bạn đã sử dụng giả trước khi vấn đề thiết lập một. 528 00:25:28,340 --> 00:25:29,400 Khoảng một nửa của bạn. 529 00:25:29,400 --> 00:25:32,700 >> Tôi rất muốn khuyên bạn sử dụng giả để phá vỡ các vấn đề thành 530 00:25:32,700 --> 00:25:35,210 nhỏ hơn, dễ dàng hơn để cắn miếng. 531 00:25:35,210 --> 00:25:38,630 Ngoài ra, nếu bạn làm giả, bạn có ý kiến ​​của bạn đã được phần lớn 532 00:25:38,630 --> 00:25:40,760 được xây dựng trong, vì vậy bạn không cần phải quay trở lại và cố gắng tìm ra 533 00:25:40,760 --> 00:25:42,450 những gì bạn đang làm. 534 00:25:42,450 --> 00:25:44,730 Vì vậy, ai đó có thể cho tôi dòng đầu tiên này để tạo ra một mảng với một số nguyên 535 00:25:44,730 --> 00:25:45,980 thông qua năm? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Bạn? 538 00:25:49,130 --> 00:25:53,350 >> HỌC SINH: Int và sau đó bạn có thể gọi bất cứ điều gì số, và sau đó vuông 539 00:25:53,350 --> 00:25:54,830 khung năm. 540 00:25:54,830 --> 00:25:57,820 >> Jason Hirschhorn: số Vì vậy, int, khung vuông năm. 541 00:25:57,820 --> 00:25:59,160 >> HỌC SINH: Bình đẳng, và sau đó dấu ngoặc nhọn. 542 00:25:59,160 --> 00:26:00,830 >> Jason Hirschhorn: Bình đẳng, dấu ngoặc nhọn. 543 00:26:00,830 --> 00:26:01,830 >> HỌC SINH: Một, hai, ba, bốn. 544 00:26:01,830 --> 00:26:05,566 >> Jason Hirschhorn: Một, hai, ba, bốn, năm. 545 00:26:05,566 --> 00:26:07,390 >> HỌC SINH: Và sau đó dấu ngoặc nhọn và sau đó dấu chấm phẩy. 546 00:26:07,390 --> 00:26:09,240 >> Jason Hirschhorn: Và xoăn niềng răng và dấu chấm phẩy. 547 00:26:09,240 --> 00:26:10,330 Tuyệt vời. 548 00:26:10,330 --> 00:26:12,210 In ra mỗi int trên một dòng mới. 549 00:26:12,210 --> 00:26:17,140 Người khác có thể cung cấp cho tôi mã, xin vui lòng? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Đi trước. 552 00:26:18,560 --> 00:26:20,440 >> HỌC SINH: Đối với ( 553 00:26:20,440 --> 00:26:21,750 >> Jason Hirschhorn: Đối với ( 554 00:26:21,750 --> 00:26:23,740 >> HỌC SINH: Int i = 0 555 00:26:23,740 --> 00:26:26,070 >> Jason Hirschhorn: Int i = 0 556 00:26:26,070 --> 00:26:28,190 >> HỌC SINH: Dấu chấm phẩy tôi ít hơn năm. 557 00:26:28,190 --> 00:26:31,680 >> Jason Hirschhorn: Dấu chấm phẩy, tôi ít hơn 5. 558 00:26:31,680 --> 00:26:33,600 >> HỌC SINH: Dấu chấm phẩy, i + +. 559 00:26:33,600 --> 00:26:35,140 >> Jason Hirschhorn: Dấu chấm phẩy, i + +. 560 00:26:35,140 --> 00:26:37,720 >> HỌC SINH: ngoặc đóng, sau đó mở cú đúp. 561 00:26:37,720 --> 00:26:39,410 >> Jason Hirschhorn: ngoặc đóng và hai dấu ngoặc. 562 00:26:39,410 --> 00:26:40,510 Bên trong dấu ngoặc? 563 00:26:40,510 --> 00:26:47,640 >> HỌC SINH: Và sau đó printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> Jason Hirschhorn: Xin lỗi, giữ trên. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, trích dẫn khép kín. 566 00:26:52,330 --> 00:26:55,980 >> HỌC SINH: Và sau đó trích dẫn khép kín, dấu phẩy, số, khung i. 567 00:26:55,980 --> 00:26:58,350 >> Jason Hirschhorn: Comma, số, khung i. 568 00:26:58,350 --> 00:26:59,970 >> HỌC SINH: Xin lỗi, số khung tôi. 569 00:26:59,970 --> 00:27:01,416 >> Jason Hirschhorn: số, khung i. 570 00:27:01,416 --> 00:27:03,200 >> HỌC SINH: Xin lỗi. 571 00:27:03,200 --> 00:27:04,750 Và sau đó đóng dấu ngoặc đơn, dấu chấm phẩy. 572 00:27:04,750 --> 00:27:07,156 >> Jason Hirschhorn: Đóng cửa ngoặc đơn, dấu chấm phẩy. 573 00:27:07,156 --> 00:27:08,680 Tôi sẽ tiết kiệm đó. 574 00:27:08,680 --> 00:27:12,670 Chúng ta sẽ làm cho số lượng. 575 00:27:12,670 --> 00:27:14,742 Và làm thế nào để tôi chạy đếm? 576 00:27:14,742 --> 00:27:16,470 >> HỌC SINH: Dấu gạch chéo ngược. 577 00:27:16,470 --> 00:27:17,180 >> HỌC SINH: Dot dấu gạch chéo - 578 00:27:17,180 --> 00:27:18,050 >> Jason Hirschhorn:. / Đếm, chính xác. 579 00:27:18,050 --> 00:27:19,380 Cảm ơn bạn. . / Đếm. 580 00:27:19,380 --> 00:27:21,060 Một, hai, ba, bốn, năm trên các tuyến đường mới. 581 00:27:21,060 --> 00:27:22,110 Trông giống như nó làm việc. 582 00:27:22,110 --> 00:27:23,200 Có, Noah? 583 00:27:23,200 --> 00:27:26,660 >> HỌC SINH: Bạn cũng có thể làm nhỏ hơn hoặc bằng bốn, như tôi là ít hơn 584 00:27:26,660 --> 00:27:27,630 hoặc bằng bốn? 585 00:27:27,630 --> 00:27:31,190 Có lợi thế để làm ít hơn năm, hay chỉ là một cách khác nhau 586 00:27:31,190 --> 00:27:31,610 viết nó? 587 00:27:31,610 --> 00:27:35,280 >> Jason Hirschhorn: Vì vậy, câu hỏi là bạn có thể làm tôi nhỏ hơn hoặc 588 00:27:35,280 --> 00:27:37,450 bằng bốn thay vì tôi là ít hơn năm. 589 00:27:37,450 --> 00:27:38,935 Sẽ đã làm việc cùng? 590 00:27:38,935 --> 00:27:39,760 >> HỌC SINH: Nó nên. 591 00:27:39,760 --> 00:27:39,860 >> Jason Hirschhorn: Có. 592 00:27:39,860 --> 00:27:41,660 Nó hoàn toàn sẽ làm việc như nhau. 593 00:27:41,660 --> 00:27:44,780 Phong cách, nó thường ít hơn, và bạn sẽ thấy trong một giây khi 594 00:27:44,780 --> 00:27:48,160 chúng tôi dây, bạn có thể sử dụng một cái gì đó gọi là strlen, bạn đã nhìn thấy 595 00:27:48,160 --> 00:27:50,380 trước đây, để có được chiều dài của chuỗi. 596 00:27:50,380 --> 00:27:54,090 Và bạn không thể làm ít hơn hoặc bằng strlen. 597 00:27:54,090 --> 00:27:56,500 Bạn có thể làm nhỏ hơn hoặc bằng strlen trừ đi một. 598 00:27:56,500 --> 00:27:59,260 Vì vậy, nó chỉ đẹp hơn để làm ít hơn strlen. 599 00:27:59,260 --> 00:28:00,240 Có? 600 00:28:00,240 --> 00:28:03,270 >> HỌC SINH: Và trong thực tế các câu đố, làm chúng tôi đã đóng góp ý kiến ​​trên của chúng tôi 601 00:28:03,270 --> 00:28:04,620 mã là tốt? 602 00:28:04,620 --> 00:28:06,130 >> Jason Hirschhorn: Câu hỏi được trong các câu đố, bạn có 603 00:28:06,130 --> 00:28:07,760 có đóng góp ý kiến? 604 00:28:07,760 --> 00:28:12,050 Vì vậy, chúng ta sẽ nói thêm về các câu đố khi họ đưa ra, nhưng nói chung, một tốt 605 00:28:12,050 --> 00:28:14,530 Nguyên tắc là bất cứ khi nào bạn viết mã, đóng góp ý kiến. 606 00:28:14,530 --> 00:28:18,130 Nếu bạn nhận được mã sai nhưng comment ngay, bạn có thể nhận được một số 607 00:28:18,130 --> 00:28:22,280 tín dụng cả hai từ tôi nếu tôi đã được phân loại bạn trên một tập hợp vấn đề hoặc một bài kiểm tra. 608 00:28:22,280 --> 00:28:24,660 Vì vậy, ý kiến ​​luôn tốt để cung cấp. 609 00:28:24,660 --> 00:28:25,040 Ngọt ngào. 610 00:28:25,040 --> 00:28:25,460 Đếm. 611 00:28:25,460 --> 00:28:26,720 Xuất sắc công việc. 612 00:28:26,720 --> 00:28:28,570 Chúng ta hãy chuyển. 613 00:28:28,570 --> 00:28:29,920 >> Dây. 614 00:28:29,920 --> 00:28:30,630 Dây. 615 00:28:30,630 --> 00:28:31,730 Chúng tôi đã nhìn thấy điều này trước đây trong bài giảng. 616 00:28:31,730 --> 00:28:33,390 Này thổi tâm trí của tôi khi tôi đầu tiên tìm thấy điều này. 617 00:28:33,390 --> 00:28:37,240 Nó có lẽ đã không thổi của bất cứ ai quan tâm ở đây, nhưng đó là OK. 618 00:28:37,240 --> 00:28:41,260 >> Dây là mảng của các nhân vật, và họ kết thúc với, như bạn đã nói trước đó, 619 00:28:41,260 --> 00:28:45,710 các terminator null, mà là nhân vật / 0 này. 620 00:28:45,710 --> 00:28:47,740 Nếu chúng ta để vẽ một chuỗi trên hội đồng quản trị, chúng tôi sẽ vẽ nó ở đây. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Vì vậy, bao lâu là chuỗi này? 623 00:28:56,420 --> 00:28:56,680 Xin lôi. 624 00:28:56,680 --> 00:28:57,660 Bao lâu là chuỗi này? 625 00:28:57,660 --> 00:28:57,910 >> HỌC SINH: [nghe được]. 626 00:28:57,910 --> 00:28:59,010 >> Jason Hirschhorn: Bốn? 627 00:28:59,010 --> 00:28:59,880 Tại sao nó bốn? 628 00:28:59,880 --> 00:29:02,240 >> HỌC SINH: Vì vị trí thứ năm là cho các ký tự null. 629 00:29:02,240 --> 00:29:04,070 >> Jason Hirschhorn: Vì vậy, vị trí thứ năm là cho các ký tự null. 630 00:29:04,070 --> 00:29:07,130 Vì vậy, nếu tôi được là để chạy strlen trên này, nó sẽ cung cấp cho tôi bốn. 631 00:29:07,130 --> 00:29:07,850 Sửa chữa. 632 00:29:07,850 --> 00:29:11,640 Và mảng, tuy nhiên, nếu tôi được khởi tạo mảng này, bao nhiêu không gian 633 00:29:11,640 --> 00:29:13,444 tôi sẽ phải yêu cầu? 634 00:29:13,444 --> 00:29:13,821 >> HỌC SINH: Năm. 635 00:29:13,821 --> 00:29:14,200 >> Jason Hirschhorn: Năm. 636 00:29:14,200 --> 00:29:17,650 Tôi sẽ phải yêu cầu trong năm, nhưng tôi có thể chỉ đưa bốn nhân vật trong đây 637 00:29:17,650 --> 00:29:19,750 bởi vì tôi cần phải đặt vô đó thúc vào cuối. 638 00:29:19,750 --> 00:29:25,260 Vì vậy, chúng ta sẽ viết trong "ohai" và đưa các terminator null ở cuối. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Chúng tôi sẽ nói điều này là chuỗi s bằng này. 641 00:29:34,940 --> 00:29:36,610 S khung không là gì? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s khung không, Annie? 644 00:29:41,550 --> 00:29:41,950 >> HỌC SINH: O. 645 00:29:41,950 --> 00:29:45,400 >> Jason Hirschhorn: O, chính xác. s khung không? 646 00:29:45,400 --> 00:29:48,200 s khung năm? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s khung năm? 649 00:29:53,955 --> 00:29:54,740 >> HỌC SINH: Không tồn tại. 650 00:29:54,740 --> 00:29:55,040 >> Jason Hirschhorn: Không tồn tại. 651 00:29:55,040 --> 00:29:57,050 Chính xác. 652 00:29:57,050 --> 00:29:57,940 Mát mẻ. 653 00:29:57,940 --> 00:30:03,120 Bất kỳ câu hỏi về sự hiểu biết chuỗi như mảng của nhân vật? 654 00:30:03,120 --> 00:30:03,870 OK, sau đó. 655 00:30:03,870 --> 00:30:05,440 Một chương trình nhiều hơn cho các bạn. 656 00:30:05,440 --> 00:30:09,190 Viết một chương trình yêu cầu người dùng cho một chuỗi sau đó in ra mỗi 657 00:30:09,190 --> 00:30:11,880 ký tự trên một dòng mới. 658 00:30:11,880 --> 00:30:14,160 Vì vậy, chúng ta hãy xem ba phút để viết chương trình này, và sau đó chúng tôi sẽ mã nó 659 00:30:14,160 --> 00:30:15,410 như một nhóm. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Xin lôi. 662 00:31:04,830 --> 00:31:06,470 Em có cần phải thấy điều này? 663 00:31:06,470 --> 00:31:07,410 >> HỌC SINH: số 664 00:31:07,410 --> 00:31:08,660 >> Jason Hirschhorn: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Chúng ta hãy một phút hơn để mã này, hoặc ít nhất là bắt đầu vào nó. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Vì vậy, bạn có thể tiếp tục làm việc, nhưng tôi sẽ để bắt đầu đi qua nó. 669 00:32:17,020 --> 00:32:22,560 Vì vậy, như trước đây, tôi có trên màn hình # Bao gồm cs50.h, # bao gồm stdio.h. 670 00:32:22,560 --> 00:32:24,020 int void main. 671 00:32:24,020 --> 00:32:28,880 Trong dấu ngoặc nhọn chính, tôi có hai ý kiến, giả. 672 00:32:28,880 --> 00:32:30,980 Là một trong những yêu cầu một chuỗi từ người sử dụng. 673 00:32:30,980 --> 00:32:33,900 Thứ hai là in ra mỗi ký tự trên một dòng mới. 674 00:32:33,900 --> 00:32:39,780 Vì vậy, Anna, bạn có thể cho tôi hỏi cho một chuỗi từ người sử dụng? 675 00:32:39,780 --> 00:32:41,970 >> HỌC SINH: printf. 676 00:32:41,970 --> 00:32:42,720 >> Jason Hirschhorn: printf? 677 00:32:42,720 --> 00:32:45,050 >> HỌC SINH: Có. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> Jason Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> HỌC SINH: "cho tôi một chuỗi. 681 00:32:49,300 --> 00:32:52,380 >> Jason Hirschhorn: "cho tôi một str - tiếc - 682 00:32:52,380 --> 00:32:53,710 chuỗi. 683 00:32:53,710 --> 00:32:59,980 >> HỌC SINH: / n ") dấu chấm phẩy. 684 00:32:59,980 --> 00:33:02,300 >> Jason Hirschhorn: Kết thúc chuỗi, ngoặc đóng, dấu chấm phẩy. 685 00:33:02,300 --> 00:33:03,550 >> HỌC SINH: Có. 686 00:33:03,550 --> 00:33:09,080 Và sau đó dòng tiếp theo, chuỗi s = nhận được chuỗi. 687 00:33:09,080 --> 00:33:11,240 >> Jason Hirschhorn: String s = nhận được chuỗi. 688 00:33:11,240 --> 00:33:11,665 >> HỌC SINH: Có. 689 00:33:11,665 --> 00:33:13,080 Và sau đó () 690 00:33:13,080 --> 00:33:14,365 >> Jason Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> HỌC SINH: Dấu chấm phẩy. 692 00:33:14,720 --> 00:33:15,540 >> Jason Hirschhorn: Dấu chấm phẩy. 693 00:33:15,540 --> 00:33:16,890 Tuyệt vời. 694 00:33:16,890 --> 00:33:19,000 Vì vậy, tôi sẽ nhận được một chuỗi và Tôi sẽ lưu nó trong những gì? 695 00:33:19,000 --> 00:33:21,830 Biến là những gì được gọi là mà bạn tạo ra? 696 00:33:21,830 --> 00:33:23,290 >> HỌC SINH: String s. 697 00:33:23,290 --> 00:33:24,580 >> Jason Hirschhorn: Biến là được gọi là s. 698 00:33:24,580 --> 00:33:25,700 Đó là kiểu string. 699 00:33:25,700 --> 00:33:27,200 Chính xác. 700 00:33:27,200 --> 00:33:30,080 Điều tiếp theo chúng tôi muốn là in ra mỗi ký tự trên một dòng mới. 701 00:33:30,080 --> 00:33:31,710 Ai có thể cho tôi mã? 702 00:33:31,710 --> 00:33:32,110 [Nghe được]? 703 00:33:32,110 --> 00:33:33,000 Bạn có thể đưa nó cho tôi? 704 00:33:33,000 --> 00:33:33,580 >> HỌC SINH: Chắc chắn. 705 00:33:33,580 --> 00:33:35,420 >> Jason Hirschhorn: Hãy làm điều đó. 706 00:33:35,420 --> 00:33:36,080 Và xin lỗi. 707 00:33:36,080 --> 00:33:38,896 Tôi không muốn lặp lại những gì bạn nói bởi vì bạn đang đi đúng hướng, nhưng tôi 708 00:33:38,896 --> 00:33:42,100 phải lặp lại nó để khi họ ghi lại này, họ có thể nhận được tất cả 709 00:33:42,100 --> 00:33:44,870 ra văn bản trên phiên âm. 710 00:33:44,870 --> 00:33:47,180 Vì vậy bạn chỉ có thể tiếp tục nói chuyện. 711 00:33:47,180 --> 00:33:48,590 Thật không may, tôi có để nói nó hơn bạn. 712 00:33:48,590 --> 00:33:49,510 Tôi xin lỗi, nhưng - 713 00:33:49,510 --> 00:33:50,610 >> HỌC SINH: Được rồi. 714 00:33:50,610 --> 00:33:53,010 Cho int i = 0 715 00:33:53,010 --> 00:33:54,170 >> Jason Hirschhorn: Đối với int i = 0 716 00:33:54,170 --> 00:33:56,740 >> HỌC SINH: Tôi ít hơn - 717 00:33:56,740 --> 00:33:58,206 >> Jason Hirschhorn: Dấu chấm phẩy. 718 00:33:58,206 --> 00:34:00,650 >> HỌC SINH: Trước đây, chúng ta có thể đặt một biến để bạn có được chiều dài tên int? 719 00:34:00,650 --> 00:34:01,870 >> Jason Hirschhorn: Oh, bạn không muốn đặt dấu chấm phẩy? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Vì vậy, những gì bạn muốn làm sau không? 722 00:34:05,120 --> 00:34:09,340 >> HỌC SINH: Tôi muốn có được chiều dài chuỗi s và 723 00:34:09,340 --> 00:34:10,410 thiết lập đó cho một biến? 724 00:34:10,410 --> 00:34:11,760 >> Jason Hirschhorn: OK, vậy làm thế nào để làm điều đó? 725 00:34:11,760 --> 00:34:17,636 >> HỌC SINH: Vì vậy, bạn làm int chiều dài = 726 00:34:17,636 --> 00:34:20,010 >> Jason Hirschhorn: Int chiều dài = 727 00:34:20,010 --> 00:34:22,230 >> HỌC SINH: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> Jason Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> HỌC SINH: Trong s. 730 00:34:25,380 --> 00:34:25,790 Dấu ngoặc đơn. 731 00:34:25,790 --> 00:34:27,920 >> Jason Hirschhorn: (s). 732 00:34:27,920 --> 00:34:33,040 >> HỌC SINH: Và sau đó tôi nghĩ rằng bạn phải đặt một dấu chấm phẩy giữa hai số nguyên. 733 00:34:33,040 --> 00:34:34,590 >> Jason Hirschhorn: Một dấu chấm phẩy sau không? 734 00:34:34,590 --> 00:34:35,260 >> HỌC SINH: Vâng. 735 00:34:35,260 --> 00:34:40,670 Sau đó đặt một dấu chấm phẩy sau đó, và bạn nói, tôi ít hơn chiều dài. 736 00:34:40,670 --> 00:34:43,250 tôi ít hơn chiều dài, là biến. 737 00:34:43,250 --> 00:34:44,590 >> HỌC SINH: Và sau đó dấu chấm phẩy. 738 00:34:44,590 --> 00:34:45,790 >> Jason Hirschhorn: Dấu chấm phẩy. 739 00:34:45,790 --> 00:34:46,290 >> HỌC SINH: i + +. 740 00:34:46,290 --> 00:34:46,909 >> Jason Hirschhorn: i + +. 741 00:34:46,909 --> 00:34:47,530 Có vòng lặp cho chúng tôi. 742 00:34:47,530 --> 00:34:48,860 OK, bên trong vòng lặp. 743 00:34:48,860 --> 00:34:51,670 >> HỌC SINH: Và sau đó làm printf. 744 00:34:51,670 --> 00:34:53,340 >> Jason Hirschhorn: printf. 745 00:34:53,340 --> 00:34:53,889 >> HỌC SINH: Chân đế. 746 00:34:53,889 --> 00:34:55,130 >> Jason Hirschhorn: Dấu ngoặc đơn, dấu ngoặc kép. 747 00:34:55,130 --> 00:34:59,930 >> HỌC SINH: Dấu ngoặc đơn, dấu ngoặc kép,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> Jason Hirschhorn:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> HỌC SINH: / n. 750 00:35:01,670 --> 00:35:03,470 >> Jason Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> HỌC SINH: giá đóng. 752 00:35:04,410 --> 00:35:05,270 >> Jason Hirschhorn: giá đóng. 753 00:35:05,270 --> 00:35:05,810 >> HỌC SINH: Dấu phẩy. 754 00:35:05,810 --> 00:35:06,860 >> Jason Hirschhorn: Dấu phẩy. 755 00:35:06,860 --> 00:35:07,800 >> HỌC SINH: S. 756 00:35:07,800 --> 00:35:08,070 >> Jason Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> HỌC SINH: giá đỡ tôi. 758 00:35:08,690 --> 00:35:10,230 >> Jason Hirschhorn: đỡ tôi. 759 00:35:10,230 --> 00:35:11,520 >> HỌC SINH: Và sau đó đóng dấu ngoặc đơn. 760 00:35:11,520 --> 00:35:12,540 >> Jason Hirschhorn: ngoặc đóng. 761 00:35:12,540 --> 00:35:13,660 >> HỌC SINH: Và sau đó dấu chấm phẩy. 762 00:35:13,660 --> 00:35:13,770 >> Jason Hirschhorn: Dấu chấm phẩy. 763 00:35:13,770 --> 00:35:14,380 Tuyệt vời. 764 00:35:14,380 --> 00:35:16,890 Vì vậy hãy tiết kiệm này. 765 00:35:16,890 --> 00:35:19,770 Làm cho chính tả. 766 00:35:19,770 --> 00:35:20,040 Oh boy. 767 00:35:20,040 --> 00:35:22,275 Tôi đã có một vài sai sót. 768 00:35:22,275 --> 00:35:33,120 Lỗi đầu tiên trên dòng 11, nó nói, dự kiến ​​sẽ biểu hiện, và nó đem lại cho 769 00:35:33,120 --> 00:35:36,910 tôi một lỗi thứ hai int, có lỗi. 770 00:35:36,910 --> 00:35:38,430 Có một số lỗi xung quanh đó. 771 00:35:38,430 --> 00:35:41,060 Không ai biết đó là lỗi gì? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> HỌC SINH: Tôi nghĩ đó là nghĩa vụ là một dấu phẩy và không phải là một dấu chấm phẩy. 774 00:35:44,108 --> 00:35:46,010 >> Jason Hirschhorn: OK, một dấu phẩy thay vì một dấu chấm phẩy. 775 00:35:46,010 --> 00:35:47,340 Vì vậy, là tất cả chúng ta cần phải khắc phục? 776 00:35:47,340 --> 00:35:47,655 >> HỌC SINH: số 777 00:35:47,655 --> 00:35:48,930 >> Jason Hirschhorn: Điều gì khác chúng ta cần phải khắc phục? 778 00:35:48,930 --> 00:35:50,920 >> HỌC SINH: Chúng ta phải bao gồm string.h. 779 00:35:50,920 --> 00:35:51,680 >> Jason Hirschhorn: Bao gồm string.h. 780 00:35:51,680 --> 00:35:53,730 Nơi nào tôi cần phải bao gồm điều đó không? 781 00:35:53,730 --> 00:35:57,085 >> HỌC SINH: Cùng nơi bạn đang bao gồm những thứ khác, phải 782 00:35:57,085 --> 00:35:59,560 sau khi bao gồm stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> Jason Hirschhorn: Hãy xem nếu điều này chạy đầu tiên bởi vì nhìn chung, tôi thích 784 00:36:01,610 --> 00:36:06,360 để sửa chữa một điều đầu tiên, và sau đó chạy nó, và sau đó nhìn thấy các lỗi, chúng tôi nhận được. 785 00:36:06,360 --> 00:36:11,620 Vì vậy, chúng ta sẽ rõ ràng các thiết bị đầu cuối kiểm soát n, chúng ta hãy làm cho chính tả. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Vì vậy, một lỗi trên dòng 11. 788 00:36:18,770 --> 00:36:20,540 Dự kiến ​​sẽ dấu chấm phẩy. 789 00:36:20,540 --> 00:36:22,640 Và tôi vẫn nhận được lỗi trên dòng này. 790 00:36:22,640 --> 00:36:25,270 Vì vậy, nó đã không cho tôi một lỗi nói rằng nó không hiểu những gì strlen là, 791 00:36:25,270 --> 00:36:28,980 nhưng nó đem lại cho tôi lỗi này dòng, vì vậy những gì khác là sai? 792 00:36:28,980 --> 00:36:29,690 Đánh dấu? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> HỌC SINH: Bạn cần phải loại bỏ thứ hai int khai? 795 00:36:32,570 --> 00:36:34,990 >> Jason Hirschhorn: Hủy bỏ int thứ hai. 796 00:36:34,990 --> 00:36:35,710 Hãy thử này. 797 00:36:35,710 --> 00:36:37,600 Bây giờ rõ ràng các thiết bị đầu cuối. 798 00:36:37,600 --> 00:36:40,130 Làm cho chính tả. 799 00:36:40,130 --> 00:36:40,490 Lỗi. 800 00:36:40,490 --> 00:36:42,890 Ngầm khai báo thư viện chức năng strlen. 801 00:36:42,890 --> 00:36:44,270 Vì vậy, bây giờ chúng tôi thấy lỗi đó. 802 00:36:44,270 --> 00:36:45,760 Những gì chúng ta cần phải bao gồm? 803 00:36:45,760 --> 00:36:46,660 >> HỌC SINH: string.h. 804 00:36:46,660 --> 00:36:51,880 >> Jason Hirschhorn: Bao gồm string.h, chúng tôi sẽ làm # bao gồm string.h ở đầu 805 00:36:51,880 --> 00:36:52,920 của màn hình. 806 00:36:52,920 --> 00:36:55,450 Hãy tiết kiệm, làm cho chính tả. 807 00:36:55,450 --> 00:36:56,970 Bây giờ biên soạn. 808 00:36:56,970 --> 00:37:01,970 Vì vậy, một lần nữa, những điều chúng ta cần thiết để nhớ dòng 12 trong vòng lặp cho chúng tôi khi 809 00:37:01,970 --> 00:37:08,010 chúng ta đang cài đặt nó lên, int i = 0, chiều dài = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Đây là một chiến lược tuyệt vời. 811 00:37:09,350 --> 00:37:12,590 Phong cách này là rất tốt, thiết kế này là rất tốt. 812 00:37:12,590 --> 00:37:15,620 Chúng ta có thể đi vào những lý do sau, nhưng cách này, bạn chỉ cần gọi 813 00:37:15,620 --> 00:37:19,040 strlen một lần thay vì mỗi đơn thời gian bạn chạy qua các vòng lặp. 814 00:37:19,040 --> 00:37:22,255 Tuy nhiên, bạn cần phải sử dụng một dấu phẩy có và bạn không cần int một lần nữa. 815 00:37:22,255 --> 00:37:24,180 Nếu bạn khai báo cả những biến với nhau, bạn 816 00:37:24,180 --> 00:37:26,850 không cần int một lần nữa. 817 00:37:26,850 --> 00:37:29,820 Và sau đó nếu bạn đang sử dụng strlen, đó là một thư viện 818 00:37:29,820 --> 00:37:33,560 chức năng không có trong stdio.h hoặc cs50.h, làm 819 00:37:33,560 --> 00:37:35,310 chắc chắn rằng bạn bao gồm string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> HỌC SINH: Vì vậy, sau đó nếu bạn không cần phải nói loại chiều dài, không có 822 00:37:39,085 --> 00:37:40,290 có nghĩa là nó có phải là một int? 823 00:37:40,290 --> 00:37:41,930 Bạn không thể có hai khác nhau loại có? 824 00:37:41,930 --> 00:37:43,290 >> Jason Hirschhorn: Vì vậy, bạn có thể có hai loại khác nhau. 825 00:37:43,290 --> 00:37:45,730 Chiều dài là một int đây, mặc dù. 826 00:37:45,730 --> 00:37:48,590 Chiều dài là một int vì nó là dấu phẩy và sau đó điều tương tự. 827 00:37:48,590 --> 00:37:50,460 >> HỌC SINH: Vì vậy, nó giả định rằng nó sẽ để được giống như là người đầu tiên? 828 00:37:50,460 --> 00:37:52,423 >> Jason Hirschhorn: Chính xác. 829 00:37:52,423 --> 00:37:54,970 Chúng tôi sẽ không làm điều này, nhưng bạn có thể bao gồm hai biến trên 830 00:37:54,970 --> 00:37:57,080 cùng một đường dây sử dụng một loại dữ liệu. 831 00:37:57,080 --> 00:38:01,415 Vì vậy, int x, y sẽ tạo ra hai biến. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Vì vậy, int x, y, nếu chúng ta làm điều đó, nó mang lại cho tôi không sử dụng một biến x và y vì 834 00:38:10,770 --> 00:38:12,020 chúng tôi không sử dụng chúng. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Vì vậy, đặt trước khoảng trống chỉ là một là lừa ưa thích nếu bạn không sử dụng 837 00:38:21,650 --> 00:38:22,810 một cái gì đó, để sử dụng nó. 838 00:38:22,810 --> 00:38:26,300 Nhưng như bạn thấy, tôi tạo ra x và y trên cùng một dòng với một dấu phẩy. 839 00:38:26,300 --> 00:38:28,450 Điều này tạo ra hai số nguyên ngay tại đó. 840 00:38:28,450 --> 00:38:31,560 Vì vậy, có, hoàn toàn có thể tạo ra hai điều trên cùng một dòng 841 00:38:31,560 --> 00:38:33,720 cách nhau bằng dấu phẩy. 842 00:38:33,720 --> 00:38:35,470 Hãy loại bỏ những người, mặc dù. 843 00:38:35,470 --> 00:38:36,370 >> Do đó, có lỗi chính tả. 844 00:38:36,370 --> 00:38:39,200 Cảm ơn các bạn để mã hóa nó cho chúng ta. 845 00:38:39,200 --> 00:38:43,040 Chúng ta hãy làm cho nó một lần nữa, chạy nó. 846 00:38:43,040 --> 00:38:44,580 Cung cấp cho tôi một chuỗi. 847 00:38:44,580 --> 00:38:45,580 [Nghe được], bạn đã làm nhất của nó. 848 00:38:45,580 --> 00:38:47,910 Chuỗi là những gì? 849 00:38:47,910 --> 00:38:48,250 >> HỌC SINH: Xin chào. 850 00:38:48,250 --> 00:38:50,110 >> Jason Hirschhorn: Xin chào. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, mỗi ký tự trên một dòng. 852 00:38:52,810 --> 00:38:53,700 Sẽ rất tốt. 853 00:38:53,700 --> 00:38:54,750 Chúng ta hãy chạy nó một lần nữa. 854 00:38:54,750 --> 00:38:56,050 Luôn luôn kiểm tra đối với trường hợp góc. 855 00:38:56,050 --> 00:38:57,750 Một trường hợp góc tốt là những gì để kiểm tra? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> HỌC SINH: Một số? 858 00:39:00,890 --> 00:39:02,240 >> Jason Hirschhorn: Một số. 859 00:39:02,240 --> 00:39:06,580 Vì vậy, tôi sẽ đặt trong 1, và nó in ra 1. 860 00:39:06,580 --> 00:39:08,970 Nó không yêu cầu thư, vì vậy nó có vẻ như số lượng công việc. 861 00:39:08,970 --> 00:39:09,890 Tốt trường hợp góc để kiểm tra. 862 00:39:09,890 --> 00:39:11,740 Một góc tốt là những gì trường hợp để kiểm tra? 863 00:39:11,740 --> 00:39:12,420 >> HỌC SINH: Một chuỗi trống. 864 00:39:12,420 --> 00:39:12,910 >> Jason Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> HỌC SINH: Giống như một chuỗi rỗng. 866 00:39:13,880 --> 00:39:14,400 >> Jason Hirschhorn: Hết chuỗi. 867 00:39:14,400 --> 00:39:16,730 Vì vậy, chúng ta không đưa vào bất cứ điều gì. 868 00:39:16,730 --> 00:39:18,660 Và những gì được in ra? 869 00:39:18,660 --> 00:39:19,090 >> HỌC SINH: Không có gì. 870 00:39:19,090 --> 00:39:19,870 >> Jason Hirschhorn: Không có gì. 871 00:39:19,870 --> 00:39:20,555 Có vẻ như nó hoạt động. 872 00:39:20,555 --> 00:39:23,790 Bạn có thể thử các trường hợp góc hơn, nhưng thường số, một dữ liệu khác nhau là 873 00:39:23,790 --> 00:39:26,160 tuyệt vời để thử, cũng là không có gì. 874 00:39:26,160 --> 00:39:29,180 Không có gì, không, tiêu cực luôn điều tuyệt vời để thử và những điều bạn 875 00:39:29,180 --> 00:39:33,140 cần kiểm tra, điều chắc chắn chúng tôi sẽ kiểm tra cho và Kiểm tra 50 sẽ kiểm tra. 876 00:39:33,140 --> 00:39:34,720 Thắc mắc về spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, chúng ta hãy quay trở lại. 879 00:39:39,310 --> 00:39:42,420 Tôi có chương trình một lần nữa cho các bạn để viết. 880 00:39:42,420 --> 00:39:44,700 Nó được gọi là students.c. 881 00:39:44,700 --> 00:39:49,020 Đây là một chương trình yêu cầu người dùng năm tên, sau đó chọn ngẫu nhiên 882 00:39:49,020 --> 00:39:51,600 và in ra một trong những tên. 883 00:39:51,600 --> 00:39:54,840 Chương trình này là hơn một chút tham gia hơn so với trước hai chúng tôi đã viết, 884 00:39:54,840 --> 00:39:58,080 vậy tại sao chúng ta không có năm phút để mã nó cá nhân, và sau đó chúng tôi sẽ 885 00:39:58,080 --> 00:40:00,130 mã nó như một nhóm. 886 00:40:00,130 --> 00:40:03,795 >> Chương trình này cũng liên quan đến một số điều bạn có thể không nhìn thấy trước, vì vậy nếu 887 00:40:03,795 --> 00:40:06,390 bạn có một câu hỏi về, làm thế nào Tôi làm điều đó, giơ tay lên. 888 00:40:06,390 --> 00:40:08,530 Tôi sẽ đi qua và chỉ cho bạn đi đúng hướng. 889 00:40:08,530 --> 00:40:10,820 Nhưng chúng tôi cũng đang làm điều đó bởi vì đây sẽ là một cách tốt để giới thiệu một số 890 00:40:10,820 --> 00:40:12,070 chủ đề mà là khó khăn. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Vì vậy, nó hoạt động, phải không? 893 00:44:15,560 --> 00:44:17,580 >> HỌC SINH: Vâng. 894 00:44:17,580 --> 00:44:19,180 >> Jason Hirschhorn: Bất cứ khi nào bạn bật trong một bộ vấn đề, có rất nhiều cách để làm 895 00:44:19,180 --> 00:44:20,790 nó, nhưng một số có nhiều thanh lịch hơn so với những người khác. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Hãy để chúng tôi bổ nhào nhập 898 00:44:31,110 --> 00:44:32,880 # Bao gồm cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Bao gồm stdio.h. 900 00:44:34,250 --> 00:44:37,240 void main int, dấu ngoặc nhọn. 901 00:44:37,240 --> 00:44:39,430 Bên trong dấu ngoặc nhọn, Tôi có hai ý kiến. 902 00:44:39,430 --> 00:44:41,500 Người đầu tiên được, yêu cầu người sử dụng trong năm tên. 903 00:44:41,500 --> 00:44:46,580 Điều thứ hai là, chọn ngẫu nhiên và in ra một trong những tên. 904 00:44:46,580 --> 00:44:50,250 Vì vậy, chúng ta hãy làm người đầu tiên, hãy hỏi người sử dụng trong năm tên. 905 00:44:50,250 --> 00:44:53,730 Ai đã yêu cầu người sử dụng trong năm tên và có thể cho tôi biết làm thế nào để làm điều đó? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Chỉ có hai người đã làm phần đầu tiên. 908 00:44:58,570 --> 00:45:00,150 Ba người đã làm phần đầu tiên. 909 00:45:00,150 --> 00:45:00,670 Bốn, năm. 910 00:45:00,670 --> 00:45:03,140 Tom, làm thế nào để bạn làm điều đó? 911 00:45:03,140 --> 00:45:09,940 >> HỌC SINH: Bạn sẽ khai báo một chuỗi và sau đó tên, khung năm. 912 00:45:09,940 --> 00:45:12,070 >> Jason Hirschhorn: String tên khung năm. 913 00:45:12,070 --> 00:45:15,350 Vì vậy, dòng này làm là gì, tên chuỗi khung năm? 914 00:45:15,350 --> 00:45:17,800 >> HỌC SINH: Bạn sẽ tuyên bố một mảng của chuỗi. 915 00:45:17,800 --> 00:45:19,000 >> Jason Hirschhorn: Đây là một mảng của chuỗi. 916 00:45:19,000 --> 00:45:21,590 Bao nhiêu dây sẽ để phù hợp đây? 917 00:45:21,590 --> 00:45:22,010 >> HỌC SINH: Năm. 918 00:45:22,010 --> 00:45:22,320 >> Jason Hirschhorn: Năm. 919 00:45:22,320 --> 00:45:22,660 Tuyệt vời. 920 00:45:22,660 --> 00:45:26,360 Chúng ta sẽ gọi nó là tên vì chúng ta sẽ có được nhiều người. 921 00:45:26,360 --> 00:45:27,790 OK, tiếp theo? 922 00:45:27,790 --> 00:45:29,270 >> HỌC SINH: Và sau đó bạn có một vòng lặp - 923 00:45:29,270 --> 00:45:30,060 >> Jason Hirschhorn: Đối với loop. 924 00:45:30,060 --> 00:45:33,035 >> HỌC SINH: - i = 0. 925 00:45:33,035 --> 00:45:37,040 >> Jason Hirschhorn: Đối với (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> HỌC SINH: Dấu chấm phẩy. 927 00:45:38,270 --> 00:45:38,880 >> Jason Hirschhorn: Dấu chấm phẩy. 928 00:45:38,880 --> 00:45:39,790 >> HỌC SINH: Tôi ít hơn năm. 929 00:45:39,790 --> 00:45:41,310 >> Jason Hirschhorn: Tôi ít hơn năm. 930 00:45:41,310 --> 00:45:42,230 >> HỌC SINH: Dấu chấm phẩy. 931 00:45:42,230 --> 00:45:42,560 >> Jason Hirschhorn: Dấu chấm phẩy. 932 00:45:42,560 --> 00:45:43,380 >> HỌC SINH: i + +. 933 00:45:43,380 --> 00:45:46,050 >> Jason Hirschhorn: i + +. 934 00:45:46,050 --> 00:45:47,100 >> HỌC SINH: Và sau đó đóng dấu ngoặc đơn. 935 00:45:47,100 --> 00:45:48,600 >> Jason Hirschhorn: ngoặc đóng, và sau đó một số dấu ngoặc nhọn. 936 00:45:48,600 --> 00:45:50,050 Bên trong dấu ngoặc nhọn? 937 00:45:50,050 --> 00:45:51,423 >> HỌC SINH: Và sau đó printf. 938 00:45:51,423 --> 00:45:52,535 >> Jason Hirschhorn: printf. 939 00:45:52,535 --> 00:45:56,200 >> HỌC SINH: Mở ngoặc đơn, tên% d. 940 00:45:56,200 --> 00:45:57,090 >> Jason Hirschhorn: Xin lỗi? 941 00:45:57,090 --> 00:45:57,660 >> HỌC SINH: Tên. 942 00:45:57,660 --> 00:45:58,200 >> Jason Hirschhorn: Tên. 943 00:45:58,200 --> 00:46:01,700 >> HỌC SINH: Và sau đó không gian, và sau đó% d. 944 00:46:01,700 --> 00:46:02,950 >> Jason Hirschhorn: Tên, không gian,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> HỌC SINH: Và sau đó / n, và sau đó đóng cửa. 947 00:46:10,820 --> 00:46:15,070 >> Jason Hirschhorn: tên Vì vậy, không gian, % D / n, dấu ngoặc đóng. 948 00:46:15,070 --> 00:46:17,730 >> HỌC SINH: Comma, i + 1. 949 00:46:17,730 --> 00:46:19,390 Tôi xin lỗi. 950 00:46:19,390 --> 00:46:21,040 Đóng giá, và sau đó dấu phẩy, i +1. 951 00:46:21,040 --> 00:46:24,400 >> Jason Hirschhorn: Đóng cửa giá, dấu phẩy, i +1. 952 00:46:24,400 --> 00:46:25,850 >> HỌC SINH: Có. 953 00:46:25,850 --> 00:46:27,650 Và sau đó dòng tiếp theo - 954 00:46:27,650 --> 00:46:29,400 >> Jason Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> HỌC SINH: Có. 956 00:46:31,600 --> 00:46:36,440 Và sau đó slide tiếp theo là tên khung tôi. 957 00:46:36,440 --> 00:46:39,000 >> Jason Hirschhorn: Dòng tiếp theo là tên khung tôi. 958 00:46:39,000 --> 00:46:41,360 >> HỌC SINH: = nhận được chuỗi. 959 00:46:41,360 --> 00:46:43,460 >> Jason Hirschhorn: = Get - 960 00:46:43,460 --> 00:46:44,510 vốn G-E-T - 961 00:46:44,510 --> 00:46:45,530 chuỗi. 962 00:46:45,530 --> 00:46:47,800 Rất tiếc, xin lỗi. 963 00:46:47,800 --> 00:46:49,050 >> HỌC SINH: Mở, đóng ngoặc và sau đó - 964 00:46:49,050 --> 00:46:50,940 >> Jason Hirschhorn: Mở, đóng dấu ngoặc. 965 00:46:50,940 --> 00:46:51,030 >> HỌC SINH: Dấu chấm phẩy. 966 00:46:51,030 --> 00:46:52,500 >> Jason Hirschhorn: Dấu chấm phẩy. 967 00:46:52,500 --> 00:46:57,545 OK, vì vậy bạn khởi tạo mảng chuỗi, tên, và sau đó đi qua một 968 00:46:57,545 --> 00:47:02,720 cho vòng lặp, và năm lần in ra một số nhắc nhở cho người sử dụng và sau đó lưu trữ 969 00:47:02,720 --> 00:47:03,360 năm dây. 970 00:47:03,360 --> 00:47:08,090 Không ai có bất kỳ điều chỉnh này? 971 00:47:08,090 --> 00:47:10,030 Tom, tôi nghĩ rằng tất cả mọi người đồng ý với bạn. 972 00:47:10,030 --> 00:47:10,880 Trông khá tốt. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Tại sao anh lại làm tôi 1, mặc dù? 975 00:47:14,830 --> 00:47:18,000 >> HỌC SINH: Tôi có nghĩa là, không có được, nhưng i +1 để nó 976 00:47:18,000 --> 00:47:19,700 tên để đặt tên cho một năm. 977 00:47:19,700 --> 00:47:21,930 Nếu không, nó sẽ là tên không để đặt tên cho bốn. 978 00:47:21,930 --> 00:47:24,400 >> Jason Hirschhorn: Vì vậy, bạn đã làm tôi 1 bởi vì nếu không nó sẽ có 979 00:47:24,400 --> 00:47:27,060 in ra không thông qua bốn bởi vì đó là cách các máy tính suy nghĩ, nhưng con người 980 00:47:27,060 --> 00:47:28,530 không thực sự đọc như thế. 981 00:47:28,530 --> 00:47:30,190 Đó là điều khác bạn sẽ gặp phải. 982 00:47:30,190 --> 00:47:33,210 Đôi khi bạn in ra một cái gì đó cho người sử dụng, bạn sẽ muốn làm cho nó một 983 00:47:33,210 --> 00:47:35,733 chút đẹp hơn, và làm i +1 trong trường hợp này là một 984 00:47:35,733 --> 00:47:37,430 cách để làm cho nó đẹp hơn. 985 00:47:37,430 --> 00:47:41,380 >> Tôi cũng thấy năm hai lần, tên chuỗi là năm, tôi là ít hơn năm. 986 00:47:41,380 --> 00:47:42,430 Tôi biết nơi bạn có năm. 987 00:47:42,430 --> 00:47:44,890 Bạn đã nhận nó từ tôi nói bạn năm tên. 988 00:47:44,890 --> 00:47:49,000 Nhưng nếu chúng ta muốn làm cho một mã số chút mạnh mẽ hơn, có một điều chúng tôi 989 00:47:49,000 --> 00:47:53,110 có thể làm là ở đây, bên ngoài của int, chúng ta có thể làm một cái gì đó như thế này, 990 00:47:53,110 --> 00:47:57,070 # Xác định, và chúng ta có thể làm TÊN 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Vì vậy, về cơ bản, bất cứ nơi nào tôi viết vốn N, vốn A, vốn M, vốn E, 993 00:48:05,390 --> 00:48:08,890 vốn S, chuỗi, nó sẽ thay thế rằng với 5 trong các mã. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Hoặc chúng ta hãy gọi nó - chúng tôi sẽ chỉ gọi nó là SỐ. 996 00:48:13,445 --> 00:48:17,190 Vì vậy, tôi xác định tất cả các mũ Số là 5. 997 00:48:17,190 --> 00:48:22,830 >> Vì vậy, tại bất cứ nơi nào tôi có số 5, tôi có thể thay thế nó bằng tất cả số mũ. 998 00:48:22,830 --> 00:48:26,880 Và bây giờ, nếu tôi muốn thay đổi số tên, tất cả những gì cần làm là 999 00:48:26,880 --> 00:48:31,350 này một dòng, dòng bốn, nơi tôi có # Xác định số lượng 5, thay đổi điều đó đến 10, 1000 00:48:31,350 --> 00:48:34,340 hoặc thay đổi đến 4. 1001 00:48:34,340 --> 00:48:37,400 Khi mã của bạn được lâu hơn, bạn không sẽ nhớ tất cả những nơi mà bạn 1002 00:48:37,400 --> 00:48:41,630 đặt bao nhiêu tên bạn muốn, và trong để bạn không bỏ lỡ một, đây là 1003 00:48:41,630 --> 00:48:45,490 một cách tốt để làm điều đó, để tìm một cái gì đó lên hàng đầu và sau đó chỉ cần sử dụng cụm từ đó 1004 00:48:45,490 --> 00:48:46,400 ở khắp mọi nơi trong mã của bạn. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> HỌC SINH: Có phải đó là phong cách ưa thích hơn trên toàn cầu xác định một 1007 00:48:49,780 --> 00:48:51,270 n không đổi? 1008 00:48:51,270 --> 00:48:53,760 >> Jason Hirschhorn: Vậy là phong cách ưa thích hơn trên toàn cầu 1009 00:48:53,760 --> 00:48:54,980 xác định một n không đổi? 1010 00:48:54,980 --> 00:48:59,036 Vì vậy, bạn đang nói rằng bạn có thể làm, int number = 5? 1011 00:48:59,036 --> 00:49:01,300 >> HỌC SINH: Họ có phụ âm trong C hay không? 1012 00:49:01,300 --> 00:49:02,720 >> Jason Hirschhorn: Hoặc const - trong bằng nhau. 1013 00:49:02,720 --> 00:49:04,275 Vì vậy, bạn đang nói chỉ một biến toàn cầu? 1014 00:49:04,275 --> 00:49:04,990 >> HỌC SINH: Vâng. 1015 00:49:04,990 --> 00:49:08,670 >> Jason Hirschhorn: Vì vậy, phong cách, có không nhất thiết phải một trong những quyền 1016 00:49:08,670 --> 00:49:12,050 trả lời, nhưng cả hai cách đó tốt hơn hơn là chỉ ném những ngẫu nhiên 1017 00:49:12,050 --> 00:49:12,960 số trong mã của bạn. 1018 00:49:12,960 --> 00:49:14,650 Chúng tôi gọi họ là con số ma thuật. 1019 00:49:14,650 --> 00:49:16,450 Khi tôi nhìn vào mã của bạn hoặc khi ai đã đọc qua nó, họ 1020 00:49:16,450 --> 00:49:18,790 không muốn chỉ là những con số ngẫu nhiên mà không có ý nghĩa. 1021 00:49:18,790 --> 00:49:22,420 Thậm chí số 26, mà nói chung là số lượng chữ cái trong bảng chữ cái, 1022 00:49:22,420 --> 00:49:28,870 nó tốt hơn để xác định bảng chữ cái lên hàng đầu và lưu số 26 trong chuỗi, 1023 00:49:28,870 --> 00:49:29,550 nếu có ý nghĩa. 1024 00:49:29,550 --> 00:49:33,210 >> Hoặc về vấn đề thiết lập một, chứ không phải là - một lần nữa, chúng tôi không nói về việc này tại 1025 00:49:33,210 --> 00:49:37,020 thời gian, nhưng thay vì chỉ ném trong một 25 ở khắp mọi nơi hoặc 10, bạn có thể 1026 00:49:37,020 --> 00:49:41,860 lưu số 25 như QUÝ hoặc 10 như Dime, và làm cho nó dễ dàng hơn cho 1027 00:49:41,860 --> 00:49:44,140 bất cứ ai đã đọc qua mã của bạn để hiểu lý do tại sao bạn đã chọn con số đó. 1028 00:49:44,140 --> 00:49:46,540 Và cũng có thể cho bạn, nếu bạn đã bao giờ muốn cập nhật mã của bạn, nó làm cho nó một chút 1029 00:49:46,540 --> 00:49:47,290 mạnh mẽ hơn. 1030 00:49:47,290 --> 00:49:48,070 Yeah? 1031 00:49:48,070 --> 00:49:50,830 >> HỌC SINH: là mã này cũng sẽ sẽ có sẵn cho chúng tôi sau? 1032 00:49:50,830 --> 00:49:52,453 >> Jason Hirschhorn: Tất cả các mã mà chúng tôi đã viết với nhau là 1033 00:49:52,453 --> 00:49:54,620 sẽ được gửi đến bạn chàng trai và có sẵn. 1034 00:49:54,620 --> 00:49:55,740 Vâng. 1035 00:49:55,740 --> 00:49:58,040 Vì vậy, yêu cầu người dùng trong năm tên. 1036 00:49:58,040 --> 00:50:00,280 Ngẫu nhiên lựa chọn và in một trong những tên. 1037 00:50:00,280 --> 00:50:00,940 Ai đã làm dòng này? 1038 00:50:00,940 --> 00:50:02,230 Đây là dòng khó khăn nhất ở đây. 1039 00:50:02,230 --> 00:50:02,450 Xin lỗi, Tom. 1040 00:50:02,450 --> 00:50:05,510 Bạn đã làm một công việc thực sự tốt, nhưng đây là một chút phức tạp hơn. 1041 00:50:05,510 --> 00:50:06,600 Marcus, đi trước. 1042 00:50:06,600 --> 00:50:10,180 >> HỌC SINH: Vâng đầu tiên, bạn sẽ cần phải bao gồm stdlib.h và time.h. 1043 00:50:10,180 --> 00:50:13,200 >> Jason Hirschhorn: Vì vậy, bạn đang nói ở hàng đầu, bao gồm hai thư viện hơn. 1044 00:50:13,200 --> 00:50:18,830 Bạn muốn tôi bao gồm S-T-D-L-tôi-B dot H, thư viện chuẩn, và những gì 1045 00:50:18,830 --> 00:50:19,760 là một trong những khác? 1046 00:50:19,760 --> 00:50:21,010 >> HỌC SINH: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> Jason Hirschhorn: # bao gồm time.h. 1049 00:50:27,840 --> 00:50:29,470 Vì vậy, đây là hai thư viện hơn. 1050 00:50:29,470 --> 00:50:31,790 Tôi giả sử bây giờ chúng ta sẽ được sử dụng chức năng được chứa trong những 1051 00:50:31,790 --> 00:50:34,240 hai, đó là lý do tại sao bạn cần bao gồm chúng? 1052 00:50:34,240 --> 00:50:36,980 >> HỌC SINH: Vì vậy, sau đó, đầu tiên bạn sẽ muốn viết srand. 1053 00:50:36,980 --> 00:50:38,770 >> Jason Hirschhorn: srand. 1054 00:50:38,770 --> 00:50:42,070 >> HỌC SINH: (thời gian (0) 1055 00:50:42,070 --> 00:50:42,700 >> Jason Hirschhorn: Xin lỗi. 1056 00:50:42,700 --> 00:50:45,580 Srand (time ( 1057 00:50:45,580 --> 00:50:46,890 >> HỌC SINH: 0. 1058 00:50:46,890 --> 00:50:47,230 >> Jason Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> HỌC SINH:)), dấu chấm phẩy. 1060 00:50:49,990 --> 00:50:51,320 >> Jason Hirschhorn: Một dấu ngoặc đóng cửa? 1061 00:50:51,320 --> 00:50:51,650 Dấu chấm phẩy. 1062 00:50:51,650 --> 00:50:53,610 Tôi sẽ chỉ cần thay thế không bằng NULL. 1063 00:50:53,610 --> 00:50:55,980 Nó sẽ làm gì về những điều tương tự, nhưng Thông thường, bạn sẽ thấy NULL, mà 1064 00:50:55,980 --> 00:50:57,720 chúng tôi sẽ nói về điều này dòng trong một giây. 1065 00:50:57,720 --> 00:50:58,580 >> HỌC SINH: Phong cách tốt hơn? 1066 00:50:58,580 --> 00:51:02,240 >> Jason Hirschhorn: Thông thường, người NULL đúng, nhưng điều tương tự. 1067 00:51:02,240 --> 00:51:05,010 >> HỌC SINH: Và sau đó int tên. 1068 00:51:05,010 --> 00:51:06,490 >> Jason Hirschhorn: tên Int. 1069 00:51:06,490 --> 00:51:07,280 >> HỌC SINH: = 1070 00:51:07,280 --> 00:51:07,780 >> Jason Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> HỌC SINH: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> Jason Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> HỌC SINH: () 1074 00:51:10,420 --> 00:51:11,500 >> Jason Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> HỌC SINH: số Modulo. 1076 00:51:12,850 --> 00:51:14,310 >> Jason Hirschhorn: modulo là gì? 1077 00:51:14,310 --> 00:51:14,970 Các nhân vật? 1078 00:51:14,970 --> 00:51:16,000 Nhân vật phần trăm? 1079 00:51:16,000 --> 00:51:17,790 >> HỌC SINH: nhân vật phần trăm. 1080 00:51:17,790 --> 00:51:19,521 Modulo số mà bạn định nghĩa lên hàng đầu. 1081 00:51:19,521 --> 00:51:22,030 >> Jason Hirschhorn: Modulo số. 1082 00:51:22,030 --> 00:51:24,052 >> HỌC SINH: Và sau đó dấu chấm phẩy. 1083 00:51:24,052 --> 00:51:24,660 >> Jason Hirschhorn: Dấu chấm phẩy. 1084 00:51:24,660 --> 00:51:27,820 >> HỌC SINH: Và sau đó dòng mới, printf. 1085 00:51:27,820 --> 00:51:28,460 >> Jason Hirschhorn: printf. 1086 00:51:28,460 --> 00:51:29,730 >> HỌC SINH: ( 1087 00:51:29,730 --> 00:51:30,620 >> Jason Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> HỌC SINH: " 1089 00:51:31,650 --> 00:51:32,630 >> Jason Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> HỌC SINH:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> Jason Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> HỌC SINH: " 1093 00:51:38,420 --> 00:51:40,640 >> Jason Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> HỌC SINH: Comma, tên không gian. 1095 00:51:43,540 --> 00:51:44,350 >> Jason Hirschhorn: Không gian - 1096 00:51:44,350 --> 00:51:46,300 >> HỌC SINH: Oh, tôi đoán, những gì chúng tôi đã gọi nó đây? 1097 00:51:46,300 --> 00:51:48,640 >> Jason Hirschhorn: Chúng tôi gọi nó là tên. 1098 00:51:48,640 --> 00:51:52,360 >> HỌC SINH: Mở khung, tên. 1099 00:51:52,360 --> 00:51:55,090 >> Jason Hirschhorn: Mở khung, tên. 1100 00:51:55,090 --> 00:51:55,850 >> HỌC SINH: đóng khung. 1101 00:51:55,850 --> 00:51:56,490 >> Jason Hirschhorn: đóng khung. 1102 00:51:56,490 --> 00:51:57,460 >> HỌC SINH:) 1103 00:51:57,460 --> 00:51:58,800 >> Jason Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> HỌC SINH: Dấu chấm phẩy. 1105 00:51:59,440 --> 00:52:00,410 >> Jason Hirschhorn: Dấu chấm phẩy. 1106 00:52:00,410 --> 00:52:01,500 OK, chúng ta hãy tiết kiệm. 1107 00:52:01,500 --> 00:52:04,410 Chúng ta hãy làm cho mã này. 1108 00:52:04,410 --> 00:52:06,365 Sinh viên. 1109 00:52:06,365 --> 00:52:07,100 Chúng ta hãy chạy mã này. 1110 00:52:07,100 --> 00:52:08,480 Sinh viên. 1111 00:52:08,480 --> 00:52:11,630 Không / học sinh.. . / Sinh viên. 1112 00:52:11,630 --> 00:52:12,870 Tên một. 1113 00:52:12,870 --> 00:52:15,490 Chúng tôi sẽ nói David. 1114 00:52:15,490 --> 00:52:18,070 Tên hai, RJ. 1115 00:52:18,070 --> 00:52:20,561 Tên ba, Rob. 1116 00:52:20,561 --> 00:52:22,490 Tên bốn, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Tên năm, Joseph. 1118 00:52:26,060 --> 00:52:28,850 Và sau đó in ra Joseph một lần nữa. 1119 00:52:28,850 --> 00:52:31,730 >> Vì vậy, hãy để tôi chạy này một lần nữa. 1120 00:52:31,730 --> 00:52:32,460 Hãy để tôi làm cùng tên. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Joseph. 1122 00:52:39,760 --> 00:52:41,070 Và nó đã cho tôi thời gian này, David. 1123 00:52:41,070 --> 00:52:43,030 Vì vậy, tôi đã làm điều tương tự, nhưng nó đã cho tôi một điều khác nhau, và đó là 1124 00:52:43,030 --> 00:52:45,410 bởi vì, tất nhiên, chúng tôi đang yêu cầu cho một tên ngẫu nhiên. 1125 00:52:45,410 --> 00:52:50,950 Vì vậy, tôi nghĩ rằng, dựa tắt của tôi lang thang xung quanh căn phòng, mà hầu hết mọi người 1126 00:52:50,950 --> 00:52:55,960 có thể có phần đầu bên phải, thiết lập mảng đó và sau đó nhận được 1127 00:52:55,960 --> 00:52:56,430 tất cả các tên. 1128 00:52:56,430 --> 00:52:59,320 Tôi đang nói về dòng 10 đến 16. 1129 00:52:59,320 --> 00:53:02,150 Nhưng dòng 18 đến 21 là có thể một số thứ mà bạn chưa từng thấy trước đây, 1130 00:53:02,150 --> 00:53:03,750 vì vậy hãy đi qua những. 1131 00:53:03,750 --> 00:53:10,390 >> Dòng này, srand thời gian NULL cơ bản - 1132 00:53:10,390 --> 00:53:14,300 xin lỗi, chúng ta hãy bỏ xuống một dòng, rand (). 1133 00:53:14,300 --> 00:53:17,320 Cung cấp cho bạn một số ngẫu nhiên, một số nguyên ngẫu nhiên. 1134 00:53:17,320 --> 00:53:19,630 Và nếu bạn đánh người đàn ông rand, vốn rất nhiều bạn đã làm - 1135 00:53:19,630 --> 00:53:21,530 M-A-N không gian R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 trong các thiết bị đầu cuối như thế này, M-A-N không gian R-A-N-D, nhấn Enter. 1137 00:53:25,910 --> 00:53:30,490 Bạn sẽ đưa ra để hướng dẫn và sẽ có thể đọc mà rand 1138 00:53:30,490 --> 00:53:34,260 kết quả đầu ra lệnh num giả byte ngẫu nhiên sau khi hạt giống số ngẫu nhiên 1139 00:53:34,260 --> 00:53:35,510 máy phát điện một lần. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Vì vậy, đó là một mô tả. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Đó là những gì rand không, cho bạn một số ngẫu nhiên khi 1144 00:53:46,800 --> 00:53:48,610 bạn gọi chức năng đó. 1145 00:53:48,610 --> 00:53:53,140 Thật không may, nó không thực sự ngẫu nhiên bởi vì nếu bạn chỉ cần gọi ngẫu nhiên 1146 00:53:53,140 --> 00:53:55,970 mà không nhận được nó một số hạt giống, một số điểm bắt đầu, nó sẽ luôn luôn chọn 1147 00:53:55,970 --> 00:53:59,100 một trong những giống và nó sử dụng một công thức để xác định kế tiếp. 1148 00:53:59,100 --> 00:54:01,730 Vì vậy, nếu bạn gọi rand, nó sẽ chỉ cung cấp cho bạn những điều tương tự. 1149 00:54:01,730 --> 00:54:02,610 Nó sẽ rất dự đoán được. 1150 00:54:02,610 --> 00:54:03,790 Nó thực sự sẽ không được ngẫu nhiên. 1151 00:54:03,790 --> 00:54:09,610 >> Vì vậy, những gì chúng ta cần làm, mỗi Marcus hướng dẫn cho tôi, là rand hạt giống 1152 00:54:09,610 --> 00:54:13,810 với cái gì khác, đó là những gì hàm srand không. 1153 00:54:13,810 --> 00:54:18,055 Nó giống rand với một cái gì đó nhiều hơn một chút ngẫu nhiên hơn điều tương tự, và 1154 00:54:18,055 --> 00:54:23,360 anh gieo mầm với thời gian NULL, mà là, chỉ bằng cách quy ước, hiện tại 1155 00:54:23,360 --> 00:54:24,650 thời gian trong vài giây. 1156 00:54:24,650 --> 00:54:29,790 >> Vì vậy, bạn đang giả định rằng tất cả mọi người là không sẽ chạy mã ở chính xác 1157 00:54:29,790 --> 00:54:33,620 cùng một thứ hai, vì vậy nó là một cược an toàn mà Hiện NULL sẽ là khác nhau 1158 00:54:33,620 --> 00:54:35,250 mỗi khi mã này được chạy. 1159 00:54:35,250 --> 00:54:39,020 Cược an toàn mà do đó, srand sẽ rand hạt giống với một cái gì đó khác nhau mỗi 1160 00:54:39,020 --> 00:54:39,990 thời gian duy nhất. 1161 00:54:39,990 --> 00:54:44,110 Vì vậy, theo quy ước, khi chúng tôi muốn có một số ngẫu nhiên, chúng tôi viết dòng này, 1162 00:54:44,110 --> 00:54:50,540 srand thời gian NULL, để cung cấp cho chúng ta một nhiều hạt giống ngẫu nhiên, và sau đó chúng tôi chạy 1163 00:54:50,540 --> 00:54:52,080 rand, mà cho chúng ta một số ngẫu nhiên. 1164 00:54:52,080 --> 00:54:52,840 Yeah? 1165 00:54:52,840 --> 00:54:54,140 >> HỌC SINH: Bạn có thể nói những gì bạn có nghĩa là bằng hạt? 1166 00:54:54,140 --> 00:54:55,630 >> Jason Hirschhorn: giống như trong - 1167 00:54:55,630 --> 00:54:58,730 để rand sẽ chọn một số số và nó sẽ sử dụng một số 1168 00:54:58,730 --> 00:55:00,060 công thức để đạt được điều đó. 1169 00:55:00,060 --> 00:55:03,250 Vì vậy, nó sẽ bắt đầu với một cái gì đó và sau đó biến nó thành một cái gì đó dựa 1170 00:55:03,250 --> 00:55:03,890 tắt của công thức đó. 1171 00:55:03,890 --> 00:55:06,090 Nếu bạn luôn luôn cung cấp cho nó những điều tương tự, nó luôn luôn biến nó thành 1172 00:55:06,090 --> 00:55:06,790 điều tương tự. 1173 00:55:06,790 --> 00:55:08,450 Vì vậy, điều đầu tiên mà bạn cho nó là hạt giống. 1174 00:55:08,450 --> 00:55:10,880 Vì vậy, bạn muốn cung cấp cho nó một cái gì đó khác nhau để bắt đầu với, và vì vậy nó 1175 00:55:10,880 --> 00:55:12,610 sẽ biến nó thành một cái gì đó khác nhau. 1176 00:55:12,610 --> 00:55:15,840 >> Và cuối cùng, dòng 20, % này được gọi là 1177 00:55:15,840 --> 00:55:17,470 modulo, và đó là khó hiểu. 1178 00:55:17,470 --> 00:55:19,850 Đó là cái gì đó là một chút khác nhau ở đây là bạn không thực sự 1179 00:55:19,850 --> 00:55:22,240 có trong toán học cuộc sống thực. 1180 00:55:22,240 --> 00:55:27,430 Nhưng về cơ bản, khi bạn có một người khổng lồ số lượng và bạn phân chia trong C, những gì 1181 00:55:27,430 --> 00:55:29,482 xảy ra với phần còn lại? 1182 00:55:29,482 --> 00:55:30,510 >> HỌC SINH: Nó được cắt ngắn. 1183 00:55:30,510 --> 00:55:31,220 >> Jason Hirschhorn: Nó được cắt ngắn. 1184 00:55:31,220 --> 00:55:35,200 Vì vậy, 20 chia cho 3 là gì? 1185 00:55:35,200 --> 00:55:37,950 Điều đó trở lại bạn, 20 chia cho 3. 1186 00:55:37,950 --> 00:55:39,260 Xin lỗi, 10 chia cho 3. 1187 00:55:39,260 --> 00:55:41,062 Điều đó trả lại cho bạn? 1188 00:55:41,062 --> 00:55:41,540 >> HỌC SINH: [nghe được]. 1189 00:55:41,540 --> 00:55:45,170 >> Jason Hirschhorn: 10 chia cho 3 chỉ trả về 3 không 3 còn lại 1. 1190 00:55:45,170 --> 00:55:51,490 Vì vậy, những gì 10 modulo 3 lợi nhuận chỉ là phần còn lại, 1. 1191 00:55:51,490 --> 00:55:54,020 Vì vậy, nếu bạn muốn biết những gì 10 chia 3 thực sự là, bạn sẽ 1192 00:55:54,020 --> 00:55:58,950 làm 10 chia cho 3, bạn sẽ nhận được 3 của bạn, và sau đó bạn sẽ làm 10 modulo 3, và 1193 00:55:58,950 --> 00:55:59,860 bạn sẽ nhận được một 1. 1194 00:55:59,860 --> 00:56:04,630 Vì vậy, bạn sẽ nhận ra rằng 10 chia 3 là 3, còn lại 1. 1195 00:56:04,630 --> 00:56:07,990 >> Và trong dòng này, có thể là rand bất kỳ số nguyên, về cơ bản. 1196 00:56:07,990 --> 00:56:12,660 Vì vậy, theo modulo được nói, chia nó số, đó là trong trường hợp này 5. 1197 00:56:12,660 --> 00:56:16,420 Và nếu bạn đã bao giờ chia cho một số, số nguyên luôn luôn có được ít hơn 1198 00:56:16,420 --> 00:56:17,590 con số đó. 1199 00:56:17,590 --> 00:56:22,200 Vì vậy, nếu bạn đang chia cho một số 5, phần còn lại là luôn luôn có được 1200 00:56:22,200 --> 00:56:23,396 không thông qua bốn. 1201 00:56:23,396 --> 00:56:25,520 Đó chỉ là cách các toán hoạt động ra. 1202 00:56:25,520 --> 00:56:29,700 >> Vì vậy, một số lượng lớn moduloed bởi một nhỏ hơn số sẽ luôn luôn quay trở lại 1203 00:56:29,700 --> 00:56:33,530 còn lại và sẽ luôn luôn trở lại một số số đó là ít hơn số bạn 1204 00:56:33,530 --> 00:56:34,693 chia. 1205 00:56:34,693 --> 00:56:37,920 Không ai có thắc mắc về modulo, bởi vì nó sẽ đến trong rất, 1206 00:56:37,920 --> 00:56:41,450 rất tiện dụng, vì vậy tôi muốn chắc chắn tất cả mọi người hiểu được nó? 1207 00:56:41,450 --> 00:56:43,710 Mát mẻ. 1208 00:56:43,710 --> 00:56:46,000 Và chúng ta đã thấy rằng chương trình này làm việc. 1209 00:56:46,000 --> 00:56:50,280 OK, di chuyển trên. 1210 00:56:50,280 --> 00:56:52,970 >> Tiếp theo, chúng ta sẽ đi vào chức năng, và chúng ta sẽ đi 1211 00:56:52,970 --> 00:56:55,580 thông qua phần còn lại của công cụ này khá một cách nhanh chóng bởi vì tôi muốn để có được 1212 00:56:55,580 --> 00:56:57,150 đối số dòng lệnh. 1213 00:56:57,150 --> 00:57:00,330 Vì vậy, các chức năng cơ bản, như bạn đã thấy, hộp đen. 1214 00:57:00,330 --> 00:57:04,290 Họ có những điều trong gọi là các thông số, họ làm điều gì đó cho họ, hoặc 1215 00:57:04,290 --> 00:57:06,990 thay đổi chúng hoặc tạo ra một số tác dụng phụ, và cuối cùng, họ nhổ 1216 00:57:06,990 --> 00:57:09,530 một cái gì đó, mà là giá trị trả về. 1217 00:57:09,530 --> 00:57:12,495 Ai có thể cho tôi một lý do lý do tại sao chúng tôi sẽ sử dụng chức năng này? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Bất cứ ai? 1220 00:57:16,360 --> 00:57:19,360 Một lý do tại sao chúng tôi muốn sử dụng chức năng này? 1221 00:57:19,360 --> 00:57:21,280 Bất cứ ai? 1222 00:57:21,280 --> 00:57:22,700 Tôi thấy hai tay. 1223 00:57:22,700 --> 00:57:23,590 Một lý do chính đáng là gì? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> HỌC SINH: Nếu bạn phải gọi cùng đoạn mã nhiều lần. 1226 00:57:27,730 --> 00:57:29,150 >> Jason Hirschhorn: OK, nếu bạn cần để gọi đoạn cùng 1227 00:57:29,150 --> 00:57:30,040 mã nhiều lần. 1228 00:57:30,040 --> 00:57:32,470 Jeff, bạn đã có một lý do khác? 1229 00:57:32,470 --> 00:57:34,230 >> HỌC SINH: Chỉ cần để bạn có thể mã ít hơn. 1230 00:57:34,230 --> 00:57:35,070 >> Jason Hirschhorn: Bạn có thể mã ít hơn. 1231 00:57:35,070 --> 00:57:35,320 Đúng. 1232 00:57:35,320 --> 00:57:38,720 Nếu bạn muốn làm một cái gì đó rất nhiều - 1233 00:57:38,720 --> 00:57:41,720 trong mã trước đây, tôi có thể có viết nhận được chuỗi năm lần, nhưng một 1234 00:57:41,720 --> 00:57:44,620 cho vòng lặp làm cho nó trông đẹp hơn và bạn phải viết mã ít hơn. 1235 00:57:44,620 --> 00:57:45,760 Chức năng là một ý tưởng tương tự. 1236 00:57:45,760 --> 00:57:48,720 Nếu tôi muốn làm điều tương tự rất nhiều, di chuyển nó đến một chức năng và gọi đó 1237 00:57:48,720 --> 00:57:49,610 hoạt động mỗi lần. 1238 00:57:49,610 --> 00:57:51,190 Điều đó sẽ làm điều đó cho bạn. 1239 00:57:51,190 --> 00:57:53,740 Đó là một lý do tuyệt vời sử dụng chức năng. 1240 00:57:53,740 --> 00:57:54,870 >> Vì vậy, giải phẫu của một hàm. 1241 00:57:54,870 --> 00:57:56,670 Một chức năng sẽ thường trông như thế này. 1242 00:57:56,670 --> 00:57:59,280 Nó sẽ bắt đầu với kiểu trả về, sau đó bạn sẽ nhận được tên. 1243 00:57:59,280 --> 00:58:02,935 Nó sẽ mất các đối số, nếu không được gọi là các thông số, và bên trong 1244 00:58:02,935 --> 00:58:05,290 những dấu ngoặc nhọn, bạn sẽ viết mã của bạn. 1245 00:58:05,290 --> 00:58:07,150 >> Chúng tôi đã nhìn thấy một chức năng rất nhiều. 1246 00:58:07,150 --> 00:58:09,160 Đó là chính. 1247 00:58:09,160 --> 00:58:13,820 Đây là chính chồng lên rằng giải phẫu tôi đã có trước đó. 1248 00:58:13,820 --> 00:58:15,525 Int ở đây không gì nghĩa gì? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Int không có nghĩa là gì? 1251 00:58:19,450 --> 00:58:21,026 Khi tôi viết int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> HỌC SINH: Loại Quay lại? 1253 00:58:21,740 --> 00:58:22,350 >> Jason Hirschhorn: Xin lỗi? 1254 00:58:22,350 --> 00:58:23,170 >> HỌC SINH: Kiểu trả về. 1255 00:58:23,170 --> 00:58:24,820 >> Jason Hirschhorn: Int là loại trở về, chính xác. 1256 00:58:24,820 --> 00:58:25,870 Chính trả về int. 1257 00:58:25,870 --> 00:58:28,678 Chính là những gì? 1258 00:58:28,678 --> 00:58:29,510 >> HỌC SINH: tên chức năng. 1259 00:58:29,510 --> 00:58:30,800 >> Jason Hirschhorn: chính là tên của các chức năng. 1260 00:58:30,800 --> 00:58:31,510 Chính xác. 1261 00:58:31,510 --> 00:58:31,840 Hiệu? 1262 00:58:31,840 --> 00:58:33,190 Khoảng trống bên trong dấu ngoặc đơn là gì? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> HỌC SINH: Nó không mất bất kỳ giá trị bên ngoài. 1265 00:58:42,030 --> 00:58:42,930 >> Jason Hirschhorn: Vì vậy, void - 1266 00:58:42,930 --> 00:58:43,240 đúng. 1267 00:58:43,240 --> 00:58:45,940 Bên trong dấu ngoặc đơn, chúng tôi đặt các các tham số hoặc các đối số 1268 00:58:45,940 --> 00:58:48,480 chức năng có, những gì diễn ra bên trong hộp đen. 1269 00:58:48,480 --> 00:58:50,760 Khi bạn viết có hiệu lực, bạn đang nói này có gì in 1270 00:58:50,760 --> 00:58:53,802 Vì vậy, int main khoảng trống có nghĩa là chính của không tham gia bất cứ điều gì in 1271 00:58:53,802 --> 00:58:56,950 >> Bên trong dấu ngoặc nhọn, chúng tôi có một số mã, và sau đó chúng ta thấy ở cuối 1272 00:58:56,950 --> 00:58:57,640 trở lại bằng không. 1273 00:58:57,640 --> 00:59:01,220 Không trở lại không có nghĩa là gì? 1274 00:59:01,220 --> 00:59:02,470 Vâng, chúng ta đã nói về kiểu trả về. 1275 00:59:02,470 --> 00:59:03,780 Chính cần phải trả lại một int. 1276 00:59:03,780 --> 00:59:04,960 Đó là dòng này có. 1277 00:59:04,960 --> 00:59:07,330 Nó trả về một int, bằng không. 1278 00:59:07,330 --> 00:59:13,600 >> Tất nhiên, chúng tôi đã không thấy rằng rất nhiều bởi vì trong các chương trình chúng tôi làm với 1279 00:59:13,600 --> 00:59:16,070 các máy chúng tôi làm và các trình biên dịch chúng ta sử dụng ngày nay, bạn 1280 00:59:16,070 --> 00:59:16,990 không cần đường dây đó. 1281 00:59:16,990 --> 00:59:20,070 Chính là đặc biệt, đủ mà nó biết khi bạn đến cuối của chính, chỉ 1282 00:59:20,070 --> 00:59:22,060 trở lại bằng không nếu tất cả mọi thứ diễn ra tốt đẹp. 1283 00:59:22,060 --> 00:59:25,560 Trong thực tế, nếu một cái gì đó không suôn sẻ, chính thường sẽ trở lại một khác nhau 1284 00:59:25,560 --> 00:59:28,500 số có nghĩa rằng một cái gì đó đã đi sai với chương trình của bạn. 1285 00:59:28,500 --> 00:59:32,470 >> Vì vậy, nói chung khi bạn nhìn thấy mã số, bạn không viết lại không, nhưng đó là tốt 1286 00:59:32,470 --> 00:59:34,770 để biết rằng nó đang xảy ra đằng sau cảnh bởi vì bất cứ khi nào bạn viết 1287 00:59:34,770 --> 00:59:36,370 một loại chức năng, bạn sẽ cần phải 1288 00:59:36,370 --> 00:59:37,400 bao gồm một đường trở lại. 1289 00:59:37,400 --> 00:59:39,710 Nếu bạn đang nói tôi sẽ trả lại một int, bạn phải 1290 00:59:39,710 --> 00:59:41,250 viết lại một cái gì đó. 1291 00:59:41,250 --> 00:59:45,160 Nếu bạn nói trống lên đây ở đầu, khoảng trống void main, cho 1292 00:59:45,160 --> 00:59:48,670 Ví dụ, sau đó nó không trở về bất cứ điều gì - khoảng trống có nghĩa là không có gì - 1293 00:59:48,670 --> 00:59:50,320 do đó bạn không cần dòng trở lại. 1294 00:59:50,320 --> 00:59:53,610 Nhưng bạn đã bao giờ viết một cái gì đó không làm mất hiệu lực cho kiểu trả về, bạn cần 1295 00:59:53,610 --> 00:59:55,950 một dòng nói là trở lại và bạn cần phải đặt một cái gì đó có 1296 00:59:55,950 --> 00:59:57,650 phù hợp với loại. 1297 00:59:57,650 --> 00:59:58,900 Bất kỳ câu hỏi về điều đó? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Ngọt ngào. 1300 01:00:04,680 --> 01:00:05,930 >> Phạm vi. 1301 01:00:05,930 --> 01:00:07,360 Đây là một cái gì đó chúng tôi đã đụng vào là tốt. 1302 01:00:07,360 --> 01:00:10,720 Tất cả các biến, như chúng ta biết, có một phạm vi nhất định, và đó là cơ bản 1303 01:00:10,720 --> 01:00:14,160 nói về nơi mà các biến có thể có hoặc có thể không được tham chiếu. 1304 01:00:14,160 --> 01:00:16,310 Và tôi muốn nói rằng những gì xảy ra trong dấu ngoặc nhọn vẫn 1305 01:00:16,310 --> 01:00:18,000 bên trong dấu ngoặc nhọn. 1306 01:00:18,000 --> 01:00:21,490 Vì vậy, ví dụ, nếu chúng ta nhìn vào mã này, chúng tôi xác định một biến toàn cầu 1307 01:00:21,490 --> 01:00:24,510 bên ngoài của chính, int a, lên đây ở đầu trang. 1308 01:00:24,510 --> 01:00:27,380 Chúng tôi đang gọi điện thoại khác int một bên trong chính. 1309 01:00:27,380 --> 01:00:29,760 Chúng tôi có một số dấu ngoặc nhọn hơn, và chúng tôi đang gọi điện thoại khác int a. 1310 01:00:29,760 --> 01:00:31,690 >> Chúng tôi có ba của một trong mã. 1311 01:00:31,690 --> 01:00:32,550 Đây không phải là điều tương tự. 1312 01:00:32,550 --> 01:00:34,880 Tôi đã tạo ra ba biến khác nhau. 1313 01:00:34,880 --> 01:00:39,370 Sau đó, trong những xoăn bên trong niềng răng, tôi nói một = 4. 1314 01:00:39,370 --> 01:00:44,130 Đó là nói về, các đầu tiên, thứ hai, 1315 01:00:44,130 --> 01:00:47,045 hoặc một trong các thứ ba? 1316 01:00:47,045 --> 01:00:47,920 >> HỌC SINH: Các thứ ba. 1317 01:00:47,920 --> 01:00:49,320 >> Jason Hirschhorn: Nó nói khoảng một phần ba. 1318 01:00:49,320 --> 01:00:52,850 Tất cả những một thực sự có thể nói về đặc biệt này 1319 01:00:52,850 --> 01:00:58,660 Ví dụ vì phạm vi của họ tất cả đi vào các dấu ngoặc nhọn trong cùng. 1320 01:00:58,660 --> 01:01:02,360 Tuy nhiên, khi bạn gọi điều tương tự tên, có điều gì đó được gọi là ẩn. 1321 01:01:02,360 --> 01:01:09,670 Vì vậy, bạn chỉ đối phó với hoặc sửa chữa hoặc sử dụng biến gần đây nhất, hoặc một 1322 01:01:09,670 --> 01:01:11,090 gần nhất với bạn. 1323 01:01:11,090 --> 01:01:14,760 Vì vậy, trong đây, một phần ba này là gần nhất để dòng, a = 4, vì vậy nó 1324 01:01:14,760 --> 01:01:16,550 ảnh hưởng đến một phần ba. 1325 01:01:16,550 --> 01:01:19,890 Và dòng cuối cùng, a = 2, điều mà một là mà nói về, lần đầu tiên, thứ hai, 1326 01:01:19,890 --> 01:01:20,805 hoặc thứ ba một? 1327 01:01:20,805 --> 01:01:22,530 >> HỌC SINH: Thứ hai. 1328 01:01:22,530 --> 01:01:24,430 >> Jason Hirschhorn: Nó nói về một thứ hai. 1329 01:01:24,430 --> 01:01:27,970 Tất nhiên, một phần ba là gần nhất với nó trong các mã, nhưng thứ ba một 1330 01:01:27,970 --> 01:01:30,200 không tồn tại bên ngoài những dấu ngoặc nhọn. 1331 01:01:30,200 --> 01:01:32,650 Một khi bạn nhận được để mà đóng xoăn cú đúp, nó giống như nó đã biến mất, 1332 01:01:32,650 --> 01:01:33,570 cơ bản. 1333 01:01:33,570 --> 01:01:36,150 Vì vậy, chỉ có hai bạn đã để lại là những đầu tiên hai, và tất nhiên, bây giờ 1334 01:01:36,150 --> 01:01:37,960 nó là gần nhất với thứ hai. 1335 01:01:37,960 --> 01:01:39,410 >> Vì vậy, đó là một điều tốt để nhớ về phạm vi. 1336 01:01:39,410 --> 01:01:42,900 Ví dụ, tôi chắc chắn bạn đã gặp phải này trong một làm trong khi vòng lặp. 1337 01:01:42,900 --> 01:01:46,680 Nếu bạn khởi tạo trong biến các bạn trong khi vòng lặp và sau đó bạn cố gắng 1338 01:01:46,680 --> 01:01:50,360 truy cập nó bên ngoài, bạn có thể có một số cảnh báo như thế, điều này 1339 01:01:50,360 --> 01:01:51,680 biến không tồn tại. 1340 01:01:51,680 --> 01:01:54,370 Đó là bởi vì các ý tưởng phạm vi, rằng mọi thứ chỉ tồn tại 1341 01:01:54,370 --> 01:01:55,320 bên trong các dấu ngoặc nhọn. 1342 01:01:55,320 --> 01:01:59,320 Xoăn niềng răng giống như một cái ôm khổng lồ bạn đang đưa ra mã của bạn, là một 1343 01:01:59,320 --> 01:02:01,380 cách suy nghĩ về nó. 1344 01:02:01,380 --> 01:02:05,280 >> Vì vậy, đây là một chức năng, một cái gì đó cho các bạn để mã, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Chúng ta sẽ bỏ qua cho bây giờ, nhưng đây là cái gì tôi khuyến khích bạn 1346 01:02:08,240 --> 01:02:09,740 thực hành một mình. 1347 01:02:09,740 --> 01:02:12,510 Viết một chương trình trong đó các cuộc gọi chính một chức năng in ra một 1348 01:02:12,510 --> 01:02:13,750 chào cho người sử dụng. 1349 01:02:13,750 --> 01:02:17,750 Nó chủ yếu dùng hello thế giới và tóm tắt rằng printf vào 1350 01:02:17,750 --> 01:02:18,680 một chức năng. 1351 01:02:18,680 --> 01:02:22,360 Nhưng chúng tôi sẽ không làm điều đó ngay bây giờ bởi vì chúng ta không có nhiều thời gian 1352 01:02:22,360 --> 01:02:23,350 lại như tôi đã có thể thích. 1353 01:02:23,350 --> 01:02:26,250 >> Vì vậy, khai báo hàm. 1354 01:02:26,250 --> 01:02:28,080 Chúng tôi đã nhìn thấy điều này trước khi là tốt. 1355 01:02:28,080 --> 01:02:31,180 Nếu bạn muốn viết một chức năng, bạn cần phải để cho các máy tính biết và 1356 01:02:31,180 --> 01:02:32,600 chính biết rằng nó tồn tại. 1357 01:02:32,600 --> 01:02:37,140 Vì vậy, những gì chúng tôi đang ở trên chính, chúng tôi viết kiểu trả về, tên, và 1358 01:02:37,140 --> 01:02:42,970 các thông số, và sau đó xuống dưới chính, ở đây, chúng tôi thực sự sao chép dòng 1359 01:02:42,970 --> 01:02:45,080 và sau đó viết mã thực tế. 1360 01:02:45,080 --> 01:02:50,990 Vì vậy, theo cách này, nếu bạn gọi chức năng trong chính ở phía trên, chính biết rằng 1361 01:02:50,990 --> 01:02:54,650 xin chào tồn tại, ví dụ, nếu tôi để gọi xin chào, và sau đó có vẻ với 1362 01:02:54,650 --> 01:02:56,710 việc thực hiện xuống dưới đây. 1363 01:02:56,710 --> 01:02:59,680 Những gì sẽ xảy ra nếu tôi không bao gồm này dòng lên hàng đầu, làm mất hiệu lực hello (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Nếu tôi không bao gồm dòng này và kêu gọi chính xin chào, tôi là 1366 01:03:06,560 --> 01:03:07,640 sẽ nhận được một lỗi. 1367 01:03:07,640 --> 01:03:10,090 Tôi sẽ nhận được một lỗi bởi vì trình biên dịch không biết 1368 01:03:10,090 --> 01:03:13,070 rằng điều này tồn tại. 1369 01:03:13,070 --> 01:03:16,680 Điều này cũng tương tự như lý do tại sao chúng tôi làm # bao gồm cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Những gì cơ bản cs50.h đang làm là đưa được chuỗi lên đó. 1371 01:03:21,390 --> 01:03:23,120 Nó được đặt int ở đó. 1372 01:03:23,120 --> 01:03:26,570 Nó đặt tất cả những chức năng nguyên mẫu trước khi chính để khi 1373 01:03:26,570 --> 01:03:29,900 bạn gọi cho họ trong chính, chính biết rằng những điều này tồn tại. 1374 01:03:29,900 --> 01:03:31,630 Đó là những gì các tập tin h. Làm. 1375 01:03:31,630 --> 01:03:33,850 Và vì vậy nếu bạn đang đi để làm của riêng bạn chức năng, bạn đã có để đảm bảo 1376 01:03:33,850 --> 01:03:36,690 bạn đặt nguyên mẫu mà trên đó. 1377 01:03:36,690 --> 01:03:38,380 Bất kỳ câu hỏi về điều này cho đến nay? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Đối số dòng lệnh. 1380 01:03:42,490 --> 01:03:44,780 Đây là những gì chúng ta sẽ kết thúc trên, và sau đó hy vọng chúng tôi sẽ 1381 01:03:44,780 --> 01:03:46,180 ép trong một số pset. 1382 01:03:46,180 --> 01:03:48,700 Tôi không biết nếu chúng ta sẽ có thể ép trong đó bởi vì thời gian, nhưng 1383 01:03:48,700 --> 01:03:51,560 với các bạn những người đang ở đây, và nếu bạn kẻ muốn nói sau khi cho một chút, chúng tôi 1384 01:03:51,560 --> 01:03:54,290 có thể đi qua nó bên ngoài. 1385 01:03:54,290 --> 01:03:56,020 Nhưng chúng ta sẽ kết thúc với đối số dòng lệnh 1386 01:03:56,020 --> 01:03:58,510 trong 15 phút cuối cùng. 1387 01:03:58,510 --> 01:03:59,930 Chúng ta tỉnh táo, Michael? 1388 01:03:59,930 --> 01:04:01,180 Bạn đang tỉnh táo? 1389 01:04:01,180 --> 01:04:01,660 Tốt. 1390 01:04:01,660 --> 01:04:03,760 Tôi không biết nếu bạn ngủ với đôi mắt của bạn đóng cửa. 1391 01:04:03,760 --> 01:04:05,800 Nó sẽ là khó khăn. 1392 01:04:05,800 --> 01:04:07,180 >> Đối số dòng lệnh. 1393 01:04:07,180 --> 01:04:10,430 Đó là một cách để vượt qua thông tin vào một chương trình. 1394 01:04:10,430 --> 01:04:12,780 Cuối cùng, chúng ta sẽ gặp phải những người khác. 1395 01:04:12,780 --> 01:04:15,600 Nhưng về cơ bản, chúng ta sẽ dừng lại viết int main (void) nếu chúng ta muốn 1396 01:04:15,600 --> 01:04:16,720 có một số đối số dòng lệnh. 1397 01:04:16,720 --> 01:04:19,850 Chúng ta sẽ viết điều này gọi là int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 chuỗi argv, dấu ngoặc đơn. 1399 01:04:22,430 --> 01:04:23,710 Đó là khó hiểu. 1400 01:04:23,710 --> 01:04:26,070 Đó là rất nhiều thư mà không phải là trong người Anh, vì vậy chúng ta sẽ 1401 01:04:26,070 --> 01:04:27,680 giải nén chúng ngay bây giờ. 1402 01:04:27,680 --> 01:04:30,450 >> Argc là viết tắt của số đối số - 1403 01:04:30,450 --> 01:04:32,600 và một lần nữa, tất cả những sẽ có sẵn trực tuyến - 1404 01:04:32,600 --> 01:04:34,280 và đó là số lượng các đối số. 1405 01:04:34,280 --> 01:04:37,940 Argv là viết tắt của véc tơ tham số, và đó là những lập luận của mình. 1406 01:04:37,940 --> 01:04:38,830 Đó là một mảng của chuỗi. 1407 01:04:38,830 --> 01:04:40,880 Chúng tôi đã thực sự nhìn thấy một mảng các chuỗi trước khi ngày hôm nay. 1408 01:04:40,880 --> 01:04:44,390 Chúng tôi tạo ra một trong những cuối cùng chương trình chúng tôi được mã hóa. 1409 01:04:44,390 --> 01:04:45,720 >> Vì vậy, đây là một ví dụ. 1410 01:04:45,720 --> 01:04:50,230 Tôi viết. / Ohai CS50 phần trên dòng lệnh của tôi. 1411 01:04:50,230 --> 01:04:54,090 Argc trong trường hợp này bằng 3. 1412 01:04:54,090 --> 01:05:01,170 Argv khung 0 là ohai, argv khung 1 là CS50, argv khung 2 là phần. 1413 01:05:01,170 --> 01:05:05,160 Một lần nữa, argc là số lượng các đối số, và chuyến đi bạn lên một chút 1414 01:05:05,160 --> 01:05:08,710 bit, chúng tôi luôn luôn đếm tên của chức năng như là đối số đầu tiên. 1415 01:05:08,710 --> 01:05:12,350 Vì vậy, trong trường hợp này, có ba tham số, tên của các chức năng 1416 01:05:12,350 --> 01:05:14,590 và sau đó hai mà tôi đánh máy in 1417 01:05:14,590 --> 01:05:18,900 >> Tiếp theo, chúng ta sẽ tiết kiệm những lập luận mình trong argv. 1418 01:05:18,900 --> 01:05:22,690 Và một lần nữa, cũng giống như chúng ta đã thấy trước đây, chúng tôi đã làm này trong chương trình cuối cùng chúng tôi được mã hóa. 1419 01:05:22,690 --> 01:05:27,110 Bạn có thể di chuyển qua các mảng argv và có được những chuỗi. 1420 01:05:27,110 --> 01:05:28,830 Đó chính là những gì chúng ta làm ở chương trình kết thúc cuối cùng của chúng tôi. 1421 01:05:28,830 --> 01:05:33,190 Chúng tôi chọn một tên ngẫu nhiên và sau đó đi đến tên khung bất cứ điều gì và in 1422 01:05:33,190 --> 01:05:34,580 ra các chuỗi nằm ở đó. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Ngày đầu chỉ là mảng một, bởi vì dây chính họ là mảng, như 1425 01:05:43,670 --> 01:05:46,320 nói chuyện về, bạn có thể có các mảng của mảng, đó là 1426 01:05:46,320 --> 01:05:48,530 về cơ bản những gì argv là. 1427 01:05:48,530 --> 01:05:51,370 Một cách để bạn có thể suy nghĩ về đây là các hàng và cột. 1428 01:05:51,370 --> 01:05:54,750 Tôi có thể vẽ được ngay bây giờ. 1429 01:05:54,750 --> 01:05:57,370 Vì vậy, argv - 1430 01:05:57,370 --> 01:05:58,630 đó là không tẩy xoá. 1431 01:05:58,630 --> 01:05:59,880 Chúng ta hãy vẽ dưới ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Vì vậy, nếu tôi đã viết trong, phần ohai CS50, Tôi sẽ cắt ngắn 1434 01:06:12,490 --> 01:06:14,520 phần cho ví dụ này. 1435 01:06:14,520 --> 01:06:29,026 Nhưng về cơ bản, tôi đa chiều mảng, ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 chúng ta sẽ làm phái. 1437 01:06:32,200 --> 01:06:34,610 Vì vậy, ở đây, tôi có thể truy cập - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 nếu tôi chỉ cung cấp cho một số argv - 1440 01:06:45,710 --> 01:06:46,390 điều này là sai. 1441 01:06:46,390 --> 01:06:49,020 Có gì sai trong sơ đồ này? 1442 01:06:49,020 --> 01:06:49,690 >> HỌC SINH: Bắt đầu từ số không. 1443 01:06:49,690 --> 01:06:50,350 >> Jason Hirschhorn: Nó nên bắt đầu với số không. 1444 01:06:50,350 --> 01:06:52,940 Tôi nên có lẽ cũng xoay nó, nhưng kể từ khi tôi đã vẽ nó trên, tôi 1445 01:06:52,940 --> 01:06:54,120 sẽ để nó ở đó cho bây giờ. 1446 01:06:54,120 --> 01:06:55,160 Nhưng nó bắt đầu từ số không. 1447 01:06:55,160 --> 01:06:56,410 Đó là đúng. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Tôi xin lỗi nếu điều này là nhỏ. 1450 01:07:00,120 --> 01:07:01,370 Các bạn có thể loại nhìn thấy? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Vì vậy, nếu tôi làm argv 0, tôi sẽ nhận được tất cả ohai. 1453 01:07:06,670 --> 01:07:08,555 Nếu tôi làm argv 1, tôi sẽ nhận được tất cả các CS50. 1454 01:07:08,555 --> 01:07:10,720 Nếu tôi làm argv 2, tôi sẽ nhận được tất cả các giáo phái. 1455 01:07:10,720 --> 01:07:13,370 >> Nhưng bây giờ, như chúng tôi đã nói, dây là mảng mình. 1456 01:07:13,370 --> 01:07:19,740 Vì vậy, những gì tôi có thể làm là tôi có thể điều trị này như một mảng đa chiều, và tôi 1457 01:07:19,740 --> 01:07:24,190 có thể làm một cái gì đó dọc theo dòng argv 0, 0, mang đến cho tôi chỉ là 1458 01:07:24,190 --> 01:07:25,400 nhân vật 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, mang đến cho tôi chỉ h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, mang đến cho tôi chỉ 0 này xuống đây trong CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Như vậy bởi vì dây tự được mảng, chúng ta đặt 1462 01:07:37,690 --> 01:07:38,540 mà trong một mảng khác. 1463 01:07:38,540 --> 01:07:42,850 Bây giờ chúng tôi có mảng của mảng, và chúng tôi có thể chỉ số vào mảng đầu tiên của chúng tôi và 1464 01:07:42,850 --> 01:07:44,840 sau đó chỉ số vào mảng thứ hai của chúng tôi. 1465 01:07:44,840 --> 01:07:48,650 Và như bạn mong đợi, chúng tôi làm điều đó bởi chỉ cần đặt hai - 1466 01:07:48,650 --> 01:07:51,760 chúng tôi làm các dấu ngoặc vuông chỉ ngay bên cạnh nhau. 1467 01:07:51,760 --> 01:07:58,930 Vì vậy, trong ví dụ này, argv 1 là CS50 và argv 1, 2, như chúng tôi đã nói, chỉ là 5. 1468 01:07:58,930 --> 01:08:02,120 Không ai có thắc mắc về mảng đa chiều? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Các bạn đang làm tuyệt vời. 1471 01:08:06,380 --> 01:08:07,750 Ngọt ngào. 1472 01:08:07,750 --> 01:08:11,980 >> Vì vậy, chúng tôi có một chương trình khác ngay tại đây, và đây là điều cuối cùng chúng tôi 1473 01:08:11,980 --> 01:08:13,690 sẽ làm ngay bây giờ. 1474 01:08:13,690 --> 01:08:18,160 Vì vậy, tôi muốn bạn viết một chương trình có đầy đủ tên của người dùng, và chỉ có hai 1475 01:08:18,160 --> 01:08:21,649 hai đối số dòng lệnh, và cuối cùng, in ra một lời chào đến các 1476 01:08:21,649 --> 01:08:24,180 người sử dụng bao gồm tên đầu tiên của họ. 1477 01:08:24,180 --> 01:08:27,800 Vậy tại sao bạn không đi ba hoặc bốn phút để làm điều này, và sau đó chúng tôi sẽ đi 1478 01:08:27,800 --> 01:08:29,870 hơn nó như là một nhóm, và sau đó chúng tôi sẽ thúc? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> Và một lần nữa, ở đây, khi chúng ta nói có một tên đầy đủ của người sử dụng theo các mô tả 1481 01:09:48,084 --> 01:09:54,473 của vấn đề này, nó phải là lệnh đối số dòng, không sử dụng được chuỗi. 1482 01:09:54,473 --> 01:09:55,450 Yeah, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> HỌC SINH: Vì vậy, khi bạn nói hai lệnh đối số dòng, đó là ngoài 1484 01:09:58,260 --> 01:10:00,000 . các / chạy, hoặc - 1485 01:10:00,000 --> 01:10:02,980 >> Jason Hirschhorn: Tốt câu hỏi. 1486 01:10:02,980 --> 01:10:05,995 Làm, bao gồm cả. / Run, ba đối số dòng lệnh. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Hoặc bao gồm cả / cá nhân., Trong trường hợp này, bởi vì đó là 1489 01:10:11,320 --> 01:10:12,360 tên của tập tin này. 1490 01:10:12,360 --> 01:10:13,300 Vì vậy, argc sẽ là ba. 1491 01:10:13,300 --> 01:10:19,480 Nhưng tôi muốn chỉ có hai đối số cho chương trình. 1492 01:10:19,480 --> 01:10:20,400 Tôi nên xác định đó. 1493 01:10:20,400 --> 01:10:23,380 Tôi sẽ làm cho sự thay đổi đó trước khi tôi gửi những điều này và gửi chúng đến với bạn. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> HỌC SINH: Nếu bạn có một tên đệm? 1496 01:10:34,740 --> 01:10:36,800 >> Jason Hirschhorn: Nếu bạn có một trung tên, bạn đang trên may mắn. 1497 01:10:36,800 --> 01:10:38,050 Tôi xin lỗi. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Hoặc nếu bạn chỉ đi của Shakira, bạn cũng gặp may. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Yeah? 1502 01:10:56,425 --> 01:11:00,760 >> HỌC SINH: Vì vậy, khi người dân không có cs50.h, họ xác định argv 1503 01:11:00,760 --> 01:11:03,450 như char sao argv? 1504 01:11:03,450 --> 01:11:05,160 Hoặc là nó vẫn được gọi là chuỗi argv? 1505 01:11:05,160 --> 01:11:07,430 >> Jason Hirschhorn: Có. 1506 01:11:07,430 --> 01:11:10,480 Vì vậy, chuỗi, một lần nữa, chúng ta che giấu hơn những gì chính xác đang xảy ra ở đó. 1507 01:11:10,480 --> 01:11:14,040 Điều đó sẽ được giải nén có thể Thứ tư, nhưng ngay sau đó. 1508 01:11:14,040 --> 01:11:16,380 Nó giống như bánh xe đào tạo. 1509 01:11:16,380 --> 01:11:18,370 Bởi vì về cơ bản, đó là điều tương tự. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Vì vậy, chúng ta hãy một phút để chương trình này, và sau đó chúng tôi sẽ đi qua 1512 01:11:42,560 --> 01:11:45,130 nó như là một nhóm, và sau đó như tôi đã nói, quấn lên. 1513 01:11:45,130 --> 01:11:47,770 Và tôi nghĩ rằng họ vẫn đang thêm kẹo, nên các bạn hy vọng sẽ có 1514 01:11:47,770 --> 01:11:49,790 đó, hoặc xin đi mà. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Xin lỗi nếu bạn vẫn còn đang viết, nhưng tôi muốn nhảy vào và chúng tôi 1517 01:12:22,560 --> 01:12:24,010 có thể hoàn thành nó với nhau. 1518 01:12:24,010 --> 01:12:30,470 Vì vậy, tôi đã viết trong, # bao gồm cs50.h, # bao gồm stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), xoăn cú đúp, xoăn cú đúp, trong ba dòng 1520 01:12:33,970 --> 01:12:38,760 giả, có tên đầy đủ của người dùng, hai và chỉ có hai dòng lệnh 1521 01:12:38,760 --> 01:12:42,670 đối số, in ra một lời chào đến các người sử dụng bao gồm tên đầu tiên của họ. 1522 01:12:42,670 --> 01:12:45,810 >> Vì vậy, đầu tiên, hãy tên đầy đủ của người dùng. 1523 01:12:45,810 --> 01:12:47,290 Ai có thể giúp tôi có tên đầy đủ của người dùng? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Làm thế nào để làm phần đó? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Các bạn đã làm điều đó một phần đầu tiên? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Có tên đầy đủ của người dùng. 1530 01:13:03,894 --> 01:13:05,860 Vâng, cho rằng một dòng lệnh lập luận, những gì tôi nên viết? 1531 01:13:05,860 --> 01:13:09,624 Tôi nên thay đổi về khai báo hàm của tôi? 1532 01:13:09,624 --> 01:13:11,140 >> HỌC SINH: Bạn không muốn nó không có giá trị nữa. 1533 01:13:11,140 --> 01:13:11,410 >> Jason Hirschhorn: Chính xác. 1534 01:13:11,410 --> 01:13:12,385 Tôi không muốn nó bị vô hiệu. 1535 01:13:12,385 --> 01:13:13,630 Tôi muốn những gì nó được? 1536 01:13:13,630 --> 01:13:14,650 >> HỌC SINH: argc Int. 1537 01:13:14,650 --> 01:13:15,720 >> Jason Hirschhorn: Int argc. 1538 01:13:15,720 --> 01:13:17,430 >> HỌC SINH: String argv. 1539 01:13:17,430 --> 01:13:19,055 >> Jason Hirschhorn: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> HỌC SINH: giá đỡ, khung. 1541 01:13:19,705 --> 01:13:20,070 >> Jason Hirschhorn: giá đỡ, khung. 1542 01:13:20,070 --> 01:13:21,780 Đó là chính xác, và đó là thực sự như thế nào tôi sẽ nhận được 1543 01:13:21,780 --> 01:13:22,820 tên đầy đủ của người dùng. 1544 01:13:22,820 --> 01:13:24,070 Họ sẽ đặt nó ở đó. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Vì vậy, một trong đó là thực hiện. 1547 01:13:28,780 --> 01:13:30,780 Vì vậy, bây giờ tôi muốn hai và chỉ hai đối số dòng lệnh. 1548 01:13:30,780 --> 01:13:35,065 Vì vậy, Noah, những gì là một cách để tôi có thể kiểm tra số lượng lệnh 1549 01:13:35,065 --> 01:13:36,315 đối số dòng thì đã sao? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> HỌC SINH: Bạn làm một tuyên bố nếu. 1552 01:13:40,725 --> 01:13:42,270 >> Jason Hirschhorn: Nếu tuyên bố, chính xác. 1553 01:13:42,270 --> 01:13:44,830 Tôi muốn gì là điều kiện? 1554 01:13:44,830 --> 01:13:48,370 >> HỌC SINH: Nếu argc lớn hơn 3. 1555 01:13:48,370 --> 01:13:52,485 >> Jason Hirschhorn: Nếu argc lớn hơn 3. 1556 01:13:52,485 --> 01:13:58,430 Nếu argc lớn hơn 3, tôi phải làm gì? 1557 01:13:58,430 --> 01:13:59,400 >> HỌC SINH: Quay lại 1. 1558 01:13:59,400 --> 01:14:01,856 >> Jason Hirschhorn: Trở về 1. 1559 01:14:01,856 --> 01:14:04,050 Để đảm bảo tôi có hai và chỉ có hai? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> HỌC SINH: số 1562 01:14:07,820 --> 01:14:13,110 Nếu argc lớn hơn Ít hơn 2 3. 1563 01:14:13,110 --> 01:14:17,770 >> Jason Hirschhorn: Nếu argc lớn hơn 3 và argc là ít hơn 2. 1564 01:14:17,770 --> 01:14:21,540 Một cách để tôi có thể viết này chỉ là những gì một dòng, hoặc không sử dụng mà 1565 01:14:21,540 --> 01:14:23,890 và toán tử? 1566 01:14:23,890 --> 01:14:25,942 >> HỌC SINH: Nó không phải bằng 2. 1567 01:14:25,942 --> 01:14:28,790 >> Jason Hirschhorn: Nếu argc không bằng 2. 1568 01:14:28,790 --> 01:14:29,260 Chính xác. 1569 01:14:29,260 --> 01:14:34,890 Vì vậy, nếu argc là không bằng 2, mà sẽ cung cấp cho tôi chương trình này, 1570 01:14:34,890 --> 01:14:37,250 cá nhân, khi tôi chạy nó, và sẽ cung cấp cho tôi bao nhiêu 1571 01:14:37,250 --> 01:14:38,740 đối số dòng lệnh? 1572 01:14:38,740 --> 01:14:42,110 Bao nhiêu tôi sẽ kiểm tra? 1573 01:14:42,110 --> 01:14:42,370 >> Xin lôi. 1574 01:14:42,370 --> 01:14:43,400 Hãy để tôi reword đó. 1575 01:14:43,400 --> 01:14:46,620 Nếu argc = 2, bao nhiêu điều đã làm người sử dụng viết vào dòng? 1576 01:14:46,620 --> 01:14:47,500 >> HỌC SINH: Một. 1577 01:14:47,500 --> 01:14:49,120 >> Jason Hirschhorn: Chỉ cần một. 1578 01:14:49,120 --> 01:14:50,430 Vì vậy, trước khi, bạn đã đúng, Noah. 1579 01:14:50,430 --> 01:14:52,192 Những gì tôi thực sự cần phải đặt ở đó? 1580 01:14:52,192 --> 01:14:53,640 >> HỌC SINH: Điều đó tương đương 3. 1581 01:14:53,640 --> 01:14:55,970 >> Jason Hirschhorn: argc không bằng 3. 1582 01:14:55,970 --> 01:15:00,250 Tôi muốn bằng 3 vì tôi muốn cá nhân cộng với hai người kia. 1583 01:15:00,250 --> 01:15:02,560 Vì vậy, nếu argc không bằng 3, trở về 1. 1584 01:15:02,560 --> 01:15:04,475 Tại sao bạn nói trở về 1? 1585 01:15:04,475 --> 01:15:06,180 >> HỌC SINH: Bởi vì đó có nghĩa là nó sai. 1586 01:15:06,180 --> 01:15:08,420 >> Jason Hirschhorn: Điều đó có nghĩa là nó sai, và những gì mà sẽ làm gì? 1587 01:15:08,420 --> 01:15:10,360 >> HỌC SINH: Re-nhắc nhở người dùng. 1588 01:15:10,360 --> 01:15:11,940 >> Jason Hirschhorn: Nó sẽ bỏ các chương trình, vì vậy nó sẽ phải chạy 1589 01:15:11,940 --> 01:15:14,520 một lần nữa, nhưng chúng tôi không có bất cứ điều gì tại đây để yêu cầu họ một lần nữa. 1590 01:15:14,520 --> 01:15:14,840 Tôi đã không yêu cầu đó. 1591 01:15:14,840 --> 01:15:15,990 Vì vậy, đó là chính xác. 1592 01:15:15,990 --> 01:15:17,680 Trở về 1 chỉ bỏ chương trình. 1593 01:15:17,680 --> 01:15:18,520 Tuyệt vời. 1594 01:15:18,520 --> 01:15:21,600 >> Và in ra một lời chào cho người sử dụng bao gồm tên đầu tiên của họ. 1595 01:15:21,600 --> 01:15:24,010 Làm thế nào tôi có thể làm điều đó? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> HỌC SINH: printf. 1598 01:15:26,580 --> 01:15:27,785 >> Jason Hirschhorn: printf. 1599 01:15:27,785 --> 01:15:28,640 >> HỌC SINH: (" 1600 01:15:28,640 --> 01:15:30,460 >> Jason Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> HỌC SINH: "hello 1602 01:15:31,600 --> 01:15:33,210 >> Jason Hirschhorn: "hello 1603 01:15:33,210 --> 01:15:34,800 >> HỌC SINH:% s 1604 01:15:34,800 --> 01:15:37,230 >> Jason Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> HỌC SINH: / n 1606 01:15:38,840 --> 01:15:41,030 >> Jason Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> HỌC SINH: ", 1608 01:15:43,120 --> 01:15:45,130 >> Jason Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> HỌC SINH: argv 1610 01:15:46,620 --> 01:15:47,080 >> Jason Hirschhorn: Xin lỗi? 1611 01:15:47,080 --> 01:15:47,750 >> HỌC SINH: argv 1612 01:15:47,750 --> 01:15:48,840 >> Jason Hirschhorn: argv 1613 01:15:48,840 --> 01:15:50,190 >> HỌC SINH: Dấu ngoặc vuông 1. 1614 01:15:50,190 --> 01:15:51,230 >> Jason Hirschhorn: Dấu ngoặc vuông? 1615 01:15:51,230 --> 01:15:51,870 >> HỌC SINH: 1. 1616 01:15:51,870 --> 01:15:54,050 >> Jason Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> HỌC SINH: Và) dấu chấm phẩy. 1618 01:15:55,850 --> 01:15:58,290 >> Jason Hirschhorn:) dấu chấm phẩy. 1619 01:15:58,290 --> 01:16:00,250 Chúng ta hãy chạy này. 1620 01:16:00,250 --> 01:16:03,730 Làm cho cá nhân. 1621 01:16:03,730 --> 01:16:06,392 / Cá nhân.. 1622 01:16:06,392 --> 01:16:07,420 Nó chỉ bỏ thuốc lá. 1623 01:16:07,420 --> 01:16:10,390 Tại sao nó lại bỏ thuốc lá? 1624 01:16:10,390 --> 01:16:11,310 >> HỌC SINH: Bạn đã không đặt bất kỳ đối số. 1625 01:16:11,310 --> 01:16:12,560 >> Jason Hirschhorn: Tôi không đặt bất kỳ đối số nhập 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Sẽ rất tốt. 1628 01:16:16,920 --> 01:16:18,130 Các bạn đóng đinh nó. 1629 01:16:18,130 --> 01:16:22,420 Vì vậy, một lần nữa, bạn đi vào argv và bạn kiểm tra tại argc đầu. 1630 01:16:22,420 --> 01:16:24,390 Đó là hai quan trọng điều cần nhớ. 1631 01:16:24,390 --> 01:16:29,250 Vì vậy, trong hai phút cuối cùng của chúng tôi trước khi chúng tôi để lại, chúng tôi sẽ không nhận được để pset hai, nhưng 1632 01:16:29,250 --> 01:16:33,585 như tôi đã nói, nếu bạn muốn ở lại sau khi trong 10 phút, tôi sẽ hạnh phúc khi anh đi 1633 01:16:33,585 --> 01:16:35,710 hơn với các bạn logic cho các bài tập. 1634 01:16:35,710 --> 01:16:37,930 Chúng tôi đã có rất nhiều để trang trải hôm nay vì vậy tôi đã không nhận được với họ. 1635 01:16:37,930 --> 01:16:39,820 Nói chung, tôi muốn bao gồm là lúc kết thúc. 1636 01:16:39,820 --> 01:16:42,150 Vì vậy, nếu bạn muốn gắn bó xung quanh, thanh xung quanh trong 10 phút. 1637 01:16:42,150 --> 01:16:42,990 Chúng tôi sẽ làm điều đó. 1638 01:16:42,990 --> 01:16:46,250 >> Sau đó, như tôi đã đề cập ở phần đầu, pset không và một, chúng tôi sẽ nhận được rằng 1639 01:16:46,250 --> 01:16:48,040 thông tin phản hồi lại với bạn sớm càng tốt. 1640 01:16:48,040 --> 01:16:51,260 Mục đích là để có được pset một thông tin phản hồi, phần ý kiến, 1641 01:16:51,260 --> 01:16:52,850 trước khi pset hai là do. 1642 01:16:52,850 --> 01:16:56,730 Vì vậy, nếu bạn thực hiện một số sai sót hoặc phong cách, mọi thứ có thể tốt hơn, 1643 01:16:56,730 --> 01:17:01,330 bạn sẽ có những thông tin đó để bạn sẽ không làm những điều tương tự trong pset hai. 1644 01:17:01,330 --> 01:17:06,140 Và sau đó trong tương lai, bạn sẽ nhận được tất cả thông tin phản hồi pset và bình luận của bạn 1645 01:17:06,140 --> 01:17:08,190 trở lại trước khi một kế tiếp theo. 1646 01:17:08,190 --> 01:17:12,695 >> Cuối cùng, nếu tôi có thể đặt trong một cắm cho thông tin phản hồi. 1647 01:17:12,695 --> 01:17:13,935 Đây là phần đầu tiên của bạn. 1648 01:17:13,935 --> 01:17:15,920 Đó là phần đầu tiên của tôi giảng dạy trong năm nay. 1649 01:17:15,920 --> 01:17:16,930 Đến đó. 1650 01:17:16,930 --> 01:17:19,800 Viết các công cụ, tốt và xấu, và tôi sẽ sử dụng nó để thực hiện 1651 01:17:19,800 --> 01:17:21,320 phần tốt hơn thời gian tới. 1652 01:17:21,320 --> 01:17:24,870 Và cuối cùng, một lần nữa, nếu bạn cần bất cứ điều gì, cho tôi biết. 1653 01:17:24,870 --> 01:17:26,410 Tôi hạnh phúc hơn để giúp đỡ các bạn. 1654 01:17:26,410 --> 01:17:28,420 Nếu bạn chỉ muốn kẹo, tôi sẽ có thêm kẹo. 1655 01:17:28,420 --> 01:17:29,800 Tôi rất vui khi mang lại cho bạn. 1656 01:17:29,800 --> 01:17:31,190 >> Điều này là có được một khóa học tuyệt vời. 1657 01:17:31,190 --> 01:17:34,900 Đây là một trong những, nếu không yêu thích của tôi Tất nhiên, tôi đã thực hiện trong toàn bộ cuộc sống của tôi, 1658 01:17:34,900 --> 01:17:37,220 và tôi hy vọng nó sẽ là tuyệt vời cho bạn. 1659 01:17:37,220 --> 01:17:40,090 Vì vậy, tôi muốn làm tất cả mọi thứ trong khả năng của tôi để làm cho nó là tuyệt vời cho bạn. 1660 01:17:40,090 --> 01:17:46,590 Tôi sẽ gửi một email nếu bạn trong phần của tôi hoặc Noah, và 1661 01:17:46,590 --> 01:17:50,310 sẽ cố gắng sắp xếp với mỗi các bạn một thời gian để kiểm tra trong qua 1662 01:17:50,310 --> 01:17:53,820 vài tuần tới để tôi có thể có được một ý nghĩa của những gì nền CS của bạn, 1663 01:17:53,820 --> 01:17:58,170 và nó cũng sẽ giúp tôi thiết kế riêng những phần để phù hợp hơn với nhu cầu của bạn. 1664 01:17:58,170 --> 01:17:59,740 Vì vậy, đó là những gì tôi đã đã xếp hàng. 1665 01:17:59,740 --> 01:18:02,260 Một lần nữa, tôi sẽ thấy bạn bên ngoài nếu bạn muốn có mặt ở đó. 1666 01:18:02,260 --> 01:18:03,700 Đây là tuần hai phần. 1667 01:18:03,700 --> 01:18:04,950 Cảm ơn các bạn rất nhiều. 1668 01:18:04,950 --> 01:18:09,067