การแคสต์โดยชัดแจ้ง
การแปลงด้วยตนเอง
การแคสต์โดยชัดแจ้ง เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การแปลงโดยนัย
- การแคสต์โดยชัดแจ้ง
- การแปลงจำนวนเต็มและจำนวนทศนิยม
- ข้อผิดพลาดในการแปลง