แบบฝึกหัด C/C++ สำหรับผู้เริ่มต้น

Temperature Converter

แบบฝึกหัดสำหรับผู้เริ่มต้นนี้ฝึก syntax หลักและการแก้ปัญหาผ่าน Temperature Converter

Temperature Converter คืออะไร?

แบบฝึกหัดสำหรับผู้เริ่มต้นนี้ฝึก syntax หลักและการแก้ปัญหาผ่าน Temperature Converter

แก้โจทย์ Temperature Converter ด้วย code C และ C++ ที่รันได้

ประเด็นสำคัญ

  • เปิด compiler warning และแก้ทุกคำเตือน
  • รู้ type และ lifetime ของทุกค่า
  • ตรวจ input และขอบเขต array ให้ชัดเจน

ตัวอย่างโค้ด C และ C++

C
รันโค้ด →
main.c
#include <stdio.h>
int main(void) {
    double celsius = 25.0;
    // Floating-point constants preserve fractional values.
    double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
    printf("%.1f C = %.1f F\n", celsius, fahrenheit);
}
ผลลัพธ์ที่คาดหวัง
25.0 C = 77.0 F
C++
รันโค้ด →
main.cpp
#include <iomanip>
#include <iostream>
int main() {
    double celsius = 25.0;
    // Floating-point constants preserve fractional values.
    double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
    std::cout << std::fixed << std::setprecision(1) << celsius << " C = " << fahrenheit << " F\n";
}
ผลลัพธ์ที่คาดหวัง
25.0 C = 77.0 F

เปรียบเทียบ C และ C++

เปรียบเทียบ implementation ของ C และ C++ จากนั้นเปลี่ยน input และทดสอบ edge case เพิ่มเติม

C

C แสดง API แบบ procedural และรายละเอียด representation อย่างชัดเจน

C++

C++ รักษา low-level model และเพิ่ม type ที่ปลอดภัยกว่า

แบบฝึกหัด

รันทั้งสองเวอร์ชันแล้วแก้ไขเพื่อสังเกตความแตกต่างของภาษา

  • เพิ่ม input ผิดและค่าขอบเขต
  • Compile ด้วย -Wall -Wextra -Wpedantic
  • แยก declaration และ implementation