[เล่นเพลง] DOUG LLOYD: สวัสดีจึงขอ พูดคุยเกี่ยวกับผู้ประกอบการใน C. ดังนั้นเราจึงได้เห็นแล้วหนึ่งในความเป็นจริง เท่ากับผู้ประกอบการที่ได้รับมอบหมาย จะช่วยให้เราเพียงแค่ใส่ ค่าลงในตัวแปร นั่นคือได้รับมอบหมาย ผู้ประกอบการ, เครื่องหมายเท่ากับเดียว เพื่อที่จะจัดการและการทำงาน ที่มีค่าและตัวแปรใน C, เรามีจำนวนของผู้ประกอบ ที่จำหน่ายของเราที่เราสามารถใช้ ลองมาดูที่ บางส่วนของคนทั่วไป เริ่มต้นด้วยการดำเนินการทางคณิตศาสตร์ ในขณะที่คุณอาจคาดหวังที่เราสามารถทำได้ ดำเนินการทางคณิตศาสตร์พื้นฐานสวยใน C. เราสามารถบวกลบคูณและ ตัวเลขแบ่งใช้บวกลบ, ดาว, และเฉือนตามลำดับ นี่คือคู่สายของ รหัสในการที่เราจะทำอย่างนั้น ดังนั้นเรามี int x เท่ากับปีบวก 1 สมมติว่าอยู่ที่ไหนสักแห่ง ขึ้นไปข้างบนบรรทัดของรหัสนี้ เราได้กล่าวว่า int y ที่เท่ากับ 10 มีอะไรค่าของ x หลังจากที่ฉัน ดำเนินบรรทัดแรกของรหัส? คุณพูดว่า 11? คุณต้องการที่เหมาะสม ว่าเป็นเพราะเหตุใด ดี, y 10 บางคนที่ฉันพูด int x เท่ากับ 10 บวก 1 10 บวก 1 คือ 11 ดังนั้นมูลค่า 11 ที่ได้รับ เก็บไว้ในตัวแปร x ไม่เลวร้ายเกินไปใช่มั้ย? วิธีการเกี่ยวกับสายนี้ต่อไปของ รหัส? x เท่ากับ x 5 ครั้ง ดีก่อนที่เราจะดำเนินการ บรรทัดของรหัสนี้ x 11 ดังนั้นสิ่งที่เป็นคุณค่าของ x หลังจากบรรทัดของรหัสนี้หรือไม่? ใช้เป็นครั้งที่สอง ดังนั้น x เท่ากับ x 5 ครั้ง x 11 ดังนั้น x เท่ากับ 11 ครั้งที่ 5 หรือ 55 ดังนั้นถ้าคุณบอกว่า 55 คุณจะได้รับสิทธิ ตอนนี้มันอาจจะสับสนเล็กน้อย แต่ ด้วยวิธีการที่ได้รับมอบหมายที่ทำงานในซี เป็นค่าที่อยู่ด้านขวาได้รับ ได้รับมอบหมายให้มูลค่าทางด้านซ้าย ดังนั้นก่อนที่เราประเมินครั้ง x 5 ดังนั้นครั้งที่ 11 5 55 แล้วเราเก็บค่าว่าใน x 11 ที่อยู่ที่นั่น ก่อนที่จะถูกเขียนทับในขณะนี้ ดังนั้นค่า x อยู่ในขณะนี้ 55 หวังว่าที่ตรงไปตรงมาเป็นธรรม มีผู้ประกอบการอื่น ๆ ที่คุณได้เป็น อาจจะไม่จำเป็นต้องได้ยิน เรียกว่านี้ แต่คุณได้ แน่นอนทำงานร่วมกับในอดีตที่ผ่านมา ถ้าคุณจำวันของคุณนาน ส่วนวิธีที่กลับมาอยู่ในโรงเรียนประถมศึกษา มันเรียกว่าผู้ประกอบการโมดูลัส สิ่งที่โมดูลัสไม่ได้เป็น ช่วยให้คุณมีส่วนที่เหลือ เมื่อคุณแบ่งตัวเลขสองเข้าด้วยกัน ดังนั้นถ้าผมบอกว่า 13 หารด้วย 4 สิ่งที่เหลือหรือไม่ และความคุ้มค่าที่จะนำมาคำนวณ โดยผู้ประกอบการโมดูลัส ดังนั้นฉันจึงมีบรรทัดของรหัส นี่ int เท่ากับ 13 ม. 4 สมัย และผมบอกว่าที่นี่ในความคิดเห็น มูลค่าม. ที่ 1 อยู่ในขณะนี้ ทำไมผมบอกว่า? ดีทำหารยาวออกมาในของคุณ หัวถ้าคุณอดทนกับฉันเป็นครั้งที่สอง ดังนั้นผมมี 4 หารด้วย 13 4 ไปเป็น 13 สามครั้ง กับส่วนที่เหลือของ 1 ดังนั้นโดยทั่วไปทั้งหมด ผู้ประกอบการโมดูลัสไม่ มันเป็นสิ่งที่จะบอกคุณเมื่อคุณ แบ่งคุณจะได้รับส่วนที่เหลือ คุณอาจจะคิดว่าเป็นจริง ไม่ได้เป็นสิ่งที่มีประโยชน์ชะมัด แต่คุณต้องการจะประหลาดใจจริง โดยวิธีการที่พบบ่อยโมดูลัสที่ ผู้ประกอบการสามารถมาในสะดวก มีคู่ของปัญหาที่เกิดขึ้นเป็น เราจะทำ CS50 ที่จัดการกับมัน นอกจากนี้ยังเป็นที่ดีสำหรับการทำ สิ่งที่ต้องการตัวเลขสุ่ม ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณเคย ได้ยินเสียงของเครื่องกำเนิดไฟฟ้าจำนวนสุ่ม ที่จะให้คุณเป็นจำนวนมาก จาก 0 ถึงบางจำนวนมาก แต่บางทีคุณเท่านั้นจริงๆ ต้องมีหมายเลข 0-20 ถ้าคุณใช้ประกอบการโมดูลัส ในจำนวนที่ยักษ์ที่ ได้รับการสร้างขึ้นโดย เครื่องกำเนิดไฟฟ้าจำนวนสุ่ม คุณกำลังจะใช้สิ่ง ค่ามากมันคือหารด้วย 20 และได้รับส่วนที่เหลือ ส่วนที่เหลือสามารถ เป็นค่า 0-19 ดังนั้นคุณสามารถใช้ประกอบการโมดูลัส จะใช้เวลานี้จำนวนมาก และลดลงมันลงมาเป็นบางสิ่งบางอย่าง เล็ก ๆ น้อย ๆ ที่มีความหมายมากขึ้น ผมค่อนข้างมั่นใจว่าคุณจะ สามารถที่จะใช้ทั้งของคนเหล่านั้น ที่จุดในอนาคตในการ CS50 บาง ดังนั้นซียังช่วยให้เรามีวิธีการที่ ที่จะใช้การคำนวณ ผู้ประกอบการตัวแปรเดียว ในทางที่จดชวเลขน้อยมาก ดังนั้นในสไลด์ก่อนหน้านี้ เราเห็น x เท่ากับ x 5 ครั้ง ที่ทำงาน x 5 ครั้งแล้วได้รับการจัดเก็บไว้กลับมาอยู่ใน x ไม่มีทางที่สั้นที่จะทำมันคิด และเป็นไวยากรณ์ครั้ง x เท่ากับ 5 มันเป็นสิ่งที่แน่นอนเช่นเดียวกับ บอก x เท่ากับ x 5 ครั้ง มันเป็นเพียงเล็กน้อย วิธีที่จะทำมันสั้น และเมื่อคุณเห็นบางส่วน รหัสการกระจายหรือคุณ เห็นตัวอย่างรหัสบางอย่างที่ ไม่สิ่งเช่นนี้ เพียงแค่มีความคุ้นเคยกับ สิ่งที่หมายถึงไวยากรณ์ แน่นอนคุณจะได้ไม่ต้อง ที่จะใช้มัน แต่ถ้าคุณทำ ก็อาจจะทำให้รหัสของคุณ ดู slicker เล็ก ๆ น้อย ๆ และรู้ว่าคุณยังสามารถใช้ใด ๆ ของ ผู้ประกอบการที่แตกต่างกันเราได้แล้ว เห็นมาก่อนแทนครั้ง คุณอาจจะบอกบวก x เท่ากับ 5 ลบ เท่ากับ 5 ครั้งแบ่งและสมัย ทั้งหมดของการทำงานเหล่านั้น นอกจากนี้ยังมีบางสิ่งบางอย่าง ที่ร่วมกันใน C ที่เราได้ตัดสินใจที่จะ ปรับแต่งที่ดียิ่งขึ้น การเพิ่มตัวแปร 1 หรือ decrementing ตัวแปรโดย 1 เป็นเช่น thing-- ทั่วไปโดยเฉพาะ เมื่อเราพูดถึงลูปเล็ก ๆ น้อย ๆ ในภายหลัง on-- ที่เราได้ตัดสินใจแทน สิ่งที่ต้องการบอกว่า x บวกเท่ากับ 1, หรือ x เท่ากับ x บวก 1 เราได้แม้กระทั่ง ส่งสั้น ๆ ที่จะ x บวกบวก ดังนั้น x เท่ากับ x บวก 1, x บวกเท่ากับ 1, และ x บวกบวกทุกคนทำในสิ่งเดียวกัน พวกเขาทั้งหมดที่เพิ่มขึ้น x 1 แต่ที่การเพิ่ม และ decrementing 1 เป็นเรื่องธรรมดาเพื่อให้เรามี บวกบวกและลบลบ ที่ช่วยให้เราจดชวเลข ที่ดียิ่งขึ้น ดังนั้นขอเปลี่ยนเกียร์เป็นครั้งที่สอง และพูดคุยเกี่ยวกับการแสดงออกบูลีน ทั้งหมดที่ยังมีชนิดของการตกอยู่ใน ประเภทของผู้ประกอบการโดยรวม แต่การแสดงออกบูลีน ซึ่งแตกต่างจากผู้ประกอบการทางคณิตศาสตร์ ที่ใช้ในการเปรียบเทียบค่า ดังนั้นอีกครั้งทุกแสดงออกบูลีนใน C ประเมินให้เป็นหนึ่งในสองค่าที่เป็นไปได้ จำ จริงหรือไม่. นั่นเป็นเพียงสองค่าที่ ตัวแปรบูลีนสามารถใช้ใน เราสามารถใช้ผล ของนิพจน์บูลีน ในหลายวิธีในการเขียนโปรแกรม ในความเป็นจริงคุณจะ การทำเช่นนี้ค่อนข้างมาก ตัวอย่างเช่นเราอาจจะตัดสินใจ ดีถ้าเงื่อนไขบางอย่างที่เป็นความจริง บางทีฉันอาจจะใช้เวลานี้ สาขาลงรหัสของฉัน ที่มีเงื่อนไขเพื่อที่จะพูด เราจะได้เรียนรู้เกี่ยวกับผู้เร็วเกินไป หรือบางทีตราบใดที่ นี่คือความจริงที่ฉันต้องการ เพื่อให้การทำเช่นนี้ มากกว่าและเหนือและมากกว่า ห่วง ในทั้งสองกรณีรู้ว่าเรากำลังใช้ การแสดงออกบูลีนเป็นจริงหรือเท็จ การตัดสินใจหรือไม่ ที่จะใช้เส้นทางโดยเฉพาะอย่างยิ่ง บางครั้งเมื่อเรากำลังทำงาน กับการแสดงออกบูลีน เราจะใช้ตัวแปรชนิด Bool คุณอาจจะมีการประกาศ Bool พิมพ์ตัวแปร และคุณจะใช้ในการของคุณ นิพจน์บูลีน แต่คุณไม่เคยต้องทำ ในฐานะที่เป็นมันจะเปิดออกใน C ทุกที่ไม่ใช่ 0 ค่าเป็นเช่นเดียวกับการพูดความจริง ถ้าคุณได้ประกาศให้เป็น ตัวแปรของชนิดบูลีน และได้รับมอบหมายมูลค่าที่แท้จริงที่ เช่นเดียวกับการประกาศจำนวนเต็ม และกำหนดค่า 1, 2, 3 หรือจริงๆค่าใด ๆ ใด ๆ อื่นที่ไม่ใช่ 0 เพราะใน C ทุกที่ไม่ 0 ค่าเป็นจริง 0 ในมืออื่น ๆ ที่เป็นเท็จ นี้อาจจะมาใน ที่มีประโยชน์ในภายหลังที่จะรู้ว่า แต่บางสิ่งบางอย่างเพียงเพื่อเก็บไว้ในใจ เราไม่เคยมีที่จะใช้ ตัวแปรบูลีนชนิดเมื่อเรา มีการทำงานที่มีการแสดงออกบูลีน มีสองประเภทหลักของบูลีนเป็น การแสดงออกว่าเราจะทำงานร่วมกับ ผู้ประกอบการเชิงตรรกะและ ผู้ประกอบการเชิงสัมพันธ์ ภาษาที่มี ไม่สำคัญมาก มันจริงๆเพียงวิธีการที่ผมจัดกลุ่มพวกเขา และแน่นอนคุณจะผมคิดว่าอย่างรวดเร็ว ตระหนักถึงสิ่งที่ผู้ประกอบการเชิงสัมพันธ์คือ ขึ้นอยู่กับสิ่งที่พวกเขาเมื่อเรา พูดคุยเกี่ยวกับพวกเขาในครั้งที่สอง แต่ไม่จำเป็นต้องกังวลเกี่ยวกับ จำคำที่ผู้ประกอบการเชิงตรรกะ หรือผู้ประกอบการเชิงสัมพันธ์ ฉันแค่ใช้มันไปยังกลุ่ม พวกเขาในทางตรรกะ ดังนั้นลองมาดูที่ สามผู้ประกอบการเชิงตรรกะ ที่เราจะเห็นค่อนข้าง บิตในการเขียนโปรแกรมใน CS50 และในการเขียนโปรแกรมมากขึ้นโดยทั่วไป ตรรกะและเป็นความจริงและถ้า เฉพาะในกรณีที่ถูกดำเนินการทั้งสองเป็นจริง มิฉะนั้นเท็จ ที่ไหนที่หมายความว่า? ดังนั้นขอบอกว่าผมที่ ชี้ไปในรหัสของฉันที่ฉันมี สองตัวแปร x และ y และฉันต้องการที่จะตัดสินใจว่า ที่จะทำบางสิ่งบางอย่างในรหัสของฉัน ขึ้นอยู่กับถ้า x และ y ที่จริงเป็นความจริง ฉันเพียงต้องการที่จะทำถ้า ทั้งของพวกเขาเป็นจริง อย่างอื่นผมไม่ต้องการที่จะไปลงที่ เส้นทางเพราะมันจะไม่ช่วยฉัน สิ่งที่ฉันสามารถพูดได้ก็คือถ้า x และ y ที่ & นั่นจะเป็นตรรกะบูลีน การเปรียบเทียบการแสดงออกของ x และ y และสละเส้นทางบางอย่าง ขึ้นอยู่กับสิ่งที่มีค่าของพวกเขา ดังนั้นถ้า x เป็นจริงและ y ที่เป็นความจริง ขึ้นอยู่กับตารางความจริงนี้ที่นี่ เท่านั้นแล้วเราจะไปลงเส้นทางที่ ถ้า x และ y ที่ & มันเป็นเพียง true-- และเป็นเพียง จริงถ้า x เป็นจริงและ y ที่เป็นความจริง หากหนึ่งอย่างใดอย่างหนึ่งเป็นเท็จ ในขณะที่เราดูตารางความจริง จากนั้นทั้ง x และ y ไม่เป็นความจริง และเพื่อให้ x และ y ที่และเป็นเท็จ ตรรกะหรือเป็นความจริงถ้าและเพียง ถ้าอย่างน้อยหนึ่งตัวถูกดำเนินการเป็นความจริง มิฉะนั้นเท็จ ดังนั้นตรรกะและจำเป็น ทั้ง x และ y ที่จะเป็นจริง ตรรกะหรือต้อง x จะเป็นจริงหรือ y ที่ ที่จะเป็นจริงหรือทั้งจำทั้ง x และ y ที่จะเป็นจริง ดังนั้นอีกครั้งเราพบว่าชนิดของ ตัวเองอยู่ในสถานการณ์ ที่เรากำลังจะได้รหัสของเรา และเรามาถึงทางแยกในถนน และเราต้องการที่จะไปลง เส้นทางโดยเฉพาะอย่างยิ่งถ้า x เป็นความจริง หรือ y ที่เป็นความจริง แต่ไม่ได้ ถ้าทั้งสองจำเ​​ป็นต้องเป็นจริง แต่ถ้าทั้งสองอาจจะเป็นจริง ดังนั้นถ้า x เป็นจริงและ y ที่เป็น ความจริงเราจะไปลงเส้นทางที่ x เป็นความจริง หนึ่งในนั้นเป็นความจริงใช่มั้ย? ถ้า x เป็นจริงและ y ที่เป็นความจริง ถ้า x เป็นความจริงและ y ที่เป็นเท็จ หนึ่งของพวกเขายังคงเป็นจริง ดังนั้น x หรือ y ที่ยังคงเป็นจริง ถ้า x เป็นเท็จและ y ที่เป็นความจริง หนึ่งของพวกเขายังคงเป็นจริงใช่มั้ย? y ที่เป็นความจริงในกรณีนี้ ดังนั้นจึงเป็นความจริงที่ x หรือ y ที่เป็นความจริง เฉพาะในกรณีที่เป็นเท็จ x และ y ที่เป็นเท็จ เราไม่ได้ไปลงเส้นทางที่ เพราะไม่ x หรือ y ที่เป็นความจริง ตอนนี้ถ้าคุณกำลังมองหา ที่หน้าจอได้ในขณะนี้ และสงสัยว่าสิ่งที่ สัญลักษณ์สำหรับตรรกะ OR, ก็เรียกว่าแถบแนวตั้ง และถ้าคุณกำลังมองหาที่แป้นพิมพ์ของคุณ นาทีที่ผมกำลังทำอยู่ตอนนี้ ก็มักจะอยู่เหนือ ปุ่ม Enter บนแป้นพิมพ์มากที่สุด ในปุ่มเดียวกันกับเครื่องหมาย นอกจากนี้ยังเป็นที่เหมาะสมมักจะ ถัดจากวงเล็บ ดังนั้นมันอาจจะเป็นกุญแจสำคัญที่คุณ ยังไม่ได้พิมพ์เป็นอย่างมากในอดีตที่ผ่านมา แต่ถ้าคุณเคยทำ การเปรียบเทียบเชิงตรรกะ ในขณะที่เราจะทำ จำนวนมากในการเรียนการสอนก็ จะเป็นประโยชน์ในการ พบว่าที่สำคัญและใช้มัน ดังนั้นจึงมักจะอยู่บนคีย์เดียวกัน เป็นเครื่องหมายเหนือใส่ ผู้ประกอบการตรรกะสุดท้ายคือไม่ และตรงไปตรงมาไม่สวย มันตีความค่าของตัวถูกดำเนินการของตน ถ้า x เป็นจริงแล้วไม่ได้ x เป็นเท็จ ถ้า x เป็นเท็จนั้นไม่เป็นความจริง x บางครั้งคุณจะได้ยินสัญลักษณ์นี้ ออกเสียงเป็นปังหรือตกใจ หรือไม่. มันสวยมากทุกสิ่งเดียวกัน ในกรณีที่คุณได้ยินว่าพูดและ คุณไม่แน่ใจว่าสิ่งที่หมายความว่า มันเป็นเพียงแค่อัศเจรีย์ จุด แต่บางครั้งก็เป็น เรียกได้ว่าเป็นสิ่งที่แตกต่างทั้งคู่ สิทธิทั้งหมดเพื่อที่จะใช้เวลา การดูแลของผู้ประกอบการเชิงตรรกะ ดังนั้นขอพูดคุยเกี่ยวกับ ผู้ประกอบการเชิงสัมพันธ์ อีกครั้งถ้าคุณคุ้นเคยกับเรื่องนี้ คณิตศาสตร์กลับมาในโรงเรียนชั้นประถมศึกษาปี คุณอาจคุ้นเคย มีวิธีการทำงานเหล่านี้แล้ว เหล่านี้มีพฤติกรรมตรงตามที่คุณคาดหวัง ดังนั้นน้อยกว่าที่มันเป็นความจริงในเรื่องนี้ ตัวอย่างเช่นถ้า x น้อยกว่าปี ดังนั้นถ้า x คือ 4 และ y ที่เป็น 6 x น้อยกว่าปี นั่นเป็นความจริง น้อยกว่าหรือเท่ากับ งานสวยเหมือนกัน ถ้า x 4 และ y ที่ 4 แล้ว x น้อยกว่าหรือเท่ากับปี ดีกว่า. x มากกว่าปี และมากกว่าหรือเท่ากับ x มีค่ามากกว่าหรือเท่ากับปี ถ้ามันเป็นความจริงแล้วคุณจะ ผ่านการแสดงออกว่า และคุณจะไปลง เส้นทางที่อยู่บนท้องถนน หากคุณมีถ้า x มากกว่าปี, และ x คือในความเป็นจริงมากขึ้นกว่าปี, คุณจะทำสิ่งที่เป็น ภายใต้เงื่อนไขที่ว่า ขอให้สังเกตว่าเราไม่ได้มี ตัวเดียวน้อยกว่า หรือเท่ากับที่คุณอาจจะ คุ้นเคยกับคณิตศาสตร์จากตำรา ดังนั้นเรามีน้อยกว่าสัญลักษณ์ ตามด้วยเครื่องหมายเท่ากับ นั่นเป็นวิธีที่เราเป็นตัวแทน น้อยกว่าหรือเท่ากับ และในทำนองเดียวกันเราจะทำอย่างนั้น สำหรับมากกว่าหรือเท่ากับ สุดท้ายทั้งสองสัมพันธ์ ผู้ประกอบการที่มีความสำคัญ มีการทดสอบเพื่อความเท่าเทียมกันและความไม่เท่าเทียมกัน ดังนั้นถ้า x เท่ากับเท่ากับ y ที่เป็นจริง ถ้าค่า x และ y เป็นเดียวกัน ถ้า x 10 และปี 10 แล้ว x เท่ากับเท่ากับ y ที่เป็นความจริง ถ้า x คือ 10 และ y ที่เป็น 11 x เท่ากับเท่ากับ y ที่ไม่เป็นความจริง นอกจากนี้เรายังสามารถทดสอบความไม่เท่าเทียมกันโดยใช้ เครื่องหมายอัศเจรีย์หรือปังหรือไม่ อีกครั้ง ถ้า x ไม่เท่ากับปีถ้า ที่ทดสอบเราใช้ที่นี่ เราต้องการจะดีไป ดังนั้นถ้า x ไม่เท่ากับ y ที่เราจะไปลงเส้นทางที่ โปรดใช้ความระมัดระวังจริงๆที่นี่ มันเป็นเรื่องธรรมดา mistake-- จริงๆและ หนึ่งที่ฉันทำอย่างแน่นอนค่อนข้างมากเมื่อ ผมได้รับ started-- ตั้งใจผิดพลาด ผู้ประกอบการที่ได้รับมอบหมายให้เท่ากับเดียว สำหรับผู้ประกอบการเปรียบเทียบความเสมอภาค คู่เท่ากับ มันจะนำไปสู่​​บางลาง พฤติกรรมในรหัสของคุณ และมักจะคอมไพเลอร์จะ เตือนคุณเกี่ยวกับเรื่องนี้เมื่อคุณพยายาม และรวบรวมรหัสของคุณ แต่บางครั้ง คุณอาจจะสามารถที่จะแอบมันด้วย มันไม่จำเป็นต้องเป็นสิ่งที่ดี ที่คุณแอบได้โดยแม้ว่า เพียงเพื่อให้ถ้าคุณกำลังทำ การทดสอบความไม่เท่าเทียมกันที่ ถ้าคุณกำลังตรวจสอบว่าสอง ตัวแปรที่แตกต่างกันมีค่าเดียวกัน ภายในของพวกเขาให้แน่ใจว่าจะใช้ เท่ากับเท่าเทียมและไม่เท่าเทียมเดียว และวิธีการที่โปรแกรมของคุณจะ มีพฤติกรรมที่คุณตั้งใจ ฉันลอยด์ดั๊กและนี่คือ CS50