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

การแคสต์โดยชัดแจ้ง

การแปลงด้วยตนเอง

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

การแคสต์คืออะไร

การแคสต์คือการแปลงค่าเป็นชนิดอื่นอย่างชัดเจนด้วย (type)value ซึ่งเป็นการบอกคอมไพเลอร์โดยตรงว่าคุณต้องการอะไร

#include <stdio.h>
int main(void) {
    double d = (double)5;
    printf("%.1f\n", d);
    return 0;
}

บังคับให้หารจริง

แคสต์ตัวถูกดำเนินการตัวหนึ่งเป็น double เพื่อให้การหารยังคงส่วนทศนิยมไว้

#include <stdio.h>
int main(void) {
    int a = 7, b = 2;
    double r = (double)a / b;
    printf("%.2f\n", r);
    return 0;
}

ตั้งใจตัดเศษ

การแคสต์ double เป็น int จะทิ้งทศนิยม บางครั้งนี่เป็นสิ่งที่คุณต้องการพอดี

#include <stdio.h>
int main(void) {
    double price = 19.95;
    int dollars = (int)price;
    printf("dollars = %d\n", dollars);
    return 0;
}

การแคสต์กับการแปลงโดยปริยาย

การแปลงโดยปริยายเกิดขึ้นโดยอัตโนมัติ ส่วนการแคสต์ช่วยบันทึกเจตนาและปิดคำเตือน

#include <stdio.h>
int main(void) {
    long big = 100000L;
    int n = (int)big;
    printf("n = %d\n", n);
    return 0;
}

การแคสต์ในนิพจน์

การแคสต์มีผลเฉพาะค่าที่อยู่ติดกัน ดังนั้นลำดับและวงเล็บจึงมีความสำคัญ

#include <stdio.h>
int main(void) {
    int total = 5, count = 2;
    double avg = (double)total / count;
    printf("avg = %.2f\n", avg);
    return 0;
}

การแคสต์ char และ int

คุณสามารถแคสต์ระหว่าง char และ int เพื่อเปลี่ยนระหว่างอักขระกับรหัสของอักขระนั้น

#include <stdio.h>
int main(void) {
    int code = 66;
    char c = (char)code;
    printf("c = %c\n", c);
    return 0;
}

การปัดเศษด้วยการแคสต์

บวก 0.5 ก่อนแคสต์ เพื่อปัดจำนวนบวกเป็นจำนวนเต็มที่ใกล้ที่สุด

#include <stdio.h>
int main(void) {
    double d = 2.7;
    int rounded = (int)(d + 0.5);
    printf("rounded = %d\n", rounded);
    return 0;
}

การแคสต์เป็น unsigned

คุณสามารถแคสต์เป็น unsigned ได้ แต่ค่าลบจะวนรอบไปเป็นจำนวนบวกขนาดใหญ่

#include <stdio.h>
int main(void) {
    int x = 10;
    unsigned int u = (unsigned int)x;
    printf("u = %u\n", u);
    return 0;
}

หลีกเลี่ยงการแคสต์ที่ไม่จำเป็น

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

#include <stdio.h>
int main(void) {
    int a = 4;
    double d = a;
    printf("%.1f\n", d);
    return 0;
}

การแคสต์ในสูตร

การแคสต์ภายในการคำนวณเปอร์เซ็นต์ช่วยให้ผลลัพธ์ยังคงแม่นยำ

#include <stdio.h>
int main(void) {
    int done = 3, total = 8;
    double pct = (double)done / total * 100.0;
    printf("%.1f%%\n", pct);
    return 0;
}

การแคสต์ร่วมกับฟังก์ชันคณิตศาสตร์

การแคสต์มีประโยชน์เมื่อนำค่าจำนวนเต็มไปใช้ในการคำนวณแบบจุดลอยตัว

#include <stdio.h>
int main(void) {
    int n = 9;
    double root = (double)n / 3.0;
    printf("%.2f\n", root);
    return 0;
}

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจเกี่ยวกับการแคสต์อย่างชัดเจน

สรุป: การแคสต์อย่างชัดเจน

คุณได้เรียนรู้วิธีแปลงชนิดข้อมูลอย่างตั้งใจแล้ว

  • รูปแบบไวยากรณ์คือ (type)value
  • แคสต์เพื่อบังคับให้เกิดการหารจริง
  • แคสต์เพื่อตัดเศษโดยตั้งใจ
  • การแคสต์ช่วยบันทึกเจตนาและปิดคำเตือน
  • การแคสต์มีผลเฉพาะค่าที่อยู่ติดกัน จึงควรใช้วงเล็บ

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

บทเรียน “การแคสต์โดยชัดแจ้ง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การแคสต์โดยชัดแจ้ง”

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

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

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

บทเรียน “การแคสต์โดยชัดแจ้ง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การแปลงโดยนัย
  2. การแคสต์โดยชัดแจ้ง
  3. การแปลงจำนวนเต็มและจำนวนทศนิยม
  4. ข้อผิดพลาดในการแปลง
← กลับไปที่ C Academy