C语言数据类型(一)

来源:互联网 发布:阿里程序员待遇 编辑:程序博客网 时间:2024/05/16 17:15



//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