Giáo trình ngôn ngữ C



tải về 2.34 Mb.
Chế độ xem pdf
trang21/62
Chuyển đổi dữ liệu16.03.2023
Kích2.34 Mb.
#54376
1   ...   17   18   19   20   21   22   23   24   ...   62
C ĐHQGHN

j. Toán tử , 
Dấu phẩy (,) thường được dùng trong như dấu phân cách giữa các biến, các hằng 
được khai báo trên cùng một dòng, hoặc giữa các tham số của hàm. Trong một số trường 
hợp nào đó nó được dùng như một toán tử để tạo ra một biểu thức dạng A,B (với A, B là 
hai biểu thức con hợp lệ). Các biểu thức con được tính từ trái qua phải và giá trị của biểu 
thức con cuối (bên phải) chính là giá trị trả về của toàn biểu thức. 
Ví dụ: a=5; b=6; c=2; 
x= 
(a+b, 

*2 
+c); 
kết quả x = 12 
nhưng nếu x =a+b,a*2+c; thì x =11. 
k. Phép chuyển kiểu 
Trong C cũng như một số ngôn ngữ lập trình khác, trong một biểu thức thì các toán 
hạng phải cùng kiểu. Tuy nhiên trong thực tế thì không thể cứng nhắc như vậy, chẳng hạn 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
24
cộng một số nguyên với một số thực rõ ràng là khác kiểu nhưng bạn vẫn có thể thực hiện 
được. Thực ra thì trước khi thực hiện toán tử cộng đó chương trình dịch đã thực hiện thao 
tác chuyển đổi kiểu của số nguyên thành số thực chúng ta gọi là phép chuyển kiểu (ép 
kiểu). Trong một số tình huống việc chuyển kiểu trong C có thể được chương trình dịch 
thực hiện tự động (gọi là ép kiểu tự động) hoặc được ép kiểu kiểu tường minh (người lập 
trình viết câu lệnh - toán tử chuyển kiểu). 
Nói 
chung 
sự chuyển kiểu tự động xảy ra trong bốn trường hợp sau: 
− Các toán hạng trong một biểu thức khác kiểu. 
− Gán một biểu thức vào một biến khác kiểu. 
− Truyền tham số thực sự khác kiểu với tham số hình thức.
− Giá trị trả về của hàm sau câu lệnh return khác với kiểu hàm được khai báo. 
Trong 
trường hợp thứ nhất quy tắc chuyển kiểu từ thấp lên cao được áp dụng, tức là 
toán hạng có kiểu thấp hơn sẽ được tự động chuyển thành kiểu của toán hạng cao hơn 
theo trật tự: 
char 
⇒ int ⇒ long ⇒ float ⇒ double
Trong ba trường hợp cuối kiểu của giá trị vế phải được chuyển theo kiểu của biến bên 
trái, kiểu các tham số thực sự được chuyển theo kiểu của tham số hình thức, kiểu giá trị 
trả về (sau return) phải chuyển thành kiểu của hàm. 
 
Lưu ý là chỉ chuyển kiểu giá trị tức thời của toán hạng rồi thực hiện phép toán chứ 
kiểu của bản thân toán hạng thì không thay đổi. 
Trong 
một số yêu cầu chúng ta cần sự chuyển kiểu rõ ràng (ép kiểu tường minh) chứ 
không sử dụng quy tắc chuyển kiểu ngầm định, trong trường hợp này bạn có thể sử dụng 
toán tử chuyển kiểu theo cú pháp sau: 

tải về 2.34 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   17   18   19   20   21   22   23   24   ...   62




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương