数据类型转换是C语言中的一个学习重点,也是一个难点。为了方便人们深入理解并熟练使用它,对三种基本数据类型转换从使用条件、转换原则、转换规则等方面进行了阐述和比较。
20 08年 1 0月总第 11 4期
C语言中三种数据类型转换之比较
朱伟
(陕西理工学院计算机科学与技术系汉中 73 0 ) 2 00
摘
要
数据类型转换是 C语言中的一个学习重点,也是一个难点。为了方便人们深入理解并熟练使用它,对三种基本数据类型转换原则转换规则 C语言
文章编号 0 0 0— 7 2 8 97 4 0
转换从使用条件、转换原则、转换规则等方面进行了阐述和比较。 关键词数据类型转换
中图分类号 T 3 P 1 2文献标识码 A
Th e Comp r ont r e Kid fDa aTy e Co v so n a i oTh e n so t p n er in i s
C O r m a g a e Pr q a L n u g
’一,一 一
Zh e uW i
( pr n f o ue c n e n eh oo y De at t mp t Si c dT c n lg me o C r e a
S ax Unv rt f eh o g Ha z o g 7 3 0 ) h n i ie i o c n ly sy T o n h n 2 0 0
Ab ta t T e d t p o v rin i t d on n u g , l sa t eb t i c l . o e s k f e p e s r c h aat ec n e so asu y p it n l g a e C a s i n a l t i d f u t F r h a e o o l y s i a o il i t p
t o r h nd c n e i n l nd u e i ma t ry,t h e i dso sc d t y e c n e so r m h s e c n to o c mp e e o v n e t a s t se l y ot r e k n fba i aa tp o v r in fo t e u a o di n, g i c n e t ep ncp ea o e her l t. a re nt lb r t n o a e . o v ̄ h r i l ndc nv f t u eec c ri so oe a o ae a d c mp r s i l
Ke wo d t p o v rin c n e p icpe Co v r r l C p o rm n a e y r s Daat eC n es o v ̄ r il y o n n et ue rga l g g au
C语言中数据类型纷杂多样,使用起来灵活多变,尤其在不
注意:向左的箭
头表示必定的转换,即运算中凡是有 f a l t o
同的场合这些数据类型之间常常会相互转换;初学者体会不出型数据参与的运算,不管它和什么类型数据进行运算必先把 o obe型;运算中凡是有 ca/ o型数据参与的 hr hr st它们之间的细微区别,使用起来非常困难。本文针对这一问题, fa型转换成 du l l t
不 hr h ̄型转换 s就类型自动转换、赋值转换和强制类型转换这三种常见的基本运算,管它和什么类型数据进行运算必先把 ea/ o成 it; n型向上的箭头表示数据级别由低级向高级转换,并非但数据类型转换进行深入阐述。
一
、
三种基本的数据类型转换
1、类型自动转换
逐级转换。比如 i型数据和 l g型数据进行运算,直接把 it n t o n n
型转换为 l g型。 o n ( )例说明: 4举
例 1有如以下表达式:
1+’ . u+f’ 3.41 92 o0 a+15/b一s 1 5 6
() 1使用条件:算术表达式中不同数据类型的量进行混合运算时 () 2转换原则:参与运算的量类型不同,则先转换成同一类
型,后进行运算 然 ( )换规则:图 1示 3转如所
其中, u为 u s n d,为 f a型,为 sot。式中右面 ni e型 f l t s hr型 g o表达式按如下步骤处理: ①首先将 …和 s成 it,将 1 a、 b换 n型 . f换为 du l 5和转 obe
型。
高
f
o
。
n g
还对类同的扳釜薯羹不时转蒙转 T象型的扳算
曲
②计算 10 因 0+ a, a已转换为 it n型即字符 a的 A CI S I码值9, 7于是此运算结果为 17 9。
③计算 1 *,由于 1 .u 5 . 5已转换为 du l, obeu是 u s n d型, ni e g
u in d nsg e
f
低一
于是首先 u转换为 d u l, obe然后进行运算,运算结果为 du l。 obe
④计算 17 1 u 9+ . 5,先将 17换为 du l ( 17O… 9转 ob e如 9. 0 O )其结果为 du l。 0, ob e
2 办公自动化杂志 4