Example
#include<stdio.h>
int main()
{
int a = 5;
double b = 2.3;
char name = 'A';
char gender[] = "张三";
printf("a=%d\n b=%.2f\n name=%c\n gender=%s\n", a, b, name, gender);
getchar();
}
-
%s
输出字符串 -
%c
输出单个字符 -
小数点后几位用
%.位数f
b=%.2f
变量的数据类型
sizeof():查看本电脑的数据类型所占的字节数
printf("int的字节数=%d\n",sizeof(int));//查看本电脑上的int的字节数
演示数据溢出
以int
类型为例,查看能输出的最大值
#include<stdio.h>
int main()
{
//演示:数据溢出
int a1 = 2147483647;
int a2 = 2147483650;
printf("int的字节数=%d\n",sizeof(int));//查看本电脑上的int的字节数
printf("a1=%d\n",a1);
printf("a2=%d\n", a2);
}
可以看到,a2
的值出现了溢出。
整型的使用细节
- C语言的整型类型,分为有符号
signed
和无符号unsigned
两种,默认是signed
- C程序中整型常声明为
int
型,除非不足以表示非常大的数,才使用long long
类型,对应的输出也要变成"%lld
" bit
(位):计算机中的最小存储单位byte
(字节):计算机中基本存储单元1byte
= 8bit
数据能表示的最大范围
以short
类型为例,我们来看一下short
所能表示的最大范围,如果你不记得short
类型的话,我们使用sizeof
来查看字节数
#include<stdio.h>
int main()
{
printf("short所占的字节数:%d\n", sizeof(short));
getchar();
}
根据1byte=8bit,所以:
int
数据类型也类似,都是用二进制表示,当用来表示有符号类型的时候,最左边第一个位不表示数字,而是作为正负的符号位,所以以short
为例,short
一共占两个字节,一个字节等于8位,所以short
一共占8位,每个位可以有1和0两种状态,所以可以表示数字的可能状态为
2
16
2^{16}
216,因为有一个符号位,所以次数减一,又因为0不是正数,所以整体减1,所以最后能表示正数的范围是
2
15
−
1
2^{15}-1
215−1
,负数所能表示的范围是
2
15
2^{15}
215