>> [เล่นเพลง]
>> DAVID ลัน: ทั้งหมดขวา
ยินดีต้อนรับกลับ
นี่คือ CS50 และนี่คือ หนึ่งสัปดาห์อย่างต่อเนื่อง
ดังนั้นหนึ่งในเหตุผลที่เราได้รับผ่าน รอบเทคโนโลยีเช่น
Google แก้วก็คือพวกเขามาพร้อมกับ บางสิ่งบางอย่างที่รู้จักกันเป็น API,
อินเตอร์เฟซการเขียนโปรแกรมประยุกต์
และสิ่งนี้หมายความว่าอยู่กับ ไฟล์ที่ถูกต้องและมีสิทธิ
เอกสารที่คุณจริงสามารถเขียน ซอฟแวร์สำหรับอุปกรณ์แม้เช่นนี้
>> และเพื่อให้สิ่งที่เรามีในใจที่มีต่อ ปลายเทอมคือถ้าโครงการ
ที่เกี่ยวข้องกับการพูด, แก้ว Google อาจ อุทธรณ์เราจะเห็นสิ่งที่เราสามารถทำได้ใน
แง่ของการ hooking คุณกับบาง ฮาร์ดแวร์เจ้าหนี้เช่นเดียวกับที่
API สาธารณชนสามารถเข้าถึงได้เพื่อให้คุณสามารถ จะเริ่มต้นการสร้างซอฟแวร์
ที่รันบนแก้วที่ใช้ Google เดียวกัน
>> อุปกรณ์ที่เราได้รับเล่นอีก กับสายที่เราคิดว่าอาจจะมี
สนุกที่ปลายภาคการศึกษาคือ สิ่งเล็ก ๆ น้อย ๆ ที่นี่
มันเรียกว่าการเคลื่อนไหวก้าวกระโดดและสิ่งที่คุณ เกี่ยวกับที่จะเห็นเป็นเทคนิค
โฆษณาสำหรับอุปกรณ์ แต่มัน ไม่พูดถึงสิ่งนี้โดยเฉพาะ
อุปกรณ์ที่มีความสามารถของ
และมันก็มาพร้อมกับ API ผ่าน ซึ่งคุณสามารถเขียนซอฟต์แวร์เพื่อ
ควบคุมเครื่องคอมพิวเตอร์ของคุณเองในลักษณะที่ ค่อนข้างชอบภาพยนตร์เรื่องนี้หนึ่งนาทีที่นี่
>> [เล่นภาพวิดีโอ]
>> [เล่นวิดีโอจบ]
>> ดังนั้นตอนนี้อุปกรณ์นี้ที่เกิดขึ้นกับ จะดำเนินการเป็นเพียงเล็กน้อย USB
เชื่อมต่อที่คุณสามารถเสียบเข้าของคุณ คอมพิวเตอร์ แต่ฉันจะไม่แปลกใจ
ถ้าอีกไม่นานเรามีประเภทนี้ เทคโนโลยีในชุดต่อไปของเครื่องคอมพิวเตอร์
และแม็คเพื่อให้คุณสามารถจริง โต้ตอบกับมันใน
ลักษณะเช่นเดียวกับที่
ในความเป็นจริงสิ่งที่ฉันคิดว่าฉันทำเกินไป ผมดึงขึ้นมาสาธิตเล็ก ๆ น้อย ๆ
โปรแกรมที่มาพร้อมกับซอฟต์แวร์นี้
ดังนั้นผมจึงได้ใส่เซ็นเซอร์เล็ก ๆ น้อย ๆ ในด้านหน้าของแล็ปท็อปของฉัน
>> และในขณะที่คุณสามารถเห็นมันแล้วก็ตระหนักว่า ที่มือของฉันจะมี
การควบคุมมัน
และโปรแกรมนี้ไม่เป็น สิ่งเล็ก ๆ น้อย swimmingly เช่นนี้
แต่คุณจะเห็นว่าจริง ฉันมีห้านิ้วมี
ถ้าเราจะได้รับมันที่จะทำทั้งหมด 10 ที่คุณสามารถจินตนาการเปียโนเรียบร้อย
หรือโปรแกรมประยุกต์เช่น
ดังนั้นถ้าคุณต้องการที่จะเกิดขึ้นหลังเลิกเรียน วันนี้และเล่นกับที่เป็น
ดีคุณจะยินดีที่จะ
ดังนั้นเพิ่มเติมว่าในช่วงปลายภาคการศึกษา
>> ดังนั้นคู่ของการบริหาร ประกาศ
หนึ่งทำส่วนภายในวันศุกร์นี้ ตอนเที่ยงที่ cs60.net/section
ว่า URL เป็นของหลักสูตร หน้าแรกเช่นกัน
ในขณะเดียวกันแม้ว่า supersections, จะเปิดตัวอาทิตย์นี้
Supersections เป็นสิ่งที่เพียงครั้งเดียว เพราะมันพาเราเวลาในการทำงานบางอย่าง
ออกในส่วนใดและสถานที่ที่
>> ดังนั้นจะมาถึงนี้ในวันอาทิตย์ที่จะมีหนึ่ง ส่วนสำหรับผู้ที่สะดวกสบายน้อยลง
ส่วนหนึ่งสำหรับผู้ที่ สะดวกสบายมากขึ้น
และบรรดาของคุณที่ไหนสักแห่งใน ระหว่างพวกเรายินดีที่จะไป
อย่างใดอย่างหนึ่งหรือทั้งสองหรือไม่
ทั้งสองคนนี้จะได้รับการถ่ายทำ
พวกเขาจะอยู่ในห้องประชุมที่มีขนาดใหญ่กว่า ส่วนปกติจะเป็นค่ะ
แต่เป้าหมายที่นี่คือการจัดให้คุณด้วย ความสะดวกสบายด้วยปัญหาบางชุดหนึ่ง
กับ C ด้วย CS50 เครื่องนี้ วันหยุดสุดสัปดาห์ก่อนที่คุณจะหาของคุณ
ที่ได้รับมอบหมายอย่างเป็นทางการส่วน
ดังนั้นคุณจะพบ TF ของคุณและขนาดเล็กของคุณ กลุ่มของ sectionmates ในประมาณ
เวลาหนึ่งสัปดาห์
>> เวลาทำการขณะที่ ได้รับไป
ทำใช้ประโยชน์จากพวกเขาคืนนี้หรือ คืนวันพรุ่งนี้หากคุณต้องการ
ชุด 0 ปัญหาเนื่องจากเมื่อวันศุกร์ที่
นี้เป็นวันที่ช้ากว่า สม่ำเสมอกำหนดพฤหัสบดี
แต่ปัญหากับชุดที่ 1 คุณจะเห็น ว่ามันมีบางอย่างที่อบอุ่นขึ้น
การออกกำลังกายที่คุณเอง สามารถขยายของคุณ
เส้นตายพฤหัสบดีถึงวันศุกร์
ชุดปัญหา 1 ในขณะเดียวกันจะเปิดตัว บนเว็บไซต์ของหลักสูตรนี้มา
วันศุกร์ที่ถ้าคุณต้องการที่จะขดตัวด้วย มันเป็นฉันได้กาลครั้งช่วงปลายปี
ในคืนวันศุกร์ในห้องของคุณ
>> ดังนั้น cs50.net/appliance เป็นสถานที่ที่ คุณจะได้รับเครื่องใช้ CS50
ที่เราเริ่มใช้ในวันจันทร์
เราจะใช้มันอีกเล็กน้อยในวันนี้
แต่มั่นใจว่าปัญหาที่ตั้งไว้ 1 สเปคจะนำคุณผ่าน
แม่นยำขั้นตอนที่คุณจำเป็นต้อง ที่ได้รับและทำงาน
จึงไม่ต้องกังวลเกี่ยวกับการทำว่าก่อนที่ Pset 1 ถ้าคุณไม่ต้องการ
>> ทั้งหมดขวา
ดังนั้นเราจึงมองไปในวันจันทร์ที่ซอร์สโค้ด แต่ในบริบทของใหม่
การเขียนโปรแกรมภาษาคือ C. และ C เหมือนเกาไม่ได้เป็นแบบกราฟิก
มันไม่ได้เป็นปริศนาชิ้น
มันเป็นไวยากรณ์ภาษาอังกฤษอย่าง
และมีคู่ของขั้นตอนที่เกี่ยวข้องกับคน ในอันที่จริงการเขียนและการทำงาน
โปรแกรมในภาษา C เพราะนอกเหนือจากแหล่งที่มา รหัสเช่นนี้คุณจะต้องบางสิ่งบางอย่าง
ที่เรียกว่าคอมไพเลอร์
และในแง่ของคนธรรมดาสิ่งที่ คอมไพเลอร์จะทำเพื่อเรา?
ใช่
>> ลูกศิษย์: มันจะแปลงรหัส ที่คุณเขียนถึง 0 และ 1
>> DAVID ลัน: ดี
ดังนั้นจึงแปลงรหัสว่า เราเขียนถึง 0 และ 1
จะแปลงรหัสแหล่งที่มาที่เรียกว่า รหัสวัตถุหลังของซึ่งมีลักษณะ
บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ เช่นนี้
และมันก็เป็นซีพียูสมองภายในของคุณ คอมพิวเตอร์ว่าเป็นเพราะของคุณ
คนที่สร้างคอมพิวเตอร์เครื่องนั้น รู้ว่าสิ่งที่วนเวียนอยู่เหล่านั้น
ของมีค่าเฉลี่ย 0 และ 1
>> บางทีมันอาจจะหมายถึงการพิมพ์
บางทีมันอาจจะหมายถึงนอกจากนี้
บางทีมันอาจจะหมายถึงการลบ
บางทีมันอาจจะหมายถึงการแสดงผลกราฟิก
มีรูปแบบที่กำหนดไว้ล่วงหน้าของบิตเป็น ว่าโลกได้ตัดสินใจที่หมายถึง
บางสิ่งบางอย่าง
แต่ส่วนใหญ่ในหลักสูตรนี้ เราจะทำงานในระดับที่สูงและ
เราจะโมเมว่ามีอยู่ สิ่งที่ต้องการคอมไพเลอร์ที่สามารถ
ทำให้ฟังก์ชั่นรหัสของเราที่มา ในทางที่เราตั้งใจ
>> ดังนั้นโปรแกรมที่เราเขียนครั้งแรกสัปดาห์ที่ผ่านมา และจากนั้นก็เริ่มไปที่ท่าเรือเพื่อที่จะ
พูดไปที่ C ผ่านมานี้ วันจันทร์ที่เป็นนี้
เมื่อธงสีเขียวคลิกทักทาย
นี้แน่นอน เขียนใน Scratch
และฉันอ้างว่าเทียบเท่า โปรแกรมในภาษา C มองเล็ก ๆ น้อย ๆ
บางอย่างเช่นนี้
>> ดังนั้นสิ่งที่ฉันคิดว่าเราควรจะทำในตอนแรกคือ ขอแซวนอกเหนือสิ่งที่ดูเหมือนตอนแรก
อย่างรวดเร็วเป็นที่ยอมรับว่าเป็นความลับอย่างเป็นธรรม ไวยากรณ์ แต่คุณจะเริ่มสังเกตเห็น
รูปแบบได้อย่างรวดเร็วมาก
สิ่งที่เราจะทำในวันนี้คือให้ ให้คุณมีจิตแบบสำหรับบางคน
ยอมรับบางสร้างมาตรฐาน ในการเขียนโปรแกรม
และจากนั้นเราจริงจะได้รับในมือของเรา สกปรกด้วยตัวอย่างบางส่วนเช่นกัน
>> ดังนั้นสำหรับบรรดาของคุณสะดวกสบายมากขึ้น ตระหนักดีว่าในสัปดาห์นี้และจากนั้นต่อไป
สัปดาห์เป็นอย่างดีอาจจะเป็นบิตของความคิดเห็น
แต่โดยเฉพาะอย่างยิ่งเมื่อฉบับที่แฮ็กเกอร์ ของปัญหา 1 ชุดออกไปเมื่อ
เว็บไซต์ของหลักสูตรในวันศุกร์ที่ฉันคิดว่า คุณจะพบว่าแม้ในขณะที่คุณกรอก
ช่องว่างบางส่วนในช่วงสัปดาห์หน้าหรือสอง, คุณจะเริ่มต้นที่จะได้รับมากกว่าที่เคย
ท้าทายและพบ สิ่งใหม่และใหม่กว่า
>> ดังนั้นขอแซวโปรแกรมนี้ออกจากกัน ไม่กี่บรรทัดในเวลา
ที่ด้านบนมากเรามีอะไร เรียกว่าเทคนิค
สั่ง preprocessor
นี่เป็นเพียงบรรทัดของรหัสที่ระบุว่า รวมถึงเนื้อหาของไฟล์,
ที่เรียกว่ามาตรฐาน I / N, เข้ามาตรฐาน - หรือขออภัยมาตรฐาน I / O มาตรฐาน
อินพุต / เอาต์พุต, h. ภายใน ของโปรแกรมของตัวเอง
>> ดังนั้นในคำอื่น ๆ ถ้าผมเขียนนี้ โปรแกรมด้วยโปรแกรมแก้ไขข้อความง่ายๆเช่น
Gedit ที่เท่าเทียมกันง่าย บางอย่างเช่นโปรแกรม Microsoft Word, ว่า
คำสั่ง # include stdio.h เป็นเพียง จะบอกคอมไพเลอร์ที่คว้า
เนื้อหาของไฟล์อื่น ๆ ที่ stdio.h, และวางพวกเขาที่นี่
>> ตอนนี้ทำไมฉันดูแล?
เราไม่เรียกร้องสิ่งที่อยู่ภายในของไฟล์นี้ เรียกว่า stdio.h ซึ่งจะถูกเก็บไว้
ที่แห่งหนึ่งในฮาร์ดไดรฟ์ของฉันหรือในการนี​​้ กรณีที่ไหนสักแห่งใน CS50 เครื่อง?
คนอื่นใส่มันไว้ที่นั่นสำหรับฉัน
แต่อะไรอยู่ในนั้น?
>> ผมจึงประกาศ ฟังก์ชั่นที่เรียกว่า printf
ดังนั้น printf ฟังก์ชันที่จำได้ว่า คำแสดงและตัวละครและ
ตัวเลขบนหน้าจอในการประมูล
แต่ผมไม่ได้เขียนมัน
CS50 ไม่ได้เขียนมัน
ปีที่ผ่านมามีคนเขียนมันและพวกเขา เป็นหลักให้เราสูตรสำหรับมัน
ในไฟล์ที่เรียกว่า stdio.h
เพื่อให้บรรทัดแรกเพียงแค่ให้ฉันเข้าถึง ฟังก์ชั่นที่คนอื่น
เมื่อปีที่ผ่านมาในหมู่ ซึ่งเป็น printf
>> ตอนนี้ยังบรรทัดถัดไปฉันจะโบกมือของฉัน มือที่อย่างน้อยจนกว่าจะถึงสัปดาห์หน้า
แต่ตอนนี้รู้ว่า int main (void) คือ หลักเทียบเท่านี้
ชิ้นส่วนปริศนาสีเหลืองเมื่อ ธงสีเขียวคลิก
โลก, ปีที่ผ่านมาคิดว่าถ้า คุณกำลังเขียนโปรแกรมใน
ภาษาที่เรียกว่า C, คุณจะเริ่มต้น โปรแกรมของคุณกับสาย
ที่ดูเหมือนว่า
ในเวลาเพียงเกี่ยวกับเวลาหนึ่งสัปดาห์ก็จะทำให้ ความรู้สึก int อะไรคือสิ่งที่ถือเป็นโมฆะ
แต่ตอนนี้เพียงแค่คิดว่าของมัน เป็นชิ้นส่วนปริศนานี้สีเหลือง
>> ตอนต่อไปเราจะต้องรั้งหยิกตาม อีกรั้งหยิกใกล้ชิด
เพื่อที่จะพูด
และเราจะเห็นเหล่านี้ตลอด โปรแกรมในภาษา C เช่นเดียวกับ
JavaScript และ PHP
และสิ่งเหล่านี้เพียงแค่แค็ปซูล บรรทัดของรหัสที่เกี่ยวข้อง
รั้งหยิกเปิดเป็นหลัก พูดว่านี่มาบางรหัส
และรั้งหยิกปิดซึ่งเป็น มุมในทิศทางอื่น ๆ เพียงแค่
วิธีการที่มันสำหรับ รหัสที่เกี่ยวข้อง
>> ดังนั้นเส้นฉ่ำในครั้งแรกนี้ โปรแกรมเป็นครั้งสุดท้าย, printf,
อ้างไม่ได้นำมาอ้าง, hello โลก
และสิ่งที่ผมเรียกว่าระหว่าง คำพูดที่ว่าเวลาที่ผ่านมา?
ดังนั้นจึงเป็นสตริง
และสตริงเป็นเพียง Techie คำที่ใช้เรียกลำดับของ
ตัวอักษรคำวลี
แม้แต่ตัวอักษรเดียวที่จะทำได้ จะยกสอง
แต่ลำดับของศูนย์ ตัวอักษรหรือมากกว่า
>> เครื่องหมายทับขวา n-แต่มีลักษณะ บิตแปลก
แต่มันก็หมายถึงบางสิ่งบางอย่าง ง่ายต่อการใช้คอมพิวเตอร์
เครื่องหมายทับขวา n-คืออะไร?
บรรทัดใหม่
ดังนั้นนั่นเป็นเพียงลำดับพิเศษของ ตัวอักษรที่โลกได้ตัดสินใจ
วิธีการใส่แบ่งบรรทัดมีสิทธิ เพราะคอมไพเลอร์จะได้รับจริง
สับสนมักจะถ้าคุณมาก เข้าใจ แต่ไม่ถูกต้องเพียง
เริ่มต้นกดปุ่ม Enter เพื่อวาง สายใหม่ในรหัสของคุณ
คุณจะต้องเป็นเล็ก ๆ น้อย ๆ ชัดเจนด้วยเครื่องหมายทับขวา n-
>> และเราจะเห็นว่ามีไม่กี่อื่น ๆ เช่น สำหรับรูปแบบตัวอักษรพิเศษ
ตัวอย่างเช่นถ้าคุณต้องการที่จะให้คุณ ใจหลงกับกรณีมุม,
คิดว่าฉันต้องการที่จะพิมพ์ คู่ quote บนหน้าจอ
ด้วยเหตุผลอะไรก็ตามที่ดูเหมือนจะ จะเป็นเพียงเล็กน้อยขวามีปัญหา?
เพราะถ้าผมใส่คู่ quote ใน ตรงกลางของ "Hello World," สิ่งที่
เหตุผลว่าทำไมดูเหมือน อาจมีปัญหา?
จะแบ่งสตริง
>> คอมไพเลอร์เป็นเพียงโปรแกรม
โปรแกรมเช่นคอมไพเลอร์จะเป็นเพียง การอ่านรห​​ัสของคุณบนลงล่าง
จากซ้ายไปขวา
และหากเห็นว่าคำพูดสองสามแทน ของทั้งสองก็จะไม่ทราบ
ถ้าคุณหมายความว่าสิ่งที่ไปทางซ้าย ควรที่จะเป็นสตริงหรือสิ่งที่จะต้อง
ขวาหรือสิ่งที่ทั้ง
มันคลุมเครือและดังนั้นสิ่งที่ปกติ คอมไพเลอร์จะทำคือเพียงแค่ออกนอกลู่นอกทาง,
และให้ข้อความข้อผิดพลาดบางส่วนและ ทำให้คุณจัดการกับปัญหา
>> เพื่อให้ได้รับเครื่องหมาย n-หมายถึงใหม่ สายสิ่งที่จะสัญชาตญาณของคุณตอนนี้
เริ่มต้นที่จะเป็นถ้าคุณต้องการที่จะรวม บางสิ่งบางอย่างผิดปกติเช่นคู่
อ้างอิงภายในของนี้มิฉะนั้นข้อความที่ยกมา สตริง?
อ้างเครื่องหมายทับขวาสองครั้ง
และดังนั้นเราจะเห็นสิ่งนี้ ชนิดของรูปแบบเกินไป
>> หากคุณต้องการที่จะทำบางสิ่งบางอย่างเล็ก ๆ น้อย ๆ แปลกคุณจะพบว่า
การแก้ปัญหามักจะทำตามรูปแบบ, และเครื่องหมายทับขวา
หมายถึงลำดับหนี
และมันก็หมายความว่าบางสิ่งที่พิเศษ ที่เราต้องการที่จะเป็นตัวแทนใน
วิธีการที่แตกต่างกัน
ในฐานะที่เป็นวิธีการที่คุณเป็นตัวแทนของ เครื่องหมายทับขวาดีเราจะ
กลับมาที่ว่า
แต่คำตอบก็เป็นจริง บิตที่เห็นได้ชัด
>> ดังนั้นตอนนี้ขอแนะนำอื่น ๆ บาง การเขียนโปรแกรมโครงสร้าง
ที่คุณเห็นใน Scratch
คุณอาจจะนำมาให้ได้รับ แล้วถ้าคุณได้ดำดิ่งลงไปแล้ว
ปัญหาการตั้งค่า 0
แต่ตอนนี้ขอแนะนำไวยากรณ์ใน C เหล่านี้เป็นอย่างอื่นค่อนข้างง่าย
ความคิดอย่างน้อยบางส่วนของพวกเขา
>> ดังนั้นความคิดนี้ของเงื่อนไขหรือ สาขาในขณะที่ก่อนหน้านี้เรา
แสดงด้วยรหัสที่ดู เช่นนี้ทางด้านซ้ายมือใน Scratch -
ถ้า x มีค่าน้อยกว่า y แล้วพูดเพื่อ -
แทนตอนนี้อยู่ใน C - ให้ฉันเหลา ในกรณีที่ง่ายที่สุด -
เราเพียงแค่จะบอกว่าถ้าเปิด วงเล็บคืออะไรบางอย่างที่เป็นความจริง -
การแสดงออกของบูลีนเป็นไป ที่ฉันได้กล่าวว่าสภาพ -
วงเล็บปิดแล้วไม่อะไร ภายในของวงเล็บปีกกาเหล่านั้น
>> ดังนั้นที่นี่ด้วยวงเล็บปีกกา เป็นชนิดเช่นรอยขีดข่วนของ
รูปตัวยูชิ้นส่วนปริศนา
อย่าอยู่ภายในวงเล็บปีกกาเหล่านี้สิ่ง
ในกรณีนี้เฉือนเฉือน
และแจ้งให้ทราบล่วงหน้านี้ไปข้างหน้า เฉือนไม่เครื่องหมายทับขวา
ทับ, ทับ, สำหรับผู้ที่ได้ตั้งโปรแกรม
ก่อนที่จะเพียงแค่หมายถึง -
มันเป็นแค่ความคิดเห็น
ความคิดเห็นไม่ได้เป็นเส้น ของรหัสต่อ SE
มันเป็นบรรทัดของภาษาอังกฤษที่คุณ, มนุษย์ได้เขียนให้ตัวเองเพื่อ
บางทีอาจจะเตือนให้คุณทำอะไรบางอย่างเพื่อ อธิบายให้กับตัวเองที่จะอธิบายให้
คนอื่นว่ารหัสของคุณจะทำ
มันเป็นเพียงความคิดเห็นพรรณนา
>> ตอนนี้แน่นอนเราสามารถมีวิธีที่สอง แยกในถนนเพียงโดยการทำเช่นนี้
ทางแยกสามทางในถนนโดยการทำ นี้และถ้าคุณยังคงนี้
รูปแบบที่คุณสามารถมีสี่ทาง, ห้าทาง, ส้อมหกทางในถนนถ้า
คุณต้องจัดการแน่นอน ที่หลายเงื่อนไข
แล้วสังเกตเห็นความเท่าเทียมที่นี่ -
ถ้า (เงื่อนไข) อื่นถ้า (เงื่อนไข) และเป็นคนเดียวที่เล็ก ๆ น้อย ๆ
ที่แปลกคือที่ผ่านมาซึ่ง เป็นเพียงที่อื่น
แต่อีกครั้งนี้เป็นเหมือนกัน แนวคิดกับสิ่งที่เราเคยทำมาแล้ว
แล้วแม้ว่าไวยากรณ์จะ ใช้เวลาเล็กน้อยรับใช้
>> ตอนนี้ในตัวอย่างนี้มี บางไวยากรณ์แปลกอื่น ๆ
เราเห็น printf อีกครั้งวงเล็บเปิด และวงเล็บปิด
และภายในของมี สายยก
วงเล็บในบริบท จาก printf ไปทางด้านซ้าย
และด้านขวาของอะไร
เราทำอะไรที่ยกมาอธิบาย สตริงเป็นมากกว่าปกติ?
>> ดังนั้นจึงเป็นข้อโต้แย้ง
ทุกครั้งที่คุณมีฟังก์ชั่นเช่น printf แล้ววงเล็บเปิดและ
วงเล็บใกล้ชิดและสิ่งที่อยู่ภายใน มันไม่ว่าจะเป็นสตริงหรือ
จำนวนเต็มหรือสิ่งอื่นใดสิ่งที่ใน ระหว่างวงเล็บเหล่านั้นเรียกว่า
อาร์กิวเมนต์
>> และอาร์กิวเมนต์เพียงแค่มีอิทธิพลต่อ พฤติกรรมการทำงานของ
ในกรณีนี้เป็นที่ชัดเจนว่าสวย
x <y เป็นสิ่งที่ถูกส่งใน, เพื่อที่จะพูดเป็นอาร์กิวเมนต์
และ printf เป็นไป พิมพ์ตรงที่
เพราะแน่นอนปีที่ผ่านมาบุคคล ที่ดำเนินการ printf มีความคิด
สิ่งที่เราเป็นผู้สืบทอดของมนุษย์ จะใช้ printf สำหรับ
เพื่อที่ว่าทำไมข้อโต้แย้งที่มีอยู่เพื่อ มีอิทธิพลต่อพฤติกรรมหลังจากที่ฟังก์ชั่นของ
ถูกเขียนขึ้น
>> ตอนนี้การแสดงออกของบูลีน
เราได้เห็นเหล่านี้มาก่อนใน Scratch
มันจะเปิดออกใน C คุณยังสามารถ "หรือ" พวกเขาร่วมกันเพื่อที่จะพูด
แถบแนวตั้งสองหมายความว่าบล็อกนี้ ของรหัสนี้ทำเช่นนี้จะ
ดำเนินการถ้าเงื่อนไขแรกเป็นจริง หรือเงื่อนไขที่สองเป็นจริง
และถึงแม้ว่าคุณอาจจะไม่ได้ทำ นี้ในเกาคุณสามารถแน่นอน
ทำเช่นนี้ในเกาและคุณยังสามารถ แสดงตัวเองที่แตกต่างกัน -
ถ้าเงื่อนไขแรกและครั้งที่สอง สภาพเป็นจริงแล้วไม่ว่าอะไร
ภายในของวงเล็บปีกกา
>> และเช่นเดียวกับกันด้วยเหตุผลมัน เครื่องหมายเดี่ยวและคู่
แถบแนวตั้งที่เราจะเห็นในที่สุด ที่แถบแนวตั้งเดียวและ
เครื่องหมายเดียวจริงมีที่แตกต่างกัน ความหมายใน C. ดังนั้นสำหรับตอนนี้
การทำสำเนาของสัญลักษณ์ที่ เป็นความจงใจ
>> ดังนั้นขอแนะนำสั้น ๆ , นี้บิตอื่น ๆ ของไวยากรณ์
นี้ไม่ได้ค่อนข้างดำเนินไป รอยขีดข่วน แต่ผมอ้างว่าฉันสามารถ
ใช้ความคิดของคนอื่นถ้าหาก อื่นหากอื่นถ้างบอื่น ๆ ที่ใช้
สิ่งที่เรียกว่าคำสั่งเปลี่ยน
และเหตุผลเดียวที่นี้มีอยู่จริง คือเพียงแค่ให้คุณโปรแกรมเมอร์,
วิธีที่แตกต่างกันเล็กน้อยในการแก้บาง ปัญหาแม้ว่าเหตุผลมัน
ไม่ให้ความสามารถใหม่ ๆ
>> โดยที่ฉันหมายความนี้
เมื่อคุณพูดสวิทช์และจากนั้นพื้นที่, แล้วคู่ของวงเล็บภายใน
ซึ่งการแสดงออกไป -
และนี้อาจจะมีเพียงเล็กน้อยที่ไม่ชัดเจน ในตอนแรก แต่นี้ไม่ได้เป็นข้อโต้แย้ง,
ในทางเทคนิคเพราะสวิทช์ ไม่ได้เป็นฟังก์ชั่น
ดังนั้นสำหรับตอนนี้เพียงแค่คิดว่าเรากำลังใช้ วงเล็บในสถานที่ที่แตกต่างกัน
ด้วยเหตุผลที่แตกต่างกัน
>> ดังนั้นสวิทช์การแสดงออกซึ่งหมายความว่าฉันสามารถ ใส่ในตัวแปรของผู้ที่
วงเล็บที่มันว่าการแสดงออก
แล้วถ้าว่าตัวแปร -
คิดว่ามันเรียกว่า x และ เป็นเพียงจำนวนเต็ม -
จากนั้นผมก็สามารถระบุในสไลด์ของฉัน บางสิ่งบางอย่างที่นี่เช่นนี้
ถ้า x เป็นตัวแปรของฉันและฉัน ต้องการที่จะทำบางสิ่งบางอย่างถ้า x
เท่ากับ 1, ฉันจะทำ
>> ถ้าฉันแทนต้องการที่จะทำบางสิ่งบางอย่าง ถ้า x เป็น 2 ฉันจะทำ
อื่นถ้าผมต้องการที่จะทำอะไรอย่างอื่น ทั้งหมดที่ฉันสามารถมีกรณีเริ่มต้นใน
ซึ่งในกรณีนี้ผมทำเช่นนี้สิ่งอื่น ๆ
ดังนั้นในแง่ที่ว่ามันเทียบเท่ากับ ถ้า x เท่ากับเท่ากับ 1, อื่นถ้าอื่น
แต่ผมพูดถึงในตอนนี้เพียงเพราะ เราจะได้เห็นมันอีกครั้ง
แต่ตอนนี้ก็รู้ว่ามันมีอยู่
>> ทั้งหมดขวา
ดังนั้นเหล่านี้คู่สุดท้ายเป็นเล็ก ๆ น้อย ๆ ที่ซับซ้อนได้อย่างรวดเร็วก่อน แต่ที่พวกเขาทำ
บางสิ่งบางอย่างตรงไปตรงมาเป็นธรรม
สำหรับวงในซีเป็นก้อนของรหัสที่ เพียงแค่บางสิ่งบางอย่างอีกครั้งและ
ครั้งแล้วครั้งเล่า
และมีเพียงสิ่งที่น่ารำคาญเกี่ยวกับมัน ที่ว่ามันเป็นเพียงเล็กน้อยคลุมเครือ
การแสดงตัวเองในวงจรนี้ รูปแบบ แต่โลกมาตรฐาน
วิธีการดังต่อไปนี้
>> เมื่อคุณใช้สำหรับวงคุณได้มี คู่ของวงเล็บอีกครั้ง
และสังเกตเห็นสองอัฒภาค ในการมี
ทั้งสองอัฒภาคสามแยก การแสดงออกที่แตกต่างกันภายใน
วงเล็บ
หนึ่งคือ initializations ที่เรียกว่า
หนึ่งคือสภาพที่เรียกว่า
และเป็นหนึ่งในการปรับปรุงที่เรียกว่า
>> มองในเชิงนามธรรมนี้ สมบูรณ์ไม่ชัดเจนดังนั้นให้ดู
ที่ตัวอย่างที่เป็นรูปธรรม
ใน Scratch เรามีบล็อกซ้ำ
และบล็อกนี้กล่าวว่าทำซ้ำ 10 ครั้งกล่าวว่า "hello, world." ผมขอเรียกร้อง
ในขณะนี้และเราจะกลับมาที่นี้และ นี้เกินไปจะได้รับเพิ่มเติมคุ้นเคยกับ
คุณก่อนที่จะยาวเทียบเท่า C รหัสที่อาจจะกล่าวได้ว่าเป็นคนนี้ -
สำหรับงบและพื้นที่คู่ วงเล็บแจ้งให้ทราบอัฒภาคใน
มีซึ่งแยกสามที่แตกต่างกัน สิ่งที่เริ่มต้น,
สภาพและการปรับปรุง
>> แล้วเดาอะไร ครั้งแรกที่จะทำ
int i = 0
ในแง่คนธรรมดาหยาบของสิ่งที่เป็น ว่าการทำสำหรับเราอาจจะเป็น?
เพื่อใช่
มันประกาศตัวแปรที่เรียกว่า i, และก็ให้มันค่าอะไร
0
ดังนั้นมันจึงสร้างตัวแปรที่เรียกว่า i, การจัดเก็บค่า 0 ในนั้น
นั่นคือการเริ่มต้นที่เรียกว่า
>> ทั้งหมดขวาตอนนี้ฉันก่อนที่จะอ้างว่า ว่าสิ่งที่อยู่ตรงกลางครับ
<10, เป็นเงื่อนไข
ดังนั้นสิ่งที่จะทำ?
ดีสำหรับวงทำอะไรเมื่อ โปรแกรมสำหรับวงจะทำงานเป็น
เวลาคอมพิวเตอร์ไหลผ่านทุก วงนี้บนลงล่างข้างบนไป
ด้านล่างเช่นเดียวกับพวกคุณได้เมื่อ นับตัวเองและนั่งลง,
อีกครั้งและอีกครั้งและอีกครั้ง คอมพิวเตอร์ที่เป็นไป
ในการตรวจสอบเงื่อนไขที่ว่า
และถ้า i น้อยกว่า 10, มันจะทำมันอีกครั้ง
ถ้า i น้อยกว่า 10, มันจะทำมันอีกครั้ง
ถ้าฉันมีค่าน้อยกว่าสิบ มันจะทำมันอีกครั้ง
ดังนั้นที่ดูเหมือนว่าจะแสดงให้เห็นว่า หวังว่าฉันมีการเปลี่ยนแปลง
มิฉะนั้นเราจะต้องห่วงอนันต์
และอันที่จริงผมมีการเปลี่ยนแปลงเพราะ สิ่งสุดท้ายหลังจากอัฒภาคมี
เป็นไวยากรณ์คลุมเครือค่อนข้าง i + +
แต่บรรดาผู้ที่ได้กระทำเช่นนี้ ก่อนที่เพียงแค่หมายความว่า
มากเพียงอะไร
>> นักเรียน: [interposing VOICES]
>> DAVID ลัน: เพิ่ม 1 ถึงผม
เพิ่มขึ้นครับ
ดังนั้นเราจึงเห็นปริศนารอยขีดข่วน ชิ้นที่จริง
มันไม่ได้มีลักษณะเช่น i + + แต่ที่เพียงแค่ วิธีที่ค่อนข้างง่ายเพิ่มขึ้น
ผมค่า 1 เวลาที่คุณทำเช่นนี้ทุกครั้ง
ดังนั้นตัวอักษรที่คุณเริ่มต้นด้วยการ การเริ่มต้นผมถึง 0
จากนั้นคุณตรวจสอบสภาพของคุณ
คือ 0 น้อยกว่า 10?
ใช่
เราไปผ่านห่วง
>> สิ่งต่อไปที่ผมเรียกร้องของคอมพิวเตอร์ จะทำคือมันจะ
เพื่อเพิ่มผม
ดังนั้นฉันตอนนี้คือ 1
มันจะตรวจสอบสภาพ
1 น้อยกว่า 10?
แน่นอน
ดังนั้นมันไม่อีกครั้ง
แล้วมันเพิ่มขึ้น i + + ถึง 2
คือ 2 น้อยกว่า 10?
ใช่
และอีกครั้งและอีกครั้งและอีกครั้ง
และในที่สุดก็เพราะ บวก plussing-เราได้รับจาก i เท่ากับ 10
คือ 10 น้อยกว่า 10?
ดีอย่างเห็นได้ชัดไม่ได้
และนั่นคือจุดที่ ห่วงเพียงหยุด
และถ้าคุณมีรหัสเพิ่มเติมเกี่ยวกับ หน้าจอลงมาด้านล่างเครื่องคอมพิวเตอร์
วิธีการที่จะเรียกใช้รหัสที่แทน
>> ดังนั้นอีกครั้งแม้ว่านี้เป็นไป ลักษณ์และความรู้สึกแปลก ๆ ที่
ครั้งแรกอย่างแน่นอนสำหรับบรรดาของคุณที่ ไม่เคยมีโปรแกรมก่อนก็
แท้จริงลดแนวคิด จะมีอะไรอย่างอื่นมาก
ปริศนาตรงไปตรงมา ชิ้นใน Scratch
>> ทั้งหมดขวาฉันสัญญาว่ามีต้องการ จะ analogs อื่น ๆ ในเกา
มีนี้หนึ่งเกินไป
และเราเห็นว่านี่เป็นครั้งสุดท้ายในเวลาสั้น ๆ
แต่จำไว้ตลอดไป ป้องกันรอยขีดข่วนใน?
มันก็ไม่สิ่งที่ถาวรหรือไม่
ผมอ้างว่าคุณสามารถใช้ นี้ในทางนี้
และคุณจริงสามารถดำเนินการนี​​้ ในพวงของวิธีการที่แตกต่างกัน
>> แต่ห่วงในขณะที่เป็นเพียงที่แตกต่างกัน วิธี C ของการแสดงตัวเอง
ในตอนท้ายของวันที่คุณไม่สามารถทำ อะไรกับห่วงขณะที่คุณ
ไม่สามารถใช้สำหรับวง
ดังนั้นพวกเขาในตอนท้ายของ วันเดียวกันตามหน้าที่
แต่มันช่วยให้คุณสามารถแสดงตัวเอง น้อยแตกต่างกันใน
วิธีการดังต่อไปนี้
>> ด้วยห่วงขณะที่เป็นสิ่งที่อยู่ใน วงเล็บที่มีการตรวจสอบอีกครั้งและ
ครั้งแล้วครั้งเล่า
และทันทีที่การแสดงออกที่เป็นเท็จ ห่วงแล้วจะหยุดการดำเนินการ,
และเครื่องคอมพิวเตอร์ดำเนินการ ทำงานอะไรก็ตามที่รหัสอื่น ๆ ที่คุณ
มีในไฟล์ของคุณ
>> แต่สิ่งที่น่าสนใจที่นี่ ที่ฉันพิมพ์ตัวอักษรที่แท้จริง
และเป็นความจริงเป็นชนิดของค่าบูลีน, ค่าจริงหรือเท็จ
ดังนั้นอาจจะกลายเป็นความจริงที่เคย เท็จถ้าฉันอย่างแท้จริง
ยากเขียนมันลงไปในโปรแกรมของฉัน?
จึงไม่มี
มันเป็นเรื่องที่แปลก ๆ ที่ฉันทำอย่างนี้
แต่ความจริงคือความจริง
ไม่มีบวก plussing อะไร
มีไม่ได้ใช้งานของตัวแปรในที่นี่
ดังนั้นเพราะผมยากเขียนในขณะที่ความจริงนี้ ห่วงเสมอไปที่จะประเมิน
อีกครั้งและอีกครั้งและอีกครั้ง
>> ดังนั้นวิธีการหลายครั้ง hello โลกคือ จะพิมพ์บนหน้าจอ?
ตลอดไป
จำนวนอนันต์ของครั้งจนกระทั่ง ตายแบตเตอรี่หรือบางอื่น ๆ ภายนอก
เหตุการณ์ที่เกิดขึ้น
ดังนั้นนี่คืออาจจะไม่โปรแกรมที่ดีที่สุด ที่จะเขียนเพราะถ้าผู้ใช้
ไม่สามารถออกจากโปรแกรมของคุณก็ อาจจะไม่ใช่สิ่งที่คุณตั้งใจ
>> แต่บางครั้งโปรแกรมที่ควร มีห่วงอนันต์
ตัวอย่างเช่นหากคอมพิวเตอร์ของคุณมี นาฬิกาที่มันจะเป็นอย่างแน่นอน
ดีถ้านาฬิกาของคุณมันจะให้ปรับปรุง ตัวเองตลอดไปถึงแม้ว่าครั้งหนึ่งเคยเป็น
ที่สองหรือครั้งหนึ่งนาทีหรือ สิ่งที่ต้องการที่
ลูปไม่มีที่สิ้นสุดดังนั้นแม้ จะมีสถานที่ของพวกเขา
>> ทั้งหมดขวา
สุดท้ายนี้
และหนึ่งในนี้เป็นบิตที่แตกต่างกันเล็กน้อย หน้าที่และเราจะกลับมา
นี้อาจจะอยู่ใน Pset 1
แต่มีประเภทของวงอีก เรียกว่าทำในขณะที่ห่วง
และความแตกต่างระหว่างเฉพาะที่นี่ ทำในขณะที่ห่วงและพูดขณะที่ห่วง,
คือสภาพที่มีการตรวจสอบไม่ได้ ก่อนที่คุณจะรันโค้ด แต่หลังจากที่
คุณรันโค้ด
ดังนั้นที่ด้านบนในขณะที่ ห่วงขณะที่ทำในขณะที่
มันจะตรวจสอบที่ด้านล่าง
>> และนี้ก็หมายความว่าห่วงขณะ โดยปกติจะดำเนินการอีกครั้ง
หรือเวลาน้อยกว่าในขณะที่ห่วง?
ครั้งที่อาจเกิดขึ้นเพราะทำ วงในขณะที่เห็นได้ชัดว่าทำเช่นนี้
เพียง แต่หลังจากที่ชี้ให้คุณตรวจสอบ ถ้าสภาพภายในของ
วงเล็บเป็นความจริง
>> ดังนั้นเราจะเห็นสิ่งนี้อีกครั้ง อาจจะอยู่ใน Pset 1
หากคุณเคยต้องการที่จะทำบางสิ่งบางอย่างที่ อย่างน้อยหนึ่งครั้งและจากนั้นอาจจะมีมากขึ้น
ครั้งนี้เป็นสิ่งที่ดี สร้างที่จะใช้
แต่ห่วงขณะตรงกันข้ามจะ ตรวจสอบสภาพเป็นครั้งแรก
และที่มันคือวงที่อยู่ใน C ทำ ในขณะที่ในขณะที่และลูป
และอีกครั้งที่พวกเขา map สวยอย่างกลับ เพื่อ Scratch ยกเว้นหนึ่งนี้ไม่ได้
ค่อนข้างมีอนาล็อกเดียวกันใน Scratch
>> ด้วยวิธีการเกี่ยวกับตอนนี้ตัวแปร
ดังนั้นนี่คือวิธีที่ผมประกาศตัวแปร syntactically วันอื่น ๆ
ผมมี int ซึ่งผมอ้างว่า เป็นจำนวนเต็ม
จากนั้นผมก็มีเคาน์เตอร์ที่เรียกว่าตัวแปร แล้วอัฒภาค
ดังนั้นบรรทัดของรหัสการทำเช่นนี้คืออะไร?
นี่คือค่อนข้างง่ายประกาศ ตัวแปร -
นั่นคือขอให้คอมพิวเตอร์ให้ฉัน หน่วยความจำบางอย่างให้ฉันบางบิต - ใน
ซึ่งผมสามารถเก็บอะไร
int
และอัฒภาคเพียงหมายถึง จุดสิ้นสุดของบรรทัดของรหัส
>> ตอนนี้บรรทัดที่สองน่าจะเป็น ที่เข้าใจได้สวย
เคาน์เตอร์ = 0 คืออะไร; ทำอะไร
มันกำหนด 0 ที่จะตอบโต้
และดังนั้นนี่คือสิ่งอื่น ๆ ที่เล็ก ๆ น้อย ๆ ที่น่ารำคาญ
เมื่อเทียบกับพีชคณิตพูด,
ขณะที่ในพีชคณิตเครื่องหมายเท่ากับหมายความว่า เท่าเทียมกันที่นี่ใน C เท่ากับ
หมายความว่าสัญญาณที่ได้รับมอบหมาย
ดังนั้นจึงหมายถึงการวางสิ่งที่อยู่บนขวา เป็นสิ่งที่อยู่บนด้านซ้าย
และเราจะเห็นสัญลักษณ์อื่นเท่ากับ เท่ากับเมื่อเราต้องการที่จะทดสอบจริง
สำหรับที่มีคุณภาพค่อนข้าง annoyingly
>> แต่นี้เป็นเพียงเล็กน้อยที่ไม่มีประสิทธิภาพ
มันเป็นชนิดที่น่ารำคาญที่ฉันมี การประกาศตัวแปรและ
แล้วจะให้ค่า
ดังนั้น C จริงจะช่วยให้เราลดความซับซ้อนนี้ และเพียงแค่ทำมันทั้งหมดในครั้งเดียว
คุณสามารถประกาศตัวแปร ด้านซ้าย
คุณยังสามารถทำเมื่อได้รับมอบหมาย ขวาโดยการใส่เครื่องหมายเท่ากับว่าใน
กลาง
ดังนั้นในตอนท้ายของวันที่สองเหล่านี้ เทียบเท่า แต่อันนี้ตรงไปตรงมา
น่าจะเป็นนิสัยดีกว่าที่จะได้รับเป็น เพียงเพราะมันเป็นเพียงเล็กน้อยน้อย
รหัสมันเป็นเพียงเล็กน้อยง่ายต่อการอ่าน และมันก็กระชับขึ้น
รหัสของคุณเพื่อที่จะพูด
>> คำถามใด ๆ ป่านนี้เมื่อลูป, เมื่อตัวแปรเงื่อนไขบน
บูลีนทั้งในทางเทคนิค หรือแนวคิด?
ทั้งหมดขวา
ดังนั้นตอนนี้ต่อไปจะได้รับ เล็ก ๆ น้อย ๆ ที่น่าสนใจมาก
และนี่คือตัวอย่างที่ผมนำขึ้นล่าสุด เวลานั้นเพียงแค่แมเช่นรอยขีดข่วน
ไป C.
>> ดังนั้นเป็นหน้าที่
ในแง่ของคนธรรมดาเป็นหน้าที่อะไร
ก็จะโดดเด่นยิ่งขึ้นกับคำตอบของคุณ
ฟังก์ชั่นคืออะไร?
>> นักศึกษาไม่บางสิ่งบางอย่าง
>> DAVID ลัน: อะไรที่?
>> นักศึกษาไม่บางสิ่งบางอย่าง
>> DAVID ลัน: ไม่บางสิ่งบางอย่าง
ตกลง
เราจะเริ่มต้นมี
ดังนั้นเป็นหน้าที่ทำอะไร
ดังนั้นจึงเป็นชิ้นส่วนของรหัสที่ ดำเนินการเป็นหลักที่อื่น ๆ ว่า
แน่นอนบางสิ่งบางอย่างไม่ได้
ตอนนี้ที่น่าสนใจเกี่ยวกับการทำงานในสิ่งที่ ก็คือว่ามันสามารถใช้การป้อนข้อมูล
และจะสามารถผลิตออก
และขอใช้จริง ดูที่นี้
>> ดังนั้นคนที่อยู่เบื้องหลังม่าน ได้รับการพิจารณาช่วงเวลาที่ผ่านมา
ที่นี่เรามีตาราง
แต่คิดว่านี้จริง เป็นกล่องใหญ่
ดังนั้นนี่คือสิ่งที่เรียกว่ากล่องดำ
และโดยทั่วไปในการออกแบบในคอมพิวเตอร์ วิทยาศาสตร์กล่องดำเพียงหมายถึง
ชิ้นส่วนของฟังก์ชันการทำงานที่ใครบางคน ได้ดำเนินการและที่คุณทำไม่ได้
จำเป็นต้องรู้หรือวิธีการดูแลมัน ดำเนินการภายใต้ประทุน
คุณเพียงแค่สนใจว่านี้กล่องดำ, ซึ่งตอนนี้เราจะเริ่มต้นเรียก
ฟังก์ชั่นการทำบางสิ่ง
>> ดังนั้นสำหรับตัวอย่างเช่นถ้ากล่องดำนี้ เวทีที่นี่แสดงให้เห็นถึง printf,
ฟังก์ชั่น, ฉันรู้จากตัวอย่างก่อนหน้า ที่ printf จะใช้เวลาหนึ่งหรือมากกว่า
ข้อโต้แย้งและเป็นครั้งแรกของคนเหล่านั้น ข้อโต้แย้งที่ควรจะเป็นสตริงเช่น
"hello, world." ดีถ้าผมเป็นคน การเขียนโปรแกรมและฉันต้องการ
ที่จะใช้ printf, I, เช่นอาจ ใช้ชิ้นส่วนของกระดาษที่ว่างเปล่าที่นี่และ
เครื่องหมายสีดำและเขียนบนมัน -
ผมสะกดผิด "โลก" -
H-E-L-L-O
>> ดังนั้นฉันจะใช้เครื่องหมายสีดำของฉันและฉันจะ เขียนเป็นใหญ่และอ่านง่ายเท่าที่จะทำได้เมื่อ
งานชิ้นนี้ของกระดาษ, "Hello World," และ ตอนนี้ฉันเรียกร้องนี้เป็นข้อโต้แย้งของฉัน
นี้เป็นสตริงแทนด้วย ชิ้นส่วนของกระดาษสีขาว
และใส่ของฉันตอนนี้ในการทำงาน printf เป็นไปได้นี้
ดังนั้นฉันโทร printf ผ่าน อาร์กิวเมนต์เป็น input ไปว่า
>> และตอนนี้ผมไม่ทราบว่าคนที่ เขียน printf มันปีที่ผ่านมา แต่
ฉันจะรู้จากเอกสารประกอบที่ จุดประสงค์ของมันในชีวิตคือการที่จะพิมพ์สิ่งที่ฉัน
ให้มันเป็น input
ดังนั้นแม้ว่าการดำเนินงานนี้ เป็นถิ่นฉัน
ภายใต้ฝากระโปรงตอนนี้ ฉันเห็นโอ้จะทำ
มันมีบางสิ่งบางอย่างที่พิมพ์ บนหน้าจอ
และตอนนี้การควบคุมของโปรแกรมถ้ามี เป็นบรรทัดที่มากขึ้นของรหัสจะ
ตอนนี้กลับมาให้ฉัน
และเพื่อให้ความจริงที่ว่าใน Colton -
อวยพรหัวใจของเขาหลบซ่อนตัวอยู่ที่นี่ภายใต้ ตารางในด้านหน้าของทุกท่าน -
คือเจตนาในการที่ผมไม่ทราบ และฉันไม่สนใจว่าเป็น printf
การดำเนินการ
ผมเพิ่งรู้อีกครั้งจากนั้น เอกสารสิ่งที่มันไม่และวิธีการที่ฉัน
ผมควรจะใช้มัน
>> ตอนนี้จำได้ว่า printf จะได้รับ เล็ก ๆ น้อย ๆ ที่ซับซ้อนมากขึ้น
อีกครั้งเราเพียงแค่พูดคุยเกี่ยวกับ เทียบเท่าของบล็อกพูดของรอยขีดข่วน
แต่ฉันยังทำแบบนี้เป็นครั้งสุดท้าย
ฉันต้องการที่จะทำให้โปรแกรมของฉันสวัสดี เล็ก ๆ น้อย ๆ แบบไดนามิกและไม่ยากเพียงแค่
รหัสบางอย่างเช่น "โลก" และ แน่นอนสิ่งรหัสไม่ยาก
โดยพลการเช่น D--V-I-D ลงในโปรแกรม
ผมอยากจะขอให้ผู้ใช้ของเขาหรือเธอ ชื่อและจากนั้นทำอะไรกับ
สตริงที่พวกเขาให้ความเห็นว่า
>> ดังนั้นจึงมีบางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ที่แตกต่างกัน ที่นี่ printf ช่วงเวลาที่ผ่านมา
ไม่จริงทำอะไรบางอย่าง แต่ ไม่ได้กลับมาให้ฉัน
ใช่ไหม?
การตัดสินใจที่ไม่ได้อะไรเลยมือฉัน กลับชิ้นส่วนของกระดาษที่ไม่มี
มีเพียงผลข้างเคียงคือ
ให้ "hello โลก" ของฉันเป็น อาร์กิวเมนต์ส่งผลให้การตัดสินใจใน
ผลข้างเคียงของคำบางคำ, ปรากฏบนหน้าจอ
>> GetString แต่เป็นเล็ก ๆ น้อย ๆ ต่าง GetString ยังเป็น
ทำงาน แต่ก็จะส่งกลับค่าบางอย่าง
มันไม่เพียงแค่มี ผลข้างเคียงของความงาม
อันที่จริงมันทำให้ฉันคน เรียกหรือใช้ฟังก์ชั่น,
กลับบางสิ่งบางอย่าง
ดังนั้นในกรณีนี้คือ GetString เรียกว่ามี GetString เปิด
วงเล็บปิดวงเล็บ
ไม่ GetString จึงต้องใช้เวลา ข้อโต้แย้งใด ๆ หรือการป้อนข้อมูล?
ไม่มันดูเหมือนจะไม่
โดยมีวัตถุประสงค์ในชีวิตคือ เพียงเพื่อให้ได้สตริง
มันต้องไม่มีรายละเอียดมากไปกว่านั้น
เพื่อให้ฉันไปข้างหน้าและแกล้งทำเป็นว่า, อีกครั้งนี้กล่องดำไม่ได้เป็นพริทฟ์
แต่ GetString และให้ฉันคน การเขียนโปรแกรมนี้โทรหรือใช้
getString โดยเพียงแค่การเขียน G-E-T-S-T-R-I-N-G เปิดวงเล็บใกล้
วงเล็บ, GetString
>> ตอนนี้ฉันมีความคิดวิธีการที่พนักงาน CS50 ดำเนินการ GetString แต่ฉันรู้ว่า
ถ้ารอนานพอที่จะทำดี สิ่งที่อยู่ใต้ฝากระโปรงที่อาจใช้
ตัวแปรบางอย่างอาจจะใช้บางส่วน เงื่อนไขอาจจะใช้ลูปบาง
อาจจะใช้ฟังก์ชั่นบางอย่าง อาจจะใช้ -
เพียงแค่พยายามที่จะคอก - อาจใช้ คุณลักษณะบางอย่างของโปรแกรมอื่น ๆ
แต่ถ้ารอนานพอ - ในความเป็นจริง ในคอมพิวเตอร์นี้เกิดขึ้น
เร็วสุด -
ถ้ารอนานพอฟังก์ชั่นนี้ GetString จะรับสาย
จากผู้ใช้ที่ถูกสันนิษฐานว่าการพิมพ์ มันออกมาบนแป้นพิมพ์ของพวกเขาและ
แล้วเมื่อคุณ GetString จะกระทำได้ อักขระเหล่านั้นจากผู้ใช้
และเก็บไว้เป็นสตริงที่ ฟังก์ชั่น, GetString, เป็นไปได้
พร้อมสำหรับฉันเอาท์พุทที่ผมบาง จะไปเรียกโดยวิธีการ
ดำเนินการมอบหมาย
>> และถ้าเราไปจริงเข้าออก ที่นี่มี Obosi ไม่เห็นแก่ตัว
เข้าร่วมโดยไม่ทราบว่าในนี้ ความก้าวหน้าโดยการเขียนชื่อของเขาลงบนนี้
ตัวแปรซึ่งเป็นตัวแทนของ สตริง
ขณะนี้ผู้ประกอบการที่ได้รับมอบหมายซึ่งหมายความว่าแม้ แม้เรื่องนี้อาจจะรู้สึกเล็ก ๆ น้อย ๆ
ซ้ำซ้อนที่จริงผมจะต้อง เพื่อให้สำเนาของตัวเองของนี้
เพราะในมือซ้าย ด้าน - ขออภัย -
สังเกตเห็นว่าฉันเป็นหลักมีสาย ชื่อบนด้านซ้ายมือ
ดังนั้นฉันก็จะทำ สำเนาของตัวเองของฉันนี้
และนี่คือบิตของการโกหกสีขาว, เพราะเราจะเห็นในหรือสองสัปดาห์
เวลานั้นสตริงไม่จริง สิ่งที่พวกเขาดูเหมือนจะเป็น
>> แต่ตอนนี้ที่นี่เป็นค่าตอบแทน
ที่นี่สำเนาของตัวเองของมันเป็นหลังจากที่ ใช้ประกอบการมอบหมาย
และตอนนี้สิ่งที่ฉันต้องการจะทำต่อไปหรือไม่
ขณะนี้เรามีสอง สองบรรทัดของรหัส
ดังนั้นตอนนี้ผมต้องการเรียก printf
Let 's หลอกว่าตอนนี้สีดำ กล่องกลับมาอีกครั้งที่จะเป็น
printf และไม่ GetString
>> printf เวลานี้เป็นไป ใช้อาร์กิวเมนต์หลายวิธี?
ดังนั้นมองว่ามันเหมือนสอง
มีสองเครื่องหมายจุลภาคในมี แต่ หนึ่งในเครื่องหมายจุลภาคเหล่านั้นก็
ภายในของคำพูด
ดังนั้นอาร์กิวเมนต์แรกเป็นอักษร เป็นไปได้นี้
H-E-L-L-O เครื่องหมายจุลภาคเปอร์เซ็นต์ s, เครื่องหมายทับขวา n-
และตอนนี้ฉันให้ไม่ได้หนึ่งอาร์กิวเมนต์ แต่สองข้อโต้แย้ง printf
>> และสิ่งที่ควร printf จะทำอย่างไรกับ ทั้งสองปัจจัยการผลิตหลังจากที่ผมผ่านพวกเขาใน
เป็นอาร์กิวเมนต์?
ก็ควรที่จะใช้คนที่สองของ พวกเขาซึ่งผมเรียกชื่อดังนั้น
ชิ้นที่สองของกระดาษที่ผมเขียนออก ช่วงเวลาที่ผ่านมาถูกเรียกชื่อ
มันจะเสียบของค่าภายใน ของตัวแปรที่เป็นตัวยึดว่า
% s ดังนั้นอีกครั้งในเวลาเพียงสักครู่ของ เวลาเราจะเห็นผลข้างเคียงของ
มีการเรียก printf โดยตอนนี้เรา มองไม่เห็น "hello, world" แต่ "สวัสดี,
Obosi. "
>> ดังนั้นรอบใหญ่ของเสียงปรบมือทั้งสอง อาสาสมัครของเราเพียงคนเดียวที่รู้
นี้จะเกิดขึ้น
ทั้งหมดขวา
ดังนั้นบางทีง่ายเหมือนที่เป็น แน่นอนถ้าคุณคุ้นเคย
ด้วยเช่นหวังว่าคุณจะไม่เคย ลืมว่าโดยเฉพาะอย่างยิ่งภาพว่า
ฟังก์ชั่นการทำงาน
>> จึงมีมากกว่าเพียงแค่ getString ของ
ภายในของ CS50 ห้องสมุดมีอะไร ทั้งกลุ่มของฟังก์ชั่นทั้งหมดที่
เป็นราคาทุนเพียงเพื่อให้ชัดเจน ที่เราเขียนฟังก์ชั่นเหล่านี้
โดยปกติใน C เกือบทุกอื่น ๆ ฟังก์ชั่นที่คุณจะใช้เป็นตัวพิมพ์เล็ก
แต่เราจงใจใช้ตัวอักษรทุน เพียงเพื่อให้ชัดเจนว่าสิ่งเหล่านี้
มีล้อการฝึกอบรมของแปลกที่เราจะ ใช้เพียงไม่กี่สัปดาห์ที่
ลดความซับซ้อนของขั้นตอนการรับ ข้อมูลจากผู้ใช้
>> ห้องสมุด CS50 ไม่ได้ทำอะไร ที่คุณเองไม่สามารถทำโดย
เพียงแค่ใช้รหัส C จาก ตำราโบราณแซมป์
แต่อีกครั้งที่เราใช้ในการฝึกอบรมพวกเขาเป็น ล้อของแปลกสำหรับเพียงไม่กี่
สัปดาห์เพื่อให้เราสามารถกำจัด ความซับซ้อนที่คุณเร็ว ๆ นี้จะเข้าใจ
ตัวเองในการทำสิ่งที่เป็น ค่อนข้างตรงไปตรงมาได้
ข้อมูลจากผู้ใช้
>> ดังนั้นรู้ว่าคุณจะสามารถเข้าถึง เพื่อ getchar, GetDouble -
เป็นสองเท่า
What's - แล้ว GetFloat
ลอยคืออะไร?
เริ่มต้นให้มี
>> ลูกศิษย์: [ได้ยิน]
>> DAVID ลัน: ใช่
มันเป็นตัวเลขที่มีจุดทศนิยม
ดังนั้นในขณะที่ int เป็นจำนวนเต็มซึ่ง เพียงแค่มีจำนวน 0 ถึง 9 คือ
บางหมายเลขซ้ำดังกล่าว ลอยเป็นสิ่งที่
มีจุดทศนิยม
และสองในขณะเดียวกันก็ยังเป็น จำนวนมีจุดทศนิยม แต่ไม่มาก
หลังจากที่ตัวเลขทศนิยม จุดที่อาจเกิดขึ้น
>> ดังนั้นเราจะได้รับกลับไปที่นี้นานก่อนที่จะ
แต่โดยทั่วไปแล้วแต่ละประเภทนี้ ข้อมูลแต่ละประเภทเหล่านี้ของตัวแปร
ที่ห้องสมุดเช่นเราสามารถกลับไปที่ คุณใช้ตัวเลขที่แตกต่างกันของบิต
เก็บข้อมูล
โดยปกติ Char ซึ่งก็หมายความ ตัวละครตัวหนึ่งใช้ 8 บิต
และที่จริงสอดคล้องกับของเรา ไบต์ของอาสาสมัครสัปดาห์สุดท้ายที่
ขึ้นมาและเป็นตัวแทนหนึ่ง อักขระ ASCII เวลา
ดังนั้น Char คือ 8 บิต
>> ลอยที่จะเกิดขึ้น 32 บิตโดยทั่วไป
และคู่ที่คุณอาจคิดว่าเป็น จริง 64 บิตซึ่งเป็นเพียงมากขึ้น
ซึ่งหมายความว่าคุณสามารถมีขนาดใหญ่ ตัวเลขหรือความแม่นยำมากขึ้น
แต่อีกครั้งเพิ่มเติมว่าเวลาอื่น
GetLongLong ขณะเดียวกันแม้ว่าจะโง่ ชื่อเป็นจริงเพียง
จำนวนเต็มที่สองครั้งใหญ่เป็นสองเท่า ยาวที่อาจเกิดขึ้นเป็นปกติ
จำนวนเต็ม 64 บิตแทนจาก 32
และ getString เราได้รับใช้
>> แต่ปรากฎออกมาใน CS50 ห้องสมุด, ซึ่งดำเนินการในขณะที่เราจะเห็นใน
รูปแบบของแฟ้มที่สองซึ่งหนึ่งในนั้น เรียกว่า cs50.h มีอีกสองคน
ชนิดข้อมูลในนั้น
บูลีนไม่ได้อยู่ใน C. คุณสามารถ จำลองพวกเขาโดยการใช้เพียง 0 และ 1
ตลอดโปรแกรมของคุณ
แต่เราใน CS50 ห้องสมุดได้สร้าง สัญลักษณ์ "ของจริง" และ "เท็จ"
เพื่อเป็นตัวแทนของ 1 และ 0 เพื่อให้คุณไม่ได้ มีบางสิ่งบางอย่างยากรหัส
อักษรเช่น 1 และ 0
แต่เราจะเห็นเหล่านั้นอีกครั้ง
>> สายเกินไปไม่อยู่
และที่ว่าทำไมผมกล่าวถึงมัน บิตของการโกหกสีขาวสำหรับตอนนี้
แต่เราจะปอกเปลือกกลับว่า ชั้นก่อนที่จะยาว
แต่ตอนนี้เป็นสตริง ลำดับของตัวอักษร
>> ในขณะเดียวกันใน C คุณแน่นอน มีข้อมูลที่แตกต่างกันประเภท
แจ้งให้ทราบเหล่านี้เป็นตัวพิมพ์เล็ก
ดังนั้นฟังก์ชั่นที่คุณเห็นช่วงเวลาที่ผ่านมา มีฟังก์ชั่นที่เขียนโดย CS50 ว่า
จะกลับไปที่คุณค่าที่อยู่ เป็นหนึ่งในประเภทเหล่านี้
>> แผ่นโกงคู่เพียงเพื่อปลูก เมล็ดพันธุ์ที่นี่ printf ไม่เพียง แต่
ใช้% s เป็นตัวยึด
มันต้องใช้เวลา% d สำหรับจำนวนเต็มทศนิยม หรือ i% จะทำงานได้เป็นอย่างดี
% f ลอยค่าจุด % c คือ ถ่านถ้าคุณต้องการเพียงแค่เสียบหนึ่ง
ตัวละครที่เป็นสตริงที่จัดรูปแบบ เหมือนอย่างที่เราได้รับการทำคุณสามารถใช้% c
>> และแล้วค่อนข้าง annoyingly% LLD คือ เป็นเวลานานจำนวนเต็มทศนิยมยาว
ซึ่งก็หมายความว่าถ้าคุณจำเป็นต้องใช้จริงๆ จำนวนขนาดใหญ่และคุณกำลังใช้บางสิ่งบางอย่าง
เรียกว่านานซึ่งเราจะมา กลับไปใน pset คุณสามารถใช้ LLD% เป็น
บอกเสียบใน printf ใหญ่จริงๆ จำนวนเต็มที่นี่โดยวิธีการที่สองหรือ
บางเหตุผลอื่น ๆ
>> และสุดท้ายผมสัญญาว่า มีการหลบหนีอีกสองสามคน
ลำดับที่ printf สนับสนุน
เราได้เห็นเครื่องหมายทับขวา n-
เครื่องหมาย-R คุณอาจเห็น
มันเรียงลำดับของสิ่งที่โรงเรียนเก่า
ถ้าคุณเคยใช้เครื่องพิมพ์ดีดปีจริง ที่ผ่านมาและคุณดึงข้อเหวี่ยง
ซึ่งไม่เพียง แต่หมุนวงล้อเพื่อ ย้ายผู้เล่นตัวจริงก็ยังย้าย
สิ่งที่ทั้งตลอดทางกลับไปยัง ซ้ายดีเครื่องหมาย-R เพียง
หลักกลับเคอร์เซอร์ของคุณย้าย เพื่อเริ่มต้นของบรรทัด
โดยไม่ต้องย้ายมันลงมา
แต่อีกครั้งเพิ่มเติมว่า, บางทีในอนาคต
>> เครื่องหมายอ้าง, อ้างเครื่องหมายทับขวาสองครั้ง เครื่องหมายทับขวา-เครื่องหมายทับขวาคือ
วิธีการแก้ปริศนาเล็ก ๆ น้อย ผมพูดพาดพิงถึงก่อนหน้านี้
และเครื่องหมายทับขวา-0 เป็นจริง น่าสนใจทีเดียว
แต่เราจะกลับมา ก่อนที่จะยาว
>> เพื่อให้ฉันไปในตอนนี้ CS50 เครื่องใช้และขอทำจริง
รวดเร็วอุ่นเครื่องกับหนึ่งในตัวอย่างที่ เราไม่อยู่แล้วและจากนั้นย้ายไป
บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ที่ซับซ้อนมากขึ้น
ดังนั้นถ้าฉันเปิดโปรแกรมของฉัน เรียกว่า Gedit -
นี้เป็นตัวแก้ไขแบบกราฟิกของฉัน
และฉันสามารถทำ -
ให้ฉันปิดหน้าต่างว่ามี -
โดยวิธีการของไอคอนนี้ลงที่นี่ Gedit ในด้านล่างซ้าย
มุมต่อไปที่เมนู
>> ฉันจะไปข้างหน้าและความก้าวหน้าและ บันทึกเช่นนี้ในการพูด, จอห์น
โฟลเดอร์ที่ฮาร์วาร์
โฟลเดอร์จอห์นฮาร์วาร์เป็นเพียงบ้านของเขา ไดเรกทอรีที่ไฟล์ทั้งหมดของเขาอาศัยอยู่
โดยค่าเริ่มต้น
และฉันจะบันทึกเป็น ไฟล์ที่เรียกว่าสวัสดี-0.c
และฉันได้เลือกชื่อนี้เพียงเพื่อให้มัน เส้นขึ้นด้วยตัวอย่างรหัสบน
เว็บไซต์ของหลักสูตรและใน ออนไลน์วิดีโอ YouTube
>> ดังนั้นตอนนี้ฉันจะเริ่มต้นที่จะ เขียนโปรแกรมแรกของฉัน
ผมขอขยายความชัดเจนสำหรับ
และฉันจะไปข้างหน้าและพูด int เป็นโมฆะหลักซึ่งเป็นเช่นเดียวกับที่
ชิ้นส่วนปริศนาสีเหลืองว่า เริ่มต้นโปรแกรม
ฉันมีอากาศเป็นนิสัยมากกว่า ปีของการเปิดหยิกรั้งฉันแล้ว
นอกจากนี้ยังมีการปิดมันแล้วจะกลับไป ที่ฉันต้องการที่จะนำรหัสของฉันเพียง
เพราะมันช่วยให้ผมเก็บทุกอย่าง สมดุลโดยเฉพาะอย่างยิ่งของฉัน
โปรแกรมที่ได้รับเป็นเวลานาน
>> และตอนนี้ในที่นี่ฉันจะไปข้างหน้า และพูดว่า printf อ้างไม่ได้นำมาอ้าง,
Hello World, เครื่องหมายทับขวา-n, อ้างใกล้ชิด วงเล็บปิดอัฒภาค
ดังนั้นฉันเพียงแค่การทำซ้ำทุกอย่างที่เราได้ รับการได้รับป่านนี้
ตอนนี้ฉันจะเพื่อซูมออก
>> และหน้าต่าง terminal นี้ลงที่นี่สิ่งที่ ฉันอนุญาตให้ทำในสีดำนี้
และสีขาวหน้าต่าง?
สิ่งที่ฉันสามารถใช้มันได้หรือไม่?
ดังนั้นนี่คือที่ที่ฉันเรียกใช้คำสั่งและ ที่ฉันสามารถรวบรวมสิ่งที่
และฉันจะให้มันง่าย
ฉันจะใช้โปรแกรม เรียกว่ารู้จักซึ่งไม่ได้เป็น
เทคนิคคอมไพเลอร์
เสียงดังกราวเรียกว่าคอมไพเลอร์ แต่ เราจะกลับมาว่าใน
เวลาสัปดาห์หรือสอง
>> สำหรับตอนนี้ฉันแค่จะพิมพ์ให้ สวัสดี-0, แต่บรรดาของคุณที่มี
เปรียบเทียบในจิตใจของคุณสิ่งที่ฉันเพียงแค่ พิมพ์กับสิ่งที่ฉันควรจะได้พิมพ์อาจ
รู้แล้วว่าผม บางสิ่งบางอย่างที่ไม่ถูกต้องที่นี่
ตอนนี้มีข้อผิดพลาดบางอย่างเห็นได้ชัด
ก่อนที่ฉันจะมองไปที่สิ่งที่พวกเขาใด ๆ ความคิดเป็นสิ่งที่ฉันไม่ผิด?
>> นักเรียน: [interposing VOICES]
>> DAVID ลัน: ใช่
ฉันหายไปไฟล์ส่วนหัวของห้องสมุด
ใด ๆ เหล่านี้. ไฟล์ชั่วโมงจะเรียกว่าส่วนหัว ไฟล์และพวกเขาเรียกรวมกัน
เป็นสิ่งที่เรียกว่าห้องสมุด
ห้องสมุดเป็นเพียงชิ้นส่วนของรหัส ว่าคนอื่น ๆ ครับ
[มาตรฐานดังนั้น? i? ห้องสมุด] คือ คอลเลกชันของไฟล์ที่มีรหัส
ว่าคนอื่น ๆ ครับ
>> ดังนั้นฉันหายไปที่
ดังนั้นทำไมฉันรับข้อผิดพลาด?
ดีให้ฉันเลื่อนกลับขึ้นไปใน หน้าต่าง terminal ของฉันที่นี่
และขออภัยใน C ในขณะที่จำนวนมาก การเขียนโปรแกรมภาษาโดยเฉพาะอย่างยิ่ง
ถ้าหากมันเป็นทั้งหมดใหม่ให้คุณผิดพลาด เป็นข้อความที่ถูกต้อง แต่พวกเขายัง
ค่อนข้างคลุมเครือ
และข้อผิดพลาดที่นี่, สีแดงคือ งานห้องสมุด "โดยปริยายประกาศ
printf กับประเภท "และแล้วก็เลื่อน ไปยังบรรทัดต่อไป "int const char *,
... "มันเพิ่งได้รับจริงๆ ที่ครอบงำได้อย่างรวดเร็ว
>> แต่สิ่งที่คุณควรเริ่มต้นที่จะทำถ้า อีกครั้งใหม่ทั้งหมดนี้เป็นเพียงการ
จะเริ่มมองหาคำหลัก
เห็นได้ชัดว่าผมอาจจะไม่เข้าใจครึ่ง ของคำที่ฉันเห็นเพียง แต่
คุณจะแม้ว่าในเวลาหนึ่งสัปดาห์
แต่ฉันเห็น printf
และที่ควรจะเริ่มต้นก่อนที่จะยาวไป เขย่าเบา ๆ หน่วยความจำของคุณทั้งหมดขวา printf
บางสิ่งบางอย่างผิดปกติกับ printf
ผมสะกดผิดหรือเปล่า?
ไม่มีก็ไม่ได้มีลักษณะเหมือน - แหม
ฉันไม่สามารถใช้มันจนกว่าผมสอน คอมไพเลอร์ที่มันมีอยู่แล้ว
และอื่น ๆ อีกครั้งไปกับสัญชาตญาณของคุณ แม้ว่าคุณจะไม่จริงเข้าใจ
ข้อความผิดพลาดที่เกิดขึ้นจริง
>> และอันที่จริงการแก้ปัญหาที่นี่คือเพียง รวมไว้ที่ด้านบนของไฟล์
เช่นเดียวกับที่ resaving ไฟล์ของฉันด้วย ควบคุม S-หรือเมนู File
และถ้าตอนนี้ผมกลับไปลงที่นี่ ฉันจะล้างนี้
ควบคุม L-เป็นเพียงวิธีที่ดี เพื่อล้างหน้าจอ
แล้วฉันจะพิมพ์ "ให้สวัสดี 0 "Enter และตอนนี้ฉันยังคงเห็น
ลำดับความลับของสัญลักษณ์ แต่ เราจะกลับมาที่
นั่นคือสิ่งที่ทำให้จะทำสำหรับคุณ
มันอัตโนมัติกระบวนการของการ คำสั่งที่น่ารำคาญอย่างเป็นธรรมที่เกี่ยวข้องกับ
เสียงดังกราว, คอมไพเลอร์ที่เกิดขึ้นจริง
แต่ความจริงที่ผมได้ไม่มีข้อผิดพลาดหมายถึง ว่าสิ่งนี้ควรจะทำงาน
>> ดังนั้นตอนนี้ฉันจะทำ - ให้ฉันขยายอีกครั้ง -
./hello-0 ใส่และแน่นอนผมเห็น "hello, world." ดังนั้นตอนนี้ขอเพิ่ม
นี้เคยดังนั้นเล็กน้อยเพียงที่จะทำซ้ำ ขั้นตอนที่เราตั้งใจ
ฉันจะเปลี่ยนชื่อนี้ด้วย บันทึกเป็นเมื่อต้องการ hello1.c
และตอนนี้ฉันจะประกาศตัวแปร เรียกชื่อชื่อสตริงดังนั้น
และฉันจะใส่ในนั้น มูลค่าของการอ้างไม่ได้นำมาอ้าง-
D--V-I-D อัฒภาคใกล้อ้าง-
และตอนนี้ฉันจะไปแทนที่ "โลก" กับสิ่งที่ตัวยึดสำหรับสตริง?
% s
>> และตอนนี้กี่ข้อโต้แย้งควร printf ใช้เวลานี้?
ดังนั้นสอง
ดังนั้นผมจึงออกไปข้างนอกของคำพูด
ฉันพิมพ์ "ชื่อ" หลังจากจุลภาค
แต่ฉันทำบางสิ่งบางอย่าง เวลานี้ผิดอื่น
แต่สมมติว่าผมไม่ได้ ตระหนักดีว่ายัง
ให้ฉันขึ้นไปที่นี่
>> และแจ้งให้ทราบล่วงหน้าเกินไปฉันได้รับเพียงเล็กน้อย เบื่อของการพิมพ์ "ทำให้สวัสดี 0" ทั้งหมด
เวลา "ให้" และทั้งหมดนี้
ดังนั้นมันจะเปิดออกใน Linus คุณสามารถ มักจะโดนลูกศรขึ้นเมื่อคุณ
แป้นพิมพ์จริงและคุณสามารถเลื่อน ผ่านทุกคำสั่งที่ฉัน
ก่อนหน้าที่จะดำเนินการเพียงแค่นี้
ดังนั้นถ้าฉันทำอย่างนั้นขึ้น, ขึ้น, มีให้สวัสดี 0
ฉันไม่ต้องการที่
ผมแค่อยากจะเปลี่ยนที่ไป สวัสดี 1 เวลานี้ใส่
ในที่สุดที่จะ ช่วยให้คุณประหยัดเวลา
>> ทั้งหมดขวา
แต่มีข้อผิดพลาดอะไร
เพื่อให้ฉันเลื่อนขึ้น
นี้ดูเหมือนว่าฉันจริงๆ เชือดโปรแกรมนี้
ผมหมายถึงพระเจ้าของฉันก็สองบรรทัดของรหัส และ 10 เส้นของความผิดพลาด
แต่มองไปที่ด้านบนคนแรก
ใช้ของสตริงตัวระบุไม่ได้ประกาศ
ผมหมายถึงมาตรฐานผม n?
ไม่มีฉันไม่ได้
ฉันหมายถึงสตริง
>> แต่ที่ตัวแปรสตริงคือ ประเภทประกาศ, dd เราพูด?
จึงเป็นประโยชน์ CS50 ห้องสมุด
ดังนั้นจึงไม่พอเพียงในครั้งแรกที่เหล่านี้ สองสามสัปดาห์เพียงเพื่อใช้
C ให้อะไรเรา
ฉันยังจะไปขึ้นที่นี่และผม สามารถวางไว้ด้านบนหรือด้านล่าง แต่ฉันจะ
เพียงแค่ให้มันเรียงตามตัวอักษร เพื่อให้สิ่งที่เป็นระเบียบเรียบร้อย
ฉันจะรวม cs50.h, ซึ่งมีการติดตั้งสำหรับ
คุณ CS50 เครื่องใช้
และมันก็เป็นโอเพนซอร์สดังนั้นแม้คน บนอินเทอร์เน็ตที่สามารถใช้ในพวกเขา
เครื่องคอมพิวเตอร์ของตัวเอง
แต่มันก็มาพร้อมกับเครื่องใช้ CS50
>> ดังนั้นตอนนี้ให้ฉันกลับไปและ recompile นี้ทำให้สวัสดี 1
Damn มัน
ยังคงข้อผิดพลาดอื่น
ผมขอเลื่อนขึ้นไปครั้งแรก แต่
หนึ่งนี้เป็นที่ซับซ้อนน้อย
ตัวละครหลายตัวคงที่
ที่ไม่ได้ช่วยฉัน
แต่แจ้งให้ทราบเสียงดังกราวอย่างน้อยน้อย ดีบิตเหตุที่มีน้อย
สีเขียวสัญลักษณ์ลูกศรก็บอกว่า ที่นี่เป็นที่ที่ฉันเมาขึ้น
มันจะชี้เหตุใดจึงมีน้อยว่า ลูกศรสีเขียวเพื่อพูดเดียวต่อไป
ชื่อของฉันได้อย่างไร
>> ดังนั้นนี่คือหนึ่งในสิ่งที่คุณเพียงแค่ รับใช้โดยเฉพาะอย่างยิ่งถ้าคุณได้รับ
การเขียนโปรแกรมในงูหลามหรือ JavaScript, หรือภาษาอื่น ๆ ที่รายละเอียดนี้
ไม่ได้เรื่อง
ใน C มันไม่สำคัญ
หากคุณกำลังประกาศสตริงซึ่งเป็น ลำดับของ 0 หรือมากกว่าตัวอักษร,
คุณจริงต้องใช้คำพูดสองครั้ง
ดังนั้นผมจึงจำเป็นต้องใช้จริงในการเปลี่ยนแปลงนี้กลับ อ้างเพื่อเปิดปิดโดยอ้างกับ
คำพูดสองครั้ง
คำพูดเดียวจะมีสถานที่ของพวกเขา แต่ เฉพาะเมื่อคุณกำลังใช้แต่ละคน
ตัวอักษร แต่เพิ่มเติมว่าเวลาอื่น
สำหรับตอนนี้คำพูดสองครั้ง เป็นสิ่งที่จำเป็น
>> ดังนั้นตอนนี้ให้ฉันกลับไปที่ขั้วของฉัน หน้าต่างให้สวัสดี 1
และมั่นใจได้ที่?
เป็นโปรแกรมนี้ตอนนี้จะ เพื่อรวบรวมถูกต้องหรือไม่
ตกลง
ดังนั้นเราสามคนคิดว่านี้
ทั้งหมดขวา
เข้าไป
และมันไม่จริง
ดังนั้นจึงมีข้อผิดพลาดไม่ได้ในเวลานี้แม้ แม้ว่าโปรแกรมนี้มีอากาศที่บิต
ที่ซับซ้อนมากขึ้น
ถ้าฉันตอนนี้ทำจุดเฉือนสวัสดี 1, ใส่, มันจะพูดว่า "Hello, เดวิด."
>> แต่ขอให้ทำซ้ำที่สาม จากนี้ซึ่ง
โปรแกรมเป็นแบบไดนามิกอย่างแท้จริง
ให้ฉันไปข้างหน้าและเปลี่ยนไฟล์ ชื่อเพียงเพื่อความสอดคล้องกับ
ไฟล์ที่คุณจะมีใช้ได้ เพื่อคุณออนไลน์หลังจากนั้น
เข้าไป
และตอนนี้ฉันจะไปและไม่ได้ เก็บ "เดวิด" รหัสยากที่นี่
สิ่งที่ฉันจะทำอย่างไรเพื่อให้มากเพียง ปรับปรุงโปรแกรมนี้
>> ฉันสามารถเรียก getString
มันอาจจะเป็นเพียงเล็กน้อยไม่ชัดเจนว่ามีอะไร เกี่ยวกับที่จะเกิดขึ้นดังนั้นฉันไป
ที่จริงการเพิ่มบรรทัดอื่น printf, และพูดชื่อลำไส้ใหญ่อ้างใกล้เพียง
ที่จะให้ผู้ใช้ที่พรอมต์ บนหน้าจอ
และตอนนี้ฉันจะไปที่นี่และฉัน จะใช้ทางลัดแป้นพิมพ์ของฉัน
ฉันจะขึ้นไปขึ้นและเปลี่ยน สวัสดีสวัสดี 1 ถึง 2 ใส่
และโชคดีที่ผมมีความก้าวหน้า
>> และตอนนี้ฉันจะไปขึ้น เพื่อจุดเฉือนสวัสดีและ
เปลี่ยนที่ 2 ใส่
และตอนนี้โปรแกรมของฉัน -
ผมจะซูมใน - จะได้รับ เล็ก ๆ น้อย ๆ น่ารัก
ชื่อที่เป็นไปได้สมมติว่าร็อบ เวลานี้ใส่สวัสดีร็อบ
เราสามารถทำมันอีกครั้ง
ชื่อลอเรนใส่
ชื่อโจเซฟใส่
ชื่อให้พยายามที่จะเป็น ยากใส่
เอ๊ะ
มันไม่จริงข้อผิดพลาด
ดังนั้นจึงเป็นเพียงเล็กน้อยน่าเกลียด
ดังนั้นบางทีเราสามารถแก้ปัญหานี้ ในอนาคตไม่ได้ในขณะนี้
>> แต่วิธีที่คุณจะสัญชาตญาณ ไปเกี่ยวกับที่อยู่
ที่ท้าทายโดยเฉพาะอย่างยิ่ง?
มันก็ดูโง่
คุณหลีกเลี่ยงสิ่งวิธี กำลังมองหาโง่?
ดังนั้นเราจึงสามารถทำได้ OK ฉันได้ยินคู่ ของสิ่งที่สภาพและห่วง
เราสามารถใช้อย่างใดอย่างหนึ่งเงื่อนไขเพื่อตรวจสอบ ความยาวของสตริงคือสิ่งที่
ผู้ใช้ให้เรา?
และถ้าหากมันเป็น 0 ก็เพียงพูดไม่ได้นำมาอ้าง, พวกเขาเพียงแค่กด Enter จากนั้น
บางทีฉันควรจะตะโกนใส่พวกเขา และให้พวกเขาอีกครั้ง
แต่จะทำอย่างไรให้พวกเขาอีกครั้ง?
ดีฉันยังได้ยินวง, and I could ทำอย่างนั้นอีกครั้งและอีกครั้งและอีกครั้ง
เตือนผู้ใช้ให้สิ่งเดียวกัน
>> ดีขอทำตัวอย่างหนึ่งที่อื่น ๆ การใช้ที่แตกต่างกัน
ฟังก์ชั่นในห้องสมุด CS50
ผมขอปิดแฟ้มนี้
ให้ฉันสร้างขึ้นมาใหม่
และฉันจะเรียกมันว่า adder.c เพียงเพราะ มันง่ายที่จะทำเลขคณิตง่าย
แม้ว่านี้จะสมบูรณ์ underwhelming กับสิ่งที่คุณสามารถทำได้
ด้วยคอมพิวเตอร์ที่ทันสมัย​​ใด ๆ
>> แต่ให้ฉันไปข้างหน้าและตอนนี้ -
ผมได้เรียนรู้บทเรียนของฉันเป็นครั้งสุดท้าย - รวม cs50.h รวม stdio.h, int
เป็นโมฆะหลักซึ่งสำหรับตอนนี้ฉันจะเพียงแค่ ใช้เวลาในการเชื่อตาบอด แต่เราจะถือว่า
ที่จะเข้าใจในสิ่งที่ นั่นหมายความว่าอีกไม่นาน
และฉันจะพูดอะไรบางอย่าง เช่น "ให้ฉัน int."
>> และตอนนี้ฉันจะได้รับ int อย่างไร
ฉันต้องการในที่สุดประกาศตัวแปร ที่เรียกว่า x int ชนิดและ
เก็บในนั้นจำนวนเต็มจากผู้ใช้
เพื่อให้เป็นคำหนึ่ง
แต่ถ้ามีคนต้องการที่จะเสนอวิธีการ ฉันประกาศ x จำนวนเต็มเรียกว่า?
x int
>> จึงเป็นเรื่องง่ายที่
ให้ฉัน int
เรียกว่า x
ตอนนี้ผมใช้ประกอบการมอบหมาย
และฉันเก็บจากวิธี ออกจากค่าของผู้ใช้หรือไม่
ฉันไม่ต้องการที่จะเรียก GetString, อย่างเห็นได้ชัด แต่ GetInt
ข้อโต้แย้งใด ๆ ?
เลขที่
ดังนั้นมันจึงเปิดวงเล็บปิดวงเล็บ ทันทีและจากนั้น
อัฒภาคปลายสาย
>> ตอนนี้ให้ฉันทำเช่นนี้อีกครั้ง
ให้ฉัน int อีก
คราวนี้ฉันจะทำ int ให้ เรียกมันว่า y, GetInt เท่ากับ
และตอนนี้ให้ฉันทำบางสิ่งบางอย่างซุปเปอร์ง่าย เช่นเดียวกับคณิตศาสตร์
ดังนั้น printf ผลรวมของ% d คือ ตัวยึดสำหรับ int
% และ D, ระยะเวลา, เครื่องหมายทับขวา n-
>> ทั้งหมดขวา
เพื่อให้ไม่จริงคณิตศาสตร์
แต่ถ้าฉันต้องการจะบอกผลรวมของนี้ ค่าบวกค่านี้เท่ากับนี้
ค่าอื่น ๆ , วิธีการหลายข้อโต้แย้งเป็น ฉันควรทั้งหมดจะให้ printf,
ในที่สุด?
ดังนั้นสี่ขวา?
สายนี้แล้วสามค่า
ดังนั้น x เป็นครั้งแรกที่ฉันอยากจะเป็น เสียบแรกที่% d
y เป็นไปได้ต่อไป
>> และตอนนี้ฉันชนิดของการอยากจะบอกว่า z, z แต่ไม่ได้อยู่
แต่นั่นไม่ใช่เรื่องใหญ่
เพราะสิ่งที่คุณจะทำโดยสัญชาตญาณ โดยเฉพาะอย่างยิ่งถ้าคุณมี
เครื่องคิดเลขกราฟสิ่งที่คุณพิมพ์?
วิธีการเกี่ยวกับ x บวก y?
ดังนั้นจึงไม่เป็นตัวแปรที่เกิดขึ้นจริง
มันเป็นเพียงผลรวมของทั้งสอง ตัวแปรอื่น ๆ
และที่ถูกต้องสมบูรณ์
C แน่นอนเข้าใจง่าย การคำนวณเช่นนี้
>> อัฒภาคบันทึก
ตอนนี้ให้ฉันไปลงที่นี่และ พิมพ์ทำให้ adder ป้อน
ไม่มีข้อผิดพลาดเพื่อให้ความคืบหน้าเกินไป
adder ประเภท
และแป้นพิมพ์ลัดอื่น ถ้าคุณเริ่มที่จะได้รับเบื่อ
กับคำสั่งทั้งหมด -
ถ้าคุณเริ่มพิมพ์คำสั่งเช่นจุด เฉือนโฆษณาและนั่นคือสิ่งที่คุณ
เบื่อเตะในคุณจะสามารถตี แท็บจะมีคอมพิวเตอร์เสร็จสิ้น
ส่วนที่เหลือของวลีสำหรับคุณถ้ามันไม่ได้ คลุมเครือสิ่งที่ควรมาหลังจากการโฆษณา
>> เพื่อให้ฉันไปข้างหน้าในขณะนี้ และคุณคลิก Enter
ให้ฉัน int, 1, 2, และ ขอบคุณก็ 3
แต่เป็นเสมอการทดสอบโปรแกรม ไม่ควรลด
เพียงแค่พยายามที่ครั้งหนึ่งมันเคย
ผมขอลองกรณีมุมเช่นเชิงลบ 1 ให้ฉัน 1 และที่หนึ่ง
เช็คเอ้าท์เช่นกัน
และฉันอาจต้องการที่จะทำมากขึ้นบาง การทดสอบอย่างเข้มงวด แต่ฉันสวย
สะดวกสบายกับการที่ว่าที่
>> ดีตอนนี้ลองโปรแกรมอื่น ว่าเวลานี้ใช้เป็น
บิตของไวยากรณ์อื่น ๆ
ให้ฉันสร้างแฟ้มใหม่
ฉันจะเรียก conditions0.c นี้กับสาย ขึ้นกับบางออนไลน์รหัสตัวอย่าง
และแจ้งให้เราไปข้างหน้าและทำ รวม cs50.h รวม
stdio.h ในเป็นโมฆะหลัก -
ตกลง
มีที่เราไป
เรามีต้นแบบมาตรฐานของเรา
>> และในครั้งนี้ผมจะพูด printf, "ฉันต้องการ int โปรด" เพียงเพื่อ
ทำให้พรอมต์เล็ก ๆ น้อย ๆ ที่เป็นมิตรมากขึ้น
และตอนนี้ฉันต้องการได้รับ int จากผู้ใช้
ฉันจะเรียกมันว่า n เวลานี้เพียงแค่ เพราะ n เสียงเหมือนจำนวน
GetInt และตอนนี้สิ่งที่ทำ ฉันต้องการจะทำกับมันได้หรือ
ดีถ้า n คือ - และฉันจะซูมใน -
ถ้า n มากกว่า 0 ผมต้องการ ทำต่อไปนี้ -
printf "คุณจะเลือกเป็นจำนวนบวก." อื่นฉันจะพิมพ์ printf "คุณ
เลือกลบ
จำนวน. "ทุกขวา
ดังนั้นโปรแกรมนี้แม้ว่าฉันไม่ได้ ได้อย่างรวดเร็วและมีลักษณะที่เหมาะสม syntactically
ให้ฉันลองนี้
ทำให้สภาพ 0
ดูเหมือนว่าจะทำงาน
0 สภาพใส่
ขอให้มัน int จาก 50
ฉันเลือกจำนวนบวก
ลองอีกครั้ง
0 สภาพ
เชิงลบ 50
ฉันเลือกจำนวนลบ
>> แต่ตอนนี้ให้ฉันเลือกสิ่งที่เราจะเก็บ เรียกกรณีมุมซึ่งเป็นอะไรที่
กรณีที่น่าสนใจที่คุณคิดว่า อาจทำให้คุณปัญหาบางอย่าง 0
ตอนนี้ผมค่อนข้างมั่นใจว่านี่คือหนึ่งใน กรณีที่มุมที่เป็นศูนย์
ทั้งในเชิงบวกหรือเชิงลบดังนั้นฉัน โปรแกรม แต่ใน syntactically
แก้ไข - มันคอมไพล์มันวิ่ง - ไม่ได้มีเหตุผลที่ถูกต้อง
ดังนั้นการแก้ไขที่ง่ายคือสิ่งที่นี่ถ้าฉันต้องการ ในการตรวจสอบถ้าผมต้องการที่จะจัดการกับ n
เท่ากับ 0 แยกต่างหาก?
>> ดังนั้นถ้า n เท่ากับ 0 แล้วฉันต้องการจะบอก สิ่งที่ต้องการ printf "คุณเลือก 0."
ให้ฉันลองนี้ในขณะนี้
ปล่อยฉันไปกลับมาที่นี่ให้ล้าง หน้าต่างของฉันและคอมไพล์
หือ
หนึ่งข้อผิดพลาดสร้าง
แต่คุณทำฉันต้องการตรวจสอบ ถ้า n เท่ากับ 0
>> ดังนั้นอีกครั้งอีกหนึ่งสิ่งที่โง่ ในการรับใช้, เครื่องหมายเท่ากับเป็น
ดำเนินการมอบหมาย
ดังนั้นนี้เป็นจริงความผิดพลาดในการที่, เทคนิคแม้ว่าคอมไพเลอร์
ป้องกันฉันจากตัวเองที่เราต้องการ เทคนิคที่ได้รับการคัดลอกลงใน n 0 ซึ่ง
ไม่ได้เป็นสิ่งที่ฉันต้องการ
ฉันต้องการทดสอบเพื่อความเท่าเทียมกัน ด้วยเท่ากับเท่ากับ
และอื่น ๆ ที่ตอนนี้อาจจะมี ทางออกที่ดีกว่าฉัน
>> ให้ฉันจริงบันทึกใหม่นี้ตามกล่าว conditions1 จะใหม่และปรับปรุง
ดังนั้นตอนนี้ถ้าฉัน recompile นี้ มันจะทำให้เงื่อนไข -
ขออภัย - ให้ conditions1 เฉือนจุด conditions1 ป้อน "ฉันต้องการ int,
โปรด. "ฉันจะไป ไปข้างหน้าและพิมพ์ 50
ก็ยังคงดี
เชิงลบ 50 ยังดี
0 และมันจริงตรวจพบ ที่ฉันเลือก 0
>> ฉันสามารถดังนั้นสิ่งที่ทำมากขึ้นในขณะนี้?
ดีเราสามารถทำได้อย่างแน่นอนมากขึ้น สิ่งที่ซับซ้อน
แต่สิ่งที่ผมอยากจะนำเสนอคือ ที่เราสิ้นสุดในบันทึกนี้ที่นี่
ถ้าเราดึงขึ้นนี้คุณจะเห็นบางที การ์ตูนที่ชื่นชอบของคุณ
จนถึงวันนี้คุณอาจ ไม่เคยมีความเข้าใจ
และที่เกี่ยวกับคุณภาพของเสียงหัวเราะ คุณควรจะได้รับเรื่องตลกกับ CS
ดังนั้นที่ถูกต้องเกี่ยวกับ
>> แต่ที่ร้องขอฉันคิดว่าฉันต้องการ ให้เราทีเซอร์เล็กน้อยสำหรับจันทร์
ดังนั้นเราจึงเริ่มใช้จำนวนเต็ม
เราจะเรียกว่าลอย
เราได้เรียกว่าแม้จะคู่ผสม ซึ่งอีกครั้งให้คุณตัวเลข
หลังจากจุดทศนิยม
>> แต่ปรากฎว่าลอยและ คู่และจริงๆคอมพิวเตอร์,
พื้นฐานที่ไม่สามารถแสดง บางค่าได้อย่างแม่นยำ
เรารู้จากชั้นเรียนคณิตศาสตร์ที่คุณสามารถ มีจำนวนตัวเลขใด ๆ หลังจากที่
จุดทศนิยม
และคุณยังสามารถวางแถบแนวตั้ง ที่จะพูดเหล่านี้ไปอยู่กับคุณตลอด
>> แต่น่าเสียดายที่คุณไม่สามารถจริงๆ ทำในคอมพิวเตอร์
และเพื่อให้กรณีมุมที่เกิดขึ้น
ตัวอย่างเช่นสมมติว่าคุณ ทำสิ่งที่ทางการเงิน
คุณกำลังทำคณิตศาสตร์ เปอร์เซ็นต์และ
กับดอลลาร์และเซนต์
และเซ็นต์เหล่านั้นไม่ได้ จำเป็นต้องขึ้นบรรทัด
ดีก็จะเปิดออกเศษส่วนที่ เพนนีสามารถเริ่มต้นที่จะเพิ่มขึ้นเมื่อ
การสร้างแบบจำลองด้วยระบบคอมพิวเตอร์ ในลักษณะที่ฉลาด
มนุษย์สามารถใช้ประโยชน์
>> และบรรดาผู้ที่ยังไม่ได้เห็นผม ต้องการให้คุณทีเซอร์ 30 วินาทีจาก
ภาพยนตร์ยอดเยี่ยมที่รู้จักกันเป็นพื้นที่สำนักงาน, ซึ่งจะวาดภาพของ
ปัญหาที่เราจะต้องจัดการ สิ่งแรกในวันจันทร์ที่
ถ้าเราสามารถเพิ่มปริมาณ นิด ๆ หน่อย ๆ ผมให้คุณ 30
วินาทีของพื้นที่สำนักงาน
>> [เล่นภาพวิดีโอ]
>> -ฉันหมายความว่าคุณยังไม่ได้รับการแสดง ขึ้นและคุณได้รับเพื่อให้งานของคุณ
>> จริงผมได้รับการเลื่อน
>> -ฉันสามารถเขียนโปรแกรมไวรัสที่ต้องการ สถานที่ตัดออกครั้งใหญ่ที่
>> -ดีก็วิธีจะทำงานอย่างไร
>> ทุกครั้งที่มีการทำธุรกรรมของธนาคาร ที่ดอกเบี้ยจะคำนวณและมี
หลายพันวัน, คอมพิวเตอร์สิ้นสุด กับเศษส่วนเหล่านี้จากร้อยละ
>> แต่ผมไม่ได้ไป ทำอะไรที่ผิดกฎหมาย
>> -Illegal?
กลั้วนี้เป็นอเมริกา
>> -เราต้องสาบานต่อพระเจ้า
>> ถ้าไม่มีใครรู้เกี่ยวกับเรื่องนี้ แต่เราขวาทั้งหมดหรือไม่
ไม่มีสมาชิกในครอบครัวไม่มี แฟนไม่มีใคร,
>> -แน่นอน
>> ตกลงกัน
>> -ห้ามกังวลมนุษย์
ฉันจะไม่บอกใครอย่างใดอย่างหนึ่ง
>> [เล่นวิดีโอจบ]
>> DAVID ลัน: ดังนั้นนี่ก็คือ CS50, ที่เป็นพื้นที่สำนักงานและมันจะทั้งหมด
ทำให้ความรู้สึกในวันจันทร์
ดูแล้วคุณ
>> เล่าเรื่อง: CS50 ต่อไปที่ร็อบ ปรับให้ถูกปิด
แผนอาหารฮาวาร์ด