>> Hirschhorn JASON: ยินดีต้อนรับสู่ ส่วน CS50 ทุกคน
ชื่อของฉันคือเจสัน Hirschhorn
ฉันมาก TFs คุณ แต่มาก หวังว่าผู้คนจะได้ร่วมงานกับเรา
ออนไลน์นักเรียนนามสกุลหรือนักเรียน พยายามที่จะมองผ่านส่วนถ้าพวกเขา
พลาดส่วนของพวกเขาที่สัปดาห์หรือ เพียงแค่จับขึ้นถ้าพวกเขาต้องการ
เพื่อทบทวนวัสดุบางอย่าง
>> เพื่อให้เป็นต่อหลักสูตรซึ่งทั้งหมด จากที่คุณได้อ่านถูกต้องหรือไม่
ฉันเห็นมากของการพยักหน้าหัว
ส่วนที่ให้คุณมีโอกาส ในการสำรวจของหลักสูตร
วัสดุในสภาพแวดล้อมที่ใกล้ชิดมากขึ้น, เช่นเดียวกับการดำน้ำใน
มือเกี่ยวกับกิจกรรม
>> ดังนั้นโดยทั่วไปสิ่งที่เรา จะต้องทำทุกสัปดาห์
เรากำลังจะผ่านไปสิ่งที่เรามี มุ่งมั่นจะเป็นที่สำคัญที่สุด
หัวข้อที่ครอบคลุมในการบรรยายและคน อาจจะมีประโยชน์มากที่สุดและ
ส่วนใหญ่มีแนวโน้มที่จะเกิดขึ้นเมื่อชุดปัญหา และในการทดสอบและการเข้ารหัสของคุณ
ชีวิตนอก CS50
ดังนั้นเรากำลังจะเดินเข้าไปในหัวข้อเหล่านั้น, หารือเกี่ยวกับพวกเขาไปกว่าพวกเขา
ตอบคำถามใด ๆ พวกคุณมีและ แล้วเรากำลังจะทำจำนวนมาก
ปัญหาการปฏิบัติในการเข้ารหัส
>> ทุกท่านนำแล็ปท็อป, ซึ่งเป็นที่ยอดเยี่ยม
ซึ่งเป็นระดับสาขาวิชาวิทยาการคอมพิวเตอร์
แต่มากของการออกกำลังกายที่เราทำ, คุณจะไม่ต้องแล็ปท็อปของคุณสำหรับ
คุณสามารถทำอะไรพวกเขาบนแผ่นกระดาษ
นั่นเป็นวิธีที่คุณกำลังจะ ทำพวกเขาในแบบทดสอบ
และแน่นอนว่าเป็นวิธีที่ดีในการ จริงๆรู้ว่าวิธีการทำ
บางสิ่งบางอย่างถ้าคุณไม่ได้ตรวจสอบ 50 พึ่งพาหรือรู้จักที่จะพึ่งพาบอก
คุณทำข้อผิดพลาดใด ๆ
>> ดังนั้นคุณสามารถโค้ดบน เครื่องใช้หรือ run.cs50.net ซึ่งเป็น
เครื่องมือที่ช่วยให้คุณสามารถรหัสอื่น ออนไลน์ แต่ฉันก็จะแนะนำถ้า
คุณไม่ได้พยายามมันใช้แผ่น ทำจากกระดาษและพยายามปฏิบัติเหล่านี้
ปัญหาบนแผ่นกระดาษ
เพราะอีกครั้งว่าในที่สุด สิ่งที่คุณกำลังจะได้รับ
ขอให้ทำแบบทดสอบเมื่อ
>> ดังนั้นขอเริ่มต้นด้วยของเรา วาระการประชุมในวันนี้
เรากำลังจะไปกว่าบรรทัดฐานบางอย่างสำหรับ ส่วนของเราแล้วเราจะไปดำน้ำ
อาร์เรย์เป็นฟังก์ชันและบรรทัดคำสั่ง ข้อโต้แย้งซึ่งเป็นสิ่งที่พวกคุณ
ได้ครอบคลุมนี้สัปดาห์ที่ผ่านมาในการบรรยาย และจากนั้นในวันจันทร์ที่และสิ่งที่คุณจะครอบคลุม
ขึ้นในวันพรุ่งนี้
และแล้วในที่สุดเราจะ พูดคุยเกี่ยวกับ pset2
ถ้าฉันจะได้รับการแสดงจากมือถ้าคุณ ไม่ได้มองที่ปัญหาชุดสอง
สเปค
เราจะบอกทุกคน
น่าอัศจรรย์
>> เราจะพูดคุยเกี่ยวกับชุดปัญหาในบิต, แต่ถ้าคุณอ่านชุดปัญหา
ข้อกำหนดที่ว่า ทั้งหมดที่คุณต้องทำ
ถ้าคุณอ่านว่าก่อนที่จะมาถึง ส่วนการเรียนและในวันอังคารที่คุณจะ
จะเป็นตำแหน่งที่ดี
เราสามารถไปถึงชุดปัญหาที่เกิดขึ้น ซึ่งเป็นสิ่งที่เรากำลังจะ
ที่จะทำในตอนท้าย
เรากำลังจะผ่านไป ตรรกะให้แน่ใจว่า
ทุกคนในหน้าเดียวกัน
>> ฉันต้องการให้คุณมีความสามารถที่จะออกอังคาร ความรู้สึกสะดวกสบายมากกับสิ่งที่คุณ
ต้องทำสำหรับชุดปัญหาในสัปดาห์นี้, และถ้าคุณไม่ได้ฉันจะมีความสุข
หลังจากที่อยู่และทำงานร่วมกับคุณ
แต่นั่นเป็นสิ่งหนึ่งที่คุณต้อง ทำ แต่ฉันคิดว่าจะเป็นสมาร์ทจริงๆ
เพียงแค่การอ่านชุดปัญหา สเปคโดยชั้นในวันอังคารที่
ซึ่งดูเหมือน จำนวนมากของคนที่คุณคิดว่า
>> ฉันจะเริ่มต้นกับวาระการประชุมแต่ละชั้นเรียน เพื่อให้คุณทราบว่าเรากำลังจะ
นี้ยังเป็นประโยชน์สำหรับคนดู ออนไลน์เพราะแต่ละส่วน
เป็นรหัสสีดังนั้นหากคุณต้องการที่จะมา กลับมาและเพียงแค่เฝ้าดู 10 นาทีค่อนข้าง
กว่าส่วน 90 นาทีทั้งหมดคุณ ก็สามารถไปที่ส่วนรหัสสี
และดูที่ส่วนที่
ดังนั้นผมจึงพยายามที่จะทำลายพวกเขาออกเป็นดี โมดูลที่จะช่วยให้คุณ -
ถ้าคุณต้องการที่จะกลับมาและทบทวน, หรือนักเรียนคนอื่น ๆ ที่มีเพียงแค่
ดูส่วนเพื่อทบทวน -
เพื่อหาสิ่งที่เฉพาะเจาะจงพวกเขา ต้องการให้ความสนใจกับ
และเรียนรู้เพิ่มเติมเกี่ยวกับ
หวาน
>> บรรทัดฐาน
ฉันเป็นผู้นำ FOP ในมหาวิทยาลัย
ผมไม่ทราบว่าถ้าใครไม่ FOP
ไม่ใครทำ FOP?
คนที่ไม่ FOP
คนสองคนที่ไม่ FOP
น่ากลัว
ดังนั้น FOP เป็นปีแรกกลางแจ้ง ปฐมนิเทศ
เราจะมีนักศึกษาเข้าไปในป่าและทำให้ ประสบการณ์ที่มีมนต์ขลังมากที่สุดของ
ชีวิตของพวกเขาถูกต้องหรือไม่
ใช่
เสียงเกี่ยวกับสิทธิ
>> ดังนั้นผมจึงอยากที่จะเริ่มต้นมากครั้งแรกของเรา ส่วนการอภิปรายตามบรรทัดฐานบาง
สำหรับการเรียนและความสัมพันธ์ของเรา เพราะผมคิดว่า
พวกเขากำลังมีความสำคัญมาก
แรกและสำคัญที่สุดในขณะที่บรรดาผู้ที่ มีส่วนของฉันได้รับและ
ได้รับการกล่าวถึงในที่ อีเมลฉันรักนี้
นี้เป็นส่วนหนึ่งที่ชื่นชอบของปี
ฉันได้รับตื่นเต้นมาก
ฉันได้รับที่นี่สำหรับชั่วโมงในวันนี้
ฉันยังไม่ได้ออกจากตึกนี้นอกจากจะ ไปกินเพราะฉันรัก CS50 ส่วนผม
รักการเรียนการสอนฉันรักการทำงาน กับพวกคุณ
>> หนึ่งในความสำคัญสูงสุดของฉันหากไม่ได้รับของฉัน จำนวนหนึ่งมีความสำคัญไม่เพียง แต่สำหรับ
ชั้น แต่รวมอื่น ๆ ของฉันนี้ ชั้นเรียนและแสตนคือการ
สนับสนุนพวกคุณและช่วยให้พวกคุณและ ทำของฉันดีที่สุดเพื่อให้แน่ใจว่าคุณ
ผู้ชายมียอดเยี่ยม, สนุก, การผลิต, มีส่วนร่วมที่น่าตื่นเต้น
พบในชั้นนี้
นั่นคือสิ่งที่ผมมุ่งมั่นที่จะ
นั่นเป็นเหตุผลที่ฉันรักที่จะทำเช่นนี้
ที่เป็นหมายเลขหนึ่งของฉันสิ่ง สนับสนุนพวกคุณ
หากคุณมีคำถามใด ๆ เกี่ยวกับการบรรยาย ชุดปัญหาส่วน
ชีวิตแม้ว่าคุณต้องการที่จะพูดคุยเกี่ยวกับ ชีวิตโปรดอย่าลังเลที่จะเอื้อมมือออกไป
>> คุณมีหมายเลขโทรศัพท์ของฉันเซลล์ คุณมีอีเมลของฉัน
ที่อยู่คุณมี GChat ของฉัน
คุณสามารถติดต่อเราได้ที่ใดหรือทั้งหมดของ เมื่อใดก็ตามที่เหล่านั้น แต่อาจจะไม่ได้รับ
เมื่อใดก็ตามที่การตอบสนอง
ผมลองและได้รับกลับภายใน 24 ชั่วโมง
บ่อยครั้งที่มันจะได้รับภายใน 20 นาทีหรือ 24 นาที
ฉันควรได้กล่าวว่า ที่จะให้มันขนาน
แต่คุณจะได้รับการตอบสนอง สวยได้อย่างรวดเร็ว
>> หากคุณ Text Me ชั่วโมงก่อน ชุดปัญหาเนื่องจากผมจะสงบคุณ
ลงและทำแบบฝึกหัดการหายใจลึก กับคุณ แต่ถ้าคุณไม่ได้เริ่มต้น,
คุณอาจจะไม่เสร็จสิ้นและ ฉันไม่สามารถจริงๆช่วยให้คุณออกมี
ถึงแม้ว่าผมจะพยายามทำให้ดีที่สุดครับ
ดังนั้นฉันจะทำทุกอย่าง ผมจะสามารถสนับสนุนคุณ
กรุณาอย่าลังเลที่จะเอื้อมมือออกไปไม่ว่าจะเป็น มันอยู่ในส่วนอีกครั้งที่เวลาทำการ
ถ้าคุณเห็นฉันหรือแม้ภายนอก
ฉันมีความสุขในการตั้งค่าเวลาที่จะตอบสนองความ การทำงานและผ่านปัญหา
มีหรือไปกว่าวัสดุ
เพื่อให้หมายเลขหนึ่งสนับสนุน
ฉันจะทำทุกอย่างที่ฉัน จะสามารถสนับสนุนคุณ
>> สองจำนวนการประชุมในช่วงกลาง
เท่าที่ฉันอยากจะเป็นผม ไม่ได้มีอำนาจหรือมีอำนาจหรือ
รอบรู้ดังนั้นฉันไม่ทราบทั้งหมด เวลาผ่านไปถ้าสิ่งที่ฉันทำคือการ
ข้ามถ้าวิธีที่ผมสอน หัวข้อจะช่วยให้คุณเรียนรู้มันหรือถ้าคุณ
กำลังสับสนเกี่ยวกับหัวข้อ แต่ทำไม่ได้ ยกมือของคุณหรือถามฉัน
หรือส่งอีเมล์
หรือแม้กระทั่งถ้าคุณอีกครั้งจะสับสน เกี่ยวกับสิ่งที่ตั้งอยู่บนปัญหา
หากคุณไม่ได้เอื้อมมือออกไปฉัน ฉันไม่สามารถรู้ว่าเพื่อตรวจสอบว่า
ฉันจะทำของฉันดีที่สุดในการตรวจสอบใน พวกคุณให้แน่ใจว่าทุกอย่างเป็น
จะดีพยายามที่จะสอนสิ่งในทาง ที่จะเอื้อต่อการส่วนใหญ่ของ
รูปแบบการเรียนรู้ของคุณ แต่ถ้ามี อะไรที่ฉันสามารถทำแจ้งให้เราทราบ
>> ตามเส้นที่ถ้าคุณต้องการความช่วยเหลือบางส่วน กับชุดที่มีปัญหาผมมากขึ้น
มากกว่ายินดีที่จะช่วยให้คุณ กับชุดที่มีปัญหา
เรากำลังจะทำมาก ที่มีต่อที่สอง
ครึ่งหนึ่งของส่วนนี้
แต่ถ้าคุณยังไม่ได้อ่านกับชุดปัญหา กลับมาและไม่ได้ดูเดิน
ผ่านและไม่ได้ดูกางเกงขาสั้น และคาดหวังว่าฉันจะสอนคุณ
ทุกอย่างที่ได้รับการวีดิโอ ออนไลน์หรือว่าคุณสามารถหาที่ CS50
การศึกษาที่ไม่จริงยุติธรรม ฉันหรือเพื่อนร่วมงานอื่น ๆ ของคุณ
>> ดังนั้นโปรดฉันมากกว่ายินดีที่จะช่วย คุณ แต่พวกคุณจะได้พบกับผมใน
กลาง
เรามีตันของทรัพยากรสำหรับ คุณสามารถใช้ได้บน CS50
ที่ผมกล่าวถึงบางส่วนของพวกเขา
โปรดใช้ประโยชน์จากพวกเขา
หากคุณกำลังสับสนผมมีความสุขมากกว่า เพื่อช่วยให้คุณอธิบายไว้ใน
อีกวิธีหนึ่ง แต่มันไม่ยุติธรรมถ้า นักเรียนแสดงขึ้นในเวลาที่สำนักงาน
ยังไม่ได้เริ่มอะไรและมัน คืนวันพฤหัสบดีและพวกเขากำลังคาดหวังว่า
TF จะเดินพวกเขาผ่านทุกเดียว สิ่งที่สำหรับปัญหาที่กำหนดไว้เนื่องจาก
ในตอนเที่ยงของวันถัดไป
ทำให้รู้สึก?
อีกครั้งโปรดตอบสนองเราอยู่ตรงกลาง
>> และในที่สุดก็มีความคาดหวังสูง
ฉันจะเป็นคนจัดลำดับว่าใคร ในส่วนของฉันหรือการให้คะแนนของคุณ
ชุดปัญหา
คุณยังไม่ได้หายไปกลับปัญหา ตั้งศูนย์หรือหนึ่งยัง
เราขออภัยเกี่ยวกับที่
มันพาเราไปจนชั่วขณะหนึ่ง ชำระส่วนและในขณะนี้
เราสามารถเริ่มต้นการจัดลำดับ
>> ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้
เหล่านี้คือบางส่วนของฉัน advisees ออกมี
ฉันจะได้รับพวกเขากลับมาให้คุณ เร็วที่สุดเท่าที่เป็นไปได้
และสำหรับชุดสองปัญหาเราก็จะอยู่บน กำหนดและเราจะเริ่มต้นพวกเขาได้รับ
ให้คุณสวยได้อย่างรวดเร็วหลังจากที่ คุณเปิดพวกเขาเข้า
>> เมื่อคุณได้รับปัญหาของคุณได้ตั้งกลับมาคุณจะ จะได้รับคะแนนเท่าที่ทราบจาก
หลักสูตรการอ่าน - ความถูกต้อง, คะแนนการออกแบบขอบเขตและรูปแบบ
นอกจากนี้คุณยังจะได้รับความคิดเห็น
ความเห็นที่มีความสำคัญมากขึ้น กว่าคะแนน
ฉันคิดว่ามันปลอดภัยที่จะกล่าวว่า
>> คะแนนเป็นเพียงตัวเลข 1-5
มันยากที่จะอ่านในบรรดา
มันยากที่จะดีขึ้นจากนั้น
แต่ความเห็นจะชี้เฉพาะเจาะจง สิ่งที่คุณได้เป็นอย่างดีหรือพื้นที่
คุณสามารถปรับปรุงและให้บาง ความคิดสำหรับอนาคตหรือทางเลือก
วิธีการในการทำสิ่งที่
>> ดังนั้นโปรดกรุณาโปรดอ่าน ผ่านความเห็น
ฉันใส่มากเวลาลง ความเห็นเหล่านั้น
กรุณาอ่านผ่านพวกเขาและไม่เพียง เลื่อนลงไปด้านล่างของ
รูปแบบไฟล์ PDF, มองหาคะแนนของคุณหรือไปออนไลน์ และหาคะแนนของคุณและจากนั้นไม่สนใจ
ความเห็น
นั่นไม่ใช่วิธีการที่คุณกำลัง จะได้รับดีกว่า
ที่ไม่ว่าคุณจะเพิ่มขึ้น คะแนนของคุณที่สุดเพียง
โดยดูที่คะแนน
กรุณามองไปที่ความเห็นเหล่านั้น
>> และเดินไปตามเส้นของความคาดหวังสูง, อีกครั้งเหมือนที่ผมกล่าวว่าคุณ
สามารถทำคะแนนจากหนึ่งถึงห้า
twos, สามและสี่เป็น ส่วนใหญ่ของคะแนน
คุณกำลังจะได้รับ
คนที่ห้าและมีทั้งที่หายากจริงๆ
มีเสมอสิ่งที่ ที่เราสามารถทำได้ดีกว่า
เมื่อใดก็ตามที่ผมรหัสโปรแกรมมี บางสิ่งบางอย่างที่ผมเสมอ
จะได้ทำดีกว่า
>> ดังนั้นแทนที่จะบอกว่าคุณจะได้รับห้า ตลอดเวลาในทุกสิ่งและทำ
ทุกอย่างที่สมบูรณ์แบบฉันไม่คิดใด ๆ ของเราจริงๆเชื่อว่าเรา - หรือ
หวังว่าเราจะไม่ทำทุกอย่าง ที่สมบูรณ์แบบตลอดเวลา
ดังนั้นไม่ต้องกังวลถ้าคุณ ไม่ได้ห้า
ห้าไม่ map บนสี่ ไม่ map ไปยัง B, สามไม่
แผนที่ไม่ได้ลง C. ที่ไม่ คะแนนวิธีทำงาน
>> เช่นเดียวกับดาวิดได้กล่าวว่าหลายครั้งที่ สิ้นสุดภาคการศึกษาทั้งหมดของคะแนนของคุณและ
ข้อมูลจากฉัน TF ของคุณมารวมกัน และกำหนดเกรดขั้นสุดท้ายสำหรับคุณ
แต่อีกครั้งก็ไม่ห้า สี่, B, ฯลฯ
ดังนั้นฉันจะมีความคาดหวังสูง สำหรับคุณผู้ชาย
ฉันจะคาดหวังว่าปัญหาที่ดี ชุดและฉันจะให้
ข้อเสนอแนะดังกล่าว
และมันจะไม่ได้หมายความว่าคุณไม่ จะได้รับเกรดที่เลวร้ายยิ่ง
คุณมีคะแนนในแง่ของ ความคืบหน้าของคุณจากสัปดาห์
ศูนย์ไปยังจุดสิ้นสุดของหลักสูตร
>> และในที่สุดก็ในแง่ของความสูง ความคาดหวังในชั้นเรียนของฉันรักเมื่อ
คนมีส่วนร่วม
ผมเข้าใจว่าบางคนรู้สึกมากขึ้นหรือ สบายน้อยที่เข้าร่วมโครงการ
คนอื่น ๆ ที่เข้าร่วมโครงการ โดยไม่ยกมือของพวกเขาและ
พูดคุยตลอดเวลา
แต่เราในชั้นนี้จะไปได้ ทำมากจากปัญหาเล็ก ๆ จำนวนมาก
คำถามที่มินิมาบ้างแล้ว ขนาดใหญ่ coding ปัญหา
ดังนั้นแน่นอนทำงานการออกกำลังกายเหล่านี้ออก เมื่อเราทำพวกเขาในคอมพิวเตอร์ของคุณหรือบน
แผ่นกระดาษ
>> แต่ฉันยังจะทำให้คุณมีเวลาก่อนที่ ใครเคยมีคำตอบบางอย่าง
ของคำถามที่ผมถาม
เพราะฉันจะให้เวลาในการ คิดเกี่ยวกับมันเพราะเรากำลังจะไป
ที่จะทำในสิ่งที่พันธมิตรบางครั้ง ฉันจะคาดหวังว่าทุกคน
เพื่อมีส่วนร่วมบ้าง
และสำหรับการขาดคำดีขึ้นมี อาจจะโทรเย็นซึ่ง
เป็นที่ที่ทุกคนจะมีโอกาส ที่จะคิดเกี่ยวกับคำตอบแล้ว
ผมจะโทรห​​าคุณแล้ว คุณจะบอกคำตอบ
>> ไม่ต้องกังวลหรือต้องกลัวเกี่ยวกับเรื่องนั้น
ผมเคยทำไว้ในอดีตที่ผ่านมาและเราได้พบ ว่ามันประสบความสำเร็จมาก,
ยังอ่านงานวิจัยทางการศึกษาที่ภาพเพื่อ กำหนดหรือไม่มันเป็น
กลยุทธ์ที่ดี
มันจะมีประโยชน์มากโดยเฉพาะอย่างยิ่งถ้าคุณ ให้นักเรียนเวลาที่จะคิดเกี่ยวกับ
คำตอบและไม่ได้ทำให้พวกเขาเพียงแค่มา ออกมาและบอกว่ามันขวาปิดค้างคาว
แต่ถ้าคุณไม่รู้สึกสะดวกสบาย ตอบรับฉันยังสวยดีที่
รู้สึกว่าออกและเราไม่ได้ไป ทำให้คุณอยู่ในจุดที่โดยเฉพาะอย่างยิ่งเมื่อ
กล้องแม้ว่าจะไม่มี คุณอยู่ในกล้องได้ในขณะนี้
>> ดังนั้นผู้ที่มีบรรทัดฐานที่ฉันมี
สิ่งหนึ่งที่ขึ้นตามเส้น ของการประชุมในช่วงกลาง
ฉันจะให้พวกคุณ มากความคิดเห็น
กรุณาให้ข้อเสนอแนะเช่นกัน
มีเว็บไซต์เป็นของ sayat.me/cs50
ดังนั้นจึงเป็นความคิดเห็นอย่างจริงใจ
ถ้าคุณต้องการที่จะให้มันในระหว่างส่วน ผมได้รับอีเมลเมื่อใดก็ตามที่มันเกิดขึ้น
เราจะใช้เวลาพักในบิตดังนั้นฉันจะ มองผ่านข้อเสนอแนะแล้ว
หากคุณเคยมีข้อเสนอแนะใด ๆ โปรดให้ไปให้ฉันไปที่นั่น
>> ถ้าคุณให้ฉันความคิดเห็นเมื่อถามว่า ที่ยอดเยี่ยม แต่ที่คู่มือ
ที่คุณทำในตอนท้าย
แต่ที่จะเป็นที่สิ้นสุดภาคการศึกษาดังนั้น ผมจะไม่สามารถที่จะใช้ใด ๆ ที่
ข้อเสนอแนะและทำให้มันกลายเป็นการเรียนการสอน พวกคุณดีกว่า
ดังนั้นโปรดถ้าคุณมีใด ๆ ข้อเสนอแนะให้กับผม
ฉันรักข้อเสนอแนะ
กลับไปที่ FOP เราได้รับข้อเสนอแนะ ตลอดเวลา
>> คุณสามารถให้ฉัน pluses, สิ่งที่ดี, สันดอนสิ่งที่ฉันสามารถปรับปรุง
คุณสามารถแสดงความคิดเห็นในชุดของฉัน
ไม่ว่าจะเป็นประโยชน์เป็น แต่คุณ ยินดีต้อนรับสู่การแสดงความคิดเห็นใด ๆ และ
ทุกอย่าง
กรุณาโปรดให้ฉันข้อเสนอแนะ
ผมเห็นคุณค่าของมันมากและมัน ความหมายอย่างมากกับผม
>> หนึ่งบรรทัดฐานเพิ่มเติมความสนุกสนาน
เรากำลังจะมีจำนวนมากสนุก
หวังว่าในหลักสูตรนี้คุณจะ มีจำนวนมากสนุก
เราจะมีขนมที่ส่วน
เราจะมีเพลง
เราจะหวังว่าการทำความรู้จักกับหนึ่ง อีกค่อนข้างดีดังนั้นฉันต้องการ
นี้จะมีความสนุกสนานประสบการณ์การมีส่วนร่วม
>> ฉันรู้ว่าบางท่านได้ผล็อยหลับไปใน การบรรยายที่คุณมีวันนี้ก่อนหน้านี้
เพื่อหวังว่าจะไม่ เป็นกรณีที่ในขณะนี้
และหากเป็นกรณีที่ตอนนี้เพียงแค่ ไม่กรนเพราะนั่นอาจจะ
ถูกจับในกล้อง
หวาน
คำถามใด ๆ ความเห็นหรือข้อสงสัย ก่อนที่ผมจะย้ายไปเกี่ยวกับอะไรเราได้
พูดคุยเกี่ยวกับ?
ยิ่งใหญ่
>> ดังนั้นเรากำลังจะไป เป็นอาร์เรย์แรก
นี่คือวิธีที่คุณทำอาร์เรย์
ที่เราเคยเห็นแบบนี้มาก่อน
คุณมีชนิดของข้อมูลที่คุณมี ชื่อและแล้วคุณมีขนาด
ขวาที่นี่ฉันสร้างอาร์เรย์ที่สอง
คนแรกคืออาร์เรย์ของตัวอักษร, และมีช่องว่าง 26
คนที่สองเป็น array ของ คะแนนและมันมีสาม
ช่องว่างสำหรับสามจำนวนเต็ม
ใช่?
>> นักศึกษาทุกคนของสไลด์เหล่านี้ สถานที่บางแห่งสำหรับเรา?
>> เจสัน Hirschhorn: คำถามที่ดี
คำถามคือทั้งหมดที่มี เหล่านี้เลื่อนวางจำหน่ายเมื่อใด
ใช่
ทั้งหมดของสไลด์เหล่านี้จะไม่สามารถใช้ได้ และในอนาคตผมจะส่งอีเมลไปยัง
คุณก่อนส่วน
แต่วันนี้เพราะนี้เป็นครั้งแรก สัปดาห์นี้เรามีเริ่มต้นสาย
ดังนั้นมักจะคุณจะได้รับสไลด์เหล่านี้ แต่ พวกเขาจะออนไลน์และ
ผมจะส่งอีเมลให้คุณ ขวาหลังเลิกเรียน
คำถามใด ๆ อื่น ๆ
>> ดังนั้นอีกครั้งอาร์เรย์เป็นกล่องสำหรับการขาด คำที่ดีกว่าที่ถือหลาย
องค์ประกอบของชนิดข้อมูลหนึ่งและพวกเขากำลัง ต่อไปกับอีกคนหนึ่งในความทรงจำ
และอื่น ๆ อีกครั้งนี้คือวิธีที่คุณสามารถ ทำให้ทั้งสองประเภทของอาร์เรย์
>> ดังนั้นหลังจากที่คุณได้ทำอาร์เรย์ของคุณด้วย ที่บรรทัดแรก - คะแนน int, ตัวยึด
สามวงเล็บปิด - คุณ ต้องการเริ่มต้นมัน
คุณต้องการที่จะนำบางค่าในการมี
และนี่คือวิธีการที่คุณใส่ค่าบางอย่างใน มีเพียงการเลือก indice และ
การเขียนจำนวน
ลองวาดบนกระดานนี้
ทุกคนสามารถมองเห็น
ทุกคนสามารถมองเห็นได้
หวาน
>> เพื่อที่จะเป็นของฉัน อาร์เรย์เรียกคะแนน
ที่คุณสามารถเห็นมันเป็นสามขนาด
มีสามในกล่องมี
แต่ละคนสามารถใส่อะไร ประเภทของข้อมูล?
>> นักเรียน: จำนวนเต็ม
>> เจสัน Hirschhorn: จำนวนเต็ม ในเรื่องนี้อย่างใดอย่างหนึ่ง
เราเขียนคะแนน int และคำแรก เป็นชนิดข้อมูลที่จะไป
ไปอยู่ในกล่องในอาร์เรย์ที่
ดังนั้นผมจึงสามารถใส่สาม
ฉันจะมีศูนย์ทำไมขึ้น มีบนบอร์ดหรือไม่
ทำไมมันบอกว่าศูนย์คะแนนเท่ากับ 1?
เตือนฉันของชื่อของคุณ
>> นักเรียน: เคิร์ต
>> เจสัน Hirschhorn: เคิร์ต
>> ลูกศิษย์: ใช่
>> เจสัน Hirschhorn: ทำไม?
>> นักเรียน: เนื่องจากดัชนีแรกคือ ศูนย์เราเริ่มนับที่ศูนย์
>> เจสัน Hirschhorn: ดังนั้นเราจึงเริ่มต้น การนับที่ศูนย์
ที่ตรงขวา
นี้เป็นส่วนที่ทำให้เกิดความสับสนและการเดินทางจะ คุณขึ้นโดยเฉพาะอย่างยิ่งเมื่อคุณอยู่
พยายามที่จะย้ำผ่านอาร์เรย์ ซึ่งเราจะทำในบิต
เราเริ่มนับที่ศูนย์
ดังนั้นถ้าฉันต้องการดูเป็นครั้งแรก กล่องมันไม่ใช่กล่องหนึ่ง
แต่น่าเสียดายที่มันเป็นศูนย์กล่อง
คนที่สองเป็นหนึ่งกล่องและในการนี​​้ กรณีหนึ่งในสามเป็นสองกล่อง
>> สิ่งที่เกี่ยวกับสามกล่อง?
ที่สามกล่องคืออะไร?
หรือถ้าเราต้องการที่จะทำคะแนนวงเล็บ, สามวงเล็บปิดสิ่งที่?
ดังนั้นคุณ null อักขระกล่าวว่า
ๆ คิดอื่น ๆ
อะไรคือสิ่งที่ยึดสามคะแนนวงเล็บ?
>> ลูกศิษย์: ไม่จริงไม่อยู่เพราะ คุณกำหนดไว้เป็นเพียงคะแนน
สามวงเล็บ
>> เจสัน Hirschhorn: ดังนั้นคุณจะพูดว่า มันไม่จริงที่มีอยู่
ในบางกรณีเมื่อเราจัดการกับ สตริงทั่วไปเราจะใส่โมฆะ
ตัวละครในตอนท้าย
เราจะไปว่าในที่สอง
แต่ในกรณีนี้มี ไม่มีกล่องที่สามอยู่ที่นี่
ดังนั้นกล่องสุดท้ายในอาร์เรย์ใด ๆ คือขนาดลบ 1
ดังนั้นถ้าเรามีอาร์เรย์ของ n ขนาด, กล่องแรกอยู่ที่ศูนย์สุดท้ายคือ
ที่ n ลบ 1
และในกรณีนี้มันไม่ได้อยู่
มีบางอย่างที่นี่ในคือ หน่วยความจำ แต่ไม่เรา
เราไม่ได้เป็นเจ้าของมัน
เราไม่ได้ขอมัน
ดังนั้นถ้าเราพยายามที่จะเข้าถึงมันซึ่งเราจะ ทำในบิตเราอาจจะ
แพ้ภัยตัว
>> ในกรณีนี้ผมเริ่มต้นของฉัน อาร์เรย์ที่มีสามตัวแปร
เรากำลังวางหนึ่งในกล่องศูนย์สอง ในกล่องหนึ่งและสามในสองกล่อง
ไม่มีใครมีข้อสงสัยใด ๆ เกี่ยวกับการเริ่มต้นอาร์เรย์?
>> ดังนั้นเราจึงไปกว่านี้ได้ในตอนนี้
คะแนนวงเล็บสามวงเล็บปิด ที่ไม่มีอยู่
เรากำลังจัดทำดัชนีศูนย์ในด้านวิทยาศาสตร์คอมพิวเตอร์, ดังนั้นเราจึงเริ่มนับที่ศูนย์
กล่องล่าสุดที่มีให้เราก็คือ กล่องที่สาม แต่ก็เรียกว่ากล่อง
หมายเลขสอง
>> ลงด้านล่างนี้เป็นอีกทางเลือก วิธีการเริ่มต้นของอาร์เรย์
ดังนั้นแทนที่จะสร้างอาร์เรย์หนึ่ง สายการบรรจุกล่องแรกแล้ว
กล่องที่สองแล้วกล่องที่สาม คุณสามารถทำทุกอย่างไว้ในหนึ่งบรรทัด
ดังนั้นในบรรทัดที่อาร์เรย์ทั้งสอง
นี้จะสร้างอาร์เรย์ที่แน่นอนเช่นเดียวกับ สิ่งที่เราสร้างขึ้นมาทางด้านขวาที่นี่ แต่
เพียงแค่ไม่ได้ในหนึ่งบรรทัด
>> ตอนนี้เราได้สร้างอาเรย์ของเรา
โดยปกติเมื่อคุณสร้างอาร์เรย์คุณ ต้องการที่จะทำอะไรกับมันไม่ว่าจะเป็น
ที่เติมเต็มหรือได้รับสิ่งที่ออกมาจากมัน และพิมพ์ออกมาบนหน้าจอ
ในกรณีนี้เรากำลังจะผ่านของเรา แถวคะแนนซึ่งเราเริ่มต้นได้
บรรทัดแรกขึ้นที่นี่ในสีเทา
และจากนั้นในบรรทัดที่สองเราเริ่มต้น iterating ผ่านแถว
ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โครงสร้างของสำหรับวง?
>> ดังนั้นนี่คือการห่วง
เรามีสภาวะเริ่มต้นของเราแล้ว สภาพสุดท้ายของเราแล้วเรา
ย้ำ, i, แต่ละวง
และในวงเล็บปีกกาในนี้ ห่วงจะเกิดอะไรขึ้นถ้าฉันได้เพื่อให้ทำงานได้
โปรแกรมนี้
ใครสามารถบอกได้ว่าสิ่งที่เราจะได้รับ?
[? ? Matu ?]
>> Matu: พิมพ์คะแนนทั้งหมด ในแต่ละบรรทัด
มันจะพิมพ์ความคิดเห็นของแต่ละคน บนบรรทัดที่แยกต่างหาก
>> เจสัน Hirschhorn ว่าอะไร มันจะพิมพ์?
>> ลูกศิษย์: มันจะพิมพ์หนึ่ง แล้วสองสามแล้ว
>> เจสัน Hirschhorn: ว่า
มันจะพิมพ์หนึ่งแล้วสองแล้ว สามแต่ละเส้นที่แยกจากกันเพราะ
ที่เรากำลังจะผ่านแถวและคุณจะ ดูที่สองที่, printf
คะแนนคำสั่งผม
ดังนั้นในรอบแรกผ่านของเรา ห่วงผมเท่ากับศูนย์ซึ่งหมายความว่าเรากำลัง
ได้รับค่าที่ศูนย์คะแนน -
ซึ่งถ้าเรากลับไปที่ แผนภาพของเราเป็นหนึ่ง -
และกรอกข้อมูลใน -
โอ้มันคพูดว่า
ที่ควรจะเป็น% d
ฉันจะแก้ไขปัญหาที่อยู่ในบิตเมื่อ มือผมที่ออกมาให้พวกคุณ
แต่เรากำลังนำเสนอจำนวนเต็มจึง ควรจะเป็น% d ที่นี่ไม่ได้% C
% c สำหรับคืออะไร?
>> นักเรียน: ตัวอักษร
>> เจสัน Hirschhorn: ตัวอักษรตรง
คนอื่น ๆ คืออะไร?
หากคุณไม่ต้องการที่จะทำ d% สำหรับ จำนวนเต็มอะไรที่คุณจะทำอย่างไร
>> ลูกศิษย์: ผม
>> เจสัน Hirschhorn: i% ตรง
ดังนั้นคำถามใด ๆ เกี่ยวกับ iterating ผ่านแถว?
จึงเกิดขึ้นถ้าเราทำเช่นนี้คืออะไร?
แทนการทำ i น้อยกว่า สามฉันจะเราจะน้อย
กว่าหรือเท่ากับสาม
ที่เกิดขึ้นเมื่อเราเรียกใช้รหัสนี้คืออะไร?
ใช่? แอนนี่
>> นักเรียน: พวกเขากำลังจะพิมพ์ออกมา สิ่งที่แปลกในบรรทัดที่สี่
>> เจสัน Hirschhorn: คุณกล่าวว่าเป็นมัน จะพิมพ์ออกสิ่งที่แปลก
บรรทัดที่สี่?
ไม่มีใครมีคำตอบ คำถามของเธอ?
ดังนั้นราคาถูกว่าเมื่อ เราได้รับ -
ดังนั้นเมื่อรอบที่สี่ผ่านของเรา ห่วงเช่นเดียวกับที่คุณคิดว่าแอนนี่
มันจะเป็นคะแนนวงเล็บสามซึ่ง เราได้คิดแล้วออกไม่ได้
อยู่และเราจะพยายาม และการเข้าถึงที่พิมพ์
ออกใช้วิธีการบางอย่าง
ดังนั้นเครื่องคอมพิวเตอร์อาจจะ ได้รับบ้าที่เรา
คุณขวาตรง
>> มันอาจจะออกจากโปรแกรมทั้งหมด
มันอาจจะพิมพ์ออกมาบางสิ่งบางอย่าง แปลกจริงๆ
คุณไม่สามารถพูดได้อย่างแน่นอน
ราคาต่อรองเป็นมันอาจจะได้รับบ้าที่ คุณและเพิ่งลาออกทันที
>> แต่เรื่องนี้เป็นข้อผิดพลาดทั่วไปที่คุณจะมี ที่คุณกันเพียงปิดโดยหนึ่งที่
ท้ายที่สุดและปัญหานี้เป็นปัญหาที่จะ เกิดภัยพิบัติคุณตลอดการเข้ารหัสของคุณ
วิธีการหนึ่งที่ผมชอบที่จะทำคือเพียง ไวท์บอร์ดไปผ่านแต่ละซ้ำ
ของวงในมือหรือบนกระดาษที่จะเห็น สิ่งที่เกิดขึ้นและจากนั้นคุณ
โดยทั่วไปตระหนักถึงโอ้รอผมไม่ควร ได้ไปน้อยกว่าหรือ
เท่ากับสาม
ฉันควรจะหยุดที่สองซึ่งเป็น จะเกิดอะไรขึ้นถ้าเงื่อนไขของคุณน้อยสิ่ง
กว่าสาม
คำถามใด ๆ เพื่อให้ห่างไกล?
หวาน
>> เพื่อให้คุณทุกคนมีเครื่องคอมพิวเตอร์ของคุณเปิด
เราจะให้คุณได้ 2-3 นาทีในการเขียนโปรแกรมว่า
สร้าง array ที่มีจำนวนเต็มหนึ่ง ผ่านห้าแล้วพิมพ์ออกแต่ละ
จำนวนเต็มในบรรทัดใหม่
และถ้าคุณมีคำถามใด ๆ ยกมือของคุณ
ฉันมีความสุขที่จะมาด้วย
เช่นฉันกล่าวว่าขอใช้เวลาสาม นาทีในการเขียนนี้
คือทุกคนตกลงถ้าฉันไป หน้าต่างใหม่และปิดนี้
>> ฉันขอโทษถ้าคุณไม่ได้มีโอกาส ที่จะเสร็จสิ้น แต่เรากำลังจะทำมัน
ร่วมกันได้ในขณะนี้
ดังนั้นขึ้นบนหน้าจอผมได้ # include cs50.h, # include stdio.h
ใครสักคนที่สามารถบอกฉันว่า ทั้งสองเส้นทำอะไร?
ไมเคิล
>> นักศึกษาพวกเขารวมถึงห้องสมุด ที่ CS50 ทำและที่มีสตีฟ
บันทึกไว้สำหรับคุณที่จะใช้ในการ ทำให้ชีวิตของคุณง่ายขึ้น
>> เจสัน Hirschhorn: คุณกล่าวว่าพวกเขา รวมถึงห้องสมุดหนึ่งที่ CS50
cs50.h ทำและคนที่เป็น มาตรฐานเพียงมาพร้อมกับ
แพคเกจ C, stdio.h
คุณหมายถึงอะไรรวมถึง ห้องสมุด แต่?
คุณสามารถเป็นบิตเฉพาะเจาะจงมากขึ้น?
>> ลูกศิษย์: มันทำให้เพื่อให้คุณสามารถ ใช้คำรหัสบางอย่างที่จะมี
ทำงานเกิดขึ้นได้โดยไม่ต้องไป และให้คฟังก์ชั่นด้วยตัวเอง
>> เจสัน Hirschhorn: คุณสามารถ ให้ฉันตัวอย่าง?
>> นักเรียน: เช่นเดียวกับ printf เป็นหนึ่งคุณสามารถใช้
>> เจสัน Hirschhorn: Printf
ดังนั้นคุณกล่าวว่า printf เป็นหนึ่งในบรรดา ฟังก์ชั่นที่แทนที่จะต้อง
เขียน printf ด้วยตัวคุณเอง printf คือ รวมจริงใน stdio.h เพื่อให้คุณ
ก็สามารถใช้งานได้และถือว่า ว่ามันจะทำงาน
ใน stdio.h ถ้าคุณเปิดแฟ้มที่, มันจะรวมถึงวิธี printf
ผลงานทั้งหมดของรหัสสำหรับ printf?
คุณกำลังสั่นหัวของคุณทำไม?
>> นักเรียน: เพราะไฟล์ส่วนหัวเพียง รวมถึงการประกาศฟังก์ชัน
>> เจสัน Hirschhorn: ตรงขวา
ไฟล์ส่วนหัวเพียงรวมถึง การประกาศฟังก์ชัน
ดังนั้นโดยทั่วไปเมื่อคุณคอมไพล์นี้ ตีให้จำนวนครั้งที่เราจะทำใน
สองคอมไพเลอร์รู้ว่าถ้า คุณใช้ printf, printf อยู่
มันจะถูกกำหนดไว้ที่ใดที่หนึ่ง
มันไม่ได้เป็นปัญหาสำหรับคุณใช้มัน
แล้วต่อมามันจะรวมถึง คนและศูนย์ที่จริงมี
การดำเนินการตาม printf และ ตัดพวกเขาด้วยรหัสของคุณ
คุณจะทำอย่างไรให้แน่ใจว่าจะรวมถึง คนและศูนย์สำหรับการพูดการรับสาย?
>> นักเรียน: รับสตริงใน cs50.h.
>> เจสัน Hirschhorn ขวา:
ดังนั้นที่บอกว่ารับสายที่มีอยู่ การประกาศฟังก์ชัน
แต่แล้วคนและศูนย์, ไบนารี ไฟล์ที่จริงรวมถึง
การดำเนินงานของสตริงได้รับ?
คุณจะแน่ใจได้อย่างไรว่า ไปกับโปรแกรมของคุณ?
>> นักศึกษาผ่านลิงเกอร์ใน อาร์กิวเมนต์บรรทัดคำสั่ง
>> เจสัน Hirschhorn: ผ่านลิงเกอร์ ในอาร์กิวเมนต์บรรทัดคำสั่ง
คุณจะทำอย่างไรที่?
>> นักเรียน: มัน l บรรทัดในเสียงดังกราว
>> เจสัน Hirschhorn: ตรงขวา
คุณบอกว่า l-CS50 ใช่มั้ย?
ซึ่งรวมถึงคนและศูนย์
>> นักเรียน: แต่ทำไม่ ที่สำหรับคุณใช่มั้ย?
>> เจสัน Hirschhorn: ว่า
ทำให้ไม่ว่าสำหรับคุณ แต่ในท้ายที่สุด คุณจะไม่ได้รู้จักหรือ
คุณจะต้องให้รู้จัก ด้วยตัวคุณเองเพื่อที่ว่า
สิ่งที่ดีที่จะจำ
ถ้าคุณกำลังจะใช้หนึ่งในเหล่านี้ ห้องสมุดอื่น ๆ คุณไม่เพียง แต่มี
การเขียน # include และ แล้วห้องสมุด
นอกจากนี้คุณยังจำเป็นต้องเชื่อมโยงมันเข้า
และทั้งสองสิ่งที่แตกต่างกัน l-CS50 ที่แตกต่างกัน
กว่า # include cs50.h.
>> แล้วเรามี int ฟันหลักโมฆะหยิก และตอนนี้เรากำลังจะได้รหัส
หลักภายใน
สายแรกที่ผมมีอยู่นี่เป็นความเห็นนะ บอกว่าสร้างอาร์เรย์
กับ ints หนึ่งห้า
คำที่ดีที่จะอธิบายสิ่งที่ฉันคืออะไร มีสิทธิที่ตอนนี้บนหน้าจอเพียง
ความเห็นหลักภายใน?
อะไรที่เราเรียกว่า?
>> นักเรียน: Pseudocode
>> เจสัน Hirschhorn: Pseudocode
ขอบคุณเจฟฟรีย์
ที่อยู่ตรงขวา
pseudocode
พวกคุณได้เห็น pseudocode มาก่อนหรือไม่
ยกมือของคุณหากคุณเคยใช้ pseudocode ก่อนที่ปัญหาตั้งหนึ่ง
ประมาณครึ่งหนึ่งของคุณ
>> ฉันอยากจะแนะนำให้ใช้ pseudocode จะทำลายลงเป็นปัญหา
ขนาดเล็กง่ายต่อการกัดออกชิ้น
นอกจากนี้ถ้าคุณทำ pseudocode คุณ มีความคิดเห็นของคุณแล้วส่วนใหญ่
สร้างขึ้นในดังนั้นคุณจึงไม่ต้อง กลับไปและพยายามที่จะคิดออก
สิ่งที่คุณทำ
ดังนั้นใครบางคนที่สามารถให้ฉันนี้บรรทัดแรก เพื่อสร้างอาร์เรย์ที่มี ints หนึ่ง
ผ่านห้า?
คุณ?
>> นักเรียน: Int และจากนั้นคุณสามารถเรียก สิ่งที่จำนวนแล้วตาราง
ห้าวงเล็บ
>> เจสัน Hirschhorn: หมายเลข int ดังนั้น วงเล็บเหลี่ยมห้า
>> นักศึกษาเท่ากับและ วงเล็บปีกกาแล้ว
>> เจสัน Hirschhorn: เท่ากับ, วงเล็บปีกกา
>> นักเรียน: หนึ่งสองสามสี่
>> เจสัน Hirschhorn: หนึ่ง, สอง, สามสี่ห้า
>> นักเรียน: และจากนั้นวงเล็บปีกกา แล้วอัฒภาค
>> เจสัน Hirschhorn: และหยิก จัดฟันและอัฒภาค
ยอดเยี่ยม
พิมพ์ int ในบรรทัดใหม่แต่ละ
คนอื่นสามารถให้ ฉันรหัสที่โปรด?
[? ? Matu ?]
เอาเลย
>> นักเรียน: สำหรับ (
>> เจสัน Hirschhorn: สำหรับ (
>> นักเรียน: int i = 0
>> เจสัน Hirschhorn: int i = 0
>> นักเรียน: อัฒภาคผมน้อยกว่าห้า
>> เจสัน Hirschhorn: อัฒภาค, ผมน้อยกว่า 5
>> นักเรียน: อัฒภาค, i + +
>> เจสัน Hirschhorn: อัฒภาค, i + +
>> นักศึกษาวงเล็บปิด แล้วรั้งเปิด
>> เจสัน Hirschhorn: วงเล็บปิด และอีกสองคนจัดฟัน
ภายในวงเล็บ?
>> นักเรียน: และแล้ว printf "% d / n"
>> เจสัน Hirschhorn: ขออภัยไว้
printf "% d / n, อ้างปิด
>> นักเรียน: และจากนั้นอ้างปิด จุลภาคนับวงเล็บผม
>> เจสัน Hirschhorn: ลูกน้ำ, นับวงเล็บผม
>> นักเรียน: ขออภัยวงเล็บตัวเลขผม
>> เจสัน Hirschhorn: ตัวเลขในวงเล็บผม
>> นักเรียน: ขออภัย
และปิดแล้ววงเล็บ อัฒภาค
>> เจสัน Hirschhorn: ปิด วงเล็บอัฒภาค
ฉันจะบันทึกว่า
เรากำลังจะทำนับ
และวิธีการที่ผมทำงานนับ?
>> นักเรียน: เครื่องหมายทับขวา
>> นักเรียน: Dot ทับ -
>> เจสัน Hirschhorn:. / นับว่า
ขอบคุณ . นับ /
หนึ่งสองสามสี่ ห้าสายใหม่
ดูเหมือนว่ามันทำงาน
ใช่? โนอาห์
>> นักศึกษานอกจากนี้คุณยังสามารถทำอะไรได้น้อยกว่าหรือ เท่ากับสี่เช่น i น้อยกว่า
หรือเท่ากับสี่?
มีความได้เปรียบในการทำน้อย ๆ กว่าห้าหรือเพียงแค่เป็นวิธีที่แตกต่างกันของ
การเขียนหรือไม่
>> เจสัน Hirschhorn: ดังนั้นคำถามคือคุณ จะได้ทำ i น้อยกว่าหรือ
เท่ากับสี่แทน i น้อยกว่าห้า
จะมีการทำงานที่เหมือนกันหรือไม่
>> นักศึกษาควร
>> เจสัน Hirschhorn: ใช่
มันได้ทั้งหมดจะทำงานเดียวกัน
stylistically มันโดยทั่วไปน้อยกว่า, และคุณจะเห็นในที่สองเมื่อ
เราสตริงคุณสามารถใช้บางสิ่งบางอย่าง เรียกว่า strlen ซึ่งคุณเคยเห็น
ก่อนที่จะได้รับระยะเวลา ของสตริง
และคุณไม่สามารถทำน้อยกว่า หรือเท่ากับ strlen
คุณสามารถทำน้อยกว่าหรือ เท่ากับ strlen ลบหนึ่ง
ดังนั้นจึงเป็นเพียงแค่ดีกว่าไป ทำน้อยกว่า strlen
ใช่?
>> นักศึกษาและในความเป็นจริงแบบทดสอบให้ทำ เราจะต้องให้ความเห็นของเรา
รหัสด้วยหรือไม่
>> เจสัน Hirschhorn: คำถาม ได้ในแบบทดสอบให้ทำคุณ
จะต้องให้ความเห็น?
ดังนั้นเราจะพูดเพิ่มเติมเกี่ยวกับแบบทดสอบเมื่อ พวกเขามา แต่โดยทั่วไปดี
กฎของหัวแม่มือคือเมื่อใดก็ตามที่คุณ การเขียนโค้ดให้ความเห็น
ถ้าคุณได้รับรหัสที่ไม่ถูกต้อง แต่ แสดงความเห็นที่ถูกต้องคุณอาจได้รับบางส่วน
เครดิตทั้งจากฉันถ้าฉันได้รับการจัดลำดับ คุณอยู่กับชุดปัญหาหรือตอบคำถาม
ดังนั้นความเห็นอยู่เสมอ ที่ดีที่จะให้
หวาน
นับ
งานที่ยอดเยี่ยม
ย้าย Let 's
>> เงื่อนไข
เงื่อนไข
ที่เราเคยเห็นแบบนี้มาก่อนในการบรรยาย
นี้พัดใจของฉันเมื่อฉัน พบครั้งแรกนี้
มันอาจไม่ได้พัดของใคร ใจที่นี่ แต่ที่ตกลง
>> สตริงเป็นอาร์เรย์ของตัวอักษรและ พวกเขาจบลงด้วยการที่คุณกล่าวก่อนหน้านี้
null terminator ซึ่ง นี้ / 0 ตัวอักษร
ถ้าเรากำลังจะวาดสตริง คณะกรรมการที่เราจะวาดมันกว่าที่นี่
ดังนั้นวิธีที่ยาวสายนี้คืออะไร?
ขอโทษ
นานแค่ไหนที่สายนี้คืออะไร?
>> ลูกศิษย์: [ได้ยิน]
>> เจสัน Hirschhorn: สี่?
ทำไมมันจึงเป็นสี่?
>> นักเรียน: เพราะจุดที่ห้า คือสำหรับตัวโมฆะ
>> เจสัน Hirschhorn: ดังนั้นจุดที่ห้า คือสำหรับตัวโมฆะ
ดังนั้นถ้ามีการใช้ strlen เมื่อ นี้ก็จะให้ฉันสี่
ที่ถูกต้อง
และอาเรย์ แต่ถ้ามีการ เริ่มต้นแถวนี้กี่ช่องว่าง
ผมจะต้องขอ?
>> นักศึกษาห้า
>> เจสัน Hirschhorn: ห้า
ผมจะต้องขอห้า แต่ฉันสามารถ ใส่เพียงสี่ตัวอักษรในที่นี่
เพราะผมต้องการที่จะนำโมฆะว่า terminator ที่สิ้นสุด
ดังนั้นเรากำลังจะเขียนใน "ohai" และ ใส่ null terminator ในตอนท้าย
เราจะบอกว่านี้เป็นสตริง s เท่ากับนี้
ศูนย์ s วงเล็บคืออะไร?
s วงเล็บศูนย์แอนนี่?
>> นักเรียน: ทุม
>> เจสัน Hirschhorn: O ตรง s วงเล็บหนึ่ง?
s วงเล็บห้า?
>> ลูกศิษย์: ไม่อยู่
>> เจสัน Hirschhorn: ไม่อยู่
ตรงขวา
เย็น
คำถามใด ๆ เกี่ยวกับความเข้าใจ สตริงเป็นอาร์เรย์ของตัวอักษร?
OK แล้ว
โปรแกรมหนึ่งที่มากขึ้นสำหรับพวกคุณ
จงเขียนโปรแกรมที่ถามผู้ใช้ สำหรับสตริงแล้วพิมพ์ออกแต่ละ
ตัวอักษรในบรรทัดใหม่
ดังนั้นขอใช้เวลาสามนาทีในการเขียน โปรแกรมนี้และจากนั้นเราจะรหัสมัน
เป็นกลุ่ม
>> ขอโทษ
คุณไม่จำเป็นต้องดูนี้
>> นักเรียน: เลขที่
>> เจสัน Hirschhorn: ตกลง
ลองใช้เวลาหนึ่งนาทีมากขึ้นรหัสนี้ หรืออย่างน้อยการเริ่มต้นกับมัน
>> ดังนั้นคุณสามารถให้ทำงาน แต่ฉันจะ ที่จะเริ่มต้นที่จะผ่านมัน
ดังนั้นก่อนที่จะชอบฉันมีบนหน้าจอ # include cs50.h, # include stdio.h
เป็นโมฆะหลัก int
ภายในวงเล็บปีกกาหลักของฉันมี สองความคิดเห็น, pseudocode
หนึ่งคือการขอสตริงจากผู้ใช้
อย่างที่สองก็คือการพิมพ์ออกมาแต่ละ ตัวอักษรในบรรทัดใหม่
ดังนั้นแอนนา, คุณสามารถให้ฉันถาม สำหรับสตริงจากผู้ใช้หรือไม่
>> นักเรียน: Printf
>> เจสัน Hirschhorn: Printf?
>> ลูกศิษย์: ใช่
(
>> เจสัน Hirschhorn: (
>> ลูกศิษย์: "ให้ฉันสตริง
>> เจสัน Hirschhorn: "ให้ ฉัน Str - โอ๊ะ -
เชือก
>> นักศึกษา / n ") อัฒภาค
>> เจสัน Hirschhorn: End สตริง, วงเล็บปิดอัฒภาค
>> ลูกศิษย์: ใช่
แล้วบรรทัดถัดไปสตริง, s = รับสาย
>> เจสัน Hirschhorn: String s = รับสาย
>> ลูกศิษย์: ใช่
แล้ว ()
>> เจสัน Hirschhorn: ()
>> นักเรียน: อัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
น่าอัศจรรย์
ดังนั้นฉันจะรับสายและ ฉันจะบันทึกไว้ในอะไร
ตัวแปรอะไรที่เรียกว่า ที่คุณสร้างขึ้น?
>> นักเรียน: String s
>> เจสัน Hirschhorn: ตัวแปร ที่เรียกว่า s
มันเป็นชนิดสตริง
อย่างแน่นอน
สิ่งต่อไปที่เราต้องการที่จะเป็นพิมพ์ออกมา ตัวอักษรในบรรทัดใหม่แต่ละ
ใครสามารถให้ฉันรหัสที่?
[เงียบสงัด]
คุณสามารถให้มันกับผมหรือเปล่า
>> นักเรียน: Sure
>> เจสัน Hirschhorn: Let 's ทำมัน
และเสียใจ
ฉันไม่ชอบที่จะทำซ้ำสิ่งที่คุณพูด เพราะคุณจะได้รับมันขวา แต่ฉัน
จะต้องทำซ้ำมันเพื่อที่ว่าเมื่อพวกเขา คัดลอกนี้พวกเขาจะได้รับทุก
ข้อความออกไปทาน
ดังนั้นคุณก็สามารถเก็บการพูดคุย
แต่น่าเสียดายที่ฉันมี ที่จะบอกว่ามันกว่าคุณ
ฉันขอโทษ แต่ -
>> นักศึกษาที่ดี
สำหรับ int i = 0
>> เจสัน Hirschhorn: สำหรับ int i = 0
>> ลูกศิษย์: ผมน้อยกว่า -
>> เจสัน Hirschhorn: อัฒภาค
>> นักศึกษาก่อนหน้านี้เราสามารถนำ ตัวแปรเพื่อให้คุณได้รับความยาวชื่อ int?
>> Hirschhorn JASON: โอ้, คุณทำไม่ได้ ต้องการที่จะนำอัฒภาค?
ตกลง
ดังนั้นสิ่งที่คุณต้องการจะทำหลังจากที่ศูนย์หรือไม่
>> นักเรียน: ฉันต้องการที่จะได้รับ ความยาวสตริงของและ
ที่กำหนดให้กับตัวแปร?
>> เจสัน Hirschhorn: OK, ดังนั้นฉันจะทำ?
>> นักศึกษาดังนั้นที่คุณทำคือ int len​​gth =
>> เจสัน Hirschhorn: ความยาว Int =
>> นักเรียน: S-T-R-L-E-N
>> เจสัน Hirschhorn: S-T-R-L-E-N -
>> นักศึกษาของ S
วงเล็บ
>> เจสัน Hirschhorn: (s)
>> นักเรียน: และแล้วฉันคิดว่าคุณต้อง ใส่เครื่องหมายอัฒภาคระหว่างสอง ints
>> เจสัน Hirschhorn: อัฒภาค หลังจากที่ศูนย์หรือไม่
>> นักเรียน: ใช่
แล้วใส่เครื่องหมายอัฒภาคหลังจากนั้นและ คุณจะพูดว่าผมน้อยกว่าความยาว
ผมน้อยกว่าความยาวซึ่ง เป็นตัวแปร
>> นักเรียน: และจากนั้นอัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
>> นักเรียน: i + +
>> เจสัน Hirschhorn: i + +
มีห่วงสำหรับของเรา
ตกลงภายในสำหรับห่วง
>> นักเรียน: และแล้วทำ printf
>> เจสัน Hirschhorn: Printf
>> นักศึกษาวงเล็บ
>> เจสัน Hirschhorn: วงเล็บคำพูด
>> นักศึกษาวงเล็บคำพูด,% c / n
>> เจสัน Hirschhorn: c%, OK
>> นักเรียน: N /
>> เจสัน Hirschhorn: N /
>> นักเรียน: ราคาปิด
>> เจสัน Hirschhorn: ราคาปิด
>> นักศึกษาจุลภาค
>> เจสัน Hirschhorn: จุลภาค
>> นักเรียน: เอส
>> เจสัน Hirschhorn: เอส
>> นักศึกษายึดผม
>> เจสัน Hirschhorn: Bracket ผม
>> นักเรียน: และแล้ววงเล็บปิด
>> เจสัน Hirschhorn: วงเล็บปิด
>> นักเรียน: และจากนั้นอัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
น่าอัศจรรย์
ดังนั้นขอบันทึกนี้
ให้สะกด
โอ้เด็ก
ฉันมีคู่ของข้อผิดพลาด
ข้อผิดพลาดแรกในบรรทัดที่ 11 มันบอกว่า คาดว่าการแสดงออกและจะให้
ฉันข้อผิดพลาดที่สอง int มีข้อผิดพลาดอะไร
มีข้อผิดพลาดมีบางรอบ
ไม่มีใครรู้ว่าสิ่งที่เป็นข้อผิดพลาดที่?
? เคิร์ต
>> นักเรียน: ผมคิดว่ามันควรจะ จะมีเครื่องหมายจุลภาคและไม่อัฒภาค
>> เจสัน Hirschhorn: ตกลงจุลภาค แทนอัฒภาค
ดังนั้นนั่นคือทั้งหมดที่เราต้องแก้ไข?
>> นักเรียน: เลขที่
>> เจสัน Hirschhorn: อะไร เราจะต้องแก้ไข?
>> นักเรียนเรามีการรวมสตริง
>> เจสัน Hirschhorn: รวมทั้งสตริง
อะไรคือสิ่งที่ฉันจำเป็นต้องรวมถึงการที่
>> นักเรียน: สถานที่เดียวกันที่คุณกำลังรวมทั้ง สิ่งอื่น ๆ ที่เหมาะสม
หลังจากที่รวม stdio.h
>> เจสัน Hirschhorn: ลองดูว่านี้จะทำงาน เพราะเป็นครั้งแรกโดยทั่วไปผมชอบ
เพื่อแก้ไขสิ่งหนึ่งที่แรกและจากนั้นเรียกใช้ แล้วเห็นข้อผิดพลาดที่เราได้รับ
ดังนั้นเรากำลังจะล้างขั้ว กับการควบคุม n ให้คุณทำการสะกด
ดังนั้นข้อผิดพลาดในบรรทัดที่ 11 อีก
อัฒภาคคาดว่า
และฉันยังคงได้รับ ข้อผิดพลาดในบรรทัดนี้
ดังนั้นมันจึงไม่ได้ให้ฉันข้อผิดพลาดบอกว่ามัน ไม่เข้าใจสิ่งที่ strlen คือ
แต่มันจะให้ฉันข้อผิดพลาดนี้ เส้นดังนั้นสิ่งที่อื่นจะผิดหรือเปล่า?
ทำเครื่องหมาย?
มาร์คัส
>> นักเรียน: คุณต้องลบ ประกาศ int ที่สอง?
>> เจสัน Hirschhorn: Remove int ที่สอง
ลองนี้
ตอนนี้ล้างขั้ว
ให้สะกด
ความผิดพลาด
โดยปริยายประกาศห้องสมุด ฟังก์ชัน strlen
ดังนั้นตอนนี้เราจะเห็นข้อผิดพลาดที่
เราทำอะไรต้องมี?
>> นักเรียน: สตริง
>> เจสัน Hirschhorn: รวมทั้งสตริง, เราจะทำ # include สตริงที่ด้านบน
ของหน้าจอ
ขอบันทึกให้สะกด
รวบรวมตอนนี้
ดังนั้นอีกครั้งสิ่งที่เราจำเป็นต้อง จำสาย 12 ในวงสำหรับเราเมื่อ
เราตั้งขึ้น, int i = 0, = strlen ระยะเวลา (s)
>> นี้เป็นกลยุทธ์ที่ยอดเยี่ยม
สไตล์นี้เป็นที่ดี การออกแบบนี้เป็นที่ดี
เราสามารถไปลงในเหตุผลเหล่านั้นในภายหลัง, แต่วิธีการที่คุณจะต้องเรียกสิ่งนี้ว่า
strlen ครั้งเดียวแทนทุกเดียว เวลาที่คุณทำงานผ่านห่วง
แต่คุณจำเป็นต้องใช้เครื่องหมายจุลภาคมี และคุณไม่จำเป็นต้อง int อีกครั้ง
หากคุณกำลังประกาศทั้งสองเหล่านั้น ตัวแปรที่ร่วมกันคุณ
ไม่จำเป็นต้องใช้ int อีกครั้ง
แล้วถ้าคุณกำลังจะใช้ strlen, ซึ่งเป็นห้องสมุดอื่น
ฟังก์ชั่นไม่รวมอยู่ใน stdio.h หรือ cs50.h ให้
แน่ใจว่าคุณมีสตริง
? เคิร์ต
>> นักศึกษาดังนั้นแล้วถ้าคุณไม่จำเป็นต้อง พูดในสิ่งที่ชนิดของความยาวคือว่าไม่
หมายความว่ามันจะต้องมี int?
คุณไม่สามารถมีสองที่แตกต่างกัน ชนิดมี?
>> เจสัน Hirschhorn: เพื่อให้คุณสามารถ มีสองประเภทที่แตกต่างกัน
ความยาวเป็น int ที่นี่ แต่
ความยาวเป็น int เพราะจุลภาค และแล้วสิ่งเดียวกัน
>> นักศึกษาดังนั้นจึงสันนิษฐานว่ามันจะ จะเหมือนกันเป็นหนึ่งในครั้งแรกได้อย่างไร
>> เจสัน Hirschhorn: ว่า
เราจะไม่ทำเช่นนี้ในขณะนี้ แต่คุณ สามารถรวมสองตัวแปรเมื่อ
บรรทัดเดียวกันโดยใช้ชนิดข้อมูลหนึ่ง
x int ดังนั้น y จะสร้าง สองตัวแปร
ดังนั้น int x, y ถ้าเราทำที่จะช่วยให้ ฉันไม่ได้ใช้ตัวแปร x และ y เพราะ
เราจะไม่ใช้พวกเขา
ดังนั้นการวางเป็นโมฆะก่อนที่จะเป็นเพียง เคล็ดลับแฟนซีถ้าคุณไม่ได้ใช้
บางสิ่งบางอย่างที่จะใช้มัน
แต่เป็นคุณเห็นฉันสร้าง x และ y ในบรรทัดเดียวกันด้วยเครื่องหมายจุลภาค
มันสร้างจำนวนเต็มสองจำนวน มีสิทธิ
ดังนั้นใช่ทั้งหมดที่เป็นไปได้ในการสร้าง สองสิ่งในบรรทัดเดียวกัน
คั่นด้วยเครื่องหมายจุลภาค
Let 's กำจัดเหล่านั้นแม้ว่า
>> ดังนั้นจึงมีการสะกดคำว่า
ขอบคุณครับสำหรับการเข้ารหัสมันสำหรับเรา
ขอให้มันอีกครั้งหนึ่งรัน
ให้ฉันสตริง
[เงียบสงัด], คุณได้มากที่สุดของมัน
สตริงคืออะไร?
>> ลูกศิษย์: สวัสดี
>> เจสัน Hirschhorn: สวัสดี
H-E-L-L-O, ตัวอักษรบนแต่ละบรรทัด
ลักษณะที่ดี
ลองเรียกใช้อีกครั้ง
เสมอไปตรวจสอบ สำหรับกรณีมุม
มีอะไรกรณีที่มุมที่ดีที่จะตรวจสอบ?
>> นักศึกษาจำนวน?
>> เจสัน Hirschhorn: จำนวน
ดังนั้นฉันจะใส่ในข้อ 1 และมันพิมพ์ออก 1
มันไม่ได้ขอตัวอักษรดังนั้น ดูเหมือนว่าตัวเลขทำงาน
กรณีมุมที่ดีที่จะตรวจสอบ
อีกมุมที่ดีอะไร กรณีการตรวจสอบ?
>> นักเรียน: สตริงที่ว่างเปล่า
>> เจสัน Hirschhorn: อืมมม
>> นักเรียน: เช่นเดียวกับสตริงที่ว่างเปล่า
>> เจสัน Hirschhorn: สตริงที่ว่างเปล่า
ดังนั้นขอไม่ใส่อะไร
และสิ่งที่ได้รับการพิมพ์ออกมา?
>> นักเรียน: ไม่มีอะไร
>> เจสัน Hirschhorn: ไม่มีอะไร
ดูเหมือนว่ามันทำงาน
คุณสามารถลองกรณีมุมมากขึ้น แต่ ตัวเลขโดยทั่วไปข้อมูลที่แตกต่างกันคือ
ดีที่จะลองเป็นอย่างดีไม่มีอะไร
ไม่มีอะไรศูนย์เชิงลบอยู่เสมอ สิ่งที่ดีที่จะลองและสิ่งที่คุณ
ควรทดสอบสิ่งที่แน่นอนเราจะทดสอบ สำหรับการตรวจสอบและ 50 จะทดสอบสำหรับ
คำถามใด ๆ เกี่ยวกับ spell.c?
>> ตกลงให้หัวกลับ
ฉันมีโปรแกรมหนึ่ง สำหรับพวกคุณที่จะเขียน
มันเรียกว่า students.c
นี้เป็นโปรแกรมที่ขอให้ผู้ใช้สำหรับการ ห้าชื่อแล้วสุ่มเลือก
และพิมพ์ออกหนึ่งในชื่อ
โปรแกรมนี้เป็นนิด ๆ หน่อย ๆ กว่าที่เกี่ยวข้องกับสองคนสุดท้ายที่เราเขียน,
ดังนั้นทำไมเราไม่ใช้เวลาห้านาที รหัสมันเป็นรายบุคคลและจากนั้นเราจะ
รหัสมันเป็นกลุ่ม
>> โปรแกรมนี้ยังเกี่ยวข้องกับบางสิ่งบางอย่าง คุณอาจไม่ได้เห็นมาก่อนดังนั้นหาก
คุณมีคำถามเกี่ยวกับวิธีการทำ ผมทำอย่างนั้นยกมือของคุณ
ผมจะมาและชี้ให้คุณ ในทิศทางที่ถูกต้อง
แต่เรายังทำมันเพราะนี้ จะเป็นวิธีที่ดีที่จะแนะนำบาง
หัวข้อที่มีความยุ่งยาก
>> จึงทำงานใช่มั้ย?
>> นักเรียน: ใช่
>> เจสัน Hirschhorn: เมื่อใดก็ตามที่คุณเปิดใน ชุดปัญหายังมีหลายวิธีที่จะทำ
แต่บางคนมีมากขึ้น สง่างามกว่าคนอื่น ๆ
ให้เราดำน้ำค่ะ
# include cs50.h.
# include stdio.h
เป็นโมฆะหลัก int, วงเล็บปีกกา
ภายในวงเล็บปีกกา, ฉันมีสองความเห็น
หนึ่งคือขอให้ ผู้ใช้ห้าชื่อ
คนที่สองคือการสุ่มเลือก และพิมพ์ชื่อใดชื่อหนึ่ง
ดังนั้นขอทำคนแรกที่ถาม ผู้ใช้ห้าชื่อ
ที่ได้ถามผู้ใช้สำหรับห้าชื่อ และสามารถบอกได้ว่าจะทำอย่างไร?
คนสองคนเท่านั้นไม่ส่วนแรก
คนสามคนได้ส่วนแรก
สี่ห้า
ทอมอย่างไรคุณทำมันได้หรือ
>> ลูกศิษย์: คุณจะประกาศสตริง และแล้วชื่อวงเล็บห้า
>> เจสัน Hirschhorn: String วงเล็บชื่อห้า
ดังนั้นสายการทำเช่นนี้คือสิ่งที่, วงเล็บชื่อสตริงห้า?
>> ลูกศิษย์: คุณจะประกาศ อาร์เรย์ของสตริง
>> เจสัน Hirschhorn: นี่คือ อาร์เรย์ของสตริง
วิธีการหลายสายที่จะไป เพื่อให้พอดีกับที่นี่?
>> นักศึกษาห้า
>> เจสัน Hirschhorn: ห้า
ยอดเยี่ยม
เราจะเรียกมันว่าชื่อเพราะ เรากำลังจะได้รับหลายคน
ตกลงต่อไปหรือไม่
>> ลูกศิษย์: แล้วคุณ มีการวน -
>> เจสัน Hirschhorn: ห่วงสำหรับ
>> นักเรียน - สำหรับ i = 0
>> เจสัน Hirschhorn: for (int i = 0
>> นักเรียน: อัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
>> ลูกศิษย์: ผมน้อยกว่าห้า
>> เจสัน Hirschhorn: ผมน้อยกว่าห้า
>> นักเรียน: อัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
>> นักเรียน: i + +
>> เจสัน Hirschhorn: i + +
>> นักเรียน: และแล้ววงเล็บปิด
>> เจสัน Hirschhorn: วงเล็บปิด แล้วบางส่วนวงเล็บปีกกา
ภายในวงเล็บปีกกา?
>> นักเรียน: และจากนั้น printf
>> เจสัน Hirschhorn: Printf
>> นักศึกษาวงเล็บเปิดชื่อ% d
>> เจสัน Hirschhorn: ขอโทษ?
>> นักศึกษาชื่อ
>> เจสัน Hirschhorn: ชื่อ
>> นักเรียน: และจากนั้นพื้นที่และจากนั้น% d
>> เจสัน Hirschhorn: ชื่อ, พื้นที่,% d
>> นักเรียน: และแล้ว / n และจากนั้นปิด
>> เจสัน Hirschhorn: ชื่อดังนั้นพื้นที่ % d / n, วงเล็บปิด
>> นักเรียน: ลูกน้ำ, i + 1
ฉันขอโทษ
ปิดจุลภาคอ้างแล้ว, i ​​+1
>> เจสัน Hirschhorn: ปิด อ้างจุลภาค, i +1
>> ลูกศิษย์: ใช่
แล้วบรรทัดถัดไป -
>> เจสัน Hirschhorn: i + 1
>> ลูกศิษย์: ใช่
แล้วยังภาพนิ่งถัดไป วงเล็บชื่อเป็นผม
>> เจสัน Hirschhorn: บรรทัดถัดไป วงเล็บชื่อเป็นผม
>> นักเรียน = สตริงได้รับ
>> เจสัน Hirschhorn = รับ -
ทุน G-E-T -
เชือก
โอ๊ะขอโทษ
>> นักศึกษาเปิดวงเล็บปิด แล้ว -
>> เจสัน Hirschhorn: เปิดปิดวงเล็บ
>> นักเรียน: อัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
ตกลงเพื่อให้คุณเริ่มต้น array ของ สตริงชื่อและแล้วผ่าน
สำหรับวงและห้าครั้งที่พิมพ์ออกมาบางส่วน แจ้งให้กับผู้ใช้แล้วเก็บ
ห้าสตริง
ใครไม่ได้ใด ๆ การปรับเปลี่ยนนี้
ทอมผมคิดว่าทุกคน เห็นด้วยกับคุณ
ดูดีสวย
ตกลง
คุณไม่ทำผมทำไม 1 แต่?
>> ลูกศิษย์: ผมหมายถึงไม่ได้มี เป็น แต่ฉัน 1 ดังนั้นว่ามันเป็น
หนึ่งในชื่อที่จะตั้งชื่อห้า
มิฉะนั้นมันจะเป็นชื่อ เป็นศูนย์ที่จะตั้งชื่อสี่
>> เจสัน Hirschhorn: ดังนั้นคุณไม่ i +1 เพราะมิฉะนั้นมันจะมี
พิมพ์ออกมาเป็นศูนย์ผ่านสี่เพราะ ว่าเป็นวิธีที่คอมพิวเตอร์คิด แต่มนุษย์
ไม่ได้จริงๆอ่านเช่นเดียวกับที่
นั่นเป็นสิ่งอื่น คุณจะพบ
บางครั้งเมื่อคุณพิมพ์ออกมาบางสิ่งบางอย่าง ให้กับผู้ใช้คุณจะต้องการที่จะให้มัน
นิด ๆ หน่อย ๆ น่ารักและการทำ i +1 ในกรณีนี้คือ
วิธีที่จะทำให้มันสวย
>> ฉันยังดูห้าสองชื่อสตริง เป็นห้า i น้อยกว่าห้า
ฉันรู้ว่าคุณมีห้า
ที่คุณได้รับไปจากฉันบอก คุณห้าชื่อ
แต่ถ้าเราอยากจะให้รหัส นิด ๆ หน่อย ๆ ที่แข็งแกร่งมากขึ้นสิ่งหนึ่งที่เรา
จะทำคือออกจากที่นี่ด้านนอกของ int, เราสามารถทำอะไรเช่นนี้
# define และเราสามารถทำ NAMES 5
>> ดังนั้นโดยทั่วไปทุกที่ที่ผมเขียนเมืองหลวง N, ทุน, ทุน M เมืองหลวง E,
ทุน S, สตริงที่มันจะเข้ามาแทนที่ ว่าด้วยความที่ 5 ในรหัส
หรือให้เพียงเรียกมันว่า - เราจะ เพียงแค่เรียกมันว่าจำนวน
ดังนั้นฉันกำหนดตัวพิมพ์ใหญ่ทั้งหมด จำนวนเป็น 5
>> ดังนั้นตอนนี้เมื่อใดก็ตามที่ฉันมีจำนวน 5 ผม สามารถแทนที่ด้วยจำนวนหมวก
และตอนนี้ถ้าผมต้องการที่จะเปลี่ยนหมายเลข ของชื่อทั้งหมดที่ฉันต้องทำคือ
นี้หนึ่งบรรทัดสี่สายที่ฉันมี # กำหนดหมายเลข 5, เปลี่ยนที่ถึง 10
หรือเปลี่ยนที่ 4
เมื่อรหัสของคุณได้อีกต่อไปที่คุณไม่ได้ จะไปจำได้ทุกสถานที่ที่คุณ
ใส่กี่ชื่อที่คุณต้องการและใน เพื่อให้คุณไม่พลาดหนึ่งนี้เป็น
เป็นวิธีที่ดีที่จะทำเพื่อหาบางสิ่งบางอย่าง ขึ้นด้านบนแล้วเพียงแค่ใช้วลีที่
ทุกที่ทั่วรหัสของคุณ
? มาร์คัส
>> นักศึกษาที่เป็นที่ต้องการ stylistically ทั่วโลกกว่ากำหนด
n คงที่?
>> เจสัน Hirschhorn: ดังนั้นก็คือว่า ที่ต้องการ stylistically กว่าทั่วโลก
การกำหนดค่าคงที่ n?
ดังนั้นคุณกำลังจะบอกว่าคุณสามารถ ทำจำนวน int = 5?
>> นักศึกษาพวกเขามีพยัญชนะ ใน C หรือไม่?
>> เจสัน Hirschhorn: หรือ const - ในเท่ากัน
ดังนั้นคุณกำลังจะบอกว่าเพียงแค่ ตัวแปรทั่วโลกหรือไม่
>> นักเรียน: ใช่
>> เจสัน Hirschhorn: ดังนั้น stylistically, ไม่มีความจำเป็นหนึ่งที่เหมาะสม
ตอบ แต่ทั้งสองเหล่านี้จะดีกว่า มากกว่าเพียงแค่การขว้างปาสุ่มเหล่านี้
หมายเลขรหัสผ่านของคุณ
เราเรียกพวกเขาว่าหมายเลขมายากล
เมื่อฉันดูที่รหัสของคุณหรือเมื่อ ใครอ่านผ่านมันพวกเขา
ไม่ต้องการเหล่านี้เพียงแค่ตัวเลขสุ่ม ที่ไม่ได้ทำให้ความรู้สึก
แม้จำนวน 26 ซึ่งโดยทั่วไปคือ จำนวนของตัวอักษรในตัวอักษร,
ดีกว่าที่จะกำหนดตัวอักษรขึ้นด้านบน และบันทึกหมายเลข 26 ในสตริงที่,
หากที่ทำให้รู้สึก
>> หรือปัญหาการตั้งค่าหนึ่งมากกว่า - อีกครั้งเราไม่ได้พูดคุยเกี่ยวกับเรื่องนี้ที่
เวลา แต่แทนเพียงการขว้างปา ในทุก 25 หรือ 10 คุณสามารถ
บันทึกหมายเลข 25 ขณะที่ไตรมาสหรือ 10 เป็น ค่าเล็กน้อยและที่ทำให้มันง่ายขึ้นสำหรับ
ใครก็ตามที่ได้อ่านผ่านรห​​ัสของคุณ เข้าใจว่าทำไมคุณเลือกหมายเลขที่
และสำหรับคุณถ้าคุณเคยต้องการ ปรับปรุงรหัสของคุณมันทำให้บิต
ที่แข็งแกร่งมากขึ้น
อ้าง?
>> นักศึกษาเป็นรหัสนี้ยังจะ จะสามารถใช้ได้สำหรับเราหลังจากที่?
>> เจสัน Hirschhorn: ทั้งหมดของรหัสเหล่านี้ ที่เราได้เขียนอยู่ด้วยกันนั้น
จะถูกส่งไปยังคุณ ครับและสามารถใช้ได้
ใช่
ดังนั้นขอให้ผู้ใช้ห้าชื่อ
สุ่มเลือกและพิมพ์ หนึ่งในชื่อที่
ใครทำบรรทัดนี้?
นี้เป็นสายที่ยากที่นี่
ขออภัยทอม
คุณได้งานที่ดีมาก แต่ นี้เป็นบิต trickier
มาร์คัสไปข้างหน้า
>> นักเรียนกันครั้งแรกที่คุณจะ ต้องรวม stdlib.h และ time.h.
>> เจสัน Hirschhorn: คุณกำลังจะบอกว่าที่ ด้านบนมีสองห้องสมุดมากขึ้น
คุณต้องการให้ฉันไปรวมถึง S-T-D-L-I-B จุด H, ห้องสมุดมาตรฐานและสิ่งที่
เป็นอีกคนหนึ่ง?
>> นักเรียน: Time.h.
>> เจสัน Hirschhorn: # include time.h.
ดังนั้นเหล่านี้สองห้องสมุดมากขึ้น
ผมถือว่าตอนนี้เรากำลังจะใช้ ฟังก์ชั่นที่มีอยู่ในเหล่านี้
สองซึ่งเป็นเหตุผลที่คุณจำเป็นต้องใช้ ที่จะรวมพวกเขา?
>> นักศึกษาดังนั้นแล้วก่อนคุณ จะต้องการที่จะเขียน srand
>> เจสัน Hirschhorn: srand
>> ลูกศิษย์: (เวลา (0)
>> เจสัน Hirschhorn: ขออภัย
เวลา srand ((
>> นักเรียน: 0
>> เจสัน Hirschhorn: 0
>> นักเรียน:)) อัฒภาค
>> เจสัน Hirschhorn: อีกวงเล็บปิด?
อัฒภาค
ฉันจะเพียงแทนที่ ศูนย์ของคุณด้วยโมฆะ
มันจะทำอะไรเกี่ยวกับสิ่งเดียวกัน แต่ โดยทั่วไปคุณจะเห็นโมฆะซึ่ง
เราจะพูดเกี่ยวกับเรื่องนี้ ในบรรทัดที่สอง
>> นักเรียน: Stylistically ที่ดีกว่า
>> เจสัน Hirschhorn: โดยทั่วไปคน, สิ่งที่ถูกต้องเป็นโมฆะ แต่เดียวกัน
>> นักเรียน: และแล้วชื่อ int
>> เจสัน Hirschhorn: ชื่อ Int
>> นักเรียน =
>> เจสัน Hirschhorn =
>> นักเรียน: แรนด์
>> เจสัน Hirschhorn: แรนด์
>> ลูกศิษย์: ()
>> เจสัน Hirschhorn: ()
>> นักศึกษาจำนวน Modulo
>> เจสัน Hirschhorn: อะไรแบบโมดูโล?
ตัวอักษร?
ตัวอักษรที่ร้อยละ?
>> นักเรียน: ตัวร้อยละ
จำนวน Modulo ที่คุณกำหนดไว้ขึ้นด้านบน
>> เจสัน Hirschhorn: จำนวนผู้ Modulo
>> นักเรียน: และจากนั้นอัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
>> นักเรียน: และจากนั้นบรรทัดใหม่ printf
>> เจสัน Hirschhorn: Printf
>> ลูกศิษย์: (
>> เจสัน Hirschhorn: (
>> ลูกศิษย์: "
>> เจสัน Hirschhorn: "
>> นักเรียน:% s / n
>> เจสัน Hirschhorn:% s / n
>> ลูกศิษย์: "
>> เจสัน Hirschhorn:% s / n "
>> นักเรียน: ลูกน้ำชื่อพื้นที่
>> เจสัน Hirschhorn: อวกาศ -
>> นักเรียน: โอ้, ผมคิดว่าสิ่งที่ พวกเราเรียกมันว่าที่นี่?
>> เจสัน Hirschhorn: เราเรียกมันว่าชื่อ
>> นักเรียน: วงเล็บชื่อเปิด
>> เจสัน Hirschhorn: วงเล็บชื่อเปิด
>> นักศึกษาวงเล็บปิด
>> เจสัน Hirschhorn: ปิดวงเล็บ
>> นักศึกษา)
>> เจสัน Hirschhorn:)
>> นักเรียน: อัฒภาค
>> เจสัน Hirschhorn: อัฒภาค
ตกลงให้มีการบันทึก
ขอให้รหัสนี้
นักเรียน
ลองเรียกใช้รหัสนี้
นักเรียน
ไม่ส่งนักเรียน. / . นักเรียน /
หนึ่งชื่อ
เราจะบอกว่าเดวิด
สองชื่อ, RJ
สามชื่อร็อบ
สี่ชื่อลูคัส
ห้าชื่อโจเซฟ
แล้วก็พิมพ์ออกโจเซฟอีกครั้ง
>> เพื่อให้ฉันทำงานนี้อีกครั้ง
ให้ฉันทำชื่อเดียวกัน
เดวิดอาร์เจร็อบลูคัสโจเซฟ
และมันทำให้ผมเดวิดเวลานี้
ดังนั้นผมจึงได้ทำสิ่งที่เหมือนกัน แต่มันทำให้ ฉันเป็นสิ่งที่แตกต่างกันและที่ว่า
เพราะแน่นอนเรากำลังขอให้ สำหรับชื่อแบบสุ่ม
ดังนั้นผมจึงคิดว่าตามออกของฉันที่หลงทาง ไปรอบ ๆ ห้องที่คนส่วนใหญ่
อาจจะได้รับสิทธิในส่วนแรก การตั้งค่าอาร์เรย์ที่แล้วได้รับ
ชื่อทั้งหมด
ฉันพูดเกี่ยวกับสาย 10 ถึง 16
แต่สาย 18 ผ่าน 21 อาจจะ บางสิ่งที่คุณยังไม่ได้เห็นมาก่อน
เพื่อให้เป็นไปผ่านเหล่านั้น
>> บรรทัดนี้เป็นโมฆะเวลา srand เป็นหลัก -
ขออภัยขอข้ามลง เส้น, rand ()
ที่ช่วยให้คุณเป็นจำนวนสุ่ม จำนวนเต็มแบบสุ่ม
และถ้าคุณตี rand คนซึ่ง จำนวนมากของคุณได้ -
M--N พื้นที่ R--N-D -
ในขั้วเช่นนี้ M-N- พื้นที่ R--N-D กด Enter
คุณจะมาถึงคู่มือและ จะสามารถอ่านที่แรนด์
ออกคำสั่ง NUM ไบต์สุ่มหลอก หลังจากการเพาะจำนวนสุ่ม
เครื่องกำเนิดไฟฟ้าอีกครั้ง
>> เพื่อที่ว่าคำอธิบายของ
นั่นคือสิ่งที่แรนด์ไม่ให้ คุณเป็นจำนวนสุ่มเมื่อ
ที่คุณเรียกฟังก์ชันที่
แต่น่าเสียดายที่มันไม่สุ่มจริงๆ เพราะถ้าคุณจะเรียกแบบสุ่ม
โดยไม่ได้รับมันเมล็ดบาง จุดเริ่มต้นก็มักจะเลือก
เป็นหนึ่งเดียวกันและใช้สูตร เพื่อตรวจสอบต่อไปอย่างใดอย่างหนึ่ง
ดังนั้นถ้าคุณโทรแรนด์ก็จะเพียงแค่ ให้คุณได้ในสิ่งเดียวกัน
มันจะเป็นที่คาดการณ์มาก
อันที่จริงมันจะไม่เป็นแบบสุ่ม
>> ดังนั้นสิ่งที่เราต้องทำต่อของ Marcus คำแนะนำให้ฉันเป็น rand เมล็ด
กับสิ่งอื่นซึ่งเป็นสิ่งที่ ฟังก์ชั่น srand ไม่
มันเมล็ด rand กับสิ่งที่น้อยมาก สุ่มกว่าสิ่งเดียวกันและ
เขาเพาะมันด้วยโมฆะเวลาซึ่ง เป็นเพียงโดยการประชุมในปัจจุบัน
ในเวลาไม่กี่วินาที
>> ดังนั้นคุณกำลังสมมติว่าทุกคนไม่ได้ จะใช้รหัสที่แน่นอน
ที่สองเหมือนกันดังนั้นมันเป็นเดิมพันที่ปลอดภัย โมฆะเวลาเป็นไปได้ที่แตกต่างกัน
เวลารหัสนี้ทุกรัน
เดิมพันที่ปลอดภัยจึงจะ rand srand เมล็ด มีบางสิ่งบางอย่างที่แตกต่างกันทุกครั้ง
เวลาเดียว
ดังนั้นโดยการประชุมและเมื่อเราทำต้องการ จำนวนสุ่มเราเขียนบรรทัดนี้
โมฆะ srand เวลาเพื่อให้เรามากเท่าไหร่ เมล็ดสุ่มและจากนั้นเราจะดำเนินการ
แรนด์ซึ่งจะช่วยให้เราจำนวนสุ่ม
อ้าง?
>> ลูกศิษย์: คุณสามารถพูดในสิ่งที่ คุณหมายถึงโดยเมล็ด
>> เจสัน Hirschhorn: เมล็ดพันธุ์ไว้ใน -
ดังนั้นแรนด์จะเลือกบางหมายเลข และมันจะใช้บางส่วน
สูตรที่จะได้มี
ดังนั้นมันจะเริ่มต้นด้วยบางสิ่งบางอย่าง แล้วทำให้มันกลายเป็นบางสิ่งบางอย่างขึ้น
ออกจากสูตรที่
หากคุณเคยให้ในสิ่งเดียวกัน มันเสมอไปทำให้มันกลายเป็น
สิ่งเดียวกัน
ดังนั้นสิ่งแรกที่คุณ ให้มันเป็นเมล็ดพันธุ์
ดังนั้นคุณจึงต้องการที่จะให้มันบางสิ่งบางอย่าง ที่แตกต่างกันเริ่มต้นด้วยและดังนั้นจึง
จะทำให้มันกลายเป็นบางสิ่งบางอย่างที่แตกต่างกัน
>> และแล้วในที่สุด, 20 บรรทัด % นี้เรียกว่า
โมดูโลและที่เป็นความสับสน
นั่นคือสิ่งที่เป็นนิด ๆ หน่อย ๆ ที่แตกต่างกันที่นี่ที่คุณทำไม่ได้จริงๆ
มีคณิตศาสตร์ในชีวิตจริง
แต่เป็นหลักเมื่อคุณใช้เวลายักษ์ จำนวนและคุณแบ่งใน C อะไร
ที่เกิดขึ้นกับส่วนที่เหลือ?
>> นักศึกษาจะได้รับการตัดทอน
>> เจสัน Hirschhorn: จะได้รับการตัดทอน
ดังนั้น 20 หารด้วย 3 คืออะไร?
ว่าอะไรกลับไป คุณ, 20 หารด้วย 3
ขออภัย 10 หารด้วย 3
ว่าอะไรกลับไปยังคุณ
>> ลูกศิษย์: [ได้ยิน]
>> เจสัน Hirschhorn: 10 หารด้วย 3 เพียง ผลตอบแทนที่ 3 ไม่ 3 เหลือ 1
ดังนั้นสิ่งที่โมดูโล 10 3 ผลตอบแทน เป็นเพียงส่วนที่เหลือ 1
ดังนั้นถ้าคุณต้องการที่จะรู้ว่าสิ่งที่แบ่ง 10 โดย 3 เป็นจริงคุณจะ
ทำ 10 หารด้วย 3, คุณจะได้รับ 3 ของคุณ และแล้วคุณจะทำ 10 แบบโมดูโล 3 และ
คุณจะได้รับ 1
ดังนั้นคุณจะตระหนักดีว่าการแบ่ง 10 3 3, 1 ส่วนที่เหลือคือ
>> และในสายนี้อาจจะเป็นแรนด์ จำนวนเต็มใด ๆ เป็นหลัก
ดังนั้นแบบโมดูโลจะพูด, หารด้วย จำนวนที่อยู่ใน 5 กรณีนี้
และถ้าคุณเคยหารด้วยจำนวน, จำนวนเต็มเสมอจะต้องมีน้อยกว่า
หมายเลขที่
ดังนั้นหากคุณกำลังหารด้วยจำนวน 5, ส่วนที่เหลือจะเป็นไปได้เสมอ
ศูนย์ผ่านสี่
นั่นเป็นเพียงวิธีการทางคณิตศาสตร์ออกไปทำงาน
>> ดังนั้นจำนวนมาก moduloed โดยมีขนาดเล็กลง จำนวนมักจะกลับ
ส่วนที่เหลือและมักจะกลับบาง จำนวนที่น้อยกว่าจำนวนที่คุณ
โดยแบ่งออกเป็น
ไม่มีใครมีคำถามเกี่ยวกับเรื่อง โมดูโลเพราะมันจะมาในมาก
มีประโยชน์มากดังนั้นฉันต้องการให้แน่ใจว่า ทุกคนเข้าใจมันได้หรือ
เย็น
และเราเห็นว่าโปรแกรมนี้ทำงาน
ตกลงย้าย
>> ดังนั้นต่อไปเราจะไปเป็น ฟังก์ชั่นและเรากำลังจะไป
ผ่านส่วนที่เหลือของสิ่งนี้สวย ได้อย่างรวดเร็วเพราะฉันต้องการที่จะได้รับ
อาร์กิวเมนต์บรรทัดคำสั่ง
ดังนั้นฟังก์ชั่นเป็นหลัก, เท่าที่คุณเคยเห็นกล่องสีดำ
พวกเขาใช้เวลาในสิ่งที่เรียกว่าพารามิเตอร์, พวกเขาทำบางอย่างเพื่อพวกเขาทั้ง
เปลี่ยนพวกเขาหรือสร้างผลข้างเคียงบางอย่าง และในที่สุดพวกเขาถ่มน้ำลาย
ออกบางสิ่งบางอย่างซึ่งเป็น ค่าตอบแทน
ใครสามารถให้ฉันเหตุผลหนึ่งที่ เหตุผลที่เราจะใช้ฟังก์ชั่น?
ใคร?
เหตุผลหนึ่งที่เราต้องการใช้ฟังก์ชั่น?
ทุกคน?
ผมเห็นมือทั้งสองข้าง
เหตุผลที่ดีคืออะไร?
? มาร์คัส
>> นักเรียน: ถ้าคุณมีการโทรเดียวกัน ก้อนของรหัสหลายครั้ง
>> เจสัน Hirschhorn: ตกลงถ้าคุณต้องการ ที่จะเรียกก้อนเดียวกัน
หลายครั้งรหัส
เจฟฟ์, คุณมีเหตุผลที่แตกต่างกันอย่างไร
>> นักเรียน: เพียงเพื่อให้ คุณสามารถรหัสน้อย
>> เจสัน Hirschhorn: คุณสามารถรหัสน้อย
ขวา
หากคุณต้องการที่จะทำบางสิ่งบางอย่างมาก -
ในรหัสก่อนที่ผมจะได้มี เขียนรับสายห้าครั้ง แต่
สำหรับวงที่ทำให้มันดูดีและ คุณต้องเขียนโค้ดน้อยลง
ฟังก์ชั่นมีความคิดที่คล้ายกัน
ถ้าผมต้องการที่จะทำในสิ่งเดียวกันเป็นจำนวนมาก ย้ายไปยังฟังก์ชั่นและเรียกว่า
ทำงานในแต่ละครั้ง
ที่จะทำสิ่งที่สำหรับคุณ
นั่นเป็นเหตุผลที่ดี ที่จะใช้ฟังก์ชั่น
>> ดังนั้นลักษณะทางกายวิภาคของการทำงาน
ฟังก์ชั่นโดยทั่วไปจะ ลักษณะเช่นนี้
มันจะเริ่มต้นด้วยประเภทกลับ, แล้วคุณจะได้รับชื่อ
มันจะใช้ข้อโต้แย้งมิฉะนั้น ที่รู้จักกันเป็นพารามิเตอร์และภายใน
ที่วงเล็บปีกกาคุณจะ เขียนรหัสของคุณ
>> เราได้เห็นหนึ่งในฟังก์ชั่นจำนวนมาก
นั่นเป็นหลัก
นี่คือหลักที่ซ้อนทับลงบน กายวิภาคศาสตร์ที่ผมมีก่อนหน้านี้
int ที่นี่มีความหมายว่าอะไร?
int หมายความว่าอย่างไร
เมื่อฉันเขียนหลัก int (void)
>> นักเรียนประเภทย้อนกลับ?
>> เจสัน Hirschhorn: ขอโทษ?
>> นักเรียน: ชนิดกลับ
>> เจสัน Hirschhorn: Int คือ กลับชนิด, ตรงขวา
หลักส่งกลับ int
เป็นหลักอะไร?
>> นักเรียน: ชื่อฟังก์ชั่น
>> เจสัน Hirschhorn: หลักคือ ชื่อของฟังก์ชัน
ตรงขวา
และเป็นโมฆะ?
เป็นโมฆะในวงเล็บคืออะไร?
>> นักศึกษาไม่ใช้ ค่าใด ๆ ภายนอก
>> เจสัน Hirschhorn: void ดังนั้น -
ขวา
ในวงเล็บเราใส่ พารามิเตอร์หรืออาร์กิวเมนต์
ฟังก์ชั่นใช้เวลาสิ่งที่จะไป ภายในกล่องสีดำ
เมื่อคุณเขียนเป็นโมฆะคุณกำลังจะบอกว่า นี้จะไม่มีอะไรค่ะ
เป็นโมฆะหลัก int ดังนั้นหมายความว่าหลัก ไม่ได้รับอะไรค่ะ
>> ภายในวงเล็บปีกกาเรามีบาง รหัสและจากนั้นเราจะเห็นในตอนท้าย
กลับเป็นศูนย์
ผลตอบแทนเ​​ป็นศูนย์หมายความว่าอย่างไร
ดีเราได้พูดคุยเกี่ยวกับชนิดของผลตอบแทน
ความต้องการที่หน้าหลักกลับ int
นั่นคือสิ่งที่บรรทัดนี้ไม่
มันกลับ int, ศูนย์
>> แน่นอนเราไม่ได้เห็นว่ามาก เพราะในการเขียนโปรแกรมที่เราทำกับ
เครื่องที่เราทำและคอมไพเลอร์ ที่เราใช้ในปัจจุบันคุณ
ไม่จำเป็นต้องบรรทัดที่
หลักเป็นพิเศษพอที่จะรู้ว่า เมื่อคุณมาถึงจุดสิ้นสุดของหลักเพียง
กลับศูนย์ถ้าทุกอย่างเป็นไปด้วยดี
ในความเป็นจริงถ้าสิ่งที่ไม่เป็นไปด้วยดี, หลักมักจะกลับมาที่แตกต่างกัน
จำนวน signifying สิ่งที่ ผิดพลาดกับโปรแกรมของคุณ
>> ดังนั้นโดยทั่วไปเมื่อคุณเห็นรหัสคุณ ไม่ได้เขียนเป็นศูนย์กลับ แต่มันเป็นสิ่งที่ดี
ที่จะรู้ว่ามันเกิดขึ้นหลัง ฉากเพราะเมื่อใดก็ตามที่คุณเขียน
ของฟังก์ชั่นอื่น คุณจะต้อง
รวมถึงเส้นผลตอบแทน
หากคุณกำลังจะบอกว่าฉันกำลังจะไป กลับ int คุณจะต้อง
เขียนบางสิ่งบางอย่างกลับมา
ถ้าคุณบอกว่าเป็นโมฆะขึ้นที่นี่ที่ เริ่มต้นเป็นโมฆะเป็นโมฆะหลักสำหรับ
ตัวอย่างเช่นแล้วก็ไม่กลับ สิ่งใด - โมฆะหมายถึงอะไร -
ดังนั้นคุณจึงไม่จำเป็นต้องใช้เส้นอัตราผลตอบแทนที่
แต่คุณเคยเขียนบางสิ่งบางอย่างที่ไม่ เป็นโมฆะสำหรับประเภทผลตอบแทนที่คุณจะต้อง
บรรทัดที่ระบุว่าผลตอบแทนและคุณ ต้องการที่จะนำบางสิ่งบางอย่างที่มี
ที่ตรงกับประเภท
คำถามเกี่ยวกับเรื่องที่?
หวาน
>> ขอบเขต
นี่คือสิ่งที่เราได้ สัมผัสเช่นกัน
ตัวแปรทุกอย่างที่เรารู้ว่ามี ขอบเขตบางอย่างและที่เป็นพื้น
พูดคุยเกี่ยวกับการที่ตัวแปร อาจจะหรืออาจจะไม่ได้อ้างอิง
และผมชอบที่จะบอกว่าสิ่งที่เกิดขึ้น ในวงเล็บปีกกาอยู่
ภายในวงเล็บปีกกา
ดังนั้นสำหรับตัวอย่างเช่นถ้าเรามองไปที่รหัสนี้ เรากำหนดตัวแปรทั่วโลก
ด้านนอกของหลัก int, ที่นี่ที่ด้านบน
เรากำลังเรียกร้องอีก int หลักภายใน
เรามีวงเล็บปีกกาบางมากขึ้นและ เรากำลังเรียก int อีก
>> ขณะนี้มีสามในรหัส
เหล่านี้ไม่ได้ในสิ่งเดียวกัน
ฉันได้สร้างสามตัวแปรที่แตกต่างกัน
แล้วภายในเหล่านี้ภายในหยิก วงเล็บที่ผมพูด = 4
ซึ่งเป็นที่พูดคุยเกี่ยวกับ แรกหนึ่งอีกคนหนึ่ง
หรือหนึ่งในสาม?
>> นักศึกษาหนึ่งในสาม
>> เจสัน Hirschhorn: มันพูด เกี่ยวกับหนึ่งในสาม
ทั้งหมดของผู้ที่จริงสามารถ พูดคุยเกี่ยวกับในเรื่องนี้โดยเฉพาะ
เช่นเพราะขอบเขตของพวกเขาทั้งหมดไป ในวงเล็บปีกกาเหล่านี้ด้านในสุด
อย่างไรก็ตามเมื่อคุณเรียกสิ่งเดียวกัน ชื่อนี้มีสิ่งที่เรียกว่าซ่อนอะไร
ดังนั้นคุณจะจัดการกับหรือแก้ไขหรือใช้ ตัวแปรล่าสุดหรือหนึ่ง
ที่ใกล้ชิดกับคุณ
ดังนั้นภายในที่นี่เป็นหนึ่งในสามนี้จะใกล้เคียงที่สุด กับสายที่ 4 = ดังนั้นจึง
ส่งผลกระทบต่อหนึ่งในสาม
และบรรทัดสุดท้าย, = 2 ซึ่งเป็น ที่พูดคุยเกี่ยวกับครั้งแรกที่สอง,
หรือที่สาม?
>> นักศึกษาที่สอง
>> เจสัน Hirschhorn: มันพูด เกี่ยวกับที่สอง
แน่นอนที่สามใกล้เคียงกับ ในรหัส แต่ที่สาม
ไม่ได้อยู่ข้างนอก ที่วงเล็บปีกกา
เมื่อคุณได้รับที่ปิดหยิก รั้งมันก็เหมือนมันหายไป,
เป็นหลัก
ดังนั้นเพียงสองคนเท่านั้นที่เหลือเป็นผู้ที่ สองคนแรกและแน่นอนตอนนี้
มันใกล้เคียงกับครั้งที่สอง
>> เพื่อให้เป็นสิ่งที่ดีที่ จำเกี่ยวกับขอบเขต
ตัวอย่างเช่นฉันแน่ใจว่าคุณได้พบ นี้ในการทำในขณะที่ห่วง
หากคุณเริ่มต้นภายในตัวแปร ทำในขณะที่ห่วงและจากนั้นคุณพยายามที่จะ
เข้าถึงมันนอกคุณอาจ ได้เตือนเช่นนี้บาง
ตัวแปรไม่ได้อยู่
นั่นเป็นเพราะขอบเขตของความคิด, เพียง แต่สิ่งที่มีอยู่
ภายในวงเล็บปีกกาเหล่านั้น
วงเล็บปีกกาเป็นเช่นกอดยักษ์ที่ คุณให้รหัสของคุณเป็นอีกหนึ่ง
วิธีที่จะคิดเกี่ยวกับมัน
>> ดังนั้นนี่คือฟังก์ชั่นอื่นบางสิ่งบางอย่าง สำหรับพวกคุณไปยังรหัส hellofunction.c
เรากำลังจะข้ามว่าสำหรับตอนนี้ แต่ นี้เป็นสิ่งที่ผมแนะนำให้คุณ
การปฏิบัติด้วยตัวคุณเอง
เขียนโปรแกรมที่สายหลัก ฟังก์ชั่นที่พิมพ์ออกมาอีก
ทักทายให้กับผู้ใช้
มันเป็นหลักที่สละ hello โลก และวาจาที่เป็น printf
ฟังก์ชั่นอื่น
แต่เราไม่ได้ไปทำที่ตอนนี้ เพราะเราไม่ได้มีเวลามากที่สุดเท่าที่
ด้านซ้ายเป็นผมจะชอบ
>> การประกาศฟังก์ชันดังนั้น
เราได้เห็นนี้มาก่อนเช่นกัน
หากคุณต้องการที่จะเขียนฟังก์ชั่นอื่น คุณต้องการที่จะให้คอมพิวเตอร์รู้จักและ
หลักรู้ว่ามันมีอยู่แล้ว
ดังนั้นสิ่งที่เราทำอยู่เหนือหลักที่เราเขียน ประเภทกลับชื่อและ
พารามิเตอร์และจากนั้นลงมาด้านล่างหลัก ลงที่นี่เราจริงคัดลอกบรรทัดที่
แล้วเขียนรหัสจริง
ดังนั้นวิธีนี้ถ้าคุณเรียกใช้ฟังก์ชัน ในหลักที่ด้านบนหลักรู้ว่า
สวัสดีมีอยู่แล้วตัวอย่างเช่นถ้าฉันเป็น เพื่อโทรไปทักทายและจากนั้นมันก็ดูไป
การดำเนินงานลงมาด้านล่าง
จะเกิดอะไรขึ้นถ้าฉันไม่ได้รวมไปถึงนี้ เส้นขึ้นด้านบน, สวัสดีถือเป็นโมฆะ (void)
>> ถ้าฉันไม่ได้รวมถึงบรรทัดนี้ และบริการโทรหลักสวัสดีฉัน
จะได้รับข้อผิดพลาด
ฉันจะได้รับข้อผิดพลาดเพราะ คอมไพเลอร์จะไม่ทราบ
ว่าสิ่งนี้มีอยู่
นี้จะคล้ายกับเหตุผลที่เรา ทำ # include cs50.h.
อะไรเป็นหลัก cs50.h จะทำ มีการวางรับสายขึ้น
มันได้รับการวาง int ขึ้น
มันวางทั้งหมดของฟังก์ชันเหล่านั้น ต้นแบบก่อนที่จะขึ้นหลักเพื่อที่ว่าเมื่อ
คุณเรียกพวกเขาในหลักหลักรู้ ว่าสิ่งเหล่านี้มีอยู่
นั่นคือสิ่งที่คนเหล่านั้น. ไฟล์ชั่วโมงทำ
และดังนั้นถ้าคุณกำลังจะทำด้วยตัวเอง ฟังก์ชั่นที่คุณมีเพื่อให้แน่ใจว่า
คุณใส่ต้นแบบที่มีขึ้น
คำถามใด ๆ เกี่ยวกับเรื่องนี้ไกลดังนั้น?
>> อาร์กิวเมนต์บรรทัดคำสั่ง
นี่คือสิ่งที่เรากำลังจะเสร็จสิ้น เมื่อแล้วหวังว่าเราจะ
บีบใน pset บาง
ผมไม่ทราบว่าถ้าเราจะสามารถที่จะบีบ ว่าในเพราะเวลา แต่
กับพวกคุณที่อยู่ที่นี่และถ้าคุณ ผมอยากจะบอกว่าหลังจากที่สำหรับบิตเรา
สามารถไปกว่ามันนอก
แต่เรากำลังจะจบด้วย อาร์กิวเมนต์บรรทัดคำสั่ง
สำหรับที่ผ่านมา 15 นาที
เราตื่น, ไมเคิล
คุณตื่นขึ้นมา?
ดี
ผมไม่ทราบว่าถ้าคุณนอนหลับ ด้วยดวงตาของคุณปิด
มันจะเป็นเรื่องยุ่งยาก
>> อาร์กิวเมนต์บรรทัดคำสั่ง
เหล่านี้เป็นวิธีหนึ่งที่จะส่งผ่านข้อมูล ลงในโปรแกรม
ในที่สุดเราจะพบคนอื่น ๆ
แต่เป็นหลักที่เรากำลังจะหยุด เขียน int main (void) ถ้าเราต้องการ
ใช้เวลาบางส่วนอาร์กิวเมนต์บรรทัดคำสั่ง
เรากำลังจะเขียนสิ่งนี้ เรียกว่า int main (int argc,
สตริง argv วงเล็บ
ที่ทำให้เกิดความสับสน
นั่นเป็นจำนวนมากของตัวอักษรที่ไม่อยู่ใน มนุษย์ภาษาอังกฤษดังนั้นเรากำลังจะไป
แกะพวกเขาได้ในขณะนี้
>> argc หมายถึงการนับอาร์กิวเมนต์ -
และอีกครั้งที่สิ่งเหล่านี้จะ จะพร้อมใช้งานออนไลน์ -
และนั่นก็คือจำนวนของการขัดแย้ง
argv ยืนสำหรับอาร์กิวเมนต์เวกเตอร์และ ผู้ที่มีข้อโต้แย้งของตัวเอง
มันเป็นอาร์เรย์ของสตริง
เราได้เห็นจริงอาร์เรย์ ของสตริงก่อนที่วันนี้
เราได้สร้างหนึ่งในล่าสุด โปรแกรมที่เราเขียน
>> ดังนั้นนี่คือตัวอย่าง
ผมเขียน. / ohai CS50 ส่วน บนบรรทัดคำสั่งของฉัน
argc ในกรณีนี้เท่ากับ 3
argv วงเล็บคือ 0 ohai, argv วงเล็บ 1 คือ CS50, argv วงเล็บ 2 ส่วนคือ
อีกครั้ง argc คือจำนวนของการขัดแย้ง และการเดินทางที่คุณขึ้นเล็กน้อย
บิตเรามักจะนับชื่อของ ฟังก์ชั่นเป็นอาร์กิวเมนต์แรก
ดังนั้นในกรณีนี้มีสาม อาร์กิวเมนต์ชื่อของฟังก์ชัน
แล้วสองคนนั้นที่ฉันพิมพ์นิ้ว
>> ต่อไปเรากำลังจะบันทึกเหล่านั้น ข้อโต้แย้งของตัวเองใน argv
และอีกครั้งเช่นเดียวกับที่เราเห็นก่อนที่เราทำ นี้ในโปรแกรมล่าสุดที่เราเขียน
คุณสามารถย้ายผ่านแถวของ argv และได้รับสตริงเหล่านั้น
ที่เป็นหลักสิ่งที่เราทำที่ สิ้นสุดโครงการล่าสุดของเรา
ที่เราเลือกชื่อสุ่มและจากนั้นก็เดินไป สิ่งที่วงเล็บชื่อและพิมพ์
ออกสตริงตั้งอยู่ที่นั่น
>> ด้านบนของเพียงหนึ่งแถวเพราะ สตริงตัวเองเป็นอาร์เรย์เป็น
พูดคุยเกี่ยวกับคุณสามารถมีอาร์เรย์ ของอาร์เรย์ซึ่งเป็น
หลักสิ่งที่ argv คือ
วิธีการหนึ่งที่คุณสามารถคิดเกี่ยวกับ นี้เป็นแถวและคอลัมน์
ฉันสามารถวาดขวาที่ตอนนี้
ดังนั้น argv -
ที่ไม่ได้ลบ
ลองวาดภายใต้ ohai
>> ดังนั้นถ้าฉันเขียนในส่วน ohai CS50, ฉันจะตัด
ส่วนสำหรับตัวอย่างนี้
แต่เป็นหลักของฉันหลายมิติ อาร์เรย์ ohai CS50,
เรากำลังจะทำนิกาย
ดังนั้นที่นี่ฉันสามารถเข้าถึง -
ถ้าฉันเพียงแค่ให้ argv หมายเลขหนึ่ง -
นี้เป็นสิ่งที่ผิด
เกิดอะไรขึ้นในแผนภาพนี้
>> นักเรียนเริ่มต้นที่ศูนย์
>> เจสัน Hirschhorn: ควร เริ่มต้นด้วยศูนย์
ฉันควรจะยังคงหมุน แต่ ตั้งแต่ผมวาดแล้วมันลงบนผม
ไปทิ้งไว้ที่นั่นในขณะนี้
แต่มันเริ่มต้นที่ศูนย์
ที่เหมาะสม
ฉันขอโทษถ้านี้มีขนาดเล็ก
สามารถบันทึกทุกชนิดที่คุณเห็น
ดังนั้นถ้าฉันทำ argv 0 ฉันจะ รับทุก ohai
ถ้าฉัน argv 1, ฉันจะได้รับทั้งหมดของ CS50
ถ้าฉัน argv 2 ฉันจะได้รับทั้งหมดของนิกาย
>> แต่ตอนนี้ในขณะที่เรากล่าวว่าสตริง, อาร์เรย์ตัวเอง
ดังนั้นสิ่งที่ฉันสามารถทำได้คือผมสามารถเลี้ยงดูนี้ เป็น array หลายมิติและฉัน
สามารถทำสิ่งที่ตามสายของ argv 0, 0, ซึ่งจะช่วยให้ฉันเพียงแค่
0 ตัวอักษร
argv 0, 1, ซึ่งจะช่วยให้ฉันเพียงแค่ชั่วโมง
argv 1, 3, ซึ่งจะช่วยให้ฉันเพียงแค่ 0 ลงที่นี่ใน CS50 นี้
>> เพราะสตริงตัวเอง มีอาร์เรย์ที่เรากำลังวาง
ที่อยู่ในอาร์เรย์อื่น
ขณะนี้เรามีอาร์เรย์ของอาร์เรย์และเรา ดัชนีลงในอาร์เรย์แรกของเราและสามารถ
แล้วดัชนีลงในอาร์เรย์ที่สองของเรา
และในขณะที่คุณจะคาดหวังเราทำอย่างนั้น โดยเพียงแค่ใส่ทั้งสอง -
เราทำวงเล็บเพียง ที่เหมาะสมต่อไปกับอีกคนหนึ่ง
ดังนั้นในตัวอย่างนี้ argv 1 CS50 และ argv 1, 2, เหมือนอย่างที่เรากล่าวว่าเป็นเพียง 5
ไม่มีใครมีคำถามเกี่ยวกับเรื่อง อาร์เรย์หลายมิติ?
พวกคุณกำลังทำอะไรน่ากลัว
หวาน
>> ดังนั้นเราจึงมีโปรแกรมอื่นที่นี่ และนี่คือสิ่งสุดท้ายที่เรา
จะทำตอนนี้
ดังนั้นฉันต้องการให้คุณเขียนโปรแกรมว่า ใช้ชื่อเต็มของผู้ใช้และมีเพียงสอง
สองอาร์กิวเมนต์บรรทัดคำสั่งและในที่สุด, พิมพ์ออกมาอวยพรให้
ผู้ใช้ที่มีชื่อแรกของพวกเขา
ดังนั้นทำไมคุณไม่ใช้เวลาสามหรือสี่ นาทีในการทำเช่นนี้แล้วเราจะไป
มันเป็นกลุ่มและ แล้วเราจะห่อขึ้น?
>> และอีกครั้งที่นี่เมื่อเราบอกว่าต้องใช้เวลา ชื่อเต็มของผู้ใช้ต่อคำอธิบาย
ปัญหานี้มันควรจะเป็นคำสั่ง อาร์กิวเมนต์บรรทัด, ไม่ได้ใช้รับสาย
อ้าง? มาร์คัส
>> นักศึกษาดังนั้นเมื่อคุณพูดสองคำสั่ง อาร์กิวเมนต์บรรทัดคือว่านอกเหนือไปจาก
. / วิ่งหรือ -
>> เจสัน Hirschhorn: คำถามที่ดี
do รวมทั้ง. / run สาม อาร์กิวเมนต์บรรทัดคำสั่ง
หรือรวมทั้ง. / ส่วนบุคคลใน กรณีนี้เพราะที่
ชื่อของแฟ้มนี้
ดังนั้น argc จะสาม
แต่ฉันต้องการเพียงสองข้อโต้แย้ง ให้กับโปรแกรม
ฉันควรจะระบุว่า
ฉันจะทำให้การเปลี่ยนแปลงที่ก่อนที่ผมจะโพสต์ข้อความ เหล่านี้และส่งพวกเขาไปพวกคุณ
>> ลูกศิษย์: ถ้าคุณ มีชื่อกลาง?
>> Hirschhorn JASON: ถ้าคุณมีกลาง ชื่อคุณออกจากโชค
ฉันขอโทษ
หรือถ้าคุณเพียงไปโดย Shakira, คุณยังออกจากโชค
อ้าง?
>> นักศึกษาดังนั้นเมื่อคนไม่ได้ cs50.h พวกเขาไม่กำหนด argv
เป็นถ่านดาว argv?
มันจะยังคงหรือที่เรียกว่าสตริง argv?
>> เจสัน Hirschhorn: ใช่
ดังนั้นสตริงอีกครั้งเราหน้ากากกว่าสิ่งที่ สิ่งที่เกิดขึ้นมี
ที่กำลังจะถูกรื้อออกอาจจะ เมื่อวันพุธ แต่ในไม่ช้า
มันเหมือนล้อการฝึกอบรม
เพราะเป็นหลักก็ สิ่งเดียวกัน
>> ดังนั้นขอใช้เวลาอีกนาทีในการเขียนโปรแกรม นี้และจากนั้นเราจะไปกว่า
มันเป็นกลุ่มแล้ว เช่นฉันกล่าวว่าห่อ
และผมคิดว่าพวกเขายังคงลูกอมเสริม ดังนั้นหวังว่าพวกคุณควรใช้
นั้นหรือกรุณาใช้ว่า
>> ขออภัยหากคุณยังคงเขียน แต่ฉันต้องการที่จะดำน้ำในและเรา
สามารถจบด้วยกัน
ดังนั้นผมจึงได้เขียนใน # include cs50.h, # include stdio.h
int main (void), วงเล็บปีกกาหยิก รั้งภายในสามบรรทัด
pseudocode ใช้ชื่อเต็มของผู้ใช้ สองและบรรทัดคำสั่งเพียงสองคนเท่านั้น
ข้อโต้แย้งที่พิมพ์ออกมาอวยพรให้ ผู้ใช้ที่มีชื่อแรกของพวกเขา
>> ดังนั้นหนึ่งเป็นครั้งแรกที่ใช้ ชื่อเต็มของผู้ใช้
ใครสามารถช่วยฉันใช้ ชื่อเต็มของผู้ใช้หรือไม่
ฉันจะทำส่วนที่?
พวกคุณไม่ทำอย่างนั้นส่วนแรก?
ใช้ชื่อเต็มของผู้ใช้
ดีที่บรรทัดคำสั่งหนึ่ง อาร์กิวเมนต์สิ่งที่ฉันควรจะเขียน?
สิ่งที่ฉันควรเปลี่ยนเกี่ยวกับ การประกาศฟังก์ชันของฉัน
>> ลูกศิษย์: คุณไม่ต้องการ มันจะถือเป็นโมฆะอีกต่อไป
>> เจสัน Hirschhorn: ว่า
ฉันไม่ต้องการให้เป็นโมฆะ
ฉันจะทำอะไรที่มันต้องการที่จะ?
>> นักเรียน: argc Int
>> เจสัน Hirschhorn: int argc
>> นักเรียน: String argv
>> เจสัน Hirschhorn: String argv
>> นักศึกษายึดตัวยึด
>> เจสัน Hirschhorn: ตัวยึดตัวยึด
ที่ตรงขวาและที่ว่า จริงวิธีการที่ฉันจะได้รับ
ชื่อเต็มของผู้ใช้
พวกเขากำลังจะวางไว้ในที่มี
ดังนั้นหนึ่งที่ทำ
ดังนั้นตอนนี้ฉันต้องการสองและมีเพียงสอง อาร์กิวเมนต์บรรทัดคำสั่ง
ดังนั้นโนอาห์สิ่งเดียวที่ฉันสามารถเป็น ตรวจสอบจำนวนของคำสั่ง
อาร์กิวเมนต์บรรทัดฉันมี?
>> ลูกศิษย์: คุณทำถ้างบ
>> เจสัน Hirschhorn: ถ้า คำสั่งว่า
อะไรที่ฉันต้องการเป็นเงื่อนไข?
>> นักเรียน: หาก argc มากกว่า 3
>> Hirschhorn JASON: หาก argc คือมากกว่า 3
ถ้า argc มากกว่า 3 ผมจะทำอย่างไร
>> นักเรียน: 1 ย้อนกลับ
>> เจสัน Hirschhorn: 1 ย้อนกลับ
ที่จะให้ฉันมี สองเพียงสอง?
>> นักเรียน: เลขที่
ถ้า argc มากกว่า 3 และน้อยกว่า 2
>> Hirschhorn JASON: หาก argc เป็นมากขึ้น กว่า 3 argc และมีค่าน้อยกว่า 2
วิธีหนึ่งที่ฉันสามารถเขียนนี้ในเพียงอะไร หนึ่งบรรทัดหรือไม่มีการใช้ว่า
และบูลีนประกอบ?
>> นักเรียน: มันไม่เท่ากับ 2
>> Hirschhorn JASON: หาก argc ไม่เท่ากับ 2
อย่างแน่นอน
ดังนั้นถ้า argc ไม่เท่ากับ 2 ที่ จะให้ฉันโปรแกรมนี้
ส่วนบุคคลเมื่อฉันใช้มันและ ที่จะให้ฉันหลายวิธี
อาร์กิวเมนต์บรรทัดคำสั่ง?
หลายวิธีที่ฉันจะตรวจสอบ?
>> ขอโทษ
ให้ฉัน reword ที่
ถ้า argc = 2, วิธีการหลายสิ่งที่ทำ ผู้ใช้เขียนลงในบรรทัด?
>> นักศึกษาหนึ่ง
>> เจสัน Hirschhorn: เพียงหนึ่ง
ดังนั้นก่อนที่คุณพูดถูกโนอาห์
ฉันจะทำอะไรจริงต้องวางมี?
>> นักเรียน: นั่นเท่ากับ 3
>> เจสัน Hirschhorn: argc ไม่เท่ากับ 3 ไม่
ผมต้องการที่จะเท่ากับ 3 เพราะฉันต้องการ บวกส่วนบุคคลอีกสองคน
ดังนั้นถ้า argc ไม่ได้ 3 เท่ากันกลับ 1
ทำไมคุณถึงพูดกลับ 1?
>> นักเรียน: เนื่องจากว่า หมายความว่ามันมีอะไรผิดปกติ
>> เจสัน Hirschhorn: นั่นหมายความว่ามันผิด และนั่นคือสิ่งที่จะทำอย่างไร
>> นักเรียน: Re-แจ้งให้ผู้ใช้
>> เจสัน Hirschhorn: มันจะเลิก โปรแกรมจึงจะมีการเรียกใช้
อีกครั้ง แต่เราไม่ได้มีอะไร ที่นี่เพื่อขอให้พวกเขาอีกครั้ง
ผมไม่ได้ขอว่า
เพื่อให้ตรงขวา
ย้อนกลับ 1 เพียงแค่สละโปรแกรม
ยิ่งใหญ่
>> และพิมพ์ออกมาอวยพรให้กับผู้ใช้ ที่มีชื่อแรกของพวกเขา
ฉันจะทำ?
? แอนนา
>> นักเรียน: Printf
>> เจสัน Hirschhorn: Printf
>> นักเรียน: ("
>> เจสัน Hirschhorn: (
>> ลูกศิษย์: "สวัสดี
>> เจสัน Hirschhorn: "สวัสดี
>> นักเรียน:% s
>> เจสัน Hirschhorn:% s
>> นักเรียน: N /
>> เจสัน Hirschhorn: N /
>> ลูกศิษย์: "
>> เจสัน Hirschhorn: "
>> นักเรียน: argv
>> เจสัน Hirschhorn: ขอโทษ?
>> นักเรียน: argv
>> เจสัน Hirschhorn: argv
>> ลูกศิษย์: สแควร์วงเล็บ 1
>> เจสัน Hirschhorn: วงเล็บ Square หรือไม่?
>> นักเรียน: 1
>> เจสัน Hirschhorn: 1
>> อัฒภาค): การศึกษา
>> เจสัน Hirschhorn:) อัฒภาค
ขอให้เราทำงานนี้
ทำให้ส่วนบุคคล
. ส่วนบุคคล /
มันก็เลิก
มันทำไมเลิก?
>> ลูกศิษย์: คุณไม่ได้ใส่ขัดแย้งใด ๆ
>> เจสัน Hirschhorn: ฉันไม่ได้ ใส่ขัดแย้งใด ๆ ค่ะ
ลักษณะที่ดี
พวกคุณตอกมัน
ดังนั้นอีกครั้งที่คุณเดินเข้าไปใน argv และคุณ การตรวจสอบที่ argc จุดเริ่มต้น
เหล่านี้เป็นสองสิ่งที่สำคัญ สิ่งที่ต้องจำ
ดังนั้นในนาทีสุดท้ายของเราสองก่อนที่เราจะ ออกจากเราจะไม่ได้รับการ pset สอง แต่
เหมือนที่ผมกล่าวว่าถ้าคุณต้องการที่จะอยู่หลังจากที่ 10 นาทีผมว่าเขาจะมีความสุขที่จะไป
ไปด้วยพวกคุณตรรกะ ปัญหาเหล​​่านี้สำหรับการกำหนด
เรามีจำนวนมากที่จะครอบคลุมในวันนี้ ดังนั้นผมจึงไม่ได้อยู่กับพวกเขา
โดยปกติผมชอบที่จะรวม ที่ในตอนท้าย
ดังนั้นหากคุณต้องการที่จะติดรอบ ติดรอบ 10 นาที
เราจะทำอย่างนั้น
>> จากนั้นที่ผมกล่าวถึงที่จุดเริ่มต้น pset ศูนย์และหนึ่งเราจะได้รับที่
ข้อเสนอแนะกลับไปที่คุณเป็น เร็วที่สุดเท่าที่เป็นไปได้
เป้าหมายคือการได้รับ pset หนึ่งข้อเสนอแนะ, ส่วนความเห็น,
ก่อนที่จะ pset สองเป็นเพราะ
ดังนั้นถ้าคุณทำผิดพลาดบางส่วนหรือ stylistically สิ่งที่อาจจะดีกว่า,
คุณจะมีข้อมูลที่ให้คุณ จะไม่ทำสิ่งเดียวกันใน pset สอง
แล้วในอนาคตคุณจะได้รับทั้งหมด ความคิดเห็น pset และความคิดเห็นของคุณ
กลับมาก่อนหนึ่งต่อไปคือเนื่องจาก
>> สุดท้ายหากฉันสามารถวางไว้ในที่อื่น ปลั๊กสำหรับข้อมูล
นี้เป็นส่วนแรกของคุณ
มันเป็นส่วนแรกของฉัน การเรียนการสอนในปีนี้
ไปที่นั่น
เขียนสิ่งที่ดีและไม่ดี และฉันจะใช้มันเพื่อให้
ส่วนที่ดีขึ้นในครั้งต่อไป
และสุดท้ายอีกครั้งถ้าคุณต้องการ อะไรแจ้งให้เราทราบ
ฉันมีความสุขมากกว่าที่จะช่วยให้พวกคุณ
ถ้าคุณเพียงต้องการลูกอมผม จะมีขนมพิเศษ
ฉันมีความสุขที่จะนำมาให้คุณ
>> นี้เป็นไปได้แน่นอนที่น่าตื่นตาตื่นใจ
นี้เป็นหนึ่งในหากไม่ได้ชื่นชอบของฉัน แน่นอนฉันเอาในชีวิตของฉันทั้งหมด,
และผมหวังว่ามันจะเป็นไปได้ว่า ที่ยอดเยี่ยมสำหรับคุณ
ดังนั้นผมจึงต้องการที่จะทำทุกอย่างในอำนาจของฉัน ที่จะทำให้มันที่น่ากลัวสำหรับคุณ
ฉันจะส่งอีเมลถ้าคุณ ในส่วนหรือโนอาห์ของฉันและ
จะพยายามจัดตารางเวลากับแต่ละ พวกคุณถึงเวลาที่จะตรวจสอบในกว่า
คู่ต่อไปของสัปดาห์ดังนั้นฉันจะได้รับ ความรู้สึกของสิ่งที่พื้นหลังของคุณเป็น CS,
และยังจะช่วยให้ผมปรับแต่งเหล่านี้ ส่วนเพื่อให้เหมาะกับความต้องการของคุณ
ดังนั้นนั่นคือสิ่งที่ฉันมีเรียงรายขึ้น
อีกครั้งผมจะเห็นคุณออกไปข้างนอก ถ้าคุณต้องการที่จะมี
นี่เป็นสัปดาห์ที่สองส่วน
ขอบคุณมากครับ