LUCAS FREITAS: ตกลงฉันเดา ตอนนี้เรากำลังมีชีวิตอยู่ ยินดีต้อนรับสู่ CS50 Supersection เราสะดวกสบายน้อย ชื่อของฉันคือลูคัสตาส ฉันหนึ่ง CS50 หัวหน้า TFs นี้เป็นลอเรน LAUREN CARVALHO: สวัสดีครับผมลอเรน ฉันยัง TF หัวสำหรับ CS50 LUCAS FREITAS: วันนี้เรากำลังจะ เพื่อให้เห็นภาพรวมของสิ่งที่ทุกท่าน คนได้เรียนรู้ในสัปดาห์หนึ่งหวังว่า เพื่อให้คุณผู้ชายที่ดี ความรู้สึกกับสิ่งที่คุณควรรู้ สำหรับปัญหาการตั้งค่าอย่างใดอย่างหนึ่ง เพียงไม่กี่ประกาศ แรกของทุกชั่วโมงสำนักงาน เวลาทำงานจะเกิดขึ้นตั้งแต่วันจันทร์ ถึงวันพฤหัสบดีที่อยู่ในบ้านที่แตกต่างกันใน Annenberg ในแต่ละวัน พวกเขากำลังเป็นแหล่งข้อมูลที่ดีมากสำหรับคุณ ผู้ชายที่จะเข้ามาและถามคำถามและ พูดคุยกับ TFs และแม้แต่การแลกเปลี่ยน ความคิดกับนักเรียนคนอื่น ๆ เพื่อให้แน่ใจว่าจะใช้ทรัพยากรที่ ในความโปรดปรานของคุณ สิ่งที่สองคือ CS50 เครื่องใช้ สำหรับที่ผ่านมา [ไม่ได้ยิน] พวกคุณไม่ได้มีจริง มีเครื่องใช้ คุณเพียงแค่ทำทุกอย่างใน คอมพิวเตอร์ส่วนบุคคลของคุณ แต่สำหรับปัญหานี้คุณจะมี ที่จะมีเครื่องเสมือนเพื่อให้ แน่ใจว่าดาวน์โหลด CS50 เครื่องใช้ไฟฟ้าและตั้งขึ้น และสิ่งที่สามคือการให้แน่ใจว่า เริ่มต้นปัญหาที่กำหนดโดยเร็วเพียง เพราะมันง่ายมากที่จะหา ช่วยเมื่อคุณอยู่ใน จุดเริ่มต้นของสัปดาห์ เพราะคนมีแนวโน้มที่จะรอจนกว่า วินาทีสุดท้ายที่จะเริ่มต้นการตั้งปัญหา แล้วคุณไปที่เวลาทำงาน และมีคนจำนวนมากเป็น ที่ถ้าคุณไปในวันจันทร์ที่คุณกำลังจะ ที่จะเห็นว่าคุณสามารถพูดคุยกับ TFs สวยมากตลอดทั้งคืน, และพวกเขากำลังจะได้มากกว่า มีความสุขที่จะช่วยคุณ LAUREN CARVALHO: ฉันสามารถหยุดเพียงแค่ คุณเพียงหนึ่งที่สอง ทุกคนได้รับการสามารถที่จะดาวน์โหลด CS50 เครื่องใช้? มีคนพยายามที่? LUCAS FREITAS: ในการดาวน์โหลดโดย วิธีที่คุณจะได้รับคำแนะนำที่ cs50.net/appliance LAUREN CARVALHO ขวา และมันจะใช้เวลาสักเล็กน้อยสำหรับเรา ผู้ดูแลระบบที่จะได้รับใบอนุญาตคุณ ที่สำคัญเพื่อให้การลงทะเบียน ทดลองใช้ฟรีก่อน วิธีการที่คุณจะมีมันเป็นเวลา 30 วัน แล้วรอให้คีย์ใบอนุญาตของคุณ ซึ่งควรให้มัน ให้คุณสำหรับปี LUCAS FREITAS: แรกของทุก ขอพูดคุยนิด ๆ หน่อย ๆ เกี่ยวกับเครื่องใช้ CS50 CS50 Appliance เป็นจริงเสมือน เครื่องที่คุณกำลังจะ ทำงานในคอมพิวเตอร์ของคุณเองซึ่งเป็น โดยทั่วไปที่ใช้คอมพิวเตอร์เครื่องอื่น ภายในเครื่องคอมพิวเตอร์ของคุณเอง ซึ่งเป็นเย็นสวย และที่จริงก็ใช้ทุกที่ คนที่ไปเทคโนโลยีจะรู้ว่า นี้จะใช้ตลอดเวลา คุณ? สามารถมีคอมพิวเตอร์หลายเครื่อง ในเครื่อง ลองมาดูจริง ที่เครื่องใช้ เมื่อคุณไปที่เครื่องใช้หลังจาก การลงทะเบียนคุณจะต้อง ใส่ชื่อของคุณและเข้าสู่ฮาร์วาร์ เพื่อให้เราสามารถได้รับทุกท่านที่ลงทะเบียน คุณจะเห็นพื้นเพียง วอลล์เปเปอร์และจากนั้นบ้านและถังขยะ แล้วไอคอนเล็ก ๆ น้อย ๆ เหล่านี้ นี้สามไอคอนเป็นจริงมากที่สุด สิ่งที่สำคัญที่คุณสามารถมีใน เครื่องใช้ของคุณ คนแรกคือ Gedit ซึ่งเป็นข้อความ แก้ไขเช่นเดียวกับ Notepad หรือชอบ ชนิดของโปรแกรมแก้ไขข้อความใด ๆ มันเป็นสิ่งเดียวที่เราใช้ในการเขียน รหัสแล้วทำสิ่งที่มีมัน สิ่งที่สองที่เรา ได้ที่นี่เป็น Chrome ดังนั้นหากคุณต้องการที่จะใช้อินเทอร์เน็ต ในเครื่องใช้ที่ สิ่งที่คุณสามารถใช้ และสิ่งที่สามคือสถานี ซึ่งเป็นจริงหวานมาก คนมักจะกลัวชนิดของของ ขั้วเพราะมันเป็นอย่างนี้ การประยุกต์ใช้แบบเก่าที่คุณ เพียงแค่พื้นชนิดทุกอย่างด้วย แป้นพิมพ์ของคุณ มีไม่มากของการมีปฏิสัมพันธ์ ด้วยเมาส์ของคุณ แต่จริงๆแล้วมินัล ไม่สิ่งที่ดีมาก ก่อนอื่นขอเพียงแค่ผ่านไป คำสั่งบางอย่างที่คุณ สามารถใช้ใน terminal LAUREN CARVALHO: และอย่าลังเลที่จะหยุด เราถ้าคุณมีคำถามใด ๆ LUCAS FREITAS: ใช่ ดังนั้นคำสั่งแรกที่เรามี ต่อเชื่อมเป็นคำสั่ง ls โดยทั่วไปหมายถึงคำสั่ง ls รายการทุกอย่างทั้งหมด ไฟล์และกรรมการทุกคน ที่ฉันมีในสถานที่ที่ฉันอยู่ที่ ดังนั้นถ้าผมทำคำสั่ง ls ที่นี่ฉันจะไปดู ที่ฉันมีบางไดเรกทอรี ผมมีสก์ท็อปดาวน์โหลดที่ บันทึกและ vhosts ผู้ที่มีสีฟ้าเพราะพวกเขา เป็นไดเรกทอรีทั้งหมด แล้วคุณมีบางไฟล์อื่น ๆ คุณมีเช่นทักทายและ hello.c ซึ่ง เป็นเพียงไฟล์และพวกเขาอยู่ใน รงควัตถุ ดังนั้นนี่เป็นคำสั่งที่สำคัญมากเพียง คุณสามารถมองเห็นสิ่งที่เป็นไฟล์ และไดเรกทอรีที่คุณมี ในไดเรกทอรีที่ คุณอยู่ที่ใน terminal เมื่อคุณเห็น jharvard @ และเครื่องใช้ แล้วสัญลักษณ์เล็ก ๆ น้อย ๆ ที่นั่น ตัวหนอนที่ก็หมายความว่าที่ ไดเรกทอรีที่คุณอยู่ในขณะนี้ LAUREN CARVALHO: ดังนั้นการพิมพ์คำสั่ง ls เกือบ เช่นการคลิกที่โฟลเดอร์ ที่ระบุไว้มีสิทธิในการแสดง คุณเนื้อหาทั้งหมดที่มี ที่อยู่ในโฟลเดอร์ที่ ผู้ชม: มีข้อความ หลังจาก hello.c? LAUREN CARVALHO: โอ้คุณไม่สามารถ เห็นว่าเพราะมันเป็นสีฟ้า LUCAS FREITAS: มันบอกว่า บันทึกและ vhosts LAUREN CARVALHO: ผู้ที่มี เพียงโฟลเดอร์อื่น ๆ ฉันขอโทษเป็นเรื่องยากมากที่จะเห็น บางทีถ้าเราปิดไฟหรือไม่ การตัดสินใจที่คุณต้องการที่จะลองและ หาสวิตช์ไฟ? ขออภัยเกี่ยวกับที่ ผมไม่ได้คิดเกี่ยวกับมัน LUCAS FREITAS: แต่มันเป็นพื้น - ใช่ถ้าคุณได้ - LAUREN CARVALHO: ซูมในหน้าจอของคุณ LUCAS FREITAS: ฉันทำไม่ได้ มีคุณลักษณะที่ LAUREN CARVALHO: [ไม่ได้ยิน] ตกลง ดีมีเพียงมากของธรรมชาติ แสงในห้องนี้เช่นกัน LUCAS FREITAS: ขอเพียงคิดว่า มีสองไดเรกทอรีอื่น ๆ ที่มี LAUREN CARVALHO: เพียงแค่อดทนกับเรา นี้เป็นเพียงส่วนหนึ่งที่คุณจะ จะดูที่สถานี LUCAS FREITAS: คำสั่งต่อไปคือ โดยทั่วไปบางทีคุณอาจต้องการที่จะจัดระเบียบ ไฟล์ของคุณ - เช่นไฟล์ C ของคุณทั้งหมดใน ไดเรกทอรี แต่คุณไม่ได้มี ไดเรกทอรีเพียงสำหรับไฟล์ C ยัง คุณโดยทั่วไปสามารถสร้างไดเรกทอรี โดยใช้อาคารได้เป็นอย่างดีซึ่งเป็น สิ่งเดียวกับการคลิกขวา และบอกว่าโฟลเดอร์ใหม่ คำสั่งจะทำให้ไดเรกทอรีที่ เป็น mkdir ดังนั้นโดยทั่วไป "ให้" และ directory "." และจากนั้นคุณสามารถใส่ ชื่อของไดเรกทอรี ขอบอกว่าผมอยากจะเรียกว่า ผมไม่ทราบว่าสมมติว่า pset1 ทำ นี้ผมเพิ่งสร้างไดเรกทอรี ขอเพียงตรวจสอบว่าจะมี ดังนั้นถ้าผมทำคำสั่ง ls ตอนนี้ผมเห็นบันทึกและ แล้ว pset1 แล้ว vhosts ดังนั้นผมจึงมีไดเรกทอรีใหม่มี แล้วหลังจากที่คุณมีไดเรกทอรีใหม่ บางทีคุณอาจต้องการที่จะนำทาง ลงไปเพื่อให้คำสั่งต่อไป cd นี้ ซึ่งโดยทั่วไปหมายถึงเพียงแค่ไปที่ ไดเรกทอรีที่ระบุ ดังนั้นถ้าผมต้องการไป pset1, ฉันสามารถทำซีดี pset1 LAUREN CARVALHO: ซีดียืนสำหรับการเปลี่ยนแปลง ไดเรกทอรี [ไม่ได้ยิน] สามารถที่จะ จำไว้ว่า LUCAS FREITAS: และตอนนี้คุณจะเห็นว่า แทนเพียงมี jharvard เครื่องผมได้ jharvard เครื่องใช้ แล้ว pset1 เพราะการแสดง ฉันที่ฉันอยู่ในคอมพิวเตอร์เครื่องนี้ ตอนนี้ถ้าผมต้องการที่จะกลับไปที่ ไดเรกทอรีที่อยู่ก่อนหนึ่งนี้ผม สามารถทำ cd dot dot ซึ่งก็หมายความว่าไป ไปยังไดเรกทอรีที่ฉันก่อน เช่นผู้ปกครองนี้ ไดเรกทอรีโดยทั่วไป และตอนนี้ฉันเห็นว่าฉัน กลับไป jharvard สิ่งต่อไปที่ผมสามารถทำมันได้ สินค้า RM ซึ่งเป็นลบไฟล์ ตัวอย่างเช่นสมมติแรกทำคำสั่ง ls ที่จะเห็นสิ่งที่ฉันมีที่นี่ ฉันมีทักทายและ hello.c สมมติว่าผมต้องการที่จะลบออก ฉันจะทำ Rm สวัสดี มันจะบอกว่า "เอาแฟ้มปกติ สวัสดี? "และผมพูดว่า" ใช่. "และตอนนี้ถ้าผม ทำคำสั่ง ls ผมเห็นว่ามันเป็น ไม่ได้มีอีกต่อไป ถ้าฉันพยายามที่จะใช้ในการสั่ง rm ไดเรกทอรี แม้ว่ามันจะไม่ ที่จะช่วยให้คุณทำอะไร มันจะบอกว่าเดี๋ยวก่อนคุณ ไม่สามารถลบไดเรกทอรี ดังนั้นเราจึงมีคนอื่น ๆ มานี้เรียกว่า rmdir, ซึ่งโดยทั่วไปหมายถึงเพียงแค่ ลบไดเรกทอรี ฉันสามารถตัวอย่างเช่นลบ pset1 และถ้าผมทำคำสั่ง ls ผมทำไม่ได้ มีมันอีกต่อไป คำถามใด ๆ เกี่ยวกับเรื่องนี้ ไม่ได้หรือไม่ ใช่? AUDIENCE: มันเป็นสิ่งสำคัญที่คุณออกจาก ช่องว่างหลัง - เมื่อใดก็ตามที่คุณ เริ่มพิมพ์อะไรบางอย่างใน? LUCAS FREITAS: ใช่ ถ้าฉันจะชอบซีดีและไดเรกทอรี ฉันต้องใส่ช่องว่าง สิ่งที่พื้นที่ที่คุณกำลังพูดเกี่ยวกับอะไร LAUREN CARVALHO: ช่องว่างระหว่าง cd และ [ไม่ได้ยิน] LUCAS FREITAS: ใช่คุณจะต้อง ใส่ช่องว่างเพราะแผ่นซีดีเป็น คำสั่งแล้วสายถัดไปที่ คุณชนิดเป็นพื้นไดเรกทอรี ดังนั้นมันก็เหมือนการโต้แย้ง ใช่? ผู้ชม: เมื่อคุณรายการทุกคน เป็นไดเรกทอรีที่แตกต่างกันใช่ไหม LUCAS FREITAS: ใช่พวกเขา อยู่ในไดเรกทอรี ผู้ชม: เป็นความแตกต่างอะไร ในไดเรกทอรีหรือไม่ LUCAS FREITAS: พวกเขากำลังเพียง โฟลเดอร์ที่แตกต่างกัน Directory เป็นโฟลเดอร์ ในเครื่องคอมพิวเตอร์ของคุณ ผู้ชม: เปิดโฟลเดอร์ LUCAS FREITAS: ใช่มัน เพียงแค่เปิดโฟลเดอร์ LAUREN CARVALHO: กว่าที่นี่คนที่ ที่อยู่ในสีฟ้าเป็นจริง ไดเรกทอรีที่คุณจะได้รับเข้าและ แล้วดูพวงของสิ่งที่มี ภายในที่ซึ่งเป็นโชคร้าย เพราะคุณไม่สามารถอ่านจริง คนในสีฟ้า และคนในสีขาวเป็นเพียงไฟล์ ที่อยู่ภายในไดเรกทอรีปัจจุบัน LUCAS FREITAS: ไดเรกทอรีดังนั้น เป็นโฟลเดอร์ คนอื่น ๆ เป็นไฟล์ ผู้ชม: อะไรคำสั่ง เพื่อตั้งค่าหรือเพื่อล้างมันได้หรือไม่ LUCAS FREITAS: เมื่อต้องการล้าง? LAUREN CARVALHO: เมื่อต้องการล้าง? LUCAS FREITAS: ผมคิดว่า มันเป็น "ชัดเจน." ใช่ ดังนั้นคุณเพียงแค่พิมพ์ชัดเจนว่า หน้าจอของคุณยุ่งเกินไป คำถามใด ๆ อื่น ๆ และคุณจะได้เรียนรู้พวงของอื่น ๆ คำสั่งเพียงแค่ตามธรรมชาติในช่วง ภาคการศึกษาเพราะพวกเขากำลังมีประโยชน์มาก ดังนั้นตอนนี้เราจะมาพูดคุยเกี่ยวกับการรวบรวม เราได้พูดคุยเกี่ยวกับ pseudocode และ รหัสแหล่งที่มาและรหัสวัตถุ และมีจำนวนมากของรหัสที่เป็นและอาจ พวกคุณกำลังสับสนเกี่ยวกับว่า ขอพูดคุยเล็กน้อยเกี่ยวกับสิ่งที่ เกิดขึ้นเมื่อคุณกำลังเขียนโปรแกรม และคุณคอมไพล์มันและมันจะกลายเป็น แฟ้มที่ปฏิบัติการ ผู้ที่มีทุกคำที่พวกคุณ อาจจะได้ยินและบางทีคุณอาจจะไม่ได้ จริงๆว่าสิ่งที่เกิดขึ้น สมมติว่าตัวอย่างเช่นที่ฉันต้องการ เขียนโปรแกรมที่กล่าวว่า "สวัสดี". สิ่งแรกที่มาในใจของคุณคือ ชนิดของคุณพยายามที่จะคิดว่าวิธีการที่คุณกำลัง จะไปทำอย่างนั้นในใจของคุณและ คุณอาจคิดในภาษาอังกฤษหรือภาษา บางภาษาอื่น ๆ เช่นธรรมชาติ ภาษาอาจจะ แล้วคุณคิดว่าดีถ้าฉันต้องการ ตัวอย่างเช่นการเขียนโปรแกรมที่ กล่าวว่า "สวัสดี" ฉันจะเริ่มต้นโปรแกรม ฉันจะพิมพ์สวัสดีแล้วฉันจะ ออกจากโปรแกรม นี้เป็น pseudocode นี้เป็นเพียงการโดยทั่วไปคุณกำลังพยายามที่จะ เกิดขึ้นกับลำดับของเหตุการณ์ที่เกิดขึ้น ที่คุณกำลังจะทำจะเป็น สามารถที่จะเขียนโปรแกรม แล้วคุณมีรหัสที่มาและ รหัสแหล่งที่มาไม่ได้ โดยเฉพาะใน C. เรากำลังพูดถึง เกี่ยวกับรหัสแหล่งที่มาใน C เพราะนั่นคือ ภาษาที่เรากำลังเรียนรู้ แต่แน่นอน รหัสสามารถสวยมาก ๆ การเขียนโปรแกรมภาษาที่คุณมี ต่อมาในภาคการศึกษาที่คุณกำลังจะ ที่จะเรียนรู้ภาษาอื่น ๆ ที่ยังซอร์สโค้ด ตัวอย่างเช่นที่นี่นี้เป็นแหล่งที่มาของฉัน รหัสและจากนั้นฉันรวมทั้ง ห้องสมุดและจากนั้นฉันจะเริ่มต้น หลักแล้วพิมพ์ และลอร่าจะพูดเพียงเล็กน้อย บิตเกี่ยวกับทั้งหมดนี้ ดังนั้นนี่คือรหัสที่มา และเป็นรหัสวัตถุอะไร วัตถุที่เป็นพวงของศูนย์ และคนทั่วไป สิ่งที่เกิดขึ้นคือคุณเริ่มมี pseudocode ซึ่งเป็นทั้งหมดในภาษาอังกฤษ และฉันหมายความว่าคุณเข้าใจมัน น่าจะเป็นเพื่อนของคุณเข้าใจ และคนส่วนใหญ่จะ เข้าใจความคิด แต่คอมพิวเตอร์เป็นใบ้จริงๆและพวกเขา ไม่เข้าใจภาษาอังกฤษเพื่อให้คุณ ได้แปลว่าเป็นสิ่งที่ มักจะแปลเป็​​นบางส่วน การเขียนโปรแกรมภาษา และคุณสามารถคิดของการเขียนโปรแกรม ภาษาเป็นชนิดเช่นภาษา ที่คุณบอกได้ว่าเครื่องคอมพิวเตอร์ของคุณ ที่จะพูดและเข้าใจ คุณพื้นเขียนอะไรบางอย่างใน ภาษาที่สองของคุณและ คอมพิวเตอร์เข้าใจ นั่นคือรหัสที่มา ดังนั้นจะ pseudocode ฟอร์มไปยังแหล่ง รหัสก็ขึ้นอยู่กับคุณ มันโดยทั่วไปคุณทำโปรแกรมของคุณ แต่ปัญหาคือว่า คอมพิวเตอร์ไม่ได้ เข้าใจภาษาการเขียนโปรแกรม มันไม่เข้าใจ รหัสแหล่งที่มาทั้งหมด มันจริงเพียงแค่เข้าใจ ศูนย์และคน ดังนั้นเราจึงมีสิ่งที่วิเศษอย่างนี้เรียกว่า คอมไพเลอร์ซึ่งโดยทั่วไปเป็น จะได้รับการเรียกว่าแหล่งที่มาที่คุณ เขียนในภาษาของทั้งคุณ และคอมพิวเตอร์ของคุณพูดและตอนนี้คุณ จะเปลี่ยนที่อยู่ใน ศูนย์และคน ดังนั้นโดยทั่วไปสิ่งที่คอมไพเลอร์จะเป็น จะได้รับรหัสที่มาในกรณีนี้ซี มันจะเปลี่ยนมันเป็นเลขศูนย์ และคนที่ใช้คอมพิวเตอร์ เข้าใจและสามารถทำให้ แฟ้มที่ปฏิบัติการออกจากมัน ไม่ที่ทำให้รู้สึก? คุณก็สามารถคิดของคอมไพเลอร์เป็น บางชนิดของนักแปลที่เป็น ช่วยให้คุณอธิบายกับคอมพิวเตอร์ ว่าสิ่งที่มันควรจะทำ แต่ฉันจะรวบรวม ลองกลับไปที่เครื่องใช้ไปและ สมมุติว่าผมทำโปรแกรมที่ ครั้งแรกที่ผมจะสร้างไดเรกทอรี ที่นี่และผมจะเรียกมันว่า "การปฏิบัติ." ตอนนี้ฉันจะไป ไปยังไดเรกทอรีเพื่อให้การปฏิบัติซีดี ตอนนี้ฉันอยู่ในการปฏิบัติ ตอนนี้ผมต้องการที่จะเริ่มต้น Gedit, ดังนั้นฉันจะทำอย่างนั้น ฉันสามารถคลิกที่นี่หรือฉันสามารถเพียง ตัวอักษรพิมพ์ "Gedit" และมันจะ เพื่อเปิดสำหรับฉัน ตอนนี้ฉันกำลังจะพิมพ์โปรแกรมของฉันดังนั้น สิ่งที่ผมเขียนไว้ในสไลด์ ฉันประกาศห้องสมุด ที่ฉันทำ int หลักเป็นโมฆะ และตอนนี้ฉันทำ printf สวัสดี ตอนนี้ฉันกำลังจะประหยัดนี้ ให้ฉันใส่มันลงไปในการปฏิบัติและ ฉันจะเรียก hello.c นี้ ดังนั้นตอนนี้ก็บันทึกไว้ ถ้าผมต้องการที่จะรวบรวมมันฉันจริง สามารถทำมันได้ในสองสถานที่ที่แตกต่างกัน ผมสามารถทำมันได้ในหน้าต่าง terminal, ดังนั้นนี้ขนาดใหญ่หรือที่คุณสามารถ ใช้ Gedit ที่จริงมี หน้าต่าง terminal ที่นี่ เพื่อให้คุณสามารถอย่างสะดวกเพียงแค่ทำ รหัสของคุณและจากนั้นคุณสามารถเพียงพิมพ์ สิ่งที่นี่และพยายามที่จะรวบรวมมัน ดังนั้นฉันจะรวบรวมรหัส? วิธีที่ง่ายที่สุดที่เรามีคือการใช้ ให้ซึ่งเป็นฟังก์ชั่นที่ เป็นพื้นไป รวบรวมรหัสของคุณ คุณเพียงแค่ต้องบอกให้สวัสดีดังนั้น "ทำ" และชื่อของโปรแกรม อุ่ย นี้เป็นที่น่าอึดอัดใจ LAUREN CARVALHO: คุณสามารถ [ไม่ได้ยิน]? LUCAS FREITAS: ขออภัย ผมไม่ได้บันทึกไว้ใน ไดเรกทอรีที่เหมาะสม มาปฏิบัติและตอนนี้ บันทึกเป็น hello.c ฉันขอโทษ ตอนนี้ก็บันทึกไว้ ผมขอเพียงแค่ทำคำสั่ง ls และ แน่ใจว่ามันเป็นที่นี่ ตกลงตอนนี้ก็ที่นี่ ดังนั้นตอนนี้ถ้าผมจะทำให้สวัสดีมันถ่มน้ำลาย จำนวนมากของสิ่งที่ แต่แล้วมันก็ช่วยให้ ฉันบรรทัดอีกขั้วซึ่ง หมายความว่ามันก็ประสบความสำเร็จ ดังนั้นตอนนี้ถ้าผมทำคำสั่ง ls อีกครั้งที่จริงผม เห็นภาพนี้เป็นสีเขียวซึ่งเป็น แฟ้มที่ปฏิบัติการ แล้วถ้าผมต้องการที่จะทำงานได้ทุกที่ ฉันต้องทำคือการจุดเฉือนสวัสดี มันจะทักทายที่นี่เพื่อ มันคือสิ่งที่ผมขอให้ มีวิธีหนึ่งที่มากขึ้นของการรวบรวมเป็น ซึ่งมีการใช้เสียงดังกราว เสียงดังกราวเป็นเพียงคอมไพเลอร์ที่เรามีให้ และมันก็นิด ๆ หน่อย ๆ verbose มากขึ้น รวบรวมมัน แต่มันทำงานได้เป็นอย่างดี ดังนั้นถ้าผมทำเสียงดังกราวแล้ว o-แล้ว ชื่อที่ผมอยากจะมอบให้กับ แฟ้มที่ปฏิบัติการได้จึงขอบอกว่า "สวัสดี". แล้วแฟ้มที่ฉันต้องการ รวบรวม hello.c นอกจากนี้ยังจะไปรวบรวม และคุณมีไฟล์ที่นี่และ ฉันก็สามารถดำเนินการได้เช่นกัน ดังนั้นทั้งสองของพวกเขาทำงาน ไม่ที่ทำให้รู้สึก? คำถามใด? ผู้ชม: คุณสามารถซูม ในนิด ๆ หน่อย ๆ ? LUCAS FREITAS: ขอโทษ? ผู้ชม: ขยาย? LAUREN CARVALHO: ผมคิดว่าคุณ ก็สามารถสั่งบวก LUCAS FREITAS: คำสั่งอะไร LAUREN CARVALHO: คำสั่งบวก LUCAS FREITAS: เลขที่ LAUREN CARVALHO: โอ้ที่ไม่ จะไปทำงานเพราะ - มันเป็นเพราะเราตั้งค่าความละเอียด เพื่อสิ่งนี้ LUCAS FREITAS: ฉันทำไม่ได้ คิดว่าเราสามารถซูมเข้า ใช่เราไม่สามารถซูม คุณมีคำถามอื่นได้หรือไม่ ขอโทษ ผู้ชม: คุณสามารถทำซ้ำเสียงดังกราว? LUCAS FREITAS: เสียงดังกราว? เสียงดังกราวเป็นสิ่งเดียวกับที่ทำ แต่ ความแตกต่างก็คือค​​รั้งแรกที่ฉันจะ ที่จะเขียนเสียงดังกราวซึ่งเป็นคำสั่ง แล้วฉันจะทำ -0, ทั้งหมดซึ่งเป็น เพียงแค่สิ่งที่เรากำลังจะไป เรียนรู้ในภายหลังว่าเป็นธง ดังนั้นเพียงแค่คิดว่าคุณเสมอ ต้องใส่-o แล้วครั้งแรกที่คุณจะใส่ ชื่อของแฟ้มที่ปฏิบัติการที่ โดยทั่วไปไฟล์ที่คุณ จะสร้าง ดังนั้นผมจึงสามารถพูดได้เช่น hello2 และ แล้วแฟ้มที่ฉันต้องการที่จะรวบรวม ซึ่งเป็นไฟล์ c. เพื่อให้เป็น hello.c ไม่ที่ทำให้รู้สึก? ผู้ชม: สวัสดีอะไร คืออะไรที่? LUCAS FREITAS: hello.c และถ้าผมรวบรวมและถ้า ฉันจะสั่ง ls ฉันยังมี hello2 ที่ฉันรวบรวม และถ้าฉันพยายามที่จะเรียกใช้มันจะ ทำตรงสิ่งเดียวกับสวัสดี เพียงแค่พิมพ์สวัสดี ผู้ชม: วิธีมาสำหรับทำ คุณสามารถใส่ hello.c หลัง LUCAS FREITAS: ในการทำคุณ ไม่ต้องใส่ c. ในการทำคุณก็บอกว่า ชื่อของโปรแกรม คุณไม่ได้ที่จะบอกว่า c. แต่สำหรับเสียงดังกราวคุณควร ผู้ชม: ด้วยเสียงดังกราวทำคุณยัง มีการเพิ่ม [ไม่ได้ยิน] LAUREN CARVALHO: ใช่ ดังนั้นคุณยังมีห้องสมุด LUCAS FREITAS: ใช่ว่าเป็นสิ่งที่ เราจะใช้ในภายหลัง ที่เรียกว่าการเชื่อมโยงและผมคิดว่าเรากำลัง จะไปพูดคุยเกี่ยวกับเรื่องนี้ในภายหลัง คำถามอื่นได้หรือไม่ ผู้ชม: คุณใส่ จุดเฉือนเสียงดังกราว? LUCAS FREITAS: เลขที่ จุดเฉือนเป็นเพียงการเปิด แฟ้มที่ปฏิบัติการได้ ดังนั้นเสียงดังกราวคุณเพียงแค่เขียน "เสียงดังกราว" และ แล้วถ้าคุณต้องการที่จะเปิด แฟ้มที่ปฏิบัติการที่คุณเพิ่ง รวบรวมแล้วคุณจุด เฉือนและชื่อ ไม่ที่ทำให้รู้สึก? ผู้ชม: ถ้าคุณมีการเปลี่ยนแปลงเพียง [ไม่ได้ยิน] เพื่อโลกสวัสดีคุณ ต้องคอมไพล์มันได้หรือไม่ LUCAS FREITAS: ใช่ ถ้าผมอยากจะพูดเช่น "สวัสดี มี "ฉันสามารถบันทึกได้ในขณะนี้และฉัน เพียงแค่รวบรวมมันอีกครั้ง เพื่อให้ฉันทำทำให้สวัสดี และถ้าผมทำสวัสดีมันจะ พูดว่า "hello there." ทำให้รู้สึก? คำถามใด ๆ อื่น ๆ ผู้ชม: คุณต้องมี มาตรฐาน I / O ในการประสานงานการทำงานหรือไม่ LUCAS FREITAS: ใช่ มาตรฐาน I / O ที่เป็นพื้น ห้องสมุดที่มี การดำเนินการเพื่อ printf เพื่อให้เหมาะสมกับสิ่งที่ รวมถึงด้านบน stdio ที่รวมถึงห้องสมุดที่ โดยทั่วไปมีพวงของการที่แตกต่างกัน เครื่องมือที่คุณสามารถใช้ อย่างใดอย่างหนึ่ง ในนั้นคือ printf ที่มีฟังก์ชั่น ที่พื้นพิมพ์ ข้อความที่หน้าจอ คำถามใด ๆ อื่น ๆ ไม่ได้หรือไม่ ตกลง ดังนั้นตอนนี้เราจะมาพูดคุยเกี่ยวกับ - LAUREN CARVALHO: ขอเพียง ไปที่คู่มือสไตล์ คุณต้องการที่จะเพียงแค่หาได้ในที่นี่ LUCAS FREITAS: ดังนั้นเราจะ ที่จะพูดคุยเกี่ยวกับรูปแบบ LAUREN CARVALHO: โอ้เดวิด ยังพูดไม่จบ ตกลง ทำไมเราไม่กลับมา รูปแบบที่ปลายมากหรือไม่ มันเป็นจริงได้รับการปรับปรุง ขณะที่เราพูด LUCAS FREITAS: ใช่ ขอให้ทางสำหรับเดวิดจะจบที่ LAUREN CARVALHO: สามารถ เราสลับจริง ดังนั้นผมจึงหวังว่าทุกคนที่ได้รับ เพลิดเพลินกับรอยขีดข่วน แต่มันถึงเวลาที่จะ ย้ายออกไปจากนี้ - โชคร้ายที่มันถึงเวลาที่จะย้ายออกไป จากนี้การเขียนโปรแกรมบล็อกสวย เพื่อ C. แต่โชคดีที่ทั้งหมดของ การเขียนโปรแกรมโครงสร้างที่คุณได้ ได้ทำงานร่วมกับใน Scratch เป็น โดยตรงที่แปลไป C และเรา จะเริ่มต้นที่จะเรียนรู้เกี่ยวกับ บางส่วนของพวกเขาตอนนี้ ขอพูดคุยเป็นครั้งแรกเกี่ยวกับเงื่อนไข ในนิพจน์บูลีน นี้จะทำงานบนสำรอง ใช้พลังงานจากแบตเตอรี่ LUCAS FREITAS: วิธีเป็น ที่ไม่ทำงาน ตกลง คุณไปที่นั่นฉันจะได้รับ - LAUREN CARVALHO: ดังนั้นเงื่อนไขที่ ที่สำคัญเพราะพวกเขาช่วยให้เราสามารถ แนะนำตรรกะลงในโปรแกรมของเรา นี่คือตัวอย่างของสภาพเป็น ภายในโปรแกรม C ขอทราบวิธีนี้ - เพื่อป้องกันภาวะนี้ที่นี่นี้ งบ printf จะไม่ดำเนินการ เว้นแต่สภาพภายใน วงเล็บ n มากกว่า 0 ตรวจสอบการจริง ตอนนี้ทุกเงื่อนไขภายในฉ งบมีการแสดงออกบูลีน ซึ่งหมายความว่าจะมี มีเพียงสองตัวเลือก พวกเขาทั้งสองสามารถประเมินเป็นจริง หรือพวกเขาสามารถประเมินเป็นเท็จ ดังนั้นที่นี่จึงทำให้รู้สึกใช่ไหม n มากกว่า 0 หมายความว่ามันเป็นบวก จำนวนซึ่งหมายความว่ามันจะพิมพ์ ออกมาว่า "ที่คุณเลือกเป็นจำนวนบวก." มีจำนวนมากของการแสดงออกบูลีนเป็น ที่สามารถสร้างเงื่อนไขด้วย งบ init เรามีน้อยกว่า นี้จะน้อยกว่าหรือเท่ากับ นี่เป็นเพียงตลก [ไม่ได้ยิน] ถ้าคุณต้องการ printf ที่จะเกิดขึ้นถ้าหากมันเป็น มากกว่าหรือเท่ากับ 0 แล้ว คุณจะเลือกนี้ ดังนั้นเท่ากับเพียงผนวกขวา หลังจากเครื่องหมายมากกว่า เท่ากับเท่ากันซึ่งจะแตกต่างจาก เพียงหนึ่งเครื่องหมายเท่ากับเท่ากับเท่ากับ จริงหมายถึงว่าสิ่งที่อยู่บน ด้านซ้ายมือของนี้เป็นเช่นเดียวกับ สิ่งที่อยู่บนด้านขวามือนี้ ที่เครื่องหมายเท่ากับหนึ่งคืออะไร คืออะไร? เพียงหนึ่งเครื่องหมายเท่ากับ การมอบหมาย LUCAS FREITAS: ใครบอกว่า? ที่เป็นขนม ว้าย ขอโทษ ขอโทษ คุณทั้งสองได้รับขนม โอ้ OK! สามคนได้รับลูกอม! LAUREN CARVALHO: ดังนั้นหนึ่งนี้ที่นี่ เป็นผู้ดำเนินปังก่อนหน้านี้ เครื่องหมายเท่ากับเพื่อให้เป็น ไม่เท่ากับ ดังนั้นถ้าเรื่องนี้เป็นเงื่อนไขภายในของฉัน ร่างกายของสภาพจะ ดำเนินการเฉพาะในกรณีของสิ่งที่อยู่ใน ด้านซ้ายเป็นไม่เหมือนกับ สิ่งที่คนที่อยู่ด้านขวา ฉันยังสามารถมีเพียงแค่ เครื่องหมายอัศเจรีย์ ที่จริงเราจะเห็นในลักษณะ เลื่อนวิธีนี้จะถูกนำมาใช้ LUCAS FREITAS: คำถามที่ใด? ไม่ได้หรือไม่ LAUREN CARVALHO: เราสามารถรวมเหล่านี้ นิพจน์ที่จะสร้างขึ้น งบเงื่อนไขที่ซับซ้อน ดังนั้นที่นี่ถ้าสิ่งที่เป็นด้านซ้าย ด้านมือของบาร์คู่หรือ สิ่งที่อยู่ทางด้านขวามือของ บาร์คู่ประเมินจริง แล้วเราจะพิมพ์ออกมาไม่ถูกต้อง แล้วลงที่นี่ถ้าสิ่งที่ อยู่ทางด้านซ้ายมือของทั้งสอง เครื่องหมายและสิ่งที่อยู่ทางด้านขวา ด้านมือของทั้งสองเครื่องหมาย ประเมินจริงแล้ว เราจะพิมพ์ออกมาถูกต้อง บาร์คู่ที่เรียกว่าตรรกะ หรือประกอบเครื่องหมายคู่เป็น ที่เรียกว่าตรรกะและผู้ประกอบการ ใช่? ผู้ชม: เป็นผู้ที่เพิ่ง กรณีที่ต่ำกว่าแมง s หรือไม่? LAUREN CARVALHO: เลขที่ พวกเขากำลังจริง - คุณรู้ว่าฟันเฟืองเช่น เหนือปุ่มย้อนกลับของคุณหรือไม่ คุณเห็นว่า LUCAS FREITAS: มันเป็นจริงบาร์ LAUREN CARVALHO: มันเป็นจริง เพียงแค่สองแท่ง ผู้ชม: คุณสามารถใช้ เท่ากับเท่าเทียมกันสำหรับสตริง? LUCAS FREITAS: เลขที่ เราจะได้เรียนรู้ในภายหลัง บางสิ่งบางอย่างเกี่ยวกับว่า LAUREN CARVALHO: มีฟังก์ชั่นเป็น ที่คุณสามารถใช้ แต่คุณไม่จำเป็นต้อง กังวลว่าเพียง แต่ ถ้าฉันให้โปรแกรมนี้ จำนวน 5? สิ่งที่จะพิมพ์ออกมา? ผู้ชม: [ไม่ได้ยิน] ถูกต้อง LAUREN CARVALHO: เริ่ม? ใช่ ผมไม่ทราบว่าใครได้ที่ [เสียงหัวเราะ] LAUREN CARVALHO: นั่นเป็นชนิด น่ากลัว [ไม่ได้ยิน] ผู้ชม: ดังนั้นคู่และ ที่เพียงแค่หมายถึงและ? LAUREN CARVALHO: ใช่ ดังนั้นจำนวน 5 มีทั้งมากขึ้น มากกว่า 0 และน้อยกว่า 100 ผู้ชม: ทำไมมันจะเป็นอย่างใดอย่างหนึ่ง LAUREN CARVALHO: หนึ่งเป็นเครื่องหมาย จริงอย่างที่แตกต่างกันและเป็น ประกอบค่าที่เหมาะสมซึ่งคุณจะ เรียนรู้เกี่ยวกับภายหลัง แต่มันเป็นสิ่งที่ใช้งานได้จริง กับบิตของตัวเลขที่กำหนด LUCAS FREITAS: เพียงแค่คิดว่าพวกเขาทำไม่ได้ ต้องกังวลเกี่ยวกับมันตอนนี้ LAUREN CARVALHO: ผมคิดว่ามันอาจจะเป็น กำลังจะมาถึงในสัปดาห์หน้า LUCAS FREITAS: คำถามใด ๆ อื่น ๆ ไม่ได้หรือไม่ LAUREN CARVALHO: ดังนั้นเราจึงได้เห็นว่า มันสามารถป้องกันการยืนอยู่คนเดียว แต่ก็สามารถ นอกจากนี้ยังได้รับการจับคู่กับบล็อกและอื่น ดังนั้นในกรณีนี้ถ้า n มีค่ามากกว่า 0 เรากำลังจะพิมพ์ออกมา "คุณ เลือกจำนวนบวก. "อื่นที่มีความหมาย ถ้าเป็น 0 หรือถ้ามันน้อย กว่า 0 เรากำลังจะพิมพ์ออกมา "คุณเลือกจำนวนลบ." สิ่งที่น่าสนใจที่นี่เป็นที่เหล่านี้ เป็นพิเศษของแต่ละอื่น ๆ มีไม่เคยไปเป็นกรณี ในที่นี้และนี้ ทั้งสามารถพิมพ์ออกมา ฉันแน่ใจว่าคุณทำงานร่วมกับถ้า / อื่น กล่องในเกาดังนั้นนี้ควรจะเป็น คุ้นเคยสวย ใช่? ผู้ชม: เราจำเป็นต้องช่องว่างระหว่าง int n เท่ากับ GetInt แล้วในพื้นที่ ถ้ามีคำสั่ง? เช่นเดียวกับที่เราใช้สาย [ไม่ได้ยิน] LAUREN CARVALHO: โอ้พื้นที่ที่นี่ ผู้ชม: เช่นนั้น แต่ คุณสองพื้นที่ ไม่ขึ้นไป ขึ้นไป LUCAS FREITAS: เพียงแค่เส้นหรือไม่ ผู้ชม: ใช่ LUCAS FREITAS: เพียงแค่บรรทัดว่าง? ผู้ชม: ใช่ LAUREN CARVALHO: ว่างบรรทัด เลขที่ นั่นเป็นเพียงสิ่งโวหาร LUCAS FREITAS: มันเป็นเช่นเดียวกับบางครั้ง คุณเพียงข้ามเส้นบางอย่างเพื่อ ว่ารหัสดูไม่เหมือน บล็อกขนาดใหญ่ของข้อความ LAUREN CARVALHO: ผมคิดว่าสิ่งที่เกิดขึ้น คือการที่เรามีความคิดเห็นที่นี่ แต่ฉัน เอามันออกเพื่อที่พวกคุณจะต้อง ที่จะคิดเกี่ยวกับรหัสมากกว่า มากกว่าเพียงแค่อ่านความคิดเห็นของฉัน โดยทั่วไประยะห่างจะไม่ได้จริงๆ ส่งผลกระทบต่อวิธีที่โปรแกรมของคุณทำงาน มันขึ้นของสิ่งโวหาร และเมื่อเรามีคำแนะนำสไตล์การปรับปรุง และพร้อมที่จะไปในตอนท้ายของ supersection เราจะพูดคุย เกี่ยวกับที่มากขึ้น มีบางอย่างที่ผิดปกติกับการเป็น โปรแกรมนี้ใช่มั้ย เพราะ 0 ไม่ได้จริงๆ จำนวนลบ ดังนั้นเรามาดูว่าเราสามารถแก้ไขปัญหาที่ คุณอาจจะสามารถจินตนาการ กับเรื่องนี้กล่าวว่าใช่มั้ย ถ้า n มากกว่า 0 เราพิมพ์ "คุณ เลือกจำนวนบวก. "แล้วอื่น ถ้า n มีค่าน้อยกว่า 0, "คุณเลือก จำนวนลบ. "อื่น" คุณเลือก 0. " ตอนนี้สิ่งที่น่าสนใจคือ นี้ได้ตลอดไป คุณสามารถมีถ้าบล็อกอื่นถ้า บล็อกอื่นอื่นถ้าบล็อกอื่นถ้า อื่นถ้าอื่นหากอื่นโดยทั่วไป ตราบใดที่คุณต้องการ และเมื่อสร้างขึ้นเช่นนี้ เหล่านี้ทั้งหมดจะเป็น พิเศษของกันและกัน ใช่? ผู้ชม: ดังนั้นทำไมคุณไม่สามารถเพียงแค่ใช้ อื่นถ้าแทนการเลือก [ไม่ได้ยิน]? LAUREN CARVALHO: ในกรณีนี้ใช่ฉัน สามารถใช้อื่นถ้าและมันจะเป็น ดีอย่างแน่นอนเพราะ สภาพตัวเองเป็น พิเศษของกันและกัน แต่ถ้าเงื่อนไขไม่ได้ แต่เพียงผู้เดียว ของแต่ละอื่น ๆ จะนี้ บังคับให้พวกเขาทั้งสองจะไม่ประเมิน หากที่ทำให้รู้สึก ผู้ชม: ในกรณีที่เราสามารถรัง สองถ้าในครั้งแรกถ้า? LAUREN CARVALHO: ถ้า - สิ่งที่คุณหมายถึงอะไร ผู้ชม: หากทั้งสองเงื่อนไข ไม่ได้พิเศษร่วมกัน? LAUREN CARVALHO: ถ้าเงื่อนไข ไม่ได้พิเศษร่วมกัน? แต่คุณต้องการเพียงหนึ่งของพวกเขาที่จะทำงาน AUDIENCE: คุณต้องการเพียงแค่ ถ้าแทนอื่น LAUREN CARVALHO: ใช่ มีเสมอไปเป็นจำนวนมาก วิธีที่คุณสามารถทำเช่นนี้ คุณสามารถแน่นอนพวกเขารัง และคุณจะเห็นในสไลด์ในอนาคตที่ คุณสามารถมีไอเอฟเอหลายเพียงหนึ่ง หลังจากที่อื่น แต่นี้เป็นวิธีการที่มีเหตุผล การไหลของการจัดโปรแกรมของคุณ LUCAS FREITAS: และยังมีอีกหนึ่ง สิ่งที่เป็นที่คุณถามเกี่ยวกับการวาง ถ้าและแล้วอีกถ้า ที่จะทำงานได้อย่างสมบูรณ์ แต่มันไม่ดี เพราะการออกแบบโดยทั่วไปถ้าคุณ ตรวจสอบก่อนถ้าและคุณสังเกตเห็นว่า จำนวนมากกว่า 0 คุณ ก็สามารถจบโปรแกรม คุณไม่ได้มีการตรวจสอบว่า มันน้อยกว่า 0 ใช่ไหม แต่ถ้าคุณไม่ถ้าหากมันจะตรวจสอบ ทั้งในขณะที่ถ้าฉันทำอย่างไรถ้าคนอื่นคือ ก็จะตรวจสอบว่า มันมากกว่า 0 หากเป็นเช่นนั้นมันจะไม่แม้แต่จะมอง ที่สายอื่น ๆ ของรหัส ดังนั้นคุณโดยทั่วไปการตรวจสอบเช่น สองครั้งโดยไม่จำเป็นเพื่อที่ว่าทำไมเรา ทำอย่างไรถ้าหากอื่น คำถามใด ๆ อื่น ๆ ผู้ชม: ดังนั้นการทำงาน ของอื่นถ้าเป็นเช่นเดียวกับ ถ้ามันเป็นเพียงแค่ถ้า? LAUREN CARVALHO: เลขที่ คุณจริงจะเห็นในต่อไปของฉัน เลื่อนตัวอย่างเช่นในการที่จะสามารถ ต่างกัน ในกรณีนี้ก็เกือบจะเหมือนกัน ดังนั้นที่นี่เรามีตัวอย่างของหลาย ถ้างบและ การทำงานที่ไม่เหมือนกัน เป็นถ้าฉันได้เพียงแค่บอกว่าถ้า อื่นถ้าอื่นถ้าอื่น ขอเพียงคิดเกี่ยวกับสิ่งที่จะพิมพ์ ออกถ้าฉันใส่หมายเลข 95 ลงในโปรแกรมนี้ ผู้ชม: [ไม่ได้ยิน] LAUREN CARVALHO: และแล้ว ผู้ชม: [ไม่ได้ยิน] LAUREN CARVALHO: ใช่ ดังนั้นในกรณีนี้เงื่อนไขเหล่านี้เป็น ไม่ได้พิเศษร่วมกันของแต่ละอื่น ๆ และเพราะมีอะไรหยุดเป็น สภาพนี้จากการประเมินว่านี้ อย่างใดอย่างหนึ่งแล้วมีพวกเขากำลังเพียง ทั้งหมดจะพิมพ์ออกมา ดังนั้นวิธีที่ฉันสามารถแก้ไขปัญหานี้ ผู้ชม: อื่นไอเอฟเอ? LAUREN CARVALHO: คุณสามารถใช้ไอเอฟเออื่น ฉันจะเปลี่ยนลำดับ เหล่านี้ใช่มั้ย ถ้าฉันไม่อันนี้เป็นอันดับแรก ดีจริงไม่มี ที่จะไม่ทำงานสำหรับ 95 LUCAS FREITAS: ไม่เพียงอื่นไอเอฟเอ LAUREN CARVALHO มิฉะนั้นไอเอฟเอ จะได้รับการแก้ไขนี้ ไม่ว่าชัดเจนขึ้นความสับสน ระหว่างที่อิฟส์และอื่น ๆ ที่ IFS? ผู้ชม: ฉันแค่อยากจะขอให้คุณถ้า คุณไม่ใช้อื่นถ้ามันจะหยุด LAUREN CARVALHO ขวา ดังนั้นเพียงแค่นี้คนแรก ถ้าผมเข้ามาจำนวน 95, เพียงแค่นี้ จะมีการพิมพ์ออกมาและมันไม่เคย จะมีความก้าวหน้าในการอื่น LUCAS FREITAS: เพียงแค่ชนิดของคิด มันราวกับว่าสิ่งนี้เกิดขึ้นทำเช่นนี้ อื่นเป็นเหมือนถ้าไม่ตรวจสอบ นี้และจากนั้นก็ทำอย่างนั้น ดังนั้นเหมือนพวกเขากำลังทั้งหมดร่วมกัน พิเศษ คุณไม่สามารถรับเป็นสองมากกว่าผู้ ผู้ชม: คุณสามารถใช้ตรรกะ และสำหรับสถานการณ์ที่ LAUREN CARVALHO: ใช่ นั่นเป็นอีกวิธีหนึ่งที่เราจะทำได้ มีการแก้ไขปัญหานี้ เรากำลังจะได้กำหนดไว้ ช่วงใช่ไหม ดังนั้นฉันจะได้บอกว่าถ้า n มีค่า มากกว่า 90 และน้อยกว่า - ดีฉันเดานี้ไม่ได้จริงๆ ว่า แต่ที่นี่ฉันจะได้บอกว่าถ้า n คือมากกว่า 80 และน้อยกว่า 90 มากกว่า 70, น้อยกว่า 80 ที่จะได้ทำงานยัง [เสียงหัวเราะ] LUCAS FREITAS: เธอกลัว LAUREN CARVALHO: อย่ากลัวที่จะ LUCAS FREITAS: มันไม่ได้ ว่ามันจะผิด มันเป็นเพียงแค่ว่ามันเป็นโดยไม่จำเป็น verbose เช่นในสาขาวิชาวิทยาการคอมพิวเตอร์หนึ่งควร จะเป็นง่ายๆเป็นไปได้ตราบใดที่ คุณมีการทำงาน คุณต้องการขนมหรือไม่ ผู้ชม: ไม่จำเป็นต้องเรียน LAUREN CARVALHO: คุณกำลังกลัว ทุกคนที่ลูคัส LUCAS FREITAS: ขออภัย LAUREN CARVALHO: เดวิดยังกล่าวถึง งบเปลี่ยนเหล่านี้ในชั้นเรียน โดยทั่วไปสิ่งที่เกิดขึ้นเป็นสวิทช์ คำสั่งที่ใช้ตัวแปร ในกรณีนี้เรากำลังการจำนวนเต็ม ถ้าจำนวนเต็มคือ 1 เรากำลังจะ พิมพ์ออกมา "คุณเลือกขนาดเล็ก จำนวน. "ถ้าจำนวนเต็มคือ 1" คุณ เลือกจำนวนกลาง. "ถ้า เลข 3 "คุณเลือกสูง จำนวน. "และฉันยังมีกรณีที่เริ่มต้น ลงที่นี่ แต่ไม่ได้แสดงให้เห็น ขึ้นซึ่งเป็นสิ่งที่เลวร้ายเกินไป โดยทั่วไปนี้เป็นเพียง ไวยากรณ์อื่น เราจะได้มีการดำเนินการนี​​้แน่นอน สิ่งเดียวกันกับถ้าและอื่นถ้า งบ แต่เมื่อมีจำนวนมากที่แตกต่างกัน เงื่อนไขและจำนวนมากที่แตกต่างกัน รูปแบบในสิ่งที่คุณต้องการที่จะทำเพื่อ แต่ละท่านนี้เป็นตัวเลือก จึงเป็นเพียงรูปแบบที่ดีที่จะรู้ว่า ใช่? ผู้ชม: ทำไมถึงมีไม่ทับขวา n ในคนแรก? LAUREN CARVALHO: สำหรับขึ้นที่นั่น ไม่มีเครื่องหมายเป็น n มีขึ้น เพราะ GetInt - ถ้าคุณพยายามที่นี้ก็จะ ให้คุณพร้อมท์นี้ ให้ฉันจำนวนเต็มระหว่าง 1 และ 3 และถ้าฉันใส่ฟันเฟือง n, มันจะ พาฉันไปที่บรรทัดถัดไป แต่ฉันเพียงแค่ พวกเขาต้องการที่จะพิมพ์จำนวนเต็ม ทันทีหลังจากที่ลำไส้ใหญ่ คุณอาจจะได้ใส่ฟันเฟือง n มันไม่ได้เป็นเรื่องใหญ่ ใช่? ผู้ชม: สำหรับรหัสนี้เป็น กรณีหนึ่งคือว่าเนื่องจาก มันเป็นกรณีแรก เพราะ - LAUREN CARVALHO: ไม่ไม่ไม่ ดังนั้นนี้จะให้ฉันจำนวนเต็ม ระหว่างวันที่ 1 และ 3 ถ้า n เป็น 1 ผมพิมพ์นี้ ถ้าผมถามตัวผมอาจมี กล่าวว่าให้ฉันเป็นตัวอักษรระหว่าง และ C แล้วนี้จะเป็นกรณี A. ผู้ชม: [ไม่ได้ยิน] กรณีก็จะ [ไม่ได้ยิน] LAUREN CARVALHO: ใช่ที่เหมาะสม ใช่? ผู้ชม: สิ่งที่ถ้าคุณต้องการที่จะมี มากขึ้นจากการแสดงออกเชิงสัมพันธ์? ดังนั้นแทนที่จะพูดว่า n เท่ากับ 1 [ไม่ได้ยิน] n คือมากกว่า 1 ในกรณีแรกหรือไม่ LAUREN CARVALHO: ที่จริงถ้าผมทำไม่ได้ กำหนดบางส่วนของกรณีเหล่านี้จะนี้ ได้รับการดำเนินการลง ดังนั้นที่จริงอาจจะเป็นไม่ได้ สิ่งที่คุณขอ LUCAS FREITAS: ฉันคิดว่าเธอถามว่า กรณีที่ n มากกว่า 0 กรณี น้อยกว่า 0 LAUREN CARVALHO: บางทีสวิทช์ งบไม่ได้จริงๆสิ่งที่คุณต้องการ ที่จะใช้ในกรณีที่ LUCAS FREITAS: งบเปลี่ยนเป็น เพียงสำหรับค่าเพื่อให้คุณตรวจสอบของ มีค่าเป็นเช่นนี้หรือว่า ดังนั้นคุณจึงไม่สามารถจริง วางเงื่อนไข ผู้ชม: อะไรถ้าคน ประเภทด้วย [ไม่ได้ยิน]? LAUREN CARVALHO: ที่จะได้รับ กรณีที่เริ่มต้นของฉันที่โชคร้าย คุณไม่สามารถมองเห็น LUCAS FREITAS: [ไม่ได้ยิน] ทำให้พวกเขาเห็น LAUREN CARVALHO: ที่จริง คุณรู้อะไร ขอเพียงไปศึกษาต่อ 50, และฉันจะ เพียงซูมในภาพนิ่งในการศึกษา 50 เพราะนี้เป็นที่น่ารำคาญเพียง เพื่อให้ฉันจริงไปสู่​​สภาพ นี้เป็นเพียงการไป ใช้เวลาสักครู่ ขวาทั้งหมด ดังนั้นฉันขอโทษ อย่างน้อยตอนนี้เราจะสามารถที่จะเห็น ทุกอย่างโดยไม่ได้ตัด ขวาทั้งหมด ดังนั้นหากพวกเขาใส่ใน 10 เราจะเริ่มต้น ที่นี่เพื่อเริ่มต้นกรณีของฉันและฉัน ก็จะพิมพ์ไม่ถูกต้องเพราะผม ขอให้พวกเขาเข้าสู่จำนวนเต็ม ระหว่างวันที่ 1 และ 3 คำถามใด ๆ อื่น ๆ ใช่? ผู้ชม: สมมติกรณีหนึ่งกรณี สามบอกว่าคุณอยากให้มันเป็นทั้งหมด สิ่งเดียวกันเพื่อให้คุณเลือกจำนวน ที่ไม่เป็นจำนวนปานกลาง ในกรณีที่มันจะซ้ำซ้อน คุณจะเพียงแค่เปลี่ยนข้อความในทั้ง ของพวกเขาหรือจะมีบาง ซ้ำซ้อน มีวิธีใดที่จะรวม [ไม่ได้ยิน]? LAUREN CARVALHO: มีวิธีการที่จะเป็น รวมพวกเขา แต่ผมเชื่อว่าคุณสามารถ เพียง แต่คนที่อยู่ใกล้เคียงรวม ดังนั้นถ้าฉันไม่ได้กำหนดอะไร กรณีที่สองนี้จะ นำไปใช้กับทั้งสองกรณี โอ้ถ้าฉันไม่ได้ใส่อะไรให้กรณี หนึ่งนี้จะนำไปใช้กับทั้ง กรณีที่หนึ่งและสอง หากที่ทำให้รู้สึก ผู้ชม: คุณสามารถทำซ้ำอย่างใดอย่างหนึ่งหรือไม่ LUCAS FREITAS: OK หากคุณไม่เป็นเหมือนคุณมี สิ่งเดียวกัน แต่คุณไม่ใส่ อะไรที่นี่คุณต้องการจะทั้ง กรณีที่หนึ่งหรือกรณีที่สองทำเช่นนี้ ใช่มั้ย? และทำลายนี้หมายความว่าถ้าคุณได้รับ ในกรณีนี้เพียงแค่ปล่อยให้ ดังนั้นนั่นคือสิ่งที่หมายถึงการเบรก ดังนั้นถ้าฉันเพียงแค่นี้คุณดูมัน กรณีที่หนึ่งและคุณก็จะทำเช่นนี้ ถ้ามันเป็นกรณีที่สองมันจะยัง เพียงแค่มาที่นี่และทำเช่นนั้น ผู้ชม: แต่คุณสามารถทำมันได้หรือไม่ หากมีบางสิ่งบางอย่าง กรณีที่สอง [ไม่ได้ยิน] LAUREN CARVALHO: ผมไม่เชื่อว่า คุณสามารถทำเช่นนั้นได้ ฉันไม่คิดว่าคุณสามารถข้ามไปรอบ ๆ คุณสามารถทำเช่นนั้นร็อบ? ฉันไม่คิดอย่างนั้น ผู้ชม: ดังนั้นเพียงจำนวนหนึ่ง สามารถไปหลังจากกรณีใช่มั้ย? มีไม่สามารถเป็นกรณีหนึ่งจุลภาคสอง LUCAS FREITAS: ไม่มีคุณไม่สามารถ แน่นอนคุณไม่สามารถ LAUREN CARVALHO: ผมหมายถึงจุดที่ นี้เป็นตัวเลือกและสิ่งนี้อาจจะไม่ พอดีกับกรณีการใช้งานของคุณเพื่อให้คุณแล้ว จะใช้ในกรณีที่เงื่อนไข ผู้ชม: ดังนั้นเหตุผลที่คุณจะทำเช่นนี้? สวิทช์หรือไม่ LAUREN CARVALHO: ฉันจะใช้นี้ ถ้าคุณได้กำหนดไว้มาก - จริงลูคัสเป็นที่ที่คุณกำลังปิดกั้น LUCAS FREITAS: โอ้ขอโทษ LAUREN CARVALHO: ถ้าคุณมีมาก พฤติกรรมที่กำหนดไว้ที่คุณต้องการสำหรับ แต่ละคนและทุกท่านนี้อาจจะ น้อยรัดกุมกว่าการเขียนออก ถ้ามีคำสั่งสำหรับแต่ละ ผู้ชม: อะไร ทำลายหมายถึงอีกครั้งหรือไม่ LAUREN CARVALHO: หยุดหมายถึงหยุด จำไว้ว่าถ้าฉันไม่ได้มีการหยุดพักนี้ ที่นี่เราจะได้ลดลงเพียงลง ในกรณีต่อไป LUCAS FREITAS: หยุดหมายถึงการที่จะได้รับ ออกมาจากคำพูดของสวิทช์ เพราะถ้ามันเป็นที่ 1 ผมต้องการ พิมพ์นี้และออกจาก ฉันไม่ต้องการที่จะตรวจสอบสิ่งอื่น ผู้ชม: คุณไม่ต้องการ ที่จะพิมพ์อะไรก็ได้ LUCAS FREITAS: ใช่ เพราะมันเป็นพิเศษร่วมกัน ผู้ชม: และไม่เพียง แต่ดำเนินการต่อไปนี้ กรณีต่อไปถ้ากรณีแรก ไม่เป็นความจริง? ? หรือมันจะทดสอบทุกกรณี ในเวลาเดียวกันได้หรือไม่ LUCAS FREITAS: ไม่มัน การตรวจสอบตามลำดับ ตามลำดับใช่ คำถามหนึ่งที่มากขึ้นแล้วเราได้มีการ ย้ายไปเพื่อให้เราสามารถครอบคลุมทุกอย่าง ใช่? ผู้ชม: ดังนั้นสำหรับกรณีที่อาจจะมี ทำสิ่งที่นอกเหนือจากเพียงหนึ่งหรือไม่ คุณสามารถให้ช่วงหรือไม่ LUCAS FREITAS: เลขที่ LAUREN CARVALHO: ฉันไม่คิดว่า คุณสามารถให้มันช่วง LUCAS FREITAS: คุณไม่สามารถคุณ ไม่สามารถให้ช่วง ผู้ชม: กรณีเฉพาะ [ไม่ได้ยิน] LUCAS FREITAS: สวิทช์ เป็นประเภทของค่า คุณทำสิ่งที่แตกต่างกัน ค่า, ค่าเฉพาะ คุณไม่สามารถทำช่วงที่คุณไม่สามารถ ทำอะไรอย่างอื่น มันเป็นเพียงเครื่องมือที่จะเห็นอีก LAUREN CARVALHO: คนส่วนใหญ่ไม่ได้ใช้ สลับงบอย่างมากใน CS50, แต่มันก็มี ขวาทั้งหมด ดังนั้นสิ่งต่อไปที่เรากำลังจะพูดคุย เกี่ยวกับการเป็นผู้ประกอบการที่ประกอบไปด้วย นี่เป็นเพียงชนิดอื่น ของเงื่อนไข โดยทั่วไปสิ่งที่เกิดขึ้นที่นี่คือฉัน ขอจำนวนเต็มและถ้า n คือ มากกว่า 100 ฉันจะพิมพ์ออกมา "สูง." ถ้ามันไม่ได้ฉันจะไป พิมพ์ออกมา "ต่ำ". ดังนั้นสิ่งที่มันทำก็คือเงื่อนไขเป็น ที่นี่ในวงเล็บและคุณ ชนิดของสามารถคิดคำถาม ที่ฉันถามว่า นี้เป็นจริงหรือไม่ ถ้ามันเป็นความจริงที่ฉันจะทำเช่นนี้เป็นครั้งแรก สิ่งและถ้ามันไม่จริงฉัน จะทำเช่นนี้สิ่งที่สอง คำถามใด ๆ เกี่ยวกับ ternary ประกอบการ LUCAS FREITAS: เพียงแค่ต้องการทราบจาก เดวิดก็คือเมื่อใดก็ตามที่คุณมี เงื่อนไข - LAUREN CARVALHO: ผมคิดว่าเดวิด ดูผ่านสตรีมสด LUCAS FREITAS: เขาทำ กระแสชีวิตตอนนี้ ดังนั้นเมื่อใดก็ตามที่คุณมีสภาพที่คุณ ควรจะใส่วงเล็บปีกกา, เช่นเดียวกับที่เรามีในสวิทช์ คำสั่งที่นี่ เรามีวงเล็บปีกกาที่นี่ สำหรับเงื่อนไขสิ่งที่คุณ ควรจะใส่ว่า LAUREN CARVALHO: คุณจะเห็น นี้ในคู่มือสไตล์ เราไม่ได้จริงมี คู่มือรูปแบบที่เหมาะสมในขณะนี้ ผมคิดว่าเดวิดยังคงทำงาน LUCAS FREITAS: เขาบอกว่า เป็นเพียงการทำงานในขณะนี้ LAUREN CARVALHO: โอ้มันคือการทำงานตอนนี้ ตกลง ดังนั้นเห็นได้ชัดว่าปีในสไตล์นี้ แนะนำแม้ว่าคุณจะมีเพียงหนึ่งบรรทัด คุณได้มีการนำผู้ที่ วงเล็บปีกกาค่ะ คุณไม่จำเป็นต้องสำหรับ การทำงานของโปรแกรม และบางทีเราก็ควรจะหยุดพัก หลังจากเงื่อนไขและตรงไป คู่มือสไตล์ที่ชัดเจน บางส่วนของสิ่งเหล่านี้หรือ LUCAS FREITAS: ใช่ คุณมีคำถามหรือไม่ ผู้ชม: ไม่ฉันจะเพียงแค่รอ จนถึงคู่มือสไตล์ ผู้ชม: สามารถคุณกลับไป ที่จะประกอบ ternary? LAUREN CARVALHO: Ternary ใช่ LUCAS FREITAS: ประกอบ Ternary คือ โดยทั่วไปถ้างบอื่น แต่ แทนที่จะต้องมีสองเส้น ของการตรวจสอบในกรณีที่แล้ว อื่นคุณมีเพียงหนึ่งเส้น ดังนั้นโดยทั่วไปถ้าผมต้องการให้สาย ค่าของสูงหรือต่ำและฉัน ต้องการที่จะทำสูงถ้า n มีค่ามากกว่า 100 หรือต่ำถ้ามันน้อยกว่าสิ่งที่ฉันสามารถทำได้ นี้ [ไม่ได้ยิน] สตริงเป็นไปได้และจากนั้นฉัน ขอโปรแกรมที่ n มากกว่า 100? เพื่อที่ว่าทำไมฉันมีการแสดงออกนี้ ในวงเล็บแล้ว เครื่องหมายคำถาม ฉันขอให้มันมีค่ามากกว่า 100? ถ้าเป็นก็เป็นไปได้สูง ถ้ามันไม่ได้ก็เป็นไปได้ต่ำ ดังนั้นโดยทั่วไปสิ่งที่คุณคิดว่าคุณถาม คำถามเพื่อให้คุณใส่ในวงเล็บ สภาพ แล้วคุณจะใส่เครื่องหมายคำถาม เพราะคุณกำลังขอให้มัน และถ้าเป็นจริงก็เป็นไปได้ ในค่าแรก [ไม่ได้ยิน] ที่นี่ ถ้ามันไม่ได้ผมจะใส่ ค่าที่อยู่หลังจากลำไส้ใหญ่ มันทำให้รู้สึก นอกจากนี้ยังมีบางสิ่งบางอย่างที่เป็นเหมือน เครื่องมือใน C แต่คุณไม่จำเป็นต้อง โดยเฉพาะใช้มัน แต่คนมักจะชอบ CS ที่ เพราะเพียงแค่บันทึกบรรทัด LAUREN CARVALHO: มันสง่างามมาก มันไม่มากในเวลาเพียงหนึ่งคำ ผู้ชม: ดังนั้นเครื่องหมายเปอร์เซ็นต์เป็น เพียงแค่สิ่งที่ผลลัพธ์ที่ได้ใน บรรทัดก่อนหน้านี้หรือไม่ LAUREN CARVALHO: โอ้ฉันขอโทษ เครื่องหมายเปอร์เซ็นต์นี้เป็นจริง ตัวยึดสำหรับนี้ s ในงบ printf คุณได้มีนี้ สตริงที่นี่ซึ่งเป็นสิ่งที่จะ พิมพ์ออกมา แต่คุณไม่สามารถเพียงแค่ วางนี้ s ในนั้น มิฉะนั้นก็จะพิมพ์ ออก s แท้จริง ดังนั้นเราจึงใส่เปอร์เซ็นต์ที่นี่เพื่อเก็บ สถานที่ที่จัดขึ้นสำหรับสิ่งที่ มาหลังจากจุลภาค ดังนั้นสำหรับสตริงคุณได้มีร้อยละของ สำหรับจำนวนเต็มร้อยละฉัน สำหรับลอยร้อยละฉ คุณจะเห็นผู้ที่เรา ดูตัวอย่างเพิ่มเติม แต่บางทีคุณอาจจะพูดคุยเกี่ยวกับ คู่มือรูปแบบในขณะที่เล็ก ๆ น้อย ๆ ในขณะนี้ ว่ามันเป็นขึ้น LUCAS FREITAS: ถ้าคุณไปที่ cs50.net/style คุณกำลังจะไปดู คู่มือสไตล์ สำหรับชุดปัญหาคะแนนของคุณสำหรับ ชุดปัญหาประกอบด้วยขอบเขต ซึ่งโดยทั่วไปหมายความว่าถ้าคุณทำทุกอย่าง ในส่วนของปัญหาการตั้งค่าหรือถ้าคุณ พยายามบางสิ่งบางอย่าง สิ่งที่สองคือความถูกต้องซึ่ง วิธีการที่โปรแกรมของคุณทำในสิ่งที่มัน ควรจะทำหรือไม่ได้ มีข้อบกพร่องหรือมันไม่ได้ทำในสิ่งที่ มันควรจะทำ สิ่งที่สามคือการออกแบบซึ่งหมายความว่า คุณจะดำเนินการอย่างดีนี้หรือ คุณใช้งบที่ไม่จำเป็น ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณต้องการที่จะทำซ้ำ จำนวน 10 ครั้งที่คุณเขียน สำหรับวงหรือคุณแค่ทำ 10 ครั้ง คำสั่งเดียวกันเพียงแค่การทำ คัดลอกและวาง ดังนั้นการออกแบบเป็นที่ และในที่สุดคุณจะมีสไตล์ รูปแบบเช่นเดียวกับการตัดสิน ถ้ารหัสของคุณดู อ่านและชนิดของสวย มันก็โดยทั่วไปหมายถึง เป็นรหัสของคุณได้หรือไม่ คนอื่นที่จะถูกมองเป็น รหัสของคุณจะสามารถเข้าใจสิ่งที่ มันทำอะไร ไม่ได้มีความเห็นและไม่ชอบหรือไม่ ขอพูดคุยเกี่ยวกับรูปแบบที่ คุณควรจะใช้ สิ่งแรกคือความเห็นของ ความเห็นที่มีความสำคัญมากสำหรับคุณ รหัสเพราะบางครั้งที่คุณกำลังทำ โปรแกรมของคุณและคุณรู้ว่าสิ่งที่ คุณต้องการที่จะทำเพื่อให้คุณเพียงแค่เริ่มต้น การเขียนโปรแกรมเพียงพิมพ์ขึ้นพวงของ C. แต่ ถ้าคนอื่นจะมองคุณอยู่ รหัสพวกเขาจะไม่สามารถที่จะ เข้าใจว่ามันเป็นเพราะพวกเขาไม่ทราบ สิ่งที่อยู่ในหัวของคุณเช่น pesudocode ดังนั้นพวกเขาอาจจะ มีช่วงเวลาที่ยากที่จะเข้าใจ สิ่งที่รหัสจะทำ ดังนั้นความเห็นที่มีประโยชน์มากในการอธิบาย กับคนที่กำลังมองหาที่ รหัสของคุณสิ่งที่มันทำและ แม้จริงสำหรับคุณ พวกเขากำลังมีประโยชน์มาก ในขณะที่คุณไป Psets หนักและยาก คุณจะเห็นว่ารหัสที่ได้รับ อีกต่อไปและแล้วความเป็นจริง ที่สำคัญเพื่อให้คุณจำสิ่งที่แต่ละ ส่วนหนึ่งของโปรแกรมของคุณไม่ ที่จะนำความคิดเห็นของคุณก็สามารถทำได้ เฉือนเฉือนแล้วเขียนความเห็น และสายทั้งหมดเป็นส่วนหนึ่งของความคิดเห็นที่ และสิ่งที่คุณเขียนลง ก็จะไม่ได้ ใช้สำหรับรหัสของคุณ มันเป็นพื้นเช่นคอมไพเลอร์ เป็นไปไม่สนใจว่า ไม่ที่ทำให้รู้สึก? ผู้ชม: คุณจะทำอย่างไรอีกครั้ง เพื่อเขียนความคิดเห็นหรือไม่ LUCAS FREITAS: This? เฉือนเฉือน? เมื่อใดก็ตามที่คุณพิมพ์ที่เฉือนเฉือนสิ่งที่ อยู่ในสายที่ไม่ได้ไป ที่จะได้รับการพิจารณาให้เป็น C. ใช่? ผู้ชม: ดังนั้นหลังจากที่ความคิดเห็นของคุณ เพียงแค่ใส่และเริ่มบรรทัดใหม่ได้หรือไม่ LUCAS FREITAS: ใช่ว่า LAUREN CARVALHO: เฉือนเฉือน สำหรับความเห็นบรรทัดเดียว LUCAS FREITAS: ตัวอย่างเช่น ที่นี่เรามี - ให้ฉันขยาย - ตัวอย่างเช่นที่นี่ฉันประกาศลอย, แต่บางทีถ้าคุณเพียงแค่ใส่นี้ ในรหัสของคุณเช่นคุณมีความคิด สิ่งนี้จะทำเหมือนจริง คนที่กำลังมองหาที่รหัสนี้ เป็นไปได้เช่นเดียวกับสิ่งที่ ห่าที่เกิดขึ้น หากคุณใส่ความเห็นบอกว่า "แปลง ฟาเรนไฮต์เซลเซียสก็จะทำให้มาก รู้สึกมากขึ้น คุณเหมือนตกลงคุณ การทำแปลง ไม่ที่ทำให้รู้สึก? จึงเป็นเพียงสิ่งที่ช่วยให้ผู้คน พร้อมรหัสของคุณและยังทำให้ คุณจะสามารถจัด รหัสของคุณดีขึ้น สิ่งที่สองคือที่คุณสามารถทำได้ ความเห็นหลายสายเพื่อให้มีอย่างใดอย่างหนึ่ง แสดงความคิดเห็นกับพวงของสาย แทนที่จะต้องใส่เฉือนเฉือน, เห็นเส้นแรกเฉือนเฉือน, บรรทัดที่สองและอื่น ๆ คุณ สามารถใช้ดาวเฉือน วิธีการที่คุณทำมันเป็นที่สำหรับ บรรทัดแรกของการแสดงความคิดเห็นของคุณ จะทำดาวเฉือนดาว เช่นดังนั้นเพียงแค่ว่า เช่นเดียวกับที่นี่เรามีจุดเริ่มต้นของ โปรแกรมคุณมักจะใส่คนที่คุณ เป็นสิ่งที่โปรแกรมนี้ไม่ และสิ่งที่ต้องการที่ มันเป็นชนิดเช่นส่วนหัว สำหรับโปรแกรม อีกครั้งก็ไม่ใช่สิ่งที่ คอมไพเลอร์จะไปเกี่ยวกับการดูแล แต่ มันเป็นสิ่งสำคัญสำหรับคุณที่จะรู้ว่านี้ โปรแกรมหรือไม่สำหรับคนอื่น ๆ ที่จะรู้ว่าโปรแกรมของคุณจะทำ ดังนั้นคุณจะเฉือนดาวดาวแล้ว บรรทัดสุดท้ายที่คุณกำลังจะทำดาว เฉือนเพื่อให้สามารถที่จะปิด ความคิดเห็นที่ ดังนั้นโดยทั่วไปสำหรับทุกสายอื่น ๆ คุณก็สามารถเขียนสิ่งที่และสิ่งนี้ คือทั้งหมดที่จะได้รับการละเว้น และเช่นเดียวกับรูปแบบที่คุณเห็นว่า แต่ละเส้นมีดาวและทุก ดาวอยู่ในแนวเดียวกัน เหล่านี้เป็นสิ่งสำคัญมาก ว่ารหัสของคุณดูสวย เสียงดี? ตอนนี้เงื่อนไข ดาวิดได้รับการบอกว่าเราควรจะ ใส่จริงในสไลด์นั้นก็คือ เมื่อคุณมีชนิดของถ้างบใด หรือชนิดของเงื่อนไขใด ๆ คุณควรใช้วงเล็บปีกกาที่จะแสดงให้เห็นว่า นี่คือสิ่งที่จะเกิดขึ้น เมื่อคุณมีสภาพ ในทางเทคนิคเมื่อคุณมีสภาพ แล้วบรรทัดถัดไปเป็นเพียงหนึ่งใน สายที่คุณไม่ได้ในทางเทคนิค จะใส่วงเล็บปีกกา คอมไพเลอร์โดยทั่วไปจะเข้าใจ มันต่อไปเป็นนัย แต่สำหรับ CS50 เราขอให้พวกคุณใส่ วงเล็บปีกกาเพียงเพื่อให้คุณ รหัสเป็นระเบียบมากขึ้น และอ่านง่ายขึ้น เพราะรหัสที่ได้รับอีกต่อไปถ้าคุณ ไม่ได้มีวงเล็บปีกกาและเช่น จะได้รับยุ่งจริงๆ LAUREN CARVALHO: นี่เป็นสิ่งที่ ดาวิดเพียงแค่ชี้ให้เห็น ในสไลด์ก่อนหน้าของฉัน แน่นอนมันทำงานโดยไม่ต้องหยิก จัดฟัน แต่สำหรับเหตุผลโวหาร เราจะขอให้ คุณไม่นำผู้ที่เข้ามา และเมื่อคุณเริ่มทำงาน style50, ซึ่งเป็นชนิดของการตรวจสอบ 50 สำหรับ รูปแบบก็จะเตือนให้คุณทำเช่นนี้ LUCAS FREITAS: และอีกสิ่งหนึ่งที่เป็น อย่าลืมใส่วงเล็บปีกกาพร้อม ในแต่ละบรรทัด เพื่อให้คุณทำเช่นแมง s ไปที่บรรทัดถัดไปเปิดหยิก รั้งแล้วคุณไปยังบรรทัดถัดไป เยื้องซึ่งเป็นสี่ช่องว่าง แล้วคุณเขียนสิ่งนั้นอีก สายและปิดวงเล็บปีกกา เพื่อให้แน่ใจว่าทั้งสองหยิกที่ เครื่องมือจัดฟันอยู่ในสายที่แตกต่างกัน ผู้ชม: ดังนั้นถ้ารหัสนี้มีเช่น 10 อื่นไอเอฟเอควรนี้ มี 10 ชุดของวงเล็บ? LUCAS FREITAS: ใช่สำหรับแต่ละของพวกเขา ใช่ ดังนั้นหากอื่นถ้าและอื่น ๆ ผู้ชม: คุณไม่สามารถ กด Tab เพื่อเยื้อง? LUCAS FREITAS: เราขอให้คุณ ผู้ชายที่จะใช้ช่องว่างที่สี่ บางบรรณาธิการข้อความแท็บแปล เป็นสี่ช่องว่างโดยอัตโนมัติ Gedit ไม่ได้เพื่อให้คุณได้ ทำพื้นที่พื้นที่พื้นที่พื้นที่ นอกจากนี้ยังเป็นสิ่งที่บาง โปรแกรมเมอร์เพียง แต่ทำแท็บบาง โปรแกรมเมอร์เพียง แต่ทำสี่ช่องว่าง และบางคนอื่น ๆ ได้ทำ สองหรือสามช่องว่าง มันเป็นเพียงแค่ว่าที่นี่เรากำลังขอให้ พวกคุณจะทำสี่ช่องว่าง ผู้ชม: มีเกือบจะแน่นอน ได้จะต้องมีวิธีการที่จะ Gedit โดยอัตโนมัติ [ไม่ได้ยิน] ที่ไม่เหมือนใคร [ไม่ได้ยิน] ไม่ว่า LUCAS FREITAS: ใช่ ฉันคิดว่าคุณสามารถไปที่การตั้งค่า ผู้ชม: แล้วมันไม่ทั้งหมดที่ LUCAS FREITAS: แล้วมันอย่างไร ตกลง ดังนั้นเพียงแค่ให้แน่ใจว่าคุณ มีสี่ช่องว่าง ผู้ชม: เราต้องใส่หยิก วงเล็บในวงด้วยหรือไม่ LUCAS FREITAS: ใช่ LAUREN CARVALHO: เมื่อใดก็ตามที่คุณ encapsulating บล็อกของรหัสเพียง โปรดใช้วงเล็บปีกกา และก่อนที่คุณคิดว่าเรากำลังเพียง การชำรุดเกี่ยวกับเรื่องนี้ไม่ดี เหตุผลถ้าพวกคุณไปในที่จะได้รับ ฝึกงานที่ บริษัท เทคโนโลยีขนาดใหญ่ พวกเขาจะให้คำแนะนำรูปแบบและ พวกเขาจะบอกคุณนี่คือสิ่งที่คุณ รหัสความต้องการที่จะมีลักษณะเหมือน และแม้ว่าคุณจะเรียนรู้ที่จะรหัสเช่น นี้อาจจะอยู่ในการฝึกงานของคุณ คุณจะต้องทำอะไรบางอย่าง ที่แตกต่างกันอย่างสมบูรณ์ พวกเขาไม่คาดหวังให้คุณเพื่อให้สอดคล้อง ให้เข้ากับสไตล์ของพวกเขา LUCAS FREITAS: สิ่งและอีกหนึ่งคือ ที่คุณจะแจ้งให้ทราบว่าผมมีเช่น x, พื้นที่น้อยกว่าพื้นที่, 0? เมื่อใดก็ตามที่คุณมีการดำเนินการ - มันจะเป็นเช่นบวกลบที่เวลาน้อยกว่า มากขึ้นผู้ประกอบการสิ่งที่ - คุณต้องใส่ช่องว่างทางด้านซ้าย และขวาของผู้ประกอบการ LAUREN CARVALHO: ผู้ที่มี ที่เรียกว่าตัวถูกดำเนินการไบนารี เพียงให้แน่ใจว่าคุณมักจะพื้นที่ ออกตัวถูกดำเนินการไบนารีของคุณ LUCAS FREITAS: นี่คือ ไม่ถูกดำเนินการไบนารี LAUREN CARVALHO: นั่นคือ เพราะมันใช้เวลาสอง LUCAS FREITAS: โอ้ใช่ ตกลงสวิทช์ ขั้นแรกคุณต้องดูว่าเหมือน ในคำสั่งหรืออื่น ๆ ถ้าคุณมี จะใส่วงเล็บปีกกาบนบรรทัดของตนเอง และอยู่ภายใต้วงเล็บปีกกาที่นี่ ขอให้สังเกตว่ามีพื้นที่เดียว หลังจากที่สวิทช์เช่นเดียวกับในกรณีที่และอื่น เรามีพื้นที่เดียวระหว่าง ที่และวงเล็บ ดังนั้นคุณต้องใส่ที่ และมีพื้นที่ที่ไม่ถูกต้องหลังจากที่แต่ละ วงเล็บหรือก่อนสิ้น วงเล็บ ดังนั้นคุณจะเห็นว่ามันเป็นทั้งหมดเข้าด้วยกัน และยังต้องการที่นี่ ใช่? LAUREN CARVALHO: ผมคิดว่า เราต้องเดินหน้าต่อไป LUCAS FREITAS: ดังนั้นนี่คือส่วนหนึ่งของ คู่มือสไตล์ที่คุณมีสำหรับ CS50 ให้แน่ใจว่าจะไป cs50.net/style และดูที่นี้ ทั้งหมดเหล่านี้เป็นสิ่งที่สำคัญมาก สำหรับคะแนนสไตล์ของคุณ ผมขอกลับไปที่คำสั่ง LAUREN CARVALHO: ฉันต้องการ แต่ เพียงแค่ใช้ style50 เรากำลังจะไป ตรงไปยังลูป ขวาทั้งหมด ดังนั้นขอกลับไปที่เนื้อหาตอนนี้ ที่เราได้ไปแล้วกว่าคู่มือสไตล์ ลูปที่คุณเคยเห็นพวกเขาในการเกาและ ที่เรากำลังจะพูดคุยเกี่ยวกับพวกเขาใน C. ในห่วงสำหรับมี สามส่วนที่จะ การประกาศนี้สำหรับวง คุณได้มีการเริ่มต้นของคุณใน ซึ่งคุณตั้งค่าตัวแปรของคุณ คุณได้มีสภาพที่เป็นของคุณ การตรวจสอบเพื่อดูว่ามีอะไรบางอย่าง จริงหรือเท็จและไม่ว่า ห่วงควรดำเนินการต่อ และคุณได้มีการปรับปรุงของคุณซึ่ง มีการปรับปรุงตัวแปรของคุณ ขอเพียงใช้เวลาดูอย่างรวดเร็วที่บางส่วน รหัส C นี้สำหรับวงในการดำเนินการ สิ่งที่เกิดขึ้นที่นี่ใน เริ่มต้นที่เรากำลังตั้ง i 0 อยู่ในสภาพที่เรากำลังตรวจสอบ ไม่ว่าจะเป็น i น้อยกว่า 10 และในการปรับปรุงที่เรากำลัง incrementing i ดังนั้นสิ่งที่จะเป็นผลมาจาก นี้สำหรับวง? LUCAS FREITAS: ที่จริงแรกของทั้งหมด ที่พวกคุณรู้ว่าสิ่งที่ i + + คืออะไร? ผู้ชม: 1 ที่เพิ่มขึ้น LUCAS FREITAS: เพิ่มขึ้นโดยที่ 1 ใช่ ดังนั้นนี่คือสิ่งเดียวกับ ทำผมเท่ากับที่ผมบวก 1 และแจ้งให้ทราบว่าเราไม่ได้มีพื้นที่ ระหว่างฉันและ + + + ดังนั้นที่พวกคุณรู้ว่าสิ่งนี้จะทำอย่างไร คนที่สามารถบอกฉันได้ไหม และอาจจะได้รับขนมบาง เพราะการที่ ผู้ชม: [ไม่ได้ยิน] LUCAS FREITAS: OK [ไม่ได้ยิน] แสดงทุกคนต่อมา [ไม่ได้ยิน] ใช่ก็จะแสดง "นี่ เป็น CS50 "10 ครั้ง LAUREN CARVALHO: ผมคิดว่ามันเป็น ในชื่อเรื่องของภาพนิ่ง LUCAS FREITAS: โอ้ใช่ [เสียงหัวเราะ] LUCAS FREITAS: ที่ช่วยให้ LAUREN CARVALHO: ดังนั้นผู้ที่ สำหรับลูป เรากำลังจะไปดูบางตัวอย่างเพิ่มเติม สำหรับการลูปในภายหลัง แต่ขอจริงจะดูที่ ประเภทที่สองของวงที่คุณจะพบ ใน C, และก็เรียกว่าห่วงขณะ ในวงในขณะที่คุณได้ เพียงแค่มีเงื่อนไข สภาพมีการตรวจสอบใน จุดเริ่มต้นและถ้าเงื่อนไขที่ว่า ตรวจสอบการจริงแล้วรหัสภายใน ร่างกายของบล็อกในขณะที่ จะดำเนินการ และรหัสที่จะดำเนินการต่อไป ดำเนินการตราบเท่าที่ สภาพยังคงเป็นจริง นี่คือตัวอย่างของห่วงขณะใน C. เป็น เรากำลังจะไปตั้งนับ 10 เพื่อ เริ่มต้นด้วย ตราบใดที่นับเป็นมากกว่า 0 เราจะให้พิมพ์ออกนี้ ตัวแปรที่นี่ เรากำลังจะพร่องนับและ จากนั้นตรวจสอบเงื่อนไขอีกครั้ง พิมพ์ลดลงตรวจสอบ สภาพอีกครั้ง ที่นี่เรามีตัวอย่างที่เกี่ยวข้องกับ กับคำถามของคุณก่อนหน้านี้ เรามีเปอร์เซ็นต์ s เมื่อเราเป็น พิมพ์ออกสตริงและตอนนี้ที่ เรากำลังพิมพ์ออก int เรามี i เปอร์เซ็นต์เป็นตัวยึดของเราแทน ตัวอักษรทั้งหมดควรจะสวย ที่ใช้งานง่าย, s สตริงฉันเพื่อ int ดังนั้นถ้ารหัสนี้ดำเนินการคุณควร นับถอยหลัง 10-0, พิมพ์ออก แต่ละจำนวนเต็ม LUCAS FREITAS: และคุณสามารถคิด ร้อยละที่มันรู้สึกเหมือนว่างเปล่า พื้นที่และจากนั้นคุณใส่นี้ ตัวแปรที่นี่ในพื้นที่ว่างเปล่าที่ ดังนั้นสำหรับตัวอย่างเช่นที่นี่ฉันจะมีเพียงแค่ ที่ว่างเปล่าและจากนั้นฉันวาง นับมีสิทธิ์ ค่าของการนับ ไม่ที่ทำให้รู้สึก? ฉันจะทำเช่น printf แล้วคำพูดนับ? ที่จะทำงานอย่างไร ผู้ชม: เลขที่ LUCAS FREITAS: ไม่มีเพราะมันจะ จริงพิมพ์คำว่า "นับ" แทนการพิมพ์ค่า นี่คือวิธีที่คุณทำมันพิมพ์ค่า ต่อตัวแปรแทน เพียงแค่ชื่อของตัวแปร คำถามใด? ผู้ชม: คุณใช้ทำไม เป็นตรงข้ามกับในขณะที่? LAUREN CARVALHO: ฉันจะใช้สำหรับ ห่วงถ้าฉันรู้ว่าวิธีการหลาย ซ้ำฉันต้องการห่วงของฉันในการทำงาน ในกรณีนี้มันไม่สำคัญเพราะ ฉันหมายความว่าฉันก็แค่พยายามที่จะ คิดว่าง่ายมาก ตัวอย่างสำหรับสไลด์นี้ แต่ขอบอกว่าคุณต้องการอะไร เพื่อให้ไปในขณะที่ - LUCAS FREITAS: ตัวอย่างเช่นคุณ ขอใส่จนบุคคลที่ จะช่วยให้คุณเข้าขวา ดังนั้นเช่นในขณะที่นำเข้าไม่ได้ ตกลงให้ขอให้มัน หรือชอบในขณะที่คุณพ่อแม่ไม่ให้ คุณมีเงินให้ขอให้มัน [เสียงหัวเราะ] LAUREN CARVALHO: คุณไม่ทราบวิธีการ หลายครั้งที่คุณจะต้องทำมัน LUCAS FREITAS: เพราะคุณทำไม่ได้ ทราบว่าหลายครั้งที่ จะให้ไป LAUREN CARVALHO: แต่ในการวน คุณจำเป็นต้องรู้วิธีการที่หลายต่อหลายครั้ง ใช่? ผู้ชม: เพ​​ียงชี้แจงร้อยละ กล่าวว่านี้เป็นสิ่งที่เกี่ยวกับการที่ เกิดขึ้นของฉันเพื่อจำนวนเต็ม และเครื่องหมาย n - LAUREN CARVALHO: หมายถึง? ใครรู้ว่าสิ่งที่ทับขวา n หมายถึง บรรทัดใหม่ใช่ อย่างแน่นอน LUCAS FREITAS: คุณสามารถคิด ของ n เป็นบรรทัดใหม่ LAUREN CARVALHO: Nice ผู้ชม: อะไรที่นับ รีบรีบ [ไม่ได้ยิน]? LUCAS FREITAS: จำนวนลบลบเป็น สิ่งเดียวที่เป็นบวกบวก แต่ แทนการที่เพิ่มขึ้น มันลดลง 1 LAUREN CARVALHO: ใด ๆ เพิ่มเติม ในขณะที่คำถามห่วง? ไม่ได้หรือไม่ โอ้เราควรจะ ได้ข้ามไปที่ นี้เป็นสิ่งที่ต้องทำในขณะที่วง คล้ายกับวงในขณะที่ยกเว้นใน กรณีที่เราตรวจสอบสภาพหลังจากนี้ รหัสในร่างกายของ ห่วงรันครั้งเดียว ดังนั้นเราจึงรันโค้ด ครั้งแรกไม่ว่าสิ่งที่ จากนั้นเราจะตรวจสอบสภาพการดำเนินการ อีกครั้งถ้าเงื่อนไขเป็นจริง คุณจะพบว่าตัวเองใช้นี้เมื่อ คุณขอข้อมูลจากผู้ใช้ เพราะคุณมักจะต้อง ถามครั้งเดียวแล้วขึ้นอยู่กับสิ่งที่ ป้อนข้อมูลผู้ใช้คือคุณอาจจะต้อง reprompt และถามอีกครั้งและอีกครั้งถ้า ป้อนข้อมูลที่ไม่ได้สิ่งที่คุณ คาดหวังให้เป็น ผู้ชม: ดังนั้นมันก็เหมือนรูปแบบ สำหรับคนที่จะกรอก LAUREN CARVALHO: ใช่ว่า คุณจะพบว่าผมคิดว่าในครั้งแรกของคุณมาก pset คุณจะต้อง ใช้ห่วงทำดีที่จะเก็บ ข้อมูลจากผู้ใช้ ผู้ชม: ทั้งนี้ขึ้นอยู่กับสถานการณ์ ลูปในขณะที่ของคุณจะมีแนวโน้มที่จะทำงานมากขึ้น บ่อยกว่าในขณะที่ลูปเช่น โดยหนึ่งหรืออะไร LAUREN CARVALHO: ถ้ามันเป็นที่แน่นอน - LUCAS FREITAS: พวกเขาควรจะทำงาน จำนวนเงินที่แน่นอนของเวลาที่คุณ ต้องการให้ทำงาน เช่นเดียวกับที่เราใช้ในขณะที่ทำเพราะเราจริงๆ ต้องการที่จะได้รับข้อมูลอย่างน้อยหนึ่งครั้ง ลูปในขณะที่บางครั้งคุณไม่ต้องการ ที่จะดำเนินการได้เลยถ้ามันไม่ได้ กรณีที่จะดำเนินการ ดังนั้นมันขึ้นอยู่กับการออกแบบ ฉันหมายความว่าคุณสามารถใช้อย่างใดอย่างหนึ่งหรือทำในขณะที่ ในขณะที่ตราบเท่าที่รหัสของคุณไม่ว่า มันควรจะทำ LAUREN CARVALHO: แต่ที่ฉันทำ คิดว่าคำตอบของคุณ คำถามที่น่าจะใช่ สมมติว่าเงื่อนไขเป็นเท็จ ในกรณีที่มันจะทำงานทันทีและ กรณีที่จะใช้เป็นศูนย์อีกครั้ง ดังนั้นใช่ คำถามใด ๆ อีกหรือไม่ ใช่? ผู้ชม: สภาพห่วงสามารถ สำหรับวงในแง่ของตัวแปรอื่น ๆ กว่า [ไม่ได้ยิน] LAUREN CARVALHO: ใช่ มันสามารถเป็นอะไรก็ได้ อาจจะเริ่มต้น Psets คุณ จะไม่ต้องพบกับกรณีที่ แต่ แน่นอนมันสามารถเป็นอะไรก็ได้ LUCAS FREITAS: ผมคิดว่า เรากำลังทำที่นี่ LAUREN CARVALHO: มีเรา? ไม่ได้หรือไม่ LUCAS FREITAS: ลูป? ใช่ LAUREN CARVALHO: เราไม่ควรจะ โอ้เราจะทำกับลูป ตกลง ที่จริงเพราะเราได้รับการพูดคุยเพื่อ มากขอจริงทั้งหมดนำทาง ไป study.cs50.net/conditions และคุณกำลังจะไปลง กับเครื่องมือปัญหา ดีจริงในขณะที่คนจะได้รับ การตั้งค่านี้การศึกษา CS50 เป็น จะเป็นเครื่องมือที่ TFs ของคุณจะ ใช้ในการเตรียมความพร้อมสำหรับส่วนและที่ พวกคุณสามารถใช้ถ้าคุณพลาดส่วน มันจะมีพวงของภาพนิ่ง, เคล็ดลับและเทคนิคสำหรับแต่ละ หัวข้อและปัญหาการปฏิบัติบาง กับการแก้ปัญหา ทุกคนไม่ทำไมเพียงแค่ใช้เวลาดู ที่ปัญหานี้ที่นี่ ฉันขอโทษฉันควรจะได้รับการเตือน คนที่จะนำแล็ปท็อปวันนี้ แต่ถ้าคุณไม่ได้มี แล็ปท็อปที่ตกลง คุณก็สามารถจดลงบนนี้ ชิ้นส่วนของกระดาษหรือดูมากกว่า ไหล่ของเพื่อนบ้าน ลองและเขียนโปรแกรมที่ แจ้งให้ผู้ใช้ที่จะใช้การคาดเดาที่ ค่าเฉลี่ยของจำนวนเด็กต่อครอบครัว หน่วยในประเทศสหรัฐอเมริกา ตัวเลขที่ 2 โดยวิธีการที่เป็นคุณ สามารถดูได้จากตัวอย่างเหล่านี้ เราต้องการที่จะพิมพ์ออกมาจำนวนเฉลี่ยของ เด็กต่อครอบครัวในสหรัฐอเมริกาแล้วเรา ต้องการอะไร เราต้องการที่จะเก็บรวบรวมข้อมูล จากผู้ใช้ และจากนั้นก็ขึ้นอยู่กับสิ่งที่ผู้ใช้ของ ท่านคือคุณกำลังจะพิมพ์ออกมา อย่างใดอย่างหนึ่งนี้เป็นที่ถูกต้อง หรือไม่ถูกต้อง และสิ่งแรกที่คุณจะ ดูถ้าคุณคลิกที่ลูกศรเล็ก ๆ น้อย ๆ ด้านล่างของเครื่องมือปัญหาคือ จุดจด pseudocode บาง ดังนั้นคุณไม่ได้เขียนโปรแกรมยัง คุณเพียงแค่ได้รับของคุณ ความคิดในการสั่งซื้อ ไม่มีใครต้องการที่จะช่วยให้ลูคัส ขึ้นมาทางด้านขวา pseudocode กับปัญหานี้หรือไม่ LUCAS FREITAS: เป็นสิ่งแรกคืออะไร ที่เราอาจจะทำที่นี่? อะไรคือสิ่งที่พวกคุณคิดว่า? ผู้ชม: [ไม่ได้ยิน] LUCAS FREITAS: ใช่ตกลง ดังนั้นการพิมพ์ เพียงกล่าวว่าการพิมพ์เฉลี่ยนี้ จำนวนของคนที่? ตกลง พิมพ์คำถามสมมติว่า หลังจากที่ผมพิมพ์คำถามนี้ สิ่งที่ฉันควรทำอย่างไร ผู้ชม: ได้รับข้อมูล LUCAS FREITAS: รับเข้า อะไรอีกหรือไม่ ผู้ชม: สภาพ LUCAS FREITAS: สภาพ LAUREN CARVALHO: คืออะไร สภาพจะเป็นอย่างไร ผู้ชม: จำนวน [ไม่ได้ยิน] LAUREN CARVALHO ขวา LUCAS FREITAS: ดังนั้นสิ่งที่ฉันจะ เพื่อตรวจสอบให้อยู่ในสภาพหรือไม่ ผู้ชม: ถ้ามันเท่ากับ 2 LAUREN CARVALHO: ถ้ามันเท่ากับ 2 อย่างแน่นอน LUCAS FREITAS: มีอะไรที่ อื่นที่ฉันควรทำอย่างไร ผู้ชม: จำนวน LUCAS FREITAS: ดังนั้นถ้าหากมันเป็น เท่ากับ 2 สมมติว่า - ให้ฉันเพียงแค่เขียนถ้าใส่เท่ากับ 2 แล้วสิ่งที่ฉันจะ ทำคือการพิมพ์ที่ถูกต้อง แล้วอย่างอื่นที่ฉันจะ ในการพิมพ์ไม่ถูกต้อง อะไรอีกหรือไม่ ไม่ได้หรือไม่ LAUREN CARVALHO: คุณ สามารถคลิกที่ - ไม่ทุกคนมีนี้ลง LUCAS FREITAS: มันทำให้รู้สึก ดังนั้นตอนนี้เราจะพยายามที่จะรหัสนี้ LAUREN CARVALHO: หากคุณคลิกน้อย ลูกศรก็จริงของคุณประหยัด pseudocode ซึ่งเป็นที่น่าตื่นเต้นจริงๆ และคุณสามารถทำให้ผู้ที่เข้ามาแสดงความคิดเห็นว่า คุณต้องการเพียงเพื่อเตือนตัวเองของ ว่าจะทำอย่างไร LUCAS FREITAS: ดังนั้นตัวอย่างเช่นครั้งแรก ฉันจะพิมพ์คำถามเพื่อให้ วิธีการที่ฉันจะทำอย่างนั้นจริง printf ดังนั้น printf และคำถามคือเฉลี่ย จำนวนเด็กต่อ ครอบครัวในสหรัฐอเมริกา แล้วฉันจะได้รับ ข้อมูลจากผู้ใช้ ดังนั้นวิธีการที่ฉันสามารถทำได้ ผู้ชม: รับ Int LAUREN CARVALHO: GetInt LUCAS FREITAS: OK ดังนั้นครั้งแรกที่ประกาศใช่ไหม int, ขอ​​เรียกว่า n เท่ากับ GetInt และตอนนี้สภาพ ดังนั้นให้ฉันบอกว่าฉันจะ ที่นี่ตรวจสอบคำตอบ แรกดังนั้นถ้าใส่ซึ่งเป็น n เท่ากับ ไป - วิธีการที่ฉันจะเขียนที่ ผู้ชม: ความเสมอภาคเท่าเทียมกัน LUCAS FREITAS: Perfect ดังนั้น n และสังเกตเห็นว่าฉันทำพื้นที่ เท่ากับเท่ากับพื้นที่จริง และตอนนี้สิ่งที่ฉันควรทำอย่างไร สิ่งที่สำคัญมากสำหรับสไตล์ วงเล็บปีกกา แล้วฉันจะพิมพ์ ฉันจะพิมพ์ได้อย่างไร printf ผู้ชม: มันสามารถเป็นตัวพิมพ์ใหญ่? LUCAS FREITAS: เลขที่ มันควรจะเป็นตัวพิมพ์เล็กทั้งหมด เพื่อให้เป็นที่ถูกต้อง นี้จะพอเพียงสำหรับ printf คำสั่งหรือฉันไม่มีอะไร ผู้ชม: สายใหม่ LUCAS FREITAS: สายใหม่ใช่ และตอนนี้อื่น ผู้ชม: มีพื้นที่ หลังจาก printf หรือไม่ LAUREN CARVALHO: เราควร ตรวจสอบคู่มือสไตล์ ผู้ชม: มันไม่ควรจะเป็น LUCAS FREITAS: ไม่ควรที่จะตกลง ดังนั้นอื่น printf "นั่นคือไม่ถูกต้อง." LAUREN CARVALHO: โอ๊ะคำพูดของคุณ LUCAS FREITAS: OK อะไรอีกหรือไม่ มันดูดี LAUREN CARVALHO: เราจะลองหรือไม่ LUCAS FREITAS: ใช่ให้เรียกใช้ ดังนั้นจึงเป็นที่รวบรวมและมัน ดูเหมือนว่าการทำงาน ลองเด็กสองคน นั่นคือที่ถูกต้อง และตอนนี้ขอทำงานอีกครั้ง แต่ตอนนี้แทน ของการวางลูกสองให้ บอกว่าฉันจะใส่เช่นห้า ที่ไม่ถูกต้อง ดังนั้นดูเหมือนว่าการทำงาน LAUREN CARVALHO: คุณไม่แสดงทำไมพวกเขา สิ่งที่เกิดขึ้นถ้าคุณใส่บางสิ่งบางอย่าง แปลกเช่นตัวอักษรบาง LUCAS FREITAS: โอ้ใช่ ให้ตรวจสอบว่า เกิดอะไรขึ้นหากผู้ใช้พยายามที่จะรับประทานอาหาร กับโปรแกรมของคุณและพวกเขาเพียงแค่ เขียนผมไม่ทราบว่าทั้งสอง มันจะบอกว่าลองใหม่อีกครั้ง LAUREN CARVALHO: ดังนั้น GetInt คือการขอให้พวกเขาอีกครั้ง เราไม่ได้มีการดูแล จากการที่ตัวเอง LUCAS FREITAS: ใช่ ดังนั้นถ้าจริงผมใส่หมายเลขก็ จะให้ขอให้ฉันลองใหม่อีกครั้ง ผู้ชม: ไม่คุณใช้มันอย่างไร LUCAS FREITAS: เพียงแค่คลิก ปุ่มดาวนี้ LAUREN CARVALHO: คุณควรขึ้นไป มีคุณไป LUCAS FREITAS: ดาว ปุ่มขวามี ใช่? ผู้ชม: มันแจ้ง [ไม่ได้ยิน] กับตัวเลขทศนิยมด้วยหรือไม่ LAUREN CARVALHO: ผมเชื่อว่ามันจะ LUCAS FREITAS: ถ้ามันไม่อะไร LAUREN CARVALHO: ถ้าพวกเขาชนิด ในจำนวนทศนิยมผมคิดว่า ก็จะแจ้งให้ LUCAS FREITAS: ลองมาดูกัน LAUREN CARVALHO: เพราะ มันไม่ได้ int LUCAS FREITAS: ใช่ LAUREN CARVALHO: ดังนั้นมันก็ไม่ได้ int, รับ Int จะขอให้คุณลอง ผู้ชม: เพ​​ื่อที่ในรหัสที่จะเป็น ทศนิยมตำแหน่งที่แจ้งให้ ผู้ใช้ว่าพวกเขาจะต้องใส่ จำนวนเต็มโดยเฉพาะ? LAUREN CARVALHO: GetInt เป็นจริง ทำที่สำหรับเรา ผู้ชม: ไม่มีผมหมายถึงถ้าเราต้องการ ที่จะเข้ามา [ไม่ได้ยิน] LUCAS FREITAS: คุณสามารถพูดเช่นค่าเฉลี่ย จำนวนเด็กในสหรัฐอเมริกา ฉันไม่รู้ เราสามารถพูดได้เช่น "โปรด ใส่จำนวนเต็ม. " LAUREN CARVALHO: จำนวนเต็มเท่ากับ กับค่าเฉลี่ยของจำนวน ฉันหมายความว่ามันเป็นเพียงวิธี คุณคำมันใช่มั้ย LUCAS FREITAS: ใช่ นี้ไม่ได้เป็นส่วนหนึ่งของการเข้ารหัสจริง มันมากขึ้นเช่นสิ่งที่ คุณจะต้องการที่จะ เขียนในโปรแกรมของคุณ ผู้ชม: วิธีที่เราจะได้ใช้มันถ้ามัน เป็นจริงใน Gedit [ไม่ได้ยิน] แทนการกดเล่น? LUCAS FREITAS: เราจะ ครั้งแรกที่รวบรวมไว้ เราสามารถทำมันได้ด้วยการทำแต่งหน้า และชื่อของแฟ้ม และหลังจากนั้นจะเรียกใช้เราจะทำจุดเฉือน และชื่อของโปรแกรม ผู้ชม: ผมคิดว่าสิ่งที่ผมหมายถึงคือถ้า เราต้องการโปรแกรมที่จะตอบสนองต่อการ ที่ไม่ถูกต้องเข้าที่ไม่ถูกต้องของพวกเขา คุณไม่ควรใส่ใน - LUCAS FREITAS: เราจะไม่สามารถที่จะ ทำอย่างนั้นเพราะรหัสนี้กล่าวว่า ลองมาจากการรับ Int ซึ่งเป็น ฟังก์ชั่นที่มีการดำเนินการแล้ว สำหรับเราผ่านทางห้องสมุด CS50 และตั้งแต่ ก็ดำเนินการแล้วมีเรา ไม่สามารถเพียงแค่ [ไม่ได้ยิน] LAUREN CARVALHO: ถ้าคุณไม่ได้ใช้ GetInt แล้วคุณสามารถทำเช่นนั้นได้ LUCAS FREITAS: ใช่ แต่ถ้าคุณกำลังใช้ GetInt คุณไม่สามารถ คำถามใด ๆ อื่น ๆ ผู้ชม: สามารถคุณได้ไปด้วยเช่น GetFloat แล้วสามารถที่จะนำ ในทศนิยมหรือไม่ LUCAS FREITAS: ใช่ ผู้ชม: ตกลง แล้วคุณก็สามารถใส่ ลอยเท่ากับ - LAUREN CARVALHO: ใช่ ตรงเดียวกันยกเว้น ลอยแทน int LUCAS FREITAS: เพียงแค่ใส่ที่นี่ แล้ว GetFloat มี ผู้ชม: ในขณะที่คุณจะ เห็นหรือได้เห็น - LAUREN CARVALHO: เรามี ไม่ได้อากาศยังมี ผู้ชม: - ทำด้วยความไม่เสมอภาค ลอยไม่ได้ [ไม่ได้ยิน] ผู้ชม: สิ่งใดที่อัฒภาคหมายถึงอะไร LAUREN CARVALHO: อัฒภาคเพียง หมายความว่าคำสั่งนี้เสร็จสมบูรณ์แล้ว และเรากำลังจะไป ไปยังภาพนิ่งถัดไป ผู้ชม: ดังนั้นจึงเป็นสิ่งที่จำเป็น ทุกเวลาหรือไม่ LAUREN CARVALHO: ใช่ ดี OK เพื่อให้ไม่ได้สำหรับเงื่อนไขเหล่านี้ เพราะพวกเขากำลัง สิ่งที่ห่อหุ้มเซลล์แสงอาทิตย์ ดังนั้นโดยทั่วไปหากสิ่งที่เป็นสาเหตุของ คุณสามารถสร้างวงเล็บปีกกา บล็อกไม่ใส่เครื่องหมายอัฒภาค ในตอนท้าย LUCAS FREITAS: แต่ทุกอย่าง อื่นใช่ เมื่อเสร็จสิ้นการแถลง ใส่เครื่องหมายอัฒภาค และถ้าคุณลืมอัฒภาค คอมไพเลอร์จะได้รับโกรธที่คุณ และคุณกำลังจะมี ในการพยายามที่จะแก้ไข LAUREN CARVALHO: ถ้าผมใส่เครื่องหมายอัฒภาค ที่นี่ที่จะหยุดนี้และฉัน จะไม่ได้รับที่จะดำเนินการสิ่งที่ ภายในโดยวิธีการที่ ดังนั้นมันจึงเป็นหนึ่งในข้อผิดพลาดที่พบบ่อยเหล่านั้น ผู้ชม: รันเสมอ LAUREN CARVALHO: ใช่ ในกรณีนี้เราจะเสมอ ดำเนินการสิ่งที่อยู่ภายใน ผู้ชม: สไตล์ของคุณ [ไม่ได้ยิน] แนบที่คุณคิด LAUREN CARVALHO: โอ้ที่จริง ผู้ชม: [ไม่ได้ยิน] เดียว สิ่งที่สาย [ไม่ได้ยิน] ผู้ชม: ใช่? ผู้ชม: คุณสามารถมีหลาย ปัจจัยการผลิตในหนึ่งบรรทัด ดังนั้นเช่นคุณสามารถขอให้ผู้ใช้ พิมพ์สองสิ่ง LAUREN CARVALHO: ใช้ - LUCAS FREITAS: เลขที่ ขอบอกว่าฉันยังต้องการ ที่จะได้รับจำนวนเต็มนี้เมตร ที่ฉันต้องทำมันเป็นเส้นที่แตกต่างกัน ผู้ชม: ถ้าคุณได้ทำงาน ว่าวิธีการที่ [ไม่ได้ยิน]? มันจะพิมพ์ให้ มี [ไม่ได้ยิน] และแล้วคุณต้องการป้อนหนึ่งและ - LAUREN CARVALHO: ดีเรียกใช้ ฉันหมายความว่าไม่มีอะไรที่จะหยุดเราจากการเป็น เพียงแค่ใช้มันและเห็นสิ่งที่ ที่จะเกิดขึ้น LUCAS FREITAS: ฉันคิดว่ามันเป็น จะไปบ่นที่เรา เพราะเราไม่ได้ใช้ - LAUREN CARVALHO: โอ๊ะ LUCAS FREITAS: มันบ่นที่เราตอน ในขณะนี้เพราะเราไม่ได้ใช้นี้ ตัวแปร แต่ถ้าผมยกตัวอย่างเช่น n คือเท่ากับเท่ากับและเมตรเท่ากับ เท่ากับแล้วสิ่งที่จะ เกิดขึ้นในกรณีนี้ สิ่งที่โปรแกรมนี้จะทำอย่างไร ผู้ชม: ฉันแค่สงสัย วิธีการที่มันจะ - LAUREN CARVALHO: เธอเพียงแค่ต้องการ ที่จะรู้ว่ามันก็ดู เช่นผมคิดว่าใช่มั้ย ดังนั้นมันต้องใช้เวลาหนึ่งของพวกเขาแล้ว จะเอาคนที่สอง ผมคิดว่าเราควรจะย้ายไป เพราะเรามีอีกหนึ่ง เลื่อนการแสดงไปก่อน - คุณต้องการที่จะดึงขึ้นคณิตศาสตร์ LUCAS FREITAS: ใช่คณิตศาสตร์ LAUREN CARVALHO: ให้ ฉันเป็นเพียงแค่คนที่สอง มีตัวเลขที่แตกต่างกันไม่กี่ ตัวแปรในข้อมูล C. เชิงตัวเลขใน C สามารถแบ่งได้เป็นประเภทที่แตกต่างกัน และสิ่งเหล่านี้จะเป็นคนที่คุณจะ เห็นส่วนใหญ่มักจะ และ int เป็นจำนวนทั้งหมด คุณไม่สามารถมีทศนิยมใด ๆ ในเครื่องก็จะใช้เวลา 32 บิตในการจัดเก็บ int ลอยสามารถมีทศนิยม นอกจากนี้ยังจะใช้เวลา 32 บิตในการจัดเก็บ ลอยในเครื่องใช้ สองเป็นตัวเลขที่มีทศนิยม จุดที่จะใช้เวลา 64 บิตเพื่อเก็บมัน ซึ่งหมายความว่าคุณก็สามารถมี ความแม่นยำมากขึ้นเพราะ คุณสามารถมีมากขึ้น - สิ่งที่คุณเรียกมันได้หรือไม่ LUCAS FREITAS: ใช่ว่ามากขึ้น LAUREN CARVALHO: สถานที่อื่น ๆ หลังจุดทศนิยม และยาวยาวเป็นจำนวนทั้งหมด ที่ใช้เวลา 64 บิต เจ็บในเครื่องใช้ LUCAS FREITAS: ดังนั้นมันอาจจะเป็น มีขนาดใหญ่กว่า ints สามารถ LAUREN CARVALHO: สิ่งที่เกี่ยวกับข้อมูล ประเภทใน C คือพวกเขาบอกคุณว่า ชนิดของข้อมูลที่คุณสามารถเก็บ ในตัวแปรของคุณ พวกเขาบอกคุณว่าคุณสามารถใช้ ตัวแปรในโปรแกรมของคุณ มันเป็นสิ่งสำคัญมากที่จะเพียงแค่ติดตาม ชนิดข้อมูลที่คุณกำลังใช้และถ้า คุณจะต้องโยนจากชนิดข้อมูล ไปยังอีกให้แน่ใจว่าคุณรู้ว่า สิ่งที่เกิดขึ้นเมื่อที่ หล่อจะเกิดขึ้น และคุณจะเห็นตัวอย่างในภายหลัง ในสไลด์นี้ ความผิดพลาดที่สามารถเกิดขึ้นได้ ลองมาดูที่คณิตศาสตร์ใน C บางและ คิดว่าอย่างระมัดระวังฉันเดา เกี่ยวกับสิ่งที่เกิดขึ้นเมื่อ คณิตศาสตร์คือการที่ ในบรรทัดแรกมากสิ่งที่ สิ่งที่เกิดขึ้นตอนที่ผมประกาศ x? ผู้ชม: คุณช่วยให้ x จะเป็นอะไร LAUREN CARVALHO: ใช่ ดีฉันจริงๆขอปฏิบัติการ ระบบ 32 บิตของหน่วยความจำใช่ไหม ที่ฉันสามารถเก็บ int และ ฉันจะเรียกว่า int x LUCAS FREITAS: โดยทั่วไปจะอยู่ในหน่วยความจำ และหาสถานที่ที่มี 32 บิตและบอกว่าเดี๋ยวก่อนฉันต้องการพื้นที่นี้ และมันจะถูกเรียกว่า x ดังนั้นคุณค้นพบเพียงแค่สวยมาก กล่องในหน่วยความจำของคุณไปยัง ค่าเก็บสำหรับ x LAUREN CARVALHO: และแล้วผมเริ่มต้น x ซึ่งหมายความว่าฉันเพียงแค่เก็บ ค่าของที่ 2 ในสถานที่ที่ก้อนที่ ของหน่วยความจำที่เราถามปฏิบัติการ ของระบบสำหรับ และลงที่นี่สิ่งที่เรากำลังทำอยู่ เรากำลังจริงและประกาศ เริ่มต้น y ในหนึ่งเส้นแทน ในสองเส้นเหมือนที่เราทำขึ้นที่นี่ ซึ่งยังเป็นที่ดีอย่างสมบูรณ์แบบเรา เพิ่ม 1 ถึง x และเรากำลังจัดเก็บที่ ค่าใน y LUCAS FREITAS: ดังนั้นโดยทั่วไปสิ่งนี้ สายไม่ก็พบว่าตอนนี้กล่อง y, แล้วค่าของมันสิ่งที่ คุณจะใส่ในกล่องเป็น จะเป็นค่าของ x บวก 1 ดังนั้นจึงมีกล่อง y นี้ จะได้รับค่าของ x, ดู ที่นี่และดูว่ามันเป็น 2 ใส่มันมีบวก 1 ดังนั้น มันทำให้มี 3 ไม่ที่ทำให้รู้สึก? ดังนั้น y จะเป็น 2 ในกรณีนี้ LAUREN CARVALHO: สิทธิทั้งหมดเย็น นอกจากนี้เราเห็นบางดังนั้นตอนนี้ขอคิด เกี่ยวกับการแบ่งใน C. ที่นี่ฉัน และประกาศการเริ่มต้นลอย เรียกว่าคำตอบที่ 1 และหารด้วย 10 และแล้วฉันพิมพ์ออกคำตอบ ถึงทศนิยมสองตำแหน่ง และทราบที่นี่ในงบ printf ของฉัน เมื่อฉันต้องการที่จะพิมพ์อะไรบางอย่างที่สอง ทศนิยม% .2 ฉเป็น สิ่งที่ฉันต้องการที่จะใช้ ดังนั้นจุดที่ 2 เป็นเพียงคำพูด ฉันจำเป็นต้องใช้สถานที่สองหลังจาก ทศนิยมพิมพ์ออกมา ตอนนี้สิ่งที่จะเกิดขึ้น ถ้าฉันใช้รหัสนี้ ไม่มีใครมีความคิด? สิ่งที่จะพิมพ์ออกมา? LUCAS FREITAS: อะไรคือ เราคาดหวังว่าจะได้รับ LAUREN CARVALHO: อะไรทำ เราต้องการเป็นครั้งแรกของทั้งหมดหรือไม่ LUCAS FREITAS: [ไม่ได้ยิน] LAUREN CARVALHO: 0.1 ใช่ แต่สิ่งที่จะพิมพ์ออกมา ผู้ชม: [ไม่ได้ยิน] LAUREN CARVALHO: ดีไม่มีจริง นี่คือสิ่งที่ผมพูดเกี่ยวกับสาเหตุที่คุณ ต้องติดตามระมัดระวัง ชนิดข้อมูลของคุณ ดังนั้นสิ่งที่ชนิดของข้อมูลนี้คืออะไร เป็น int ใช่ไหม ไม่มีสถานที่เป็นทศนิยม 10 นอกจากนี้ยัง int ไม่มีสถานที่เป็นทศนิยม ถ้าผมแบ่งโดย int int ฉันได้รับ int ซึ่งไม่ได้เป็น 0.1 เพ​​ราะ ints ไม่สามารถมีตำแหน่งทศนิยม แต่เพียง 0 เพราะ int เพียงแค่ตัดทอน ออกจากตำแหน่งทศนิยม LUCAS FREITAS: ดังนั้นเมื่อใดก็ตามที่คุณทำ ดำเนินการกับ ints คุณกำลังจะ int ได้รับเป็นคำตอบ ดังนั้นโดยทั่วไปสิ่งที่คอมพิวเตอร์ จะทำก็แบ่ง 1 โดย 10 และจะได้รับ 0.1 แต่แล้วมันก็เหมือนการรอนี้เป็น ควรจะเป็นจำนวนเต็มดังนั้นคุณเพียงแค่ ไม่สนใจ 0.1 ดังนั้นจึงเป็นเพียงแค่ตอนนี้ 0 LAUREN CARVALHO: ดังนั้นเมื่อผมพิมพ์นี้ ออกมาผมได้รับมากกว่า 0.00 0.10 LUCAS FREITAS: การที่ทำให้รู้สึก LAUREN CARVALHO: นั่นเป็นชนิด ของโชคร้ายใช่ไหม LUCAS FREITAS: ดังนั้นวิธีที่เราสามารถแก้ไขปัญหานี้ LAUREN CARVALHO: มา และพยายามแก้ไขที่ นี่คือตัวอย่างของการที่ฉันเป็น จริงหล่อ 1 และ 10 ที่จะลอย ดังนั้นตอนนี้ 1 ไม่มี int 1 ลอย โดยวิธีการนี​​้เป็นเพียงไวยากรณ์ เมื่อคุณต้องการที่จะโยนจากที่หนึ่ง ชนิดข้อมูลไปยังอีก คุณก็สามารถใส่ชนิดข้อมูลใน วงเล็บและมีที่เพียงแค่นำหน้า ค่าที่คุณกำลังหล่อ ดังนั้นที่นี่ฉันแบ่งลอยโดย ลอยไปลอยได้คำตอบ และใช่จะอยู่ในนี้ ความเป็นจริงการพิมพ์ 0.10 ไม่ที่ทำให้รู้สึก? LUCAS FREITAS: ดังนั้นประเภทหล่อเป็นเพียง การแปลงจากประเภทหนึ่งไปยังอีก ดังนั้นลอย 1 เป็นจริง 1.000 ไม่ตรงนี้ แต่มันเป็นสิ่งที่ ด้วยตำแหน่งทศนิยม ที่เป็นจริง 1 ไม่ที่ทำให้รู้สึก? ใช่? ผู้ชม: สิ่งที่ถ้าคุณไม่ได้คำตอบที่ลอย เท่ากับ 1.0 หารด้วย 10? LAUREN CARVALHO: คุณกำลังจะเป็นจริง จะเห็นว่าในภาพนิ่งถัดไป ที่จริงภาพนิ่งถัดไปของเรามาก นี้เป็นจริงดีกว่ากว่า ชนิดหล่อผมคิดว่า ดังนั้นทั้งสองจะลอยเพียงแค่ ธรรมชาติของความจริงที่ว่าพวกเขา มีตำแหน่งทศนิยม ใช่? ผู้ชม: สิ่งที่ถ้าคุณไม่ได้ทำ [ไม่ได้ยิน] หารด้วย 10? LAUREN CARVALHO: ที่จริงลอย หาร int จริงจะช่วยให้คุณ ลอยเพื่อที่จะทำงานได้ดี รอทุกคนไม่เข้าใจในเรื่องนี้? เพราะสิ่งนี้เป็นไปได้จริงๆ เรื่องใหญ่ใน Pset1 จริง ใช่? ผู้ชม: สามารถคุณเพียงได้อย่างรวดเร็ว ไปกว่าส่วนสีแดง LAUREN CARVALHO: ส่วนสีแดงใช่ ลูคัส, คุณไม่ต้องการที่จะ? LUCAS FREITAS: OK ดังนั้นจำไว้ว่าร้อยละ เป็นตัวยึด มันก็เหมือนกับพื้นที่ว่าง ดังนั้นเรามาพยายามที่จะเข้าใจทุกอย่าง ที่เกิดขึ้นที่นี่ ร้อยละหมายถึงว่ามันเป็นตัวยึด แล้วคุณมีฉซึ่งหมายความว่า ตัวยึดนี้สำหรับลอย สิ่งสุดท้ายที่เรามีที่นี่ 0.2 ซึ่งหมายความว่าผมต้องการที่จะมีสอง ทศนิยมการลอย ถ้าฉันเพียงแค่มี f% พวกเขาก็จะใส่ พวงของตำแหน่งทศนิยม ดังนั้นผมก็สามารถใส่ 0.2 หรือ 0.1 หรือ 0.5 หรือ สิ่งที่และมันจะใส่ที่ จำนวนทศนิยม มีเพียงสิ่งเดียวคือว่าถ้าคุณใส่เช่น .100 หรือ 1,000 มันไม่จริง จะใส่ทุกตำแหน่งทศนิยมที่ เพราะมันไม่ได้มีหน่วยความจำเพียงพอ ที่จะมีความแม่นยำที่ คำถามใด ๆ อื่น ๆ ใช่? ผู้ชม: ดังนั้นลอยเพียงแค่ช่วยให้ คุณจะไปไกลกว่าจำนวนเต็ม? LUCAS FREITAS: ใช่ LAUREN CARVALHO: ดีลอยเพียงแค่ ช่วยให้คุณมีตำแหน่งทศนิยม LUCAS FREITAS: มันก็หมายความว่าคุณ ตอนนี้จะมีตัวเลขทศนิยม ผู้ชม: ทำไมเรา เคยใช้จำนวนเต็ม? LUCAS FREITAS: ทำไม คุณใช้จำนวนเต็ม? บางทีถ้าคุณกำลังนับ 0-10, คุณต้องการที่จะใช้จริงจำนวนเต็ม คุณไม่จำเป็นต้องที่จะใช้ลอย ในบางสถานการณ์ที่คุณทำไม่ได้ มีจริง - LAUREN CARVALHO: บางทีคุณอาจจะ ไม่ต้องการทศนิยม LUCAS FREITAS: บางทีคุณอาจจะทำไม่ได้ ต้องการที่จะใช้ลอย LAUREN CARVALHO: สิ่งอื่น ๆ คือ จำได้ว่าทั้งสองวางลอยและ int ใช้เวลา 32 บิตในการจัดเก็บพวกเขาและอาจจะ คุณไม่ต้องการเสียบิตบน ตำแหน่งทศนิยม LUCAS FREITAS: ใช่ เพื่อต้องการเพียงแค่คิดว่าเกี่ยวกับเรื่องนี้ คุณมี 32 บิตสำหรับทั้ง int และลอย สำหรับ int ทั้งหมดที่ 32 บิต ไปที่ส่วนจำนวนเต็ม ถ้าคุณใช้ลอยกับ 32 บิตคุณ มีส่วนหนึ่งของหน่วยความจำนี้ถูกนำมาใช้ สำหรับจำนวนสำหรับจำนวนทั้ง และส่วนอื่น ๆ ที่ใช้สำหรับ ตำแหน่งทศนิยม ดังนั้นนั่นหมายความว่าคุณไม่สามารถที่จะได้รับ ตัวเลขขนาดใหญ่มากกับลอยเพราะ ลอยอยู่แล้วโดยใช้จำนวนมาก หน่วยความจำสำหรับตำแหน่งทศนิยม ใช่? ผู้ชม: คำตอบที่แรก ว่าเป็นสิ่งที่มันทำอะไร มันคือการตั้งค่าของลอยเท่ากับ ตัวยึดที่ที่คุณสามารถ จำไว้ในบรรทัดถัดไปหรือไม่ มันบอกว่าคำตอบที่ลอย LUCAS FREITAS: ใช่ ดังนั้นคำตอบลอยหมายความว่าคุณได้รับ ตอนนี้ถังเล็ก ๆ น้อย ๆ ในความทรงจำที่ ถือลอยและที่ไป จะเรียกว่าคำตอบ ดังนั้นนั่นคือสิ่งที่คำตอบไม่ลอย แล้วคุณบอกว่าภายใน นี้คุณจะใส่ ผลจากการนี​​้ ดังนั้นคุณกำลังจะทำ 1.0 หารด้วย 10.0, คุณจะได้รับ 0.1 และจากนั้นคุณใส่ ภายในของคำตอบว่า LAUREN CARVALHO: ดังนั้นในหนึ่งบรรทัดเรา และประกาศการเริ่มต้นลอยนี้ เรียกว่าคำตอบ LUCAS FREITAS: ที่น่าสนใจแม้ว่า นี้เป็นเพียงหนึ่งในสายมันทำ การดำเนินงานหลาย มันเป็นเพียงวิธีการ C ปล่อย คุณใช้รหัสน้อย มันเป็นสิ่งเดียวกับการประกอบ ผู้ประกอบการเพียงวิธีการที่คุณสามารถทำได้ [ไม่ได้ยิน] ในหนึ่งบรรทัด มันจริงทำสิ่งเดียวกับ การทำคำตอบที่ลอยอัฒภาคและ แล้วคำตอบเท่ากับนี้ แต่แทนที่จะ ทำให้คุณทำสองสายสำหรับการที่ มันก็เหมือนทางลัด ใช่? ผู้ชม: ดังนั้นถ้าคุณขับรถนี้ มันจะเป็น 0.10? LUCAS FREITAS: ใช่ ใช่? ผู้ชม: เป็นคำตอบรหัสจริง หรือจะเป็นเพียงชื่อหรือไม่ LAUREN CARVALHO นี้ เป็นจริงรหัส นี่คือสิ่งที่เรากำลังจะ ที่จะตั้งชื่อตัวแปรของเรา ผู้ชม: ดังนั้นจึงเป็นเพียงแค่ ชื่อ [ไม่ได้ยิน] LAUREN CARVALHO: ใช่ ฉันจะได้กล่าวว่าลอย x เท่ากับ 1.0 LUCAS FREITAS: เป็นสิ่งที่ ชื่อของตัวแปรคือ บางสิ่งบางอย่างที่คุณใช้ มันเป็นสิ่งสำคัญสำหรับคุณ สำหรับโปรแกรมที่เกิดขึ้นจริงมีเพียงสิ่งเดียว เรื่องที่เป็นค่าที่คุณ มีอยู่ภายในถัง เหตุผลที่คุณมีตัวแปรและ ชื่อของตัวแปรเพื่อให้คุณต้องการทราบ สิ่งที่คุณจัดการกับเช่น ชนิดของข้อมูลที่คุณกำลัง การเข้าถึงได้ตลอดเวลา แต่สำหรับรหัสของตัวเองถ้าคุณโทร มันตอบหรือคำถามหรืออะไร สวยมากมันไม่สำคัญ ชั่งหัวมัน ตราบใดที่คุณกำลังที่สอดคล้องกันในทุก เกิดขึ้นและเพื่อให้คุณเรียกมันว่า อย่างอื่น ใช่? ผู้ชม: ทำตัวแปร นอกเหนือไปจากฟังก์ชั่นหรือไม่ เช่นถ้าคุณจะสร้างวงเล็บ [ไม่ได้ยิน] ได้คุณก็ [ไม่ได้ยิน] ตอบอีกครั้งหรือไม่ LAUREN CARVALHO: เลขที่ ผู้ชม: [ไม่ได้ยิน] LAUREN CARVALHO: เลขที่ ที่จะเป็นนอกขอบเขต ของตัวแปรนี้โดยเฉพาะ และอันที่จริงที่เป็นชนิดของ ที่น่าสนใจเพราะเมื่อเรามี สิ่งที่ต้องการหรือลูปเหล่านี้ถ้า เงื่อนไขถ้าคุณประกาศตัวแปร ภายในชุดของวงเล็บปีกกาอื่น จริงๆมันมีอยู่เพียง ภายในวงเล็บปีกกาที่ ผู้ชม: หนึ่งบันทึกล่าสุดเกี่ยวกับ [ไม่ได้ยิน] ลอย คุณจะทำไมเคยต้องการที่จะใช้ ints? นี้เป็นมากกว่าที่ทราบด้านกว่า อะไร แต่คอมพิวเตอร์ของคุณ อย่างมีนัยสำคัญที่ดีกว่าในการจัดการ ints มากกว่าที่เป็นอยู่ในการจัดการลอย มันเหมือนกับคำสั่งของ ขนาดได้เร็วขึ้น ดังนั้นถ้าเราเพียงแค่การจัดการเพียงลอย, สิ่งที่จะได้ช้ามาก LAUREN CARVALHO: ที่จริงดูเหมือนว่า จะมีปัญหากับลอย LUCAS FREITAS: ชนิดของเหตุผล ที่คุณจะได้คิดว่าเป็นวิธีการที่เป็นเลขฐานสอง คุณสามารถเป็นตัวแทนของจำนวนเต็ม โดยใส่ 0 และ 1 LAUREN CARVALHO: นั่น สิ่งต่อไปที่ LUCAS FREITAS: OK น่ากลัว LAUREN CARVALHO: เพียงแค่ ถือความคิดที่ว่า LUCAS FREITAS: ตกลงฉันจะ บอกคุณในภายหลัง LAUREN CARVALHO: ก่อนที่เราจะได้รับสิ่งที่ ลูคัสเป็นเพียงว่าผู้ประกอบการ ฐานันดร นี่คือความรู้สึกร่วมกัน พวกคุณได้ทำนี้พอ ดังนั้นเพียงแค่ว่าสิ่งที่อยู่ในวงเล็บ มันจะเกิดขึ้นเป็นครั้งแรก มันคูณจะมีความสำคัญ ไปนอกจากนี้ ลบสิ่งที่ต้องการที่ ดังนั้นจริงเพียงแค่ไม่มีใครต้องการที่จะ บอกฉันว่าจำนวนหนึ่งจริง ประเมินหรือไม่ ผู้ชม: 27 LAUREN CARVALHO: 27? ใช่ LUCAS FREITAS: ผมขอให้ ลูกอมให้กับประชาชน LAUREN CARVALHO: ทั้งหมดขวา สิ่งที่เกี่ยวกับจำนวนสอง สิ่งที่เกี่ยวกับจำนวนสอง ผู้ชม: 22 LAUREN CARVALHO: 22 ใช่ ผมไม่ทราบว่าใครได้ที่ จำนวนสาม ผู้ชม: 10 LAUREN CARVALHO: 10 ใช่ เย็น ดังนั้นโมดูโล ลูคัส, คุณไม่ต้องการที่จะอธิบายแบบโมดูโล? LUCAS FREITAS: Modulo เป็นผู้ดำเนินการนี​​้ ที่เป็นจริงมีประโยชน์มากสำหรับ พวงของปัญหา ถ้าผมทำแบบโมดูโล 55 10 สิ่งที่มันไม่ นี้ขอบอกว่าผมต้องการที่จะ แบ่ง 55 10 ฉันจะได้รับอะไร มันให้ความรู้สึกเช่นเดียวกับถ้าฉันจริงเพียง ส่วนการทำสิ่งที่เป็น ครั้งแรกที่ผมได้รับจำนวนเต็มหรือไม่ ผู้ชม: 5 LUCAS FREITAS: 5 แล้วส่วนที่เหลือคือ 5 ใช่ไหม ดังนั้นจึงเป็นเช่น 5 ครั้ง 10 บวก 5 โดยทั่วไปสิ่งที่โมดูโลไม่ก็พยายามที่จะ แบ่งจำนวนนี้โดยหนึ่งในนี้และ มันเห็นสิ่งที่เป็นส่วนที่เหลือ ของส่วนที่ LAUREN CARVALHO: ดังนั้นมันเป็นเพียงแค่ ผลตอบแทนส่วนที่เหลือ ดังนั้นจำนวนหนึ่งคืออะไร 5 สองจำนวน? ผู้ชม: 3 LAUREN CARVALHO: 3 จำนวนสาม 0 และสี่คือ 1 อย่างแน่นอน LUCAS FREITAS: ง่ายใช่มั้ย? LAUREN CARVALHO: เราไม่ข้ามทำไมนี้ เพียงเพราะเราไม่ได้จริงๆต้อง เวลาและคนดูเหมือนจะเข้าใจ ดังนั้นนี่คือสิ่งที่ลูคัส เพียงการพูดคุยเกี่ยวกับ LUCAS FREITAS: อีกเหตุผลหนึ่งที่ว่าทำไมฉัน จะใช้ ints แทนการลอยเป็น ที่ลอยเป็นคลุมเครือมาก และพวกเขาจะไม่แน่ชัดว่าทำไม? เดวิดกล่าวว่าจะเป็นตัวแทนของจำนวนเต็ม ตัวอย่างเช่นเราใช้ 0 และ 1 ใช่ไหม แล้วคุณทำโดยทั่วไป คูณทำทุกคน การดำเนินการที่จะรู้ว่าเลขทศนิยม คุณมีแทนไบนารี จะเกิดอะไรขึ้นถ้าฉันพยายาม ใส่จุดทศนิยม? ที่จริงตัวอย่างเช่นถ้าฉันมี จำนวนเช่น 3.33333? มันรู้สึกเหมือน 10 กว่า 3 ฉันจะเก็บทุก 3 เป็นที่ฉันมีหลังจากที่ เป็นเรื่องยากมากใช่มั้ย คุณไม่สามารถเพียงแค่บอกคอมพิวเตอร์ เฮ้, ฉันมี 3 และ แล้วคุณทำเช่นนั้นตลอดไป ที่จริงคอมพิวเตอร์ไม่ได้ สมาร์ทพอสำหรับการนี​​้ ดังนั้นโดยทั่วไปทั้งหมดของคอมพิวเตอร์ของคุณไม่สามารถ ว่ามันพยายามที่จะนำหลักมากที่สุดเท่าที่ ก็สามารถขึ้นไปถึงหน่วยความจำที่คุณมี ดังนั้นขอบอกว่ามันจะ พูด 3.3333, และที่มัน ดังนั้นจึงไม่สามารถที่จะแสดงความจริง สิ่งที่ลอยที่ LAUREN CARVALHO: เรามีจำนวน จำกัด บิตซึ่งหมายความว่าไม่ ทุกจำนวนทศนิยมเป็นไปได้ สามารถที่จะแสดงได้อย่างแม่นยำ และอื่น ๆ ในตัวอย่างนี้ถ้าเรามี พิมพ์ออก 0.1, ตอนนี้เราพิมพ์ 20 สถานที่ออก LUCAS FREITAS: เช่นเดียวกับที่ผมบอก พวกคุณคุณสามารถใส่หมายเลขใด แต่ถ้าคุณเพิ่งได้สองสถานที่ คุณจะได้รับ 0.10 แต่ถ้าคุณใส่ 20 สถานที่ก็จะแสดงให้คุณพวง ของ 's เพราะเป็นสิ่งที่คุณสามารถใส่ ในหน่วยความจำใช่ไหม แต่ที่นี่ถึง 0, แล้วเป็นเพียงการวางไว้ พวงของตัวเลขสุ่ม นี้เป็นชนิดของเช่นบาง - LAUREN CARVALHO: นี่เป็นเพราะเรา ไม่สามารถที่จะเป็นตัวแทนทศนิยมนี้ แม่นยำด้วยจำนวน ของบิตเรามี LUCAS FREITAS: แล้ว คอมพิวเตอร์จะเป็นพื้น ให้คุณมีจำนวนถังขยะ นี้ไม่ได้จริง ค่าของจำนวน ผู้ชม: มันใกล้ที่สุดเท่าที่ ก็จะได้รับ [ไม่ได้ยิน] โดยใช้ [ไม่ได้ยิน] LAUREN CARVALHO: ดังนั้นความหมายของ นี้ก็คือสมมุติว่าแทน เป็น 0.100014, สิ่งที่ สิ่งที่ถ้ามันเป็น 0.0999 - ดีตกลง ลองแกล้งทำเป็นว่าคำตอบที่เกิดขึ้นจริง นี้เป็น 0.9999999 ที่อยู่ใกล้กับ 1 แต่ มันไม่ตรง 1 มัน 0.99999 นั่นหมายถึงว่าถ้าผมใช้เวลาที่ 0.999, และฉันโยนให้ int ฉันได้รับ 0 ฉันไม่ได้รับ 1 LUCAS FREITAS: เพราะจำได้ว่าหล่อ จากลอยไป int คุณเพียงแค่ ไม่สนใจทุกตำแหน่งทศนิยม คุณเพียงแค่ไม่สนใจพวกเขา ไม่มีสิ่งเช่นปัดเศษขึ้นเป็น หรือทำงานลงเมื่อคุณ typecast ที่จริงมีฟังก์ชั่นนี้ว่า ไม่ปัดเศษซึ่งเป็นมาก ที่สำคัญ แต่คุณก็คิดว่าเมื่อ ที่คุณทำ typecasting ก็เพียง จะลบทุกอย่าง ดังนั้นแม้ว่าคุณจะมี 0.99999 ก็จะ เพียงแค่ให้ 0 ถ้าคุณ typecast [ไม่ได้ยิน] จำนวนเต็ม LAUREN CARVALHO: ดังนั้นเพียงทราบจริงๆ จุดที่ลอยอยู่ในความแม่นยำ โดยเฉพาะอย่างยิ่งเมื่อคุณเริ่มต้น ที่จะใช้ลอยใน Pset1 แต่เดินผ่านควร เตือนคุณว่าเช่นกัน LUCAS FREITAS: และที่จริงก็จริงๆ ยากตัวอย่างเช่นถ้าฉันไม่ ลอยคำตอบที่ 1 เท่ากับ 1.0 กว่า 10 แล้วลอยคำตอบที่ 2 เท่ากับ 10.0 100.0 กว่า พวกเขามีจำนวนเท่ากันใช่มั้ย 0.1 ใช่ไหม 1 กว่า 10 หรือ 10 กว่า 100 แต่ตอนนี้ถ้าผมพยายามที่จะเห็นความเท่าเทียมกันที่ เช่นถ้าคำตอบที่ 1 เท่ากับตอบ 2 บางทีมันอาจจะไม่จริงที่เกิดขึ้น จะเป็นสิ่งเดียวกัน ดังนั้นลอยเป็นชนิดของที่ต้องการที่ พวกเขากำลังทำเช่นความเท่าเทียมกัน