C语言数据类型(一)



//TODO:----------整型-----------
    //短整型(16位) -32767 ~ 32767
    short si = 32767;
    //无符号短整型(16位) 0 ~ 65535
    unsigned short us = 65535;
    printf("short=%hd u short=%u\n",si,us);
    
    
    //基本整型(32~64位) -2147483622 ~ 2147483622
    int i = 2147483622;
    //无符号基本整型(32~64位)
    unsigned ui = 4294967295;
    printf("int=%d u int=%u\n",i,ui);

    
    //长整型(64位系统)  -9223372036854775807 ~ 9223372036854775807
    //长整型(32位系统)  -2147483622 ~ 2147483622
    long li64 = 9223372036854775807;
    long li32 = 2147483622;
    //无符号长整型(64位系统) 0 ~ 18446744073709551615
    //无符号长整型(32位系统) 0 ~ 4294967295
    unsigned long ul64 = 18446744073709551615;
    unsigned long ul32 = 4294967295;
    printf("long=%ld u long=%lu\n",li32,ul32);

    
    //长长整型  -9223372036854775807 ~ 9223372036854775807
    long long ll = -9223372036854775807;
    //无符号长长整型   0 ~ 18446744073709551615
    unsigned long long  ulli = 18446744073709551615;
    printf("long long=%lld u long long=%llu\n",ll,ulli);

    
    //整形高级属性
    //声明一个16位整型
    int16_t aa = 4400;
    printf("aa = %"PRId16"",aa); //PRId16 串宏来自动适配说明符
    
    //可能比long long还大的整型
    intmax_t maxi = 2222222222222222222;
    uintmax_t umaxi = 111111111111111111;
    
    
    //TODO:-----------char字符型-----------
    //用整数代替字符,标点 ASCII(0~127),国际(0~255)
    char c = 'A'; // char c = 65  ASCII码值
    char cc = 'ABCD';  //单引号只适用于是字符,标点,数字,输出结果 D
    char *ccc = "ABCDaa";  //字符串分配8个字节内存,
    printf("ccc=%s\n",ccc);
    printf("sizeOf_char*ccc=%zd\r\n",sizeof(ccc));

    //转义符  换行\n、空白\t、回车\r、退格\b
    //打印 Gramps sez, "a \ is a backslash. "
    printf("Gramps sez,\a \"a \\ is a backslash.\t\"");
    
    
    
    
    //TODO:-----------BOOL型-----------
    BOOL b = true; // 1
    b = false; //0
    
    
    
    
    //TODO:-----------浮点型-----------(附精确位数及取值范围表表)
    //C语言规定 float类型只能保证前6位是精确的, 取值划范围 e-37 ~ e+37
    // double float 至少精确10以上(看具体系统)
    float f = 411.205098;
    float ff = 4110.205098;
    float fff = 41100.205098;
    float ffff = 4.2f;

    CGFloat aad = 41100.205098; //OC 的 CGFloat 是定义为double类型
    
    double df = 22222222223.4444444;
    
    long double ldf = 23982348382.12039;
    
    printf("%f %f %f %f\n",f,fff,ffff,aad);
    
    
    
    
    
    //TODO:---------各种数据类型的字节长度---------%zd %u
    printf("sizeOf_int=%zd\r\n",sizeof(int));
    printf("sizeOf_uint=%zd\n",sizeof(unsigned int));
    printf("sizeOf_long=%zd\n",sizeof(long));
    printf("sizeOf_longlong=%zd\n",sizeof(long long));
    printf("sizeOf_char=%zd\n",sizeof(char));
    printf("sizeOf_uchar=%zd\n",sizeof(unsigned char));
    printf("sizeOf_float=%zd\n",sizeof(float));
    printf("sizeOf_double=%zd\n",sizeof(double));
    printf("sizeOf_longdouble=%zd\n",sizeof(long double));
    
    /**输出
     sizeOf_int=4
     sizeOf_uint=4
     sizeOf_long=8
     sizeOf_longlong=8
     sizeOf_char=1
     sizeOf_uchar=1
     sizeOf_float=4
     sizeOf_double=8
     sizeOf_longdouble=16
     */

(以下图片转自网络)










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值