Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Ep Kieu Trong C2023 04 12 17 55 42

Tìm kiếm
Thuộc khóa học · baihoc_sub = 55

Lập trình C cơ bản ( Free )

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Ép kiểu trong C

1 / 3 ❮ ❯ Ép kiểu trong C Kiểu dữ liệu trong C Danh sách từ khóa trong C […]

Ép kiểu trong C



Ép kiểu trong C



Ép kiểu trong C là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác.

Cú pháp:

(type) value; 

Ví dụ:

float c = 35.8f; int b = (int)c + 1; 

Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 35. Sau đó nó được cộng với 1 và kết quả là giá trị 36 được lưu vào b.


Phân loại ép kiểu trong C

Trong C, có hai loại ép kiểu dữ liệu:

  1. Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin.
  2. Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin


1. Nới rộng (widening)

ep-kieu-du-lieu-noi-rong

Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin. Ví dụ chuyển từ int sang float. Chuyển kiểu loại này có thế được thực hiện ngầm định bởi trình biên dịch.

Ví dụ:

#include <stdio.h>   int main() {     int i = 100;     long l = i;    // khong yeu cau chi dinh ep kieu     float f = l;   // khong yeu cau chi dinh ep kieu     printf("Gia tri Int: %dn", i);     printf("Gia tri Long: %dn", l);     printf("Gia tri Float: %fn", f);     return 0; } 

Kết quả:

Giá trị Int: 100 Giá trị Long: 100 Giá trị Float:  100.0 

2.Thu hẹp (narrowwing)

ep-kieu-du-lieu-thu-hep

Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin như ví dụ ở trên. Chuyển kiểu loại này không thể thực hiện ngầm định bởi trình biên dịch, người dùng phải thực hiện chuyển kiểu tường minh.

Ví dụ:

#include <stdio.h>   int main() {     double d = 100.04;     long l = (long) d; // yeu cau chi dinh kieu du lieu (long)     int i = (int) l; // yeu cau chi dinh kieu du lieu (int)         printf("Gia tri Int: %fn", d);     printf("Gia tri Long: %dn", l);     printf("Gia tri Float: %dn", i);     return 0; } 

Kết quả:

Giá trị Double: 100.04 Giá trị Long: 100 Giá trị Int:  100 








Source link

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel