อะไรคือตัวดำเนินการและประเภทของพวกเขาในการเขียนโปรแกรม C

Xari Khux Taw Danein Kar Laea Prapheth Khxng Phwk Khea Ni Kar Kheiyn Porkaerm C



ภาษาโปรแกรม C มีตัวดำเนินการที่หลากหลายซึ่งจำเป็นสำหรับการดำเนินการประเภทต่างๆ กับตัวแปรและค่าคงที่ ตัวดำเนินการในภาษาซีคือสัญลักษณ์พิเศษหรือคำสำคัญที่ใช้ตัวถูกดำเนินการตั้งแต่หนึ่งตัวขึ้นไปและดำเนินการทางคณิตศาสตร์ ทางตรรกะ หรือระดับบิต การใช้โอเปอเรเตอร์ในภาษาซีทำให้สามารถคำนวณและประเมินตรรกะต่างๆ ในโปรแกรมได้

ในคำแนะนำโดยละเอียดนี้ เราจะหารือเกี่ยวกับตัวดำเนินการในการเขียนโปรแกรม C และประเภทของตัวดำเนินการ

ตัวดำเนินการและประเภทของพวกเขาในการเขียนโปรแกรม C

ตัวดำเนินการเป็นสัญลักษณ์ที่ใช้ในการดำเนินการทางคณิตศาสตร์ที่เฉพาะเจาะจง ใช้เพื่อจัดการกับข้อมูลและตัวแปร ต่อไปนี้เป็นตัวดำเนินการประเภทต่างๆ ในการเขียนโปรแกรม C:







  1. ตัวดำเนินการทางคณิตศาสตร์
  2. ตัวดำเนินการยูนารี
  3. ผู้ปฏิบัติงานมอบหมาย
  4. ตัวดำเนินการเชิงตรรกะหรือบูลีน
  5. ตัวดำเนินการเชิงสัมพันธ์
  6. ตัวดำเนินการตามเงื่อนไข
  7. ตัวดำเนินการระดับบิต

1: ตัวดำเนินการทางคณิตศาสตร์

ตัวดำเนินการเหล่านี้คือตัวดำเนินการที่ใช้ในการดำเนินการฟังก์ชันทางคณิตศาสตร์พื้นฐาน เช่น การบวก การลบ หรือการคูณ คุณสามารถใช้โอเปอเรเตอร์เหล่านี้กับชนิดข้อมูลในตัวของการเขียนโปรแกรม C ได้เกือบทั้งหมด ต่อไปนี้คือตัวดำเนินการทางคณิตศาสตร์ที่ใช้ในการเขียนโปรแกรมภาษาซี:



ผู้ประกอบการ ฟังก์ชั่น
+ เพิ่มตัวดำเนินการ 2 ตัว
ลบ 2 ตัวถูกดำเนินการ
* คูณ 2 ตัวถูกดำเนินการ
/ หาร 2 ตัวดำเนินการ
% ตัวดำเนินการโมดูลัสให้ส่วนที่เหลือของการหาร

ตัวอย่าง

ในตัวอย่างด้านล่าง เราได้ดำเนินการทางคณิตศาสตร์ดังกล่าวข้างต้นกับตัวแปร X และตัวแปร Y ตัวแปร X เก็บค่า 20 และ Y เก็บค่า 5:



#รวม

นานาชาติ หลัก ( )

{

นานาชาติ เอ็กซ์ = ยี่สิบ ;

นานาชาติ และ = 5 ;

นานาชาติ ผลลัพธ์ ;

ผลลัพธ์ = เอ็กซ์ + และ ;

พิมพ์ฉ ( 'การบวก X และ Y คือ: %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = เอ็กซ์ - และ ;

พิมพ์ฉ ( 'การลบ X และ Y คือ: %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = เอ็กซ์ * และ ;

พิมพ์ฉ ( 'การคูณ X และ Y คือ: %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = เอ็กซ์ / และ ;

พิมพ์ฉ ( 'การหาร X และ Y คือ: %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = เอ็กซ์ % และ ;

พิมพ์ฉ ( 'การหารโมดูลัสของ X และ Y คือ: %d \n ' , ผลลัพธ์ ) ;

กลับ 0 ;

}





2: ตัวดำเนินการยูนารี

มีตัวดำเนินการยูนารีเฉพาะสองตัวที่สนับสนุนโดยภาษา C เท่านั้น ตัวดำเนินการเพิ่ม ++ และตัวลด — ตัวดำเนินการเพิ่มจะเพิ่ม 1 ให้กับตัวถูกดำเนินการ และตัวดำเนินการลดจะลบ 1 ออกจากตัวถูกดำเนินการ

ตัวดำเนินการที่เพิ่มขึ้นเขียนเป็น:



++ เอ หรือ เอ ++

ตัวดำเนินการลดลงคือ:

-- เอ หรือ เอ --

หากเราใช้ตัวดำเนินการเพิ่มและลดเป็นคำนำหน้า จะเพิ่มหรือลบค่าตัวแปรก่อน จากนั้นจึงกำหนดผลลัพธ์ให้กับตัวแปรทางด้านซ้าย หากมีการเพิ่มตัวดำเนินการก่อน ตัวดำเนินการจะคืนค่าเดิมก่อน จากนั้นจึงเพิ่มหรือลบตัวถูกดำเนินการด้วย 1

ตัวอย่าง

ด้านล่างนี้เราได้กำหนดค่าให้กับตัวแปรสองตัว a และ b และใช้ตัวดำเนินการเพิ่มและลดกับตัวแปรเหล่านี้:

#รวม

นานาชาติ หลัก ( )

{

นานาชาติ = สิบห้า , = 10 ;

พิมพ์ฉ ( '++a = %d \n ' , ++ ) ;

พิมพ์ฉ ( 'a++ = %d \n ' , ++ ) ;

กลับ 0 ;

}

3: ผู้ดำเนินการมอบหมายงาน

หนึ่ง ตัวดำเนินการมอบหมาย (=) ใช้สำหรับกำหนดค่าให้กับตัวแปรในโปรแกรม ด้านล่างนี้เป็นตัวดำเนินการมอบหมายที่กล่าวถึง:

ผู้ประกอบการ การทำงาน
= กำหนดค่าให้กับตัวถูกดำเนินการ
+= เพิ่มค่าของตัวถูกดำเนินการที่อยู่ด้านขวาไปยังตัวถูกดำเนินการด้านซ้าย
-= ลบค่าของตัวถูกดำเนินการที่ถูกต้องออกจากตัวถูกดำเนินการด้านซ้าย
*= คูณค่าของตัวถูกดำเนินการด้านขวากับตัวถูกดำเนินการด้านซ้าย
/= แบ่งค่าของตัวถูกดำเนินการด้านขวาไปยังตัวถูกดำเนินการด้านซ้าย
%= ใช้โมดูลัสของค่าสองค่าและกำหนดค่าให้กับตัวถูกดำเนินการด้านซ้าย

ตัวอย่าง

เราได้แสดงการทำงานของตัวดำเนินการกำหนดบนตัวถูกดำเนินการ X และ Y สองตัวในตัวอย่างด้านล่าง:

#รวม

นานาชาติ หลัก ( )

{

นานาชาติ เอ็กซ์ = 10 ;

นานาชาติ ผลลัพธ์ ;

ผลลัพธ์ = เอ็กซ์ ;

พิมพ์ฉ ( 'มูลค่าของผลลัพธ์ = %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ += เอ็กซ์ ;

พิมพ์ฉ ( 'มูลค่าของผลลัพธ์ = %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ -= เอ็กซ์ ;

พิมพ์ฉ ( 'มูลค่าของผลลัพธ์ = %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ *= เอ็กซ์ ;

พิมพ์ฉ ( 'มูลค่าของผลลัพธ์ = %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ /= เอ็กซ์ ;

พิมพ์ฉ ( 'มูลค่าของผลลัพธ์ = %d \n ' , ผลลัพธ์ ) ;

กลับ 0 ;

}

4: ตัวดำเนินการเชิงสัมพันธ์

ตัวดำเนินการเชิงสัมพันธ์ใช้ในการเขียนโปรแกรมภาษาซีเพื่อตรวจสอบความสัมพันธ์ระหว่างตัวแปรสองตัว สามารถใช้เปรียบเทียบราคาสิ่งของหรืออายุของคนสองคนได้ ต่อไปนี้คือตัวดำเนินการเชิงสัมพันธ์ที่ใช้ในการเขียนโปรแกรมภาษาซี:

ผู้ประกอบการ ฟังก์ชั่น
== เท่ากับ
> มากกว่า
< น้อยกว่า
>= มากกว่าเท่ากับ
<= น้อยกว่าเท่ากับ
!= ไม่เท่ากับ

ตัวอย่าง

ตัวอย่างด้านล่างแสดงการทำงานของตัวดำเนินการเชิงสัมพันธ์ในการเขียนโปรแกรมภาษาซี:

#รวม

นานาชาติ หลัก ( )

{

นานาชาติ = 9 ;

นานาชาติ = 10 ;

พิมพ์ฉ ( '%d == %d คือ %d \n ' , , , == ) ;

พิมพ์ฉ ( '%d > %d คือ %d \n ' , , , > ) ;

พิมพ์ฉ ( '%d < %d คือ %d \n ' , , , < ) ;

พิมพ์ฉ ( '%d != %d คือ %d \n ' , , , != ) ;

พิมพ์ฉ ( '%d >= %d คือ %d \n ' , , , >= ) ;

พิมพ์ฉ ( '%d <= %d คือ %d \n ' , , , <= ) ;

กลับ 0 ;

}

5: ตัวดำเนินการเชิงตรรกะ

มีตัวดำเนินการทางตรรกะสี่ตัวที่ภาษา C รองรับ:

ผู้ประกอบการ การทำงาน
ตรรกะและ (&&) เป็นจริงก็ต่อเมื่อเงื่อนไขทั้งหมดตรงตามเงื่อนไข
ตรรกะหรือ (||) หากเงื่อนไขเพียงข้อเดียวตรงตามเงื่อนไข ผลลัพธ์จะเป็นจริง
ตรรกะไม่ (!) ถ้าตัวดำเนินการเป็น 0 ผลลัพธ์จะเป็นจริง
บิตไม่ใช่ (~) แปลงบิตทั้งหมดของตัวถูกดำเนินการ

ตัวอย่าง

โค้ดตัวอย่างด้านล่างอธิบายการทำงานของตัวดำเนินการเชิงตรรกะใน C:

#รวม

นานาชาติ หลัก ( )

{

นานาชาติ เอ็กซ์ = 10 , และ = 4 , กับ = 10 , ผลลัพธ์ ;

ผลลัพธ์ = ( เอ็กซ์ == และ ) && ( กับ > และ ) ;

พิมพ์ฉ ( '(X == Y) && (Z > Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ( เอ็กซ์ == และ ) && ( กับ < และ ) ;

พิมพ์ฉ ( '(X == Y) && (Z < Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ( เอ็กซ์ == และ ) || ( กับ < และ ) ;

พิมพ์ฉ ( '(X == Y) || (Z < Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ( เอ็กซ์ != และ ) || ( กับ < และ ) ;

พิมพ์ฉ ( '(X != Y) || (Z < Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ! ( เอ็กซ์ != และ ) ;

พิมพ์ฉ ( '!(X != Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ! ( เอ็กซ์ == และ ) ;

พิมพ์ฉ ( '!(X == Y) คือ %d \n ' , ผลลัพธ์ ) ;

ผลลัพธ์ = ! ( เอ็กซ์ > และ ) ;

พิมพ์ฉ ( '!(X > Y) คือ %d \n ' , ผลลัพธ์ ) ;

กลับ 0 ;

}

6: ตัวดำเนินการตามเงื่อนไข

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

เงื่อนไข ? คำแถลง 1 : คำแถลง 2
  • เงื่อนไข: นิพจน์บูลีนที่ตรวจสอบว่าเป็นจริงหรือเท็จ
  • คำชี้แจง 1: นิพจน์ที่ได้รับการประเมินหากเงื่อนไขเป็นจริง
  • คำชี้แจง 2: นิพจน์ที่ได้รับการประเมินหากเงื่อนไขเป็นเท็จ

ตัวอย่าง

ในตัวอย่างด้านล่าง ฉันได้กำหนดค่าให้กับตัวเลขแล้วใช้เงื่อนไข ถ้าเงื่อนไขเป็นจริง คำสั่ง 1 จะเป็นเอาต์พุต และถ้าเงื่อนไขเป็นเท็จ คำสั่ง 2 จะเป็นเอาต์พุต:

#รวม

นานาชาติ หลัก ( )

{

นานาชาติ ตัวเลข = 10 ;

( ตัวเลข < ยี่สิบ ) ? ( พิมพ์ฉ ( “มันน้อยกว่าหมายเลข 20!” ) ) : ( พิมพ์ฉ ( “มันมากกว่าหมายเลข 20!” ) ) ;

กลับ 0 ;

}

7: ตัวดำเนินการระดับบิต

ตัวดำเนินการระดับบิต ใน C จัดการข้อมูลในระดับบิต หมายความว่าพวกมันทำงานในแต่ละบิตภายในประเภทข้อมูล เช่น จำนวนเต็ม ไม่สามารถใช้กับ double และ float และใช้สำหรับทดสอบบิตและเลื่อนไปทางขวาหรือซ้าย

ตัวดำเนินการระดับบิตในการเขียนโปรแกรมภาษาซีแสดงไว้ในตารางด้านล่าง:

ผู้ประกอบการ การทำงาน
& ในระดับบิตและ
| ในระดับบิตหรือ
^ Bitwise พิเศษหรือ
<< เลื่อนไปทางซ้าย
>> เลื่อนไปทางขวา
~ หนึ่งเติมเต็ม

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงโปรแกรม C ที่ใช้ตัวดำเนินการระดับบิต:

#รวม

นานาชาติ หลัก ( ) {

นานาชาติ = 13 ; // เลขฐานสอง 1101

นานาชาติ = 7 ; // เลขฐานสอง 0111

นานาชาติ ผลลัพธ์ ;



// ระดับบิตและ

ผลลัพธ์ = & ; // 1101 & 0111 = 0101 (ทศนิยม 5)

พิมพ์ฉ ( 'a & b = %u \n ' , ผลลัพธ์ ) ;

// ระดับบิตหรือ

ผลลัพธ์ = | ; // 1101 | 0111 = 1111 (ทศนิยม 15)

พิมพ์ฉ ( 'a | b = %u \n ' , ผลลัพธ์ ) ;

// บิตไวซ์ XOR

ผลลัพธ์ = ^ ; // 1101 ^ 0111 = 1,010 (ทศนิยม 10)

พิมพ์ฉ ( 'a ^ b = % ยู \n ' , ผลลัพธ์ ) ;

// เลื่อนไปทางซ้ายตามบิต

ผลลัพธ์ = << 2 ; // 1101 << 2 = 110100 (ทศนิยม 52)

พิมพ์ฉ ( 'ก << 2 = %u \n ' , ผลลัพธ์ ) ;

// เลื่อนไปทางขวาตามบิต

ผลลัพธ์ = >> 2 ; // 1101 >> 2 = 0011 (ทศนิยม 3)

พิมพ์ฉ ( 'ก >> 2 = %u \n ' , ผลลัพธ์ ) ;

// Bitwise ไม่

ผลลัพธ์ = ~ก ; // ~1101 = 0010 (การแทนส่วนเสริมของทศนิยม 2 เป็น -14)

พิมพ์ฉ ( '~a = %d \n ' , ผลลัพธ์ ) ;



กลับ 0 ;

}

บันทึก: ตัวดำเนินการระดับบิตถูกใช้เพื่อทำงานในระดับบิต หมายความว่าพวกมันทำงานในแต่ละบิตภายในเลขฐานสอง ในทางกลับกัน ตัวดำเนินการบูลีนถูกใช้เพื่อดำเนินการกับค่าตรรกะ ซึ่งทำงานโดยใช้ค่าบูลีน (จริง/เท็จ หรือ 1/0) และมักใช้ในกระบวนการตัดสินใจหรือข้อความแสดงเงื่อนไข

บรรทัดล่าง

ตัวดำเนินการเป็นสัญลักษณ์ที่สั่งให้คอมไพเลอร์ทำงานบางอย่าง ภาษาซีมีตัวดำเนินการในตัวหลายตัว ได้แก่ เลขคณิต ยูนารี การมอบหมาย ตรรกะ เชิงสัมพันธ์ เงื่อนไข บูลีน และระดับบิต เราได้กล่าวถึงรายละเอียดเหล่านี้และแสดงให้เห็นด้วยผลลัพธ์ตัวอย่าง อ่านส่วนด้านบนของคำแนะนำเพื่อรับข้อมูลโดยละเอียดเกี่ยวกับตัวดำเนินการเหล่านี้