วิธีใช้ตัวดำเนินการมอบหมายงานใน C

Withi Chi Taw Danein Kar Mxb Hmay Ngan Ni C



“ตัวดำเนินการมีบทบาทสำคัญในการคำนวณทุกอย่างที่คอมพิวเตอร์ทำ บทความนี้จะเน้นที่ตัวดำเนินการมอบหมาย

ตัวดำเนินการมอบหมายที่ใช้บ่อยที่สุดคือ = นอกจากนี้ ตัวดำเนินการไบนารียังรวมถึง

ผู้ประกอบการที่ได้รับมอบหมาย มีระดับความสำคัญต่ำที่สุดเมื่อเทียบกับตัวดำเนินการอื่นๆ และเชื่อมโยงจากขวาไปซ้าย ตัวดำเนินการมอบหมายจะใช้ในภาษาคอมพิวเตอร์ C เพื่อจัดสรรตัวแปรตามค่าของมัน ภาษารองรับตัวดำเนินการที่หลากหลาย รวมถึงเลขคณิต เชิงสัมพันธ์ ระดับบิต การมอบหมาย ฯลฯ ในการกำหนดค่า ตัวแปร หรือวิธีการให้กับตัวแปรอื่น ให้ใช้ตัวดำเนินการมอบหมาย พารามิเตอร์ด้านซ้ายของตัวดำเนินการกำหนดคือตัวแปร และพารามิเตอร์ด้านขวาคือค่า เพื่อป้องกันคำเตือนจากคอมไพเลอร์ รายการทางด้านซ้ายต้องเป็นประเภทข้อมูลเดียวกับรายการทางด้านขวา มาพูดถึงตัวดำเนินการมอบหมายต่างๆ กัน ได้แก่ =, +=, -=, /=, *= และ %=”







รูปแบบ

ในตัวอย่างด้านล่าง เรามีตัวอย่างของตัวดำเนินการกำหนดที่ง่ายที่สุดในการเขียนโปรแกรม C ซึ่งเราเพียงแค่กำหนดค่าตัวเลขให้กับจำนวนเต็ม ซึ่งจะช่วยให้เราอธิบายรูปแบบทั่วไปของผู้ปฏิบัติงานที่ได้รับมอบหมายได้









ตัวอย่าง # 01

ตัวอย่างแรกคือตัวดำเนินการกำหนดอย่างง่าย โดยใช้ตัวดำเนินการ ตัวถูกดำเนินการที่เหมาะสมจะถูกกำหนดให้กับตัวถูกดำเนินการทางซ้ายใหม่ มีโอเปอเรเตอร์การกำหนดที่ตรงไปตรงมาเพียงตัวเดียว “=”. ตัวถูกดำเนินการทางซ้าย = ตัวถูกดำเนินการทางขวาคือรูปแบบทั่วไป จำนวนเต็ม “a” (ตัวถูกดำเนินการทางซ้ายของตัวดำเนินการกำหนดอย่างง่าย) ถูกกำหนดจำนวน 5 ในกรณีภายใต้ (ตัวถูกดำเนินการทางขวาของตัวดำเนินการกำหนดอย่างง่าย) เช่นเดียวกันสำหรับ b เช่นเดียวกับ c โดยที่ c ได้รับผลรวมของ 'a' และ 'b' ผลลัพธ์สุดท้ายคือ c=10 ซึ่งหมายความว่า c ได้รับการกำหนดค่า 10 ด้วยความช่วยเหลือของโอเปอเรเตอร์นี้



ตัวอย่าง # 02

ตัวอย่างที่สองคือตัวดำเนินการกำหนดแบบผสมตัวแรกที่เรียกว่าตัวดำเนินการกำหนดเพิ่มเติม “+=” ลองนึกภาพรุ่นที่ง่ายกว่ามากที่จะเข้าใจสิ่งนี้ พิจารณา: a = a + 5 . สิ่งที่เราทำคือเพิ่ม 5 ให้กับตัวแปร เอ แล้วผลลัพธ์ใด ๆ ที่ได้รับมอบหมายให้กับตัวแปร เอ . ในทำนองเดียวกันสิ่งที่สาย a += b ที่ทำอยู่คือการเพิ่ม สู่ความคุ้มค่า เอ แล้วกำหนดผลลัพธ์ให้กับตัวแปร เอ . ตัวแปร b ยังคงไม่เปลี่ยนแปลง (b=10) เนื่องจากไม่มีการเปลี่ยนแปลงค่า เฉพาะตัวแปร เอ' s มีค่าเพิ่มขึ้นโดยการเพิ่มมูลค่าของ ด้วยความช่วยเหลือของ += เราได้พบ เอ ที่ได้รับมอบหมายด้วยค่า 15

ตัวอย่าง #03

ตัวอย่างที่สามคือตัวดำเนินการกำหนดการลบ “-=” ในโอเปอเรเตอร์นี้ ตัวถูกดำเนินการทางขวาจะถูกลบออกจากตัวถูกดำเนินการทางซ้าย แล้วจึงเท่ากับตัวถูกดำเนินการทางซ้าย มันก็เหมือนกับว่า a = a – 5 . ที่นี่เราลบ 5 จาก เอ แล้วกำหนดให้ a. ในทำนองเดียวกันรหัสด้านล่างแสดงว่า (มีค่า 10) กำลังถูกลบออกจาก เอ (มีค่า 15) แล้วกำหนดผลเป็น เอ (ทำให้มีค่า 5) คุณค่าของ ยังคงไม่เปลี่ยนแปลงเนื่องจากตัวดำเนินการกำหนดค่าให้กับตัวถูกดำเนินการทางขวาเท่านั้น โดยปล่อยให้ค่าของตัวถูกดำเนินการทางซ้ายเหมือนเดิม

ตัวอย่าง # 04

ตัวอย่างที่สี่คือตัวดำเนินการมอบหมายการคูณ “*=” ตัวถูกดำเนินการหลักถูกคูณด้วยอาร์กิวเมนต์ด้านซ้าย แล้วจับคู่กับตัวถูกดำเนินการทางซ้ายโดยใช้ตัวดำเนินการนี้ รูปแบบระดับต่ำที่ง่ายกว่านี้ก็จะเป็น a = เป็ * 5 โดยที่ค่าของตัวแปร เอ คูณด้วยค่า 5 แล้วจึงกำหนดผลลัพธ์ให้กับค่า เอ ตัวเอง. ในทำนองเดียวกัน ตัวอย่างด้านล่างแสดงให้เห็นว่าตัวแปร เอ (ตัวถูกดำเนินการทางซ้าย) ที่มีค่า 15 ถูกกำหนดผลลัพธ์ของการคูณค่าของ (ตัวถูกดำเนินการทางขวา) ซึ่งเท่ากับ 10 มีค่าเท่ากับ เอ ; ดังนั้นทำให้ผลลัพธ์สุดท้าย 150 ถูกกำหนดให้กับตัวแปร เอ . อีกครั้งค่าของตัวแปร ยังคงไม่เปลี่ยนแปลง

ตัวอย่าง # 05

ตัวอย่างต่อไปเรียกว่า ดิวิชั่น Assignment Operator “/=” โอเปอเรเตอร์นี้อนุญาตให้โอเปอเรเตอร์ด้านซ้ายเท่ากับผลลัพธ์ของการแบ่งตัวถูกดำเนินการทางซ้ายด้วยตัวถูกดำเนินการทางขวา มันก็เหมือนกับว่า a = เป็ / 5. ที่นี่เราแบ่ง เอ ภายใน 5 แล้วมอบหมายให้ เอ . ในทำนองเดียวกันรหัสด้านล่างแสดงว่า (มีค่า 10) หาร เอ (มีค่า 50) แล้วจึงกำหนดผลเป็น เอ (ทำให้มีค่า 5) ค่าของตัวแปร ยังคงไม่เปลี่ยนแปลงเนื่องจากตัวดำเนินการหาร เช่นเดียวกับตัวดำเนินการมอบหมายใดๆ จะกำหนดค่าให้กับตัวถูกดำเนินการทางขวาเท่านั้น โดยที่ค่าของตัวถูกดำเนินการทางซ้ายยังคงเหมือนเดิม

ตัวอย่าง # 06

ตัวอย่างที่หกและสุดท้ายคือโอเปอเรเตอร์ที่เรียกว่า Modulus Assignment Operator “%=” โอเปอเรเตอร์นี้กำหนดค่าตัวถูกดำเนินการทางซ้ายที่ได้รับจากการใช้โมดูโลของตัวถูกดำเนินการทางซ้ายและตัวถูกดำเนินการทางขวา เส้น %= b เท่ากับว่า a = % b , ที่ไหน สามารถเก็บค่าใด ๆ ได้เช่นกัน ในตัวอย่างด้านล่าง เก็บค่า 10 ผ่านตัวดำเนินการมอบหมายอย่างง่าย และ เอ ถือ 55 จากนั้นตัวดำเนินการกำหนดโมดูลัสจะค้นหาส่วนที่เหลือของโมดูลัสของ เอ และ ซึ่งเท่ากับ 5 ในกรณีนี้ และกำหนดให้กับตัวถูกดำเนินการทางซ้าย “ ก. ตามปกติ ตัวถูกดำเนินการที่ถูกต้อง” ” จะไม่เปลี่ยนแปลงด้วยค่า 10 เนื่องจากไม่ได้กำหนดค่าอื่น

บทสรุป

เพื่อกำหนดผลลัพธ์ของนิพจน์ให้กับตัวแปร เป็นทางเลือกที่ดีในการใช้ตัวดำเนินการมอบหมาย ในภาษาการเขียนโปรแกรม C มีโอเปอเรเตอร์การมอบหมายสองแบบที่แตกต่างกัน เครื่องหมาย “=” เป็นตัวดำเนินการกำหนดพื้นฐาน นอกจากนี้ ตัวดำเนินการ Compound Assignment ยังใช้งานง่ายและขจัดความจำเป็นในการเขียนซ้ำๆ ในส่วนของตัวถูกดำเนินการทางซ้าย ภาษาโปรแกรมอื่นๆ เช่น C++ ก็ทำงานในลักษณะเดียวกันเช่นกัน เราได้นำตัวอย่างตัวดำเนินการมอบหมายประเภทต่างๆ มาใช้ในภาษาการเขียนโปรแกรม C หลายตัวอย่างในบทความนี้