สวัสดีและยินดีต้อนรับ. ในการบรรยายนี้ ฉันต้องการพูดคุยเกี่ยวกับการตัดสินใจ
โดยเฉพาะถ้าประโยค
ดังนั้นภาษาการเขียนโปรแกรม c จึงให้ความสามารถในการตัดสินใจทั่วไปในรูปแบบของคำสั่ง
if
เรารู้ว่าข้อความใดที่กล่าวถึงในจุดนี้
ตอนนี้เราจะเพิ่มคีย์เวิร์ดไว้ข้างหน้าและใส่ไว้ในวงเล็บด้วย
ดังนั้นสิ่งที่ดูเหมือนเป็นเช่นนี้
ถ้าคีย์เวิร์ดแล้วอยู่ในวงเล็บซ้ายและขวา คุณมีบางอย่างที่เรียกว่านิพจน์
เรารู้ว่านิพจน์คืออะไรและความแตกต่างระหว่างคำสั่งต่างๆ
นิพจน์นั้นต้องประเมินว่าจริงหรือเท็จ
แล้วคุณมีคำสั่งโปรแกรม
และนี่คือคำสั่ง if แบบง่ายที่สุด
ดังนั้น ถ้าคุณพูดนิพจน์ แล้วตามด้วยคำสั่งโปรแกรม
คุณสามารถแทนที่มันด้วย pseudocode บางอย่าง
เช่น ถ้าฝนไม่ตก ฉันจะไปว่ายน้ำ
และถ้าคุณแปล pseudocode เป็น c นั้น pseudocode นั้นไม่เหมือน
syntax ที่แท้จริง มันเป็นวิธีการอธิบายบางสิ่งในโค้ดในภาษาอังกฤษ
แล้วถ้าเราพูด if คำสั่งใน
c, สิ่งที่คุณจะทำคือคุณใส่เงื่อนไขในวงเล็บ, ฝนไม่ตก
และต่อจากคำสั่ง if จะเป็นคำสั่งเดียวหรือหลายคำสั่ง
หากคุณมีหลายประโยค คุณจะใส่ไว้ในวงเล็บปีกกา
แต่ในกรณีนี้ เรามีหนึ่งคำสั่ง
ดังนั้นภายในร่างกาย คำว่า if คือ ฉันจะไปว่ายน้ำ
ฝนต้องไม่ตกถึงตายฉันจะไปว่ายน้ำ
นี่คือเหตุผลที่มันอยู่ในกระแสการควบคุม คุณไม่ได้ดำเนินการจริงเสมอไป ฉันจะไปว่ายน้ำ
ขึ้นอยู่กับเงื่อนไขว่าจริงหรือเท็จ
ดังนั้นคุณอาจข้ามรหัสในกรณีนี้ ดังนั้นคุณจึงไม่มีกระบวนการต่อเนื่อง
ดังนั้นคำสั่ง if ถูกใช้เพื่อกำหนดการดำเนินการของคำสั่งโปรแกรมตามเงื่อนไขที่ระบุ
ความสามารถในการตัดสินใจ
ดังนั้นคุณจะไปว่ายน้ำได้ก็ต่อเมื่อฝนไม่ตก
คุณจะรันโค้ดในเนื้อความของคำสั่ง if เท่านั้นหากฝนไม่ตก
วงเล็บปีกกาจำเป็นสำหรับคำสั่งผสมภายในบล็อก if
ตัวอย่างเช่น ถ้าคุณบอกว่าถ้าฝนไม่ตก ฉันจะไปว่ายน้ำ หรือก่อนที่คุณจะไปว่ายน้ำ
คุณจะสวมชุดว่ายน้ำ คุณจะแต่งตัว แล้วก็ไปว่ายน้ำ
จากนั้นคุณต้องใส่เหล็กดัดฟันเข้าไป
และอีกครั้ง เราจะมีตัวอย่างเฉพาะเพื่อแสดงสิ่งนั้น
แต่คุณไม่จำเป็นต้องใส่เครื่องหมายวงเล็บปีกกาถ้าคุณมีคำสั่งเดียว หรือไม่ก็ได้
คุณสามารถจัดหาได้หรือไม่
ฉันมักจะใส่เครื่องหมายวงเล็บปีกกาในคำสั่ง if ทั้งหมดของฉันเพื่อความสม่ำเสมอ
ต่อไปนี้คือตัวอย่างคำสั่ง if ทั่วไปในภาษาการเขียนโปรแกรม c
ในกรณีนี้ เรากำลังประกาศตัวแปรสองตัว ตัวหนึ่งชื่อคะแนนและอีกตัวชื่อใหญ่
คะแนนคือ 95 มากเท่ากับ 90
ในที่นี้เรามีข้อความง่ายๆ ในเนื้อหาและไม่มีวงเล็บ
และโดยพื้นฐานแล้ว
เรากำลังบอกว่าถ้าคะแนนมากกว่าใหญ่ คะแนนคือ 95 ดังนั้นถ้า 95 มากกว่า
90 มันคือนิพจน์บูลีน มันจะประเมินเป็นจริงในกรณีนี้
ดังนั้นสิ่งที่จะแสดงบนหน้าจอคือแจ็คพอต
แล้วเราก็มีตัวอย่างเดียวกัน ยกเว้นว่าเราใช้วงเล็บปีกกา
เพราะเรามีคำสั่งมากกว่าหนึ่งคำสั่งในเนื้อความของคำสั่ง if
ในตัวอย่างด้านล่าง หากคะแนนมากกว่ามาก เรามีวงเล็บปีกกาด้านซ้ายเพื่อเริ่มต้นบล็อกของคำสั่ง
if และเรามีวงเล็บปิดเพื่อสิ้นสุดบล็อกของคำสั่ง if
ที่อ้างถึงเนื้อหาของคำสั่ง if
ในกรณีนี้ เรามีสองประโยค เราจะเพิ่มคะแนนเป็น 1 ก่อน จากนั้นเราจะแสดงให้คุณเห็นว่าคุณชนะ
ดังนั้น สังเกตความแตกต่างที่นี่ วงเล็บเหลี่ยมกับไม่มีวงเล็บ
คุณยังสามารถใส่วงเล็บปีกกาในคำสั่งเดียวได้
แต่ถ้าคุณมีหลายประโยค จำเป็นต้องใช้วงเล็บเหลี่ยม
วงเล็บด้านซ้ายหมายถึงการเริ่มต้นของบล็อก
วงเล็บปีกกาขวาหมายถึงการสิ้นสุดของบล็อก
หากคำสั่งค่อนข้างง่ายเมื่อเป็นเพียงการยกครั้งเดียว
ถ้าคีย์เวิร์ดอยู่ในวงเล็บซ้ายและขวา ภายในวงเล็บในนิพจน์
และเมื่อคำสั่งมีความซับซ้อนมากขึ้น นิพจน์เหล่านั้นสามารถกลายเป็นนิพจน์ได้หลายนิพจน์
ดังนั้นคุณสามารถเริ่มใช้ตัวดำเนินการเชิงตรรกะบางตัวที่เราได้เรียนรู้ในแง่ของว่าเราสามารถใช้
and หรือ the or
ดังนั้นหากคะแนนมากกว่าสูงและจำเป็นต้องมีอย่างอื่น
ดังนั้นเราจึงสามารถมีคำถามหลายข้อในประโยคเดียว if หรือเราสามารถแยกย่อยได้
แต่นี่เป็นตัวอย่างคำสั่ง if พื้นฐาน อีกครั้ง
ไวยากรณ์ที่ค่อนข้างพื้นฐาน คุณไม่เห็นอัฒภาคใด
ๆ ที่ส่วนท้ายของคำสั่ง if เท่านั้นที่ส่วนท้ายของ
printfs
ดังนั้นคุณจึงมีวงเล็บปิดท้ายและวงเล็บเริ่มต้น
ตอนนี้คุณสามารถเพิ่มส่วนคำสั่งอื่นในคำสั่ง if ของคุณได้
นี้ได้รับการสนับสนุนโดยค. ดังนั้นคุณสามารถขยายได้อีกเล็กน้อยด้วยการเพิ่มเล็กน้อยที่ช่วยให้คุณมีความยืดหยุ่นมากขึ้น
ตัวอย่างเช่น ถ้าเราจะบอกว่าถ้าฝนตกวันนี้แย่กว่าฝนเมื่อวาน
ฉันจะเอาร่มไปด้วย ไม่งั้นถ้าฝนไม่ตกเหมือนเมื่อวาน
ฉันจะเอาแจ็กเก็ตไป
ดังนั้นคนอื่นกำลังพูดว่าเกิดอะไรขึ้นเมื่อคำถามต่อคำตอบเป็นเท็จ
มิฉะนั้นฉันจะเอาแจ็คเก็ตของฉันแล้วไปทำงาน
นี่เป็นการตัดสินใจแบบเดียวกับที่คำสั่ง if else มีให้
ทำบางสิ่งเมื่อมันเป็นเรื่องจริง และทำบางสิ่งเมื่อมันเป็นเรื่องเท็จด้วย
ดังนั้น คุณมี if, คีย์เวิร์ด และในวงเล็บ คุณมีนิพจน์บูลีน บางอย่างที่ประเมินว่าจริงหรือเท็จ
แล้วคุณมีคำสั่งของคุณที่จะได้รับการดำเนินการคำสั่งหนึ่งถ้ามันเป็นจริง
มิฉะนั้น คุณใช้คีย์เวิร์ด else
ไม่จำเป็น คุณไม่จำเป็นต้องระบุอย่างอื่นเสมอไป เฉพาะในกรณีที่คุณต้องการทำบางอย่างหากนิพจน์บูลีนเป็นเท็จ
ให้คุณพูดคำสั่งที่สอง
และอีกครั้งในกรณีนี้ เราไม่มีวงเล็บในเนื้อหาของบล็อก
if หรือบล็อก else เพราะเรามีข้อความสั่งเดียวเท่านั้น
หากเรามีข้อความมากกว่าหนึ่งคำในเนื้อหาใดเนื้อหาหนึ่ง เราต้องจัดเตรียมวงเล็บสำหรับการเริ่มต้นและสิ้นสุด
นี่คือตัวอย่างคำสั่ง else ที่มี if
ในกรณีนี้ เราจะพิจารณาว่าตัวเลขเป็นเลขคู่หรือคี่
ดังนั้นเราจึงมีหน้าที่หลักที่เราเข้าไป
และเราสร้างตัวแปรสองสามตัว ตัวหนึ่งเรียกว่าตัวเลขเพื่อทดสอบ ตัวหนึ่งเรียกว่าเศษเหลือ
เป็น int ทั้งคู่
เรากำลังประกาศในบรรทัดเดียวกันโดยคั่นด้วยเครื่องหมายจุลภาค
เรายังไม่ได้เริ่มต้นพวกเขา
ในโค้ดบรรทัดถัดไป เราจะพิมพ์ผลลัพธ์บางอย่างเพื่อขอให้ผู้ใช้ป้อนข้อมูล
จากนั้นเราใช้ฟังก์ชัน scanf
เรากำลังอ่านเป็นจำนวนเต็ม เราจะได้เปอร์เซ็นต์ i หรือเปอร์เซ็นต์ d
และเราไม่ได้อ่านสตริงหรือคำใดๆ
เราจะใส่เครื่องหมายแอมเพอร์แซนด์ไว้หน้าตัวแปรที่เราจะเก็บข้อมูล
ดังนั้นผู้ใช้จะป้อนหมายเลขบางอย่างเพื่อทดสอบ
แล้วเราก็จะได้เศษที่เหลือของค่าที่มันป้อนเข้าไปด้วย 2 เพราะนั่นจะบอกเราว่ามีอะไรเป็นคู่หรือคี่หรือไม่
หากคุณสามารถหารจำนวนด้วย
2 และเศษเหลือเป็น 0 แสดงว่าเป็นจำนวนคู่
อย่างอื่นก็แปลก
ส่วนสำคัญของโปรแกรมนี้คือส่วนท้ายที่เราใช้เงื่อนไข
จนถึงจุดนี้ ทุกบรรทัดเดียวได้รับการดำเนินการ
แต่เมื่อเรามีคำสั่ง if และเงื่อนไขภายในวงเล็บ ถ้าเศษเหลือเท่ากับศูนย์
และคุณจะสังเกตได้ว่าคุณต้องใช้
เท่ากับ เท่ากับ เสมอ เพื่อเปรียบเทียบ คุณจะไม่ใช้ เท่ากับ
จำไว้ว่า
เท่ากับ สำหรับการมอบหมาย การกำหนดข้อมูลให้กับค่า Equals equals ใช้สำหรับเปรียบเทียบตัวเลข
เรากำลังเปรียบเทียบตัวแปรที่เหลือกับศูนย์
และถ้ามันเป็นศูนย์ เราจะพิมพ์ออกมาคู่กัน
มิฉะนั้น คีย์เวิร์ด else อยู่ในบรรทัดถัดไป เราจะพิมพ์คี่
คุณจะสังเกตเห็นว่าไม่มีวงเล็บใน if หรือ else เพราะมีเพียงประโยคเดียว
มาลองรันสิ่งนี้และดูว่ามันทำงานอย่างไรในบล็อคโค้ด
นี่คือโปรแกรมของเรา มันอธิบายไว้อย่างที่ฉันเพิ่งพูดถึงไปในทางเดียวกัน
เราก็แค่พิมพ์ออกมาเป็นคู่หรือคี่ ไปข้างหน้าและสร้างสิ่งนี้
และเราต้องการให้แน่ใจว่าไม่มีข้อผิดพลาดใดๆ
คุณมีฟีดบรรทัดพิเศษสองสามบรรทัดที่นี่
เมื่อเรารันโปรแกรมนี้ เราจะสามารถมีเอาต์พุตเป็นเลขคู่หรือคี่ได้
มันจะถามเราถึงจำนวนที่จะทดสอบ ฉันจะป้อน 33 ซึ่งแปลก
จะบอกว่าเป็นเลขคี่ จึงเป็นโปรแกรมที่ค่อนข้างง่าย
สิ่งสำคัญที่นี่คือคุณไม่ได้รันโค้ดบางอย่าง
คุณกำลังจะดำเนินการตามบรรทัดที่ 19 หากเศษเหลือเท่ากับ 0
ถ้าไม่ใช่ คุณจะไปที่บรรทัดที่ 21 จริงๆ และวงเล็บก็เป็นทางเลือกอีกครั้ง
คุณสามารถใส่สิ่งเหล่านั้นไว้ที่นั่นและ
IDE จะทำการเติมข้อมูลอัตโนมัติให้คุณโดยอัตโนมัติซึ่งค่อนข้างดี
ฉันมักจะชอบที่จะเพิ่มมันเพราะมันง่ายและทำให้โค้ดอ่านง่ายขึ้น
ขึ้นอยู่กับรูปแบบการจัดรูปแบบของคุณ
บางคนชอบให้มีวงเล็บที่จุดเริ่มต้นของคำสั่ง else แบบนี้
บางคนชอบที่จะมีมันในบรรทัดอื่น ๆ ขึ้นอยู่กับรูปแบบของคุณ
และที่จริงแล้ว สิ่งนี้สามารถทำได้สำหรับคุณโดยอัตโนมัติใน IDE โดยการจัดรูปแบบโค้ด
แต่วิธีนี้ใช้ได้ผลเหมือนกัน และเกือบจะอ่านง่ายยิ่งขึ้นไปอีก
และถ้าคุณจำเป็นต้องเพิ่มคำสั่งอื่นๆ อีก คุณสามารถเพิ่มได้อย่างง่ายดาย
และคุณไม่จำเป็นต้องกังวลเกี่ยวกับการเพิ่มวงเล็บ
ดังนั้นฉันจึงติดนิสัยในการเพิ่มวงเล็บ
อีกอย่าง สิ่งสำคัญอีกอย่างตรงนี้คือ นี่เท่ากับ
คุณไม่สามารถทำเท่ากับ ถ้าคุณทำเท่ากับและรันโปรแกรม คุณจะเห็นว่ามีความแตกต่างอย่างมาก
เป็นคำสั่ง
if else ที่ง่ายมาก มีประโยชน์มาก คุณจะดำเนินการบรรทัดที่ 19 เท่านั้นหากส่วนที่เหลือเป็นเลขคี่
มิฉะนั้น คุณจะดำเนินการบรรทัดที่ 22
มาพูดถึงคำสั่ง else if กันดีกว่า
ดังนั้นคุณจึงสามารถมีอย่างอื่นได้ ถ้าเป็นเช่นนั้น เราได้เรียนรู้เกี่ยวกับถ้า เราได้เรียนรู้เกี่ยวกับสิ่งอื่น
คุณสามารถจัดการกับการตัดสินใจที่ซับซ้อนเพิ่มเติมได้โดยการเพิ่มคำสั่ง if ในส่วนคำสั่ง else ของคุณ
มันเหมือนกับถามคำถามเพิ่มเติม
คุณจะไม่ดำเนินการบางอย่างหากเงื่อนไขในต้นฉบับเป็นเท็จ
คุณจะถามคำถามอื่น
ดังนั้นคุณบอกว่าถ้านิพจน์ 1
คุณมีโค้ดที่จะดำเนินการหากเป็นจริง
มิฉะนั้น มิฉะนั้น คุณบอกว่าถ้าหลังจากนั้นซึ่งถูกกฎหมายอย่างสมบูรณ์
นี่คือคำสั่ง if ภายในคำสั่ง else
จากนั้นคุณรันโปรแกรมที่สอง มิฉะนั้น คุณดำเนินการอย่างอื่น
ดังนั้น นี่จึงขยายคำสั่ง if จากการตัดสินใจเชิงตรรกะแบบสองค่าเป็นการตัดสินใจเชิงตรรกะแบบสามค่า
ที่นี่คุณถามคำถามสองข้อ
และถ้าคำถามของคำตอบแรกเป็นจริง คุณต้องดำเนินการคำสั่งโปรแกรมที่หนึ่ง
จากนั้นคุณถามคำถามที่สอง เฉพาะในกรณีที่คำถามแรกเป็นจริงหรือหากคำถามแรกเป็นเท็จ
และถ้าเป็นอย่างนั้นจริง แสดงว่าคุณมีโค้ดอื่นที่คุณรันอย่างอื่น
ดังนั้น คุณมีสามสาขาที่นี่ โดยพื้นฐานแล้ว
โค้ดสามบรรทัดแยกกันที่อาจดำเนินการหรือไม่อาจดำเนินการได้
คำสั่งโปรแกรม 1 คำสั่งโปรแกรม 2 หรือคำสั่งโปรแกรม 3
คุณสามารถเขียนโค้ดนี้ใหม่เพื่อใช้ else if
ตอนนี้ if อยู่ในบรรทัดแยก แต่จริงๆ แล้วคุณสามารถทำอะไรแบบนี้ได้ ถ้านิพจน์หนึ่งทำอย่างอื่น
if
คุณไม่จำเป็นต้องแยกบรรทัด อาจเป็นบรรทัดเดียว และจากนั้นคุณสามารถมีบรรทัดอื่นนอกเหนือจากนั้นได้
สิ่งเดียวที่ยุ่งยากเกี่ยวกับเรื่องนี้ก็คือส่วนประโยคอื่นจะถูกดำเนินการ
และนี่ก็เป็นสิ่งเดียวกัน ดังนั้นประโยคอื่นจะถูกดำเนินการสำหรับทั้งสาม
ดังนั้นจึงทำให้สับสนเล็กน้อยในตัวอย่างแรก
เพราะดูเหมือนว่าอันที่สองจะถูกดำเนินการก็ต่อเมื่ออันอื่นเป็นเท็จ
แต่จะถูกดำเนินการจริง ๆ ถ้านิพจน์แรกเป็นเท็จเช่นกัน
หากคุณมีวงเล็บอยู่ในนั้น จริงๆ แล้วคุณสามารถซ้อนคำสั่ง if เหล่านั้นได้
และส่วนนอก อย่างอื่นสุดท้ายจะดำเนินการตามคำถามของข้อที่สองหากตอบเท่านั้น
เราจะทำ nesting เมื่อเราพูดถึง nested if statement และ nested loops
ซ้อน if คำสั่งเพียงแค่ใส่ if ด้านและ if และคุณต้องระวังที่ส่วนอื่นของคุณอื่น
ๆ จะต้องสอดคล้องกับคำสั่ง if สุดท้าย
นี่เป็นอีกตัวอย่างหนึ่งที่เราจะลองใช้ฟังก์ชันเครื่องหมาย
เราจะคืนค่าเป็นลบ 1 0 หรือ 1
นี่คือการประเมินแบบสามชั้นที่นี่
สิ่งที่โปรแกรมนี้ทำในรูทีนหลักคือ เรากำลังสร้างตัวแปรประเภท
int ตัวเลข และเครื่องหมาย
เรากำลังให้ผู้ใช้ป้อนตัวเลข และจัดเก็บไว้ในตัวแปรตัวเลข
และถ้าจำนวนน้อยกว่า 0 เครื่องหมายจะเท่ากับลบ 1
มิฉะนั้น ถ้าจำนวนเท่ากับ 0 มันจะเป็น 0
มิฉะนั้น ถ้าทั้งคู่เป็นเท็จ เครื่องหมายจะเท่ากับ 1 ซึ่งหมายความว่าเป็นบวก
ดังนั้นนี่คือตัวอย่างวิธีอื่นหากจะมีประโยชน์มาก
และคุณสามารถมี ifs ได้หลายตัว เราเห็นแค่อันเดียวที่นั่น แต่เราอาจมี 100 ได้ถ้าต้องการ
มิฉะนั้น หากจำนวนเท่ากับ 2 มิฉะนั้น หากจำนวนเท่ากับ 3 มิฉะนั้น หากจำนวนเท่ากับ 4
และคุณยังสามารถเห็นได้ว่าไม่ได้ใช้วงเล็บปีกกาที่นี่
แต่วงเล็บจะถูกนำมาใช้หากคุณมีหลายประโยคภายในเนื้อหา
และเมื่อคุณใช้คำสั่ง if คุณควรสังเกตด้วยว่าคุณกำลังใช้ตัวดำเนินการเชิงตรรกะและตัวดำเนินการเปรียบเทียบและตัวดำเนินการเชิงสัมพันธ์จำนวนมาก
คุณใช้สัญลักษณ์น้อยกว่าตรงนี้ ตัวดำเนินการเชิงตรรกะ จำไว้ว่า
คือเครื่องหมายและ สองตัวสำหรับและหรือและตัวดำเนินการเชิงสัมพันธ์เป็นที่ที่คุณกำลังเปรียบเทียบค่า
ดังนั้นเมื่อคุณทำสิ่งต่างๆ เช่น น้อยกว่าหรือน้อยกว่า เท่ากับหรือมากกว่า
สิ่งเหล่านี้ถูกใช้ค่อนข้างน้อยเมื่อคุณใช้ตัวเลขในนิพจน์คำสั่ง if ของคุณ
เมื่อคุณใช้เครื่องหมายและเครื่องหมาย คุณกำลังถามคำถามหลายข้อ
หากสิ่งนี้เป็นจริงและสิ่งนี้เป็นจริงหรือหากสิ่งนี้เป็นจริงหรือ
เป็นวิธีการลดงบ if อื่นๆ ด้วย
คุณจึงเขียนโค้ดนี้ใหม่ตรงนี้ได้ ถ้าตัวเลขน้อยกว่า 0
และถ้าคุณต้องการมีป้าย คุณไม่สามารถเป็นอย่างที่เป็นอยู่ตอนนี้ได้
แต่ถ้าคุณใส่เครื่องหมายแอมเพอร์แซนด์เข้าไป แล้วบอกได้ว่าตัวเลขน้อยกว่า
0 และเท่ากับ 0 เครื่องหมายจะเป็นลบ 1 กับ
0 ฉันหมายความว่าคุณไม่สามารถทำอย่างนั้นได้โดยเฉพาะ
แต่คุณสามารถดูวิธีเพิ่มคำถามหลายข้อได้ที่นี่
ดังนั้นเราจะมีความท้าทายเฉพาะเจาะจงที่เราจะเขียนโปรแกรมที่ใช้คำสั่ง if
นี่เป็นตัวอย่างที่ดี คุณจะต้องใส่ตัวอย่างเหล่านี้ใน IDE ของคุณและดูว่าเกิดอะไรขึ้น
แต่ถ้าเป็นอีกวิธีหนึ่งในการถามคำถามหลายข้อ
ซ้อนคำสั่ง if else
คำสั่งซ้อน if l หมายความว่าคุณสามารถใช้คำสั่ง if หรือ an else
if ในอีกคำสั่งหนึ่ง if หรือ an else if
นั่นเป็นเหตุผลที่เรียกว่าการทำรัง
คุณสามารถใช้หลายสิ่งภายในและคุณสามารถทำสิ่งนั้นซ้ำแล้วซ้ำอีก
ไม่มีการจำกัดจำนวนการซ้อนที่คุณไม่เห็น
ดังนั้นไวยากรณ์จึงมีลักษณะเช่นนี้
ถ้านิพจน์บูลีนมีค่าเท่ากับ true จากนั้นภายในนั้นและเมื่อคุณทำการซ้อน
โดยปกติคุณต้องการใช้วงเล็บเหลี่ยม
แม้ว่าคุณไม่จำเป็นต้องใช้ประโยคเดียวเพราะมันทำให้อ่านง่ายขึ้นมาก
ดังนั้นถ้านิพจน์บูลีน 1 เป็นจริง แล้วในนั้นคุณจะบอกว่านิพจน์บูลีน
2 เป็นจริงหรือไม่
คุณจะไม่ดำเนินการจริงหากนิพจน์บูลีน 2 เว้นแต่นิพจน์บูลีน
1 เป็นจริง
จากนั้นภายในเนื้อหาของนิพจน์บูลีน 2 คุณจะรันโค้ดหากเป็นเรื่องจริง
ตัวอย่างของคำสั่งที่ซ้อนกันถ้าจะมีลักษณะเช่นนี้
หากเกมจบลงเท่ากับ 0 และภายในนั้นหากผู้เล่นย้ายเท่ากับคุณ แสดงว่าคุณมีการพิมพ์
กุญแจสำคัญที่สังเกตเห็นว่าไม่มีวงเล็บและทำตามได้ยากขึ้นเล็กน้อย
วิธีเดียวที่คุณทำตามนี้คือผ่านการเยื้องซึ่งเป็นอีกสิ่งหนึ่งที่คุณต้องการทำเมื่อคุณเขียนคำสั่ง
if ในบล็อกของโค้ด
คุณต้องการเยื้องบล็อกเสมอเพราะมันทำให้อ่านง่ายขึ้น
ลองนึกภาพถ้าสิ่งนี้ไม่มีการเยื้อง
มันจะยากแค่ไหนที่จะจับคู่ส่วนอื่นกับ ifs
ดังนั้นให้ใช้การเยื้องแต่อาจใช้วงเล็บปีกกาด้วย วงเล็บช่วยให้อ่านได้ง่ายขึ้น
และอย่าลืมว่าความสามารถในการอ่านเป็นเรื่องใหญ่เพราะความสามารถในการอ่านช่วยให้คุณค้นหาและแก้ไขข้อผิดพลาดได้รวดเร็วยิ่งขึ้น
ดังนั้นในกรณีนี้ เราจะดำเนินการย้ายของคุณที่พิมพ์ไปยังหน้าจอเท่านั้นหากผู้เล่นที่จะย้ายเท่ากับ
u และเกมโอเวอร์เท่ากับ 0
เราจะดำเนินการย้ายของฉันที่แสดงบนหน้าจอเท่านั้นหากเกมมีค่าเท่ากับ
0 แต่ผู้เล่นที่จะย้ายไม่เท่ากับ u
และสุดท้าย เราจะดำเนินการเฉพาะเมื่อเกมจบลงหากเกมไม่เท่ากับ
0
ดังนั้นเราจึงมีเงื่อนไขสามข้อในการพิมพ์ข้อความสั่งที่แตกต่างกันสามแบบ
และคุณสามารถเขียนได้ว่าถ้าเกมจบลง เท่ากับ 0 และเครื่องหมายและเครื่องหมาย,
ผู้เล่นที่จะเคลื่อนที่เท่ากับ u
แต่ปัญหาของคุณคืออย่างอื่น การย้ายของฉันอาจไม่ถูกต้องเพราะคุณยังต้องเปรียบเทียบผู้เล่นเพื่อย้าย
จึงมีบางครั้งที่คุณสามารถใช้เครื่องหมายและเพื่อทำให้โค้ดง่ายขึ้น
มีบางครั้งที่คุณไม่สามารถทำได้ ในกรณีนี้ คุณทำไม่ได้เพราะอันแรกอยู่ในที่ซ้อนถ้า
ดังนั้นการซ้อนจึงค่อนข้างใช้ได้ และคุณจะใช้มัน
ทำความคุ้นเคยกับมัน อีกครั้ง ไวยากรณ์สำหรับคำสั่ง if ตรงไปตรงมามาก
นิพจน์บูลีนภายในแล้วใช้วงเล็บสำหรับคำสั่งเดียว
มิฉะนั้น คุณใช้วงเล็บ
คุณไม่ได้ใช้วงเล็บสำหรับสถานะเดียว มิฉะนั้นให้ใช้วงเล็บ
นอกจากนี้ยังมีวิธีที่สามในการถามคำถามในโปรแกรมของคุณ
สิ่งนี้เรียกว่าตัวดำเนินการตามเงื่อนไข
และเราพูดถึงเมื่อเราพูดถึงตัวดำเนินการ แต่ต้องเข้าใจมากขึ้นอีกหน่อย
ดังนั้นตัวดำเนินการตามเงื่อนไขจึงเป็นตัวดำเนินการที่ไม่ซ้ำกันมาก
ซึ่งไม่เหมือนกับตัวดำเนินการอื่นๆ ในค.
ตัวดำเนินการส่วนใหญ่ใน c เป็น unary หรือ binary
Unary หมายความว่าตัวดำเนินการรับอาร์กิวเมนต์เดียวหรือตัวถูกดำเนินการเดียว
ไบนารีหมายความว่ามีตัวถูกดำเนินการทั้งสองด้าน
ตัวดำเนินการบวกคือตัวดำเนินการไบนารีเพราะคุณทำ 5 บวก 3, ตัวถูกดำเนินการสองตัว
ค่าลบเป็นตัวดำเนินการเอกพจน์เพราะคุณพูดเหมือนลบ 3
มีตัวเลือกที่สาม มีตัวดำเนินการแบบไตรภาค ซึ่งรับตัวถูกดำเนินการสามตัว
และนี่คือตัวดำเนินการตามเงื่อนไข
คุณมีสองสัญลักษณ์ที่ใช้เพื่อแสดงตัวดำเนินการนี้ ตัวดำเนินการแบบมีเงื่อนไขนี้
มันคือเครื่องหมายคำถามและทวิภาค
และมันเทียบเท่ากับคำสั่ง if else จริงๆ
ลักษณะที่ปรากฏคือตัวถูกดำเนินการแรกวางก่อนเครื่องหมายคำถาม
ซึ่งจะเป็นเงื่อนไข นิพจน์บูลีนในตัวอย่างก่อนหน้านี้
แล้วสิ่งที่สองระหว่างเครื่องหมายคำถามกับทวิภาคจะเป็นเนื้อความของคำสั่ง
if ถ้าคำสั่ง if เป็นจริง
แล้วโคลอนคือส่วนที่สาม และนั่นจะเป็นถ้าเงื่อนไขประเมินเป็นเท็จ
คุณจะต้องดำเนินการเนื้อความของโค้ดนั้น ดังนั้นมันจึงเหมือนกับเนื้อความของคำสั่ง
else
ดังนั้นตัวดำเนินการเลี้ยวนี้จึงไม่มีอะไรมากไปกว่าคำสั่ง if else เพียงการจดชวเลข คุณสามารถเขียนได้เร็วกว่ามาก
ความแตกต่างในที่นี้คือไม่มีวงเล็บ ดังนั้นคุณสามารถมีนิพจน์เดียวหรือประโยคเดียวภายในเนื้อหาของหลังเครื่องหมายคำถามหรือหลังเครื่องหมายทวิภาคได้เท่านั้น
ดังนั้น ถ้าตัวดำเนินการตามเงื่อนไขประเมินเป็นหนึ่งในสองนิพจน์
ขึ้นอยู่กับว่านิพจน์เชิงตรรกะเหล่านั้นเป็นนิพจน์นั้นหรือไม่ ขึ้นอยู่กับว่าเงื่อนไขเป็นจริงหรือไม่
หากเงื่อนไขเป็นเท็จ นิพจน์ 2 จะถูกประเมิน
อีกครั้ง มันทำงานเหมือนกับคำสั่ง if else
สังเกตด้วยว่าตัวดำเนินการถูกจัดเรียงอย่างไรให้สัมพันธ์กับตัวถูกดำเนินการ
อักขระเครื่องหมายคำถามเป็นไปตามเงื่อนไขนิพจน์ตรรกะ
ด้านขวาของเครื่องหมายคำถามคือตัวถูกดำเนินการสองตัว นิพจน์ที่หนึ่งและนิพจน์ที่สอง
พวกเขาเป็นตัวแทนของตัวเลือก
ค่าที่เป็นผลจากการดำเนินการจะเป็นค่าของนิพจน์หนึ่ง ถ้าเงื่อนไขประเมินว่าเป็นจริง
แล้วค่าของนิพจน์ 2 ถ้าเป็นเท็จ อย่างที่ฉันพูดถ้าเป็นอย่างอื่น
มาดูตัวอย่างกัน อ่านแล้วดูตลกดี
แต่ที่บอกคือถ้า x เท่ากับ y มากกว่า
7 แล้วนี่ทำอะไร?
มันคือการทำภารกิจ?
X เท่ากับ y ดังนั้นถ้า x เป็น 5 และ y เป็น 9,
มันจะบอกว่าถ้า x มากกว่า 9, มันจะตั้งค่าตัวเลขเป็น
25 x มิฉะนั้น มันจะตั้งค่า x เป็น 50
ดังนั้นจึงค่อนข้างสับสนเล็กน้อยในการอ่านก่อน
ผลลัพธ์ที่ได้คือ x ถูกตั้งค่าเป็น 25 ถ้า y มากกว่า 7 หรือ 50 มิฉะนั้น
จึงเป็นวิธีที่ง่ายในการมอบหมายนิพจน์
X เท่ากับ y มากกว่า 7
ถ้า y มากกว่า 7, x เท่ากับ 25 มิฉะนั้น 50
นั่นเป็นสาเหตุที่ x เท่ากับมีภาพอนาจาร
ดังนั้นตัวดำเนินการ ternary และเงื่อนไขจะอยู่ทางด้านขวามือของงาน
และนี่คือวิธีที่คุณใช้โดยทั่วไป คุณบอกว่า x เท่ากับ ผลลัพธ์ของตัวดำเนินการไตรภาคนั้น
ดังนั้นตัวดำเนินการไตรภาคทั้งหมดจึงเท่ากับ y มากกว่า 7 มันก็แค่บอกว่าถ้า y มากกว่า
7, 25, ไม่อย่างนั้น 50 แล้วคุณกำหนดให้ x
และนี่คือวิธีที่คุณใช้โดยทั่วไป เหมือนกับการใช้คำสั่ง
if ถ้า y มากกว่า 7, x เท่ากับ 25 มิฉะนั้น x เท่ากับ 50
แต่โค้ดน้อยกว่ามาก
ข้อจำกัดของตัวดำเนินการตามเงื่อนไขนี้คือ คุณสามารถมีตัวแปรได้เพียงสองตัวเท่านั้นที่เขียนโดยใช้ตัวดำเนินการแบบมีเงื่อนไข
ค่าต่ำสุดสูงสุด
คุณไม่สามารถทำได้มากมาย ดังนั้นจึงมีข้อจำกัดเล็กน้อย มักใช้สำหรับมอบหมายงาน
การบรรยายค่อนข้างยาว ตัวอย่างต่างๆ มากมาย
สิ่งนี้จะนำไปใช้ได้มากขึ้นเมื่อเราทำสิ่งที่ท้าทายของเรา
แต่ถ้ามีการใช้คำพูดมากมายและเรียนรู้ได้ง่ายจริงๆ
ก่อนที่คุณจะรู้
คุณจะต้องรู้ไวยากรณ์ เช่น หลังมือ
วงเล็บ วงเล็บ หรือคำหลักอื่นๆ
และในบางครั้ง คุณจะใช้โอเปอเรเตอร์แบบมีเงื่อนไขนี้
อีกครั้ง นั่นอาจเป็นเพราะคุณก้าวหน้าขึ้นใน c คุณจะเริ่มตระหนักว่า ว้าว
ถ้าคำสั่งนี้ใช้เวลานานในการเขียน บางทีฉันสามารถเขียนในบรรทัดเดียวโดยใช้ตัวดำเนินการตามเงื่อนไขด้วยเครื่องหมายคำถามและทวิภาค
อีกครั้ง มีประโยชน์มากสำหรับการกำหนดตัวแปรตามเงื่อนไข ขอขอบคุณ.