您的位置:首页 > 编程语言 > C语言/C++

C语言数据类型(一)

2016-03-01 09:18 751 查看
//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
*/
(以下图片转自网络)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: