Ép kiểu trong C
Ép kiểu là cách để chuyển đổi một biến từ kiểu dữ liệu này sang kiểu dữ liệu khác. Ví dụ, khi bạn muốn lưu trữ một giá trị long cho một số số nguyên, bạn phải ép kiểu long thành int. Bạn có thể chuyển đổi giá trị từ một kiểu này sang một kiểu khác sử dụng toán tử ép kiểu như sau:
(ten-kieu) bieu_thuc
Xem xét ví dụ sau mà toán tử ép kiểu làm cho phép chia một biến nguyên được thực hiện như là một hoạt động dấu chấm động:
#include <stdio.h> main() { int sochia = 32, sobichia = 6; double kq; kq = (double) sochia / sobichia; printf("Gia tri cua kq la: %f\n", kq ); printf("\n===========================\n"); printf("QTM chuc cac ban hoc tot! \n"); }
Khi thực hiện đoạn code, kết quả sau đây được in ra, biến kết quả có kiểu double:
Biên dịch và thực thi chương trình C trên để xem kết quả:
Nên ghi nhớ rằng ở đây toán tử ép kiểu có quyền ưu tiên hơn phép chia, vì thế giá trị của sochia đầu tiên được biến đổi sang kiểu double và cuối cùng nó thực hiện chia bởi tính toán trong trường giá trị double.
Biến đổi kiểu có thể là được ẩn đi tức là được thực hiện tự động bởi bộ biên dịch, hoặc nó có thể được xác định một cách rõ ràng bởi sử dụng toán tử ép kiểu. Nó là tốt cho bạn nên sử dụng toán tử ép kiểu ở bất cứ đâu mà cần biến đổi kiểu.
Sự nâng cấp số nguyên trong C
Sự nâng cấp số nguyên là quá trình mà các giá trị của số nguyên nhỏ hơn int hoặc unsigned int chuyển đổi thành kiểu int hoặc unsigned int. Giả sử bạn có ví dụ về việc thêm một ký tự vào một số int:
#include <stdio.h> main() { int i = 21; char c = 'c'; /* Gia tri ASCII la 99 */ int tong; tong = i + c; printf("Gia tri cua tong la: %d\n", tong ); printf("\n===========================\n"); printf("QTM chuc cac ban hoc tot! \n"); }
Biên dịch và thực thi chương trình C trên để xem kết quả:
Ở đây, giá trị của biến tong là 120 bởi vì trình biên dịch thực hiện sự nâng cấp số nguyên và chuyển đổi giá trị 'c' thành ACII trước khi thực hiện phép toán thêm.
Phép chuyển đổi số học thông thường
Phép chuyển đổi số học thông thường là cách ép kiểu giá trị của nó thành một kiểu thường dùng. Trình biên dịch đầu tiên sẽ thực hiện nâng cấp số nguyên, nó chuyển đổi từ thấp đến cao, dưới đây là thứ bậc:

Phép chuyển đổi số học thông thường không được thực hiện cho các toán tử gán, cho các toán tử logic: && và ||. Chúng ta theo dõi ví dụ sau để hiểu khái niệm này:
#include <stdio.h> main() { int i = 21; char c = 'c'; /* Gia tri ASCII la 99 */ float tong; tong = i + c; printf("Gia tri cua tong la: %f\n", tong ); printf("\n===========================\n"); printf("QTM chuc cac ban hoc tot! \n"); }
Biên dịch và thực thi chương trình C trên để xem kết quả:
Ở đây, cách đơn giản để hiểu là đầu tiên giá trị c chuyển thành số nguyên, nhưng bởi vì giá trị cuối cùng là double, vì thế phép chuyển đổi số học thông thường áp dụng và bộ biên dịch biến đổi i và c thành kiểu float và lấy kết quả phép cộng chuyển sang kiểu float.
Theo Tutorialspoint
Bài trước: Header File trong C
Bài tiếp: Xử lý lỗi trong C
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Hướng dẫn sửa nhanh lỗi "Inaccessible Boot Device" trên Windows
Hôm qua -

Cách tạo USB boot đa năng, USB cứu hộ bằng DLC Boot
Hôm qua -

4 cách tạo trang bìa trong Google Docs rất đơn giản
Hôm qua -

Card đồ họa không hoạt động: Nguyên nhân và cách khắc phục
Hôm qua -

Hướng dẫn cách xem lực chiến Liên Quân Mobile
Hôm qua -

Cách đổi DNS trên điện thoại iPhone, Android
Hôm qua 2 -

Cách bật tự động gửi ảnh HD trên Zalo
Hôm qua -

Cách sửa lỗi IRQL NOT LESS OR EQUAL trên Windows
Hôm qua -

Thủ thuật tiến hóa Eevee thành bất cứ loại Pokemon nào trong Pokémon Go
Hôm qua -

Cách lặp lại tiêu đề trong Excel rất đơn giản
Hôm qua 2
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy