###数据类型:基本数据类型、空类型、构造数据类型
1.基本数据类型
整型变量:包括 短整型(short int)、整型(int )、和长整型(long int),他们都分为有符号(signed)和
无符号(unsigned)两种,在内存中都是以二进制的形式存放的。
整型家族各个类型所占比特数和取值范围:“[ ]”中的内容可以省略
类型 比特数
[signed] int 32
unsigned int 32
[signed] short [int] 16
unsigned short [int] 16
long [int ] ` 32
unsigned long [int] 32
整型常量:常量就是在程序执行过程中,其值不发生改变。
常量的表达方式如下:
#include <stdio.h>
int main(int argc ,const char*argv[]){
unsigned long PIIO_State=0x0000fff0L;
if(exstate == 0x02){
conig &=0xff;
}
}
在第一行代码中,常量的后面有一个“L”,然而这并不是十六进制的表示范围,而是整型常量的后缀
表示;整型常量可在结尾加上“L”或“l”代表长整型;“U”或“u”代表无符号整型。
###浮点类型
1.浮点变量:
浮点变量可分为 单精度(float)、双精度(double)和长双精度(long double)3种;
(1).float单精度浮点数:声明为float单精度浮点数的数据长度为4个字节,有效范围为1.2*10-31~3.4*10+31;如果想将数值设置为float类型,必须在数值的末尾加上“F”或“f”;
float PI=3.14159F 或 float PI=3.1415f;
(2)double 双精度浮点数
double双精度浮点数的数据长度为8字节,有效范围:2.2*10-61~1.8*10+61;不论是float单精度浮点数或double双精度浮点数,当用printf()函数输出时,所采用的格式化字符都是“%f”和"%d"是一样的作用。
展示float和double精度区别:
#include <stdio.h>
int main(){
float a;
double b;
a=22222.22222;
b=22222.322222;
printf("a=%f,b=%lf",a,b);
return 0;
}
###字符类型
1.字符变量:字符变量可以看作是整型变量的一种,他的标示符为“char”,一般占用一个字节(8bit),它也分为有符号与无符号两种;当它用于存储字符常量时,实际上是将该字符的ASCII码值存储到内存单元中;实际上,一个整型变量也可以存储一个字符常量,而且也是将该字符的ASCII码值存储到内存单元中。但由于取名上的不同,字符变量则更多地用于存储字符常量;一下代码显示了字符变量与整型变量实质上是相同的。
#include<stdio.h>
int main (){
char a,b;
int c,d;
a=c=65;
b=d='a';
printf("char a=%c,int c=%c/n",a,c);
printf(" char b=%d, int b=%d/n ",b,d);
return 0;
}
结果为:char !,int c=A
char b=97, int d=97
类型 比特数 取值范围
[signed] char 8 -128~127
unsigned char 8 0~255
2.字符常量:用单引号括起来的以后各字符:如:‘a’、'D'、'+'、‘?’;
a.字符常量只能用单引号括起来,不能用双引号或其他括号。
b.字符常量只能是单个字符,不能是字符串。
c.字符可以是字符集中任意字符。