0Pricing
C++ Academy · บทเรียน

ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล

เชี่ยวชาญตัวดำเนินการเลขคณิต การเปรียบเทียบ และตรรกะ รวมถึงการแปลงชนิดข้อมูลโดยนัยและโดยชัดแจ้ง

ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล เป็นบทเรียน C++ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C++ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตัวดำเนินการเลขคณิต

ตัวดำเนินการเลขคณิตมาตรฐาน ได้แก่ + - * / และโมดูโล % โมดูโลใช้ได้เฉพาะกับจำนวนเต็ม

int a = 17, b = 5;
std::cout << a + b << "\n";  // 22
std::cout << a - b << "\n";  // 12
std::cout << a * b << "\n";  // 85
std::cout << a / b << "\n";  // 3 (integer division)
std::cout << a % b << "\n";  // 2

การหารจำนวนเต็มเทียบกับการหารทศนิยม

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

int a = 7, b = 2;
std::cout << a / b << "\n";              // 3
std::cout << static_cast<double>(a) / b; // 3.5

การเพิ่มค่าและลดค่า

++ และ -- ใช้เพิ่มหรือลดค่าทีละหนึ่ง แบบนำหน้า (++x) จะเพิ่มค่าก่อนแล้วจึงส่งค่ากลับ ส่วนแบบต่อท้าย (x++) จะส่งค่าเดิมกลับก่อนแล้วจึงเพิ่มค่า

การกำหนดค่าแบบผสม

รวมการคำนวณเลขคณิตเข้ากับการกำหนดค่า: +=, -=, *=, /=, %= รูปแบบเหล่านี้สั้นกว่าและมักอ่านเข้าใจได้ชัดเจนกว่า

int total = 0;
total += 5;     // total = total + 5
total *= 2;     // total = total * 2

ตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการเปรียบเทียบทั้งหกแบบจะส่งค่ากลับเป็น bool: ==, !=, <, <=, >, >=

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

รวมค่าบูลีนด้วย && (และ), || (หรือ) และ ! (ไม่) ตัวดำเนินการเหล่านี้จะหยุดประเมินส่วนที่เหลือเมื่อทราบผลลัพธ์แล้ว

bool valid = (age >= 18) && (age < 120);
bool weekend = (day == "Sat") || (day == "Sun");

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

สำหรับการจัดการบิต: & (และ), | (หรือ), ^ (หรือเอกซ์คลูซีฟ), ~ (ไม่), << (เลื่อนไปทางซ้าย), >> (เลื่อนไปทางขวา)

การแปลงชนิดโดยปริยาย

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

int i = 10;
double d = i;       // OK: int to double
int j = 3.7;        // OK but truncates to 3

static_cast: การแปลงชนิดอย่างชัดเจน

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

double price = 9.99;
int dollars = static_cast<int>(price);  // 9

การแปลงชนิดอื่น: reinterpret_cast const_cast

ยังมีการแปลงชนิดอีกสามแบบสำหรับกรณีพิเศษ:

  • reinterpret_cast — ตีความรูปแบบบิตใหม่ (ใช้ไม่บ่อย)
  • const_cast — ลบ const (ใช้ให้ยิ่งน้อยกว่าเดิม)
  • dynamic_cast — การแปลงชนิดขณะทำงานสำหรับชนิดที่มีพหุสัณฐาน

หลีกเลี่ยงการแปลงชนิดแบบ C

ไวยากรณ์เก่าอย่าง (int)x ไม่ชัดเจน — อาจหมายถึงการแปลงชนิดแบบใดก็ได้จากทั้งสี่แบบ ใช้การแปลงชนิดที่มีชื่อให้ตรงกับเจตนาของคุณ

ตรวจสอบสั้น ๆ

7 / 2 ให้ผลลัพธ์เป็นอะไรใน C++ เมื่อทั้งตัวถูกดำเนินการเป็น int

สรุปทบทวน

C++ มีตัวดำเนินการเลขคณิต การเปรียบเทียบ ตรรกะ และระดับบิต การแปลงชนิดโดยปริยายอาจทำให้ข้อมูลสูญหาย ควรใช้ static_cast สำหรับการแปลงชนิดอย่างชัดเจน และหลีกเลี่ยงการแปลงชนิดแบบ C

คำถามที่พบบ่อย

บทเรียน “ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C++ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล”

เชี่ยวชาญตัวดำเนินการเลขคณิต การเปรียบเทียบ และตรรกะ รวมถึงการแปลงชนิดข้อมูลโดยนัยและโดยชัดแจ้ง คุณปฏิบัติ C++ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C++ Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C++ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C++ Academy นี้ได้ไหม

ได้ บทเรียน C++ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่าคอมไพเลอร์ C++
  2. Hello World และกระบวนการสร้างโปรแกรม
  3. ตัวแปร การอนุมานชนิดอัตโนมัติ และ constexpr
  4. ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล
← กลับไปที่ C++ Academy