a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 47|回复: 0

[程序员] 2012年软件水平考试程序员之程序设计知识点(8)

[复制链接]
发表于 2012-8-2 08:51:15 | 显示全部楼层 |阅读模式
2.6 数据类型转换   1.隐式类型转换& _" U' k4 J: P1 J( s9 V- {. ]
  C说话许可根基数据类型中的分歧类型数据进行同化运算。因分歧类型的数据所占内存字节数和其内部暗示形式的分歧,在算术运算中(其它运算破例)一个运算符所涉及到的各运算对象,能按照运算对象的情形,要求运算对象的值从一种类型转换成另一种类型。这种类型转换是自动进行的,称作隐式类型转换。隐式类型转换严酷遵守以下轨则,按所列优先挨次实施类型转换。
# |- E( ~* ^0 p/ }4 j- N  (1)若有运算对象是 long double型的,则其余运算对象也转换成 long doube型。
# `( F  {  [/ C( ~  (2)若有运算对象是double型的,则其余运算对象也转换成double型。2 x/ b+ }. |( o0 P! e
  (3)若有运算对象是float型的,则其余运算对象也转换成float型。
, C( `6 _$ n8 R' x5 j9 ^  (4)若有运算对象是 unsigned long int型的,则其余运算对象也转换成 unsigned long int型。
  A2 l- I- i; _& A  (5)若有运算对象是 long int型的,则其余运算对象也转换成 long int型。& P# |8 H( A" ^' z: B% S/ ]
  (6)若有运算对象是 unsigned int型的,则其余运算对象都转换成 unsigned int型。
0 H  ~4 c$ M9 a  (7)最后,运算对象和结不美观都是int型的。
  t  S% ^; k2 X( g, E! Z: X( a  按照最后一条轨则,两个char型和short型运算对象都自动转换成int型介入运算,而且结不美观是int型的。2 |6 G. {0 a, |* Z: `
2.显式类型转换
$ V0 W  q# W" w1 {  算术运算中,根基数据类型的同化运算会发生隐式类型转换,当要求与隐式类型转换轨则纷歧致时,可在表达式顶用显式类型转换运算,强制地将一种类型的表达式值转换成另一种类型的位。显式类型转换的书写形式为
% e' r- }" `5 u7 L8 Z9 H7 D- ^; P' o  (类型名)表达式
: k! {2 ^) `3 f/ [8 Y1 N  其中(类型名)是对厥后的表达式作强制类型转换运算,它将表达式的值强制地转换成类型名所指明的类型。例如,库函数sqrt()是求一个double型值的平方根。为求整型变量m的平方根,正确的写法是* k4 \4 j% K* y6 O' R7 c& e
  sqrt((double)m)/ ^2 N' P7 z" ]9 [
  在求m的平方根之前,先将m的值强制地转换成double型,然后去挪用函数sqrt()。8 X: I# t# E4 p2 u
  类型转换不只改变表达式的值的类型,也可能会因两种暗示形式上的差异,值的巨细会有一些误差。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-1 22:56 , Processed in 0.184372 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表