0X03 数据和C

概述

C语言的数据类型有基本类型,构造类型,指针类型,空类型

空类型就是void,指针类型这里不说,构造类型也不说(数组,结构体,联合体,枚举,嵌套),这里只说基本类型。

基本类型有:短整型(short)、整型(int)、长整型(long)、字符型(char)、单精度浮点型(float)、双精度浮点型(double)。六种

另外还有  无符号整型(unsigned int,简写unsigne)、长长整型(long long int,简写long long、C99增加的unsigned long long int型

关键字signed可以和任何一个有符号类型一起使用,它是数据类型更加精确。  short、short int、signed short 以及 signed short int代表了同一类型。

关于六种基本数据类型占内存大小,不同平台会有所不同,用一下的代码上机检测一下吧:

 

printf("int-----%d\n",sizeof(int));
printf("long----%d\n",sizeof(long));
printf("short---%d\n",sizeof(short));
printf("float---%d\n",sizeof(float));
printf("double--%d\n",sizeof(double));
printf("char----%d\n",sizeof(char));

使用printf()时,切记每个要显示的值都必须对应自己的格式说明符,并且显示值的类型同说明符相匹配

变量声明的时候,初始化该变量是一个好习惯。虽然不这样做也没什么大毛病,但总有机会出现一些意想不到的结果。

转义序列:

\a 警报;\b 退格;\f 走纸;\n 换行;\r 回车;\t 水平制表符;\v 垂直制表符;\\ 反斜杠(\); \0a 八进制值(a是八进制数);\xa 十六进制值(a是十六进制数)

 

使用多种整数类型的原因

  为了适应不同机器

long long类型为64位,long类型为32位,short类型16位,int类型为16位或32位(依机器的自然字大小而定)。原则上这4中类型代表4个不同大小的数值。

对应16位单位:short类型和int类型的最小取值范围是  -32767到32757

对应32位单位,long类型最小取值范围是 -2147483647到2147483647;unsigned short和unsigned int 最小取值范围是 0到65535;unsigned long 是 0到4294967295

long long类型是对应64位的需求,范围是 -9 223 372 036 854 775 807到9 223 372 036 854 775 807

unsigned long long 是0到18 446 744 073 709 551 615

(关于这些数据是怎么得来的,学学微机原理吧。。学完关于二进制编码后就知道怎么回事了

posted @ 2016-10-12 16:36  炎谨  阅读(1492)  评论(0编辑  收藏  举报