目录
1.1基本数据类型与数据表示
1. 整型 (int)
用于描述整数的数据类型。int类型的数据用4字节(32位二进制位)表示,包括1位符号,有效位数为31位。取值范围为 -2147483648~2147483647. 输入输出时用 %d替代变量。
补充:unsigned int 整型(简写为unsigned)占用4字节(1个字),用于表示非负整数,表示范围为0~2^32-1.
#include<stdio.h>
int main()
{
int a;
a = 5;
printf("%d", a);
return 0;
}
若要增大取值范围,可考虑使用long int ,long long int;减少取值范围,可考虑short int
(1)声明 int 变量
书写格式:int +变量名 +;
获得值:1. 赋值: erns=520;
2. 通过函数获得值。(如scanf等)
(2)初始化变量
可以直接在声明中完成: int a=520;
(注意:尽量不要把初始化变量和未初始化的变量放在同一条声明中,容易混淆)
声明为变量创建和标记储存空间,并为其指定初始值。
(3)int 型常量
简而言之, 不含小数点和指数的常数。
(4)打印 int 值
需要对变量进行转换说明,用%d 替代变量,同时,确保转换说明的数量与待打印值数量相等。
(关于整型的八进制和十六进制转换可详见进制转换。)
2. 实型/浮点型(double , float)
用于描述带小数点的数据类型。常用的实型是双精度型(double)。double类型的数据用8字节(64位二进制位)表示,包括1位符号,11位指数和52位尾数。输入输出时double 用%lf ,float用%f.
#include<stdio.h>
int main()
{
double a;
a = 5.20;
printf("%lf", a);
return 0;
}
输出保留小数点后六位。
(1)声明浮点型变量
与整型类似:float a=5.20; double c=131.4;
(2)浮点型常量
C语言中提供了两种实型常量的书写形式:一种是十进制小数形式;一种是指数形式。
小数形式:123.45 指数形式:1.87E+10
(3)打印浮点值
double 用%lf ,float用%f.
(4)浮点值的上溢和下溢(详见溢出问题)
上溢:当计算导致数字过大,超过当前类型能表达的范围时,就会发生上溢。若发生上溢,编译器会给该变量赋一个表示无穷大的值。
下溢:下溢是当一个超长的数据进入到缓冲区时,超出部分被写入下级缓冲区,下级缓冲区存放的是下一条指令的指针,或者是其他程序的输出内容。
3. 字符型(char)
用于表示字符,取值范围为-128~127.在C语言中,字符型的名称是char,单个字符值用一对单引号括起来。并且每一个字符对应一个ASCII码值,用1字节(8位二进制位)表示。输入输出时字符用 %c.
(1)声明 char 变量
书写格式:char +变量名 +;
(2)字符常量和初始化
char grade='A';
(3)非打印字符
单引号只适用于字符,数字和标点符号。对于一些无法打印的ASCII字符(如:退格,换行或蜂鸣).C语言提供了3种方法表示:
(1)使用ASCII码值。例如:蜂鸣字符的ASCII值为7,可以写成:
char beep 7;
(2)使用转义序列。
char nerf ='\n';
(4)打印字符
%c : 输出字符本身 %d:输出字符的ASCII值
示例字符:(输出字符本身)
#include<stdio.h>
int main()
{
char a;
a = 'c';
printf("%c", a);
return 0;
}
(输出字符的ASCII码值)
#include<stdio.h>
int main()
{
char a;
a = 'c';
printf("%d", a);
return 0;
}
4. _Bool类型
用于表示逻辑值true和false.C语言用值1 表示true ,用2表示false.所有_Bool类型实际上也是一种整数类型。但原则上它仅占用1位储存空间,因为对0和1而言,1位的储存空间就够了。