object c_数据类型和运算符

来源:互联网 发布:北京医疗软件开发 编辑:程序博客网 时间:2024/05/22 10:37

objective-c语言区分大小写abc与Abc是两个不同的字符。

数据类型:基本数据类型(整形,字符型,浮点型,枚举型)、构造类型(数组类型,构造体类型,公用体类型)、指针类型。

八进制以0开头,十六进制以0x或0X开头。

输出类型g:自动选用%f或%e其中之一,保证输出宽度较短的格式,并且不会输出无意义的0。

char类型的值可以直接作为整形的值来使用,但它是一个8位的无符号整数,取值范围是0-255。

int类型的属性不能接受nil值。(赋值会产生错误)。

枚举值的本质是无符号整数,因此,object-c允许直接将整数值赋值给枚举变量,甚至可以直接把枚举变量当成整数使用,比如,用它们来参与四则混合运算。

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {                enum season{spring = 4,summer = 1,fall,winter};        //定义两个枚举变量赋值        enum season mylove,yourlove;        NSLog(@"winter's worth:%u",mylove);        NSLog(@"fall's worth:%u",winter);        if (spring > winter) {            NSLog(@"spring higher than winter");                }            }    return 0;}2015-01-15 11:13:54.623 demo[430:303] winter's worth:02015-01-15 11:13:54.625 demo[430:303] fall's worth:32015-01-15 11:13:54.626 demo[430:303] spring higher than winterProgram ended with exit code: 0
u:以无符号十进制形式输出整数。枚举值没有赋值的情况下自动为零。

千万不要以为非零整数赋给bool类型的变量一定可以得到yes!不要忘了,bool类型实质上就是signed char类型。

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {        BOOL bo =127;        BOOL bo1 = 128;        BOOL bo2 = 255;        BOOL bo3 = 256;    //出现警告,并且只要以256为周期进行循环。        NSLog(@"bo:%d",bo);        NSLog(@"bo1:%d",bo1);        NSLog(@"bo2:%d",bo2);        NSLog(@"bo3:%d",bo3);    }    return 0;}2015-01-15 11:35:17.353 BOOL类型[626:303] bo:1272015-01-15 11:35:17.356 BOOL类型[626:303] bo1:-1282015-01-15 11:35:17.357 BOOL类型[626:303] bo2:-12015-01-15 11:35:17.357 BOOL类型[626:303] bo3:0Program ended with exit code: 0
位运算符:>>把第一个操作数的二进制码右移指定位置后,左边空出来的位以原来符号位来补充。

                   <<右边空出来的位补0

三目运算符:int z = x > y ?  x : y ;

                        return  x > y ?  1 : ( x < y ? -1 : 0 ) ;                     // x > y,返回1;x<y返回-1,其余0;

0 0
原创粉丝点击