ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล
เชี่ยวชาญตัวดำเนินการเลขคณิต การเปรียบเทียบ และตรรกะ รวมถึงการแปลงชนิดข้อมูลโดยนัยและโดยชัดแจ้ง
ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล เป็นบทเรียน 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 3static_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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตั้งค่าคอมไพเลอร์ C++
- Hello World และกระบวนการสร้างโปรแกรม
- ตัวแปร การอนุมานชนิดอัตโนมัติ และ constexpr
- ตัวดำเนินการพื้นฐานและการแปลงชนิดข้อมูล