iphone学习笔记(四)

数据类型和表达式

在这一节中我们将介绍一些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

下面以例子做讲解:

int main(int argc,char *argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]
    int integerVar=100;
    float floatingVar=331.79;
    double doubleVar=8.44e+11;
    char charVar='W';

    NSLog(@"integerVar=%i",integerVar);
    NSLog(@"floatingVar=%f",floatingVar);
    NSLog(@"doubleVar=%e",doubleVar);
    NSLog(@"doubleVar=%g",doubleVar);
    NSLog(@"charVar=%c",charVar);
   [pool drain];
   return 0;
}

输出结果为

看输出结果的第二行,注意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

 待续。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值