数据类型和表达式

在这一节中我们将介绍一些objective-c中的基本数据类型,和表达式的规则。

你可能会想到int类型,它是objective-c中的用来存放数字的基本数据类型,只能用来存放整形数值。

objective-c提供了其他三种基本的数据类型:浮点型(float),双精度(double),字符型(char)。同其他语言类似,浮点型用来存放带小数位的数值,double型与float类似只是精确度更高。字符型(char)用来存放单个字符如: a 、  A 、  6、 等等。

在objective-c中,数字,单个字符,或者字符串都被称作a constant(常量)。如:数字 58代表 常量数值。字符串“Programming in Objective-c is fun.\n”是一个字符串的常量例子。所以这种由常量组成的表达式叫做常量表达式如:128+7-17

但是如果在这里定义了一个int型的变量i,这个表达式就不是常量表达式了:128+7-i

下面以例子做讲解:

输出结果为

看输出结果的第二行,注意331.79变成了331.79009关于这个问题。我又受教了一次,原文中写的比较含糊,只是简单的说了下浮点型大多都是近似值,并不能精确的表示数字,还以计算器中1除以3的结果为例子。在数学中1除以3的结果应该是0.3333333……后面无数个3,而由于计算机是有精度限制的因此只能取近似值。讲的比较详细的参见这篇博文深入浅出浮点数

不过我基础知识太差还是不明白为什么得出的结果是331.790009   保留6为位小数,且最后一位总是9   。希望路过的高手不吝赐教。先谢谢了。

修饰符:long,long long,short,unsigned,and signed

如果long修饰符被加在一个int类型的变量前面,说明这个变量在计算机中的内存范围增大了。举个例子如: long int factorial;

在这里定义了一个长整形的变量。对于float和doubles型的数据,他们的精确度取决于你的计算机系统。在多数系统中,一个整形(int)与一个长整形(long int)拥有相同的精度范围,最多可以存储32bits(位)。

一个常量的长整形表示方法为在数字后面紧接着加上一个字母(L)如: 13107100 的长整形表示法为 long int numberofPoints=13107100L

long long 整形的可以这样表示,long long int maxAlloweStorage

long修饰符同样被允许加在double型的前面,比如:long double US_deficit_2004

 待续。

 

 

posted on 2011-11-17 09:06  falcon_fei  阅读(221)  评论(0)    收藏  举报