C语言之基本数据类型

基本数据类型

基本数据类型由 11 个关键字组成:int、long、short、unsigned、char、float、double、signed、_Bool、_Complex 和 Imaginary。

  • 有符号整型
类型长度
int至少占 16 位(根据硬件选择合适大小,32位,64位编译器 int 为32位)
short 或 short int至少占 16 位,最大 short 小于或等于 int 最大类型整数
long 或 long int至少占 32 位,大于或等于最大 int 类型整数
long long 或 long long int至少占 64 位,大于或等于最大 long 类型整数
  • 无符号整型
    只能用于表示零和正整数,前面添加 unsigned 表明该类型是无符号整型。
  • 字符类型
    表示一个字符要占用 1 个字节内存,有些编译器使用有符号 char,有些使用无符号 char。
  • 布尔类型
    表示 true 和 false ,是无符号 int 类型,C 语言用 1 表示 true,0 表示 false。
  • 实浮点类型
    可表示正浮点数和负浮点数。
类型有效范围
float至少 6 位有效数字
double至少 10 位有效数字和更大的指数
long long比 double 更多有效数字和更大的指数
  • 复数和虚数浮点数
    虚数是可选的类型,复数的实部和虚部都基于实浮点类型来组成。

基本数据类型的应用

代码示例

#include<stdio.h>
#include<inttypes.h>
int main(void) {
	int x = 100;
	int32_t me32 = 45933945;                         //类型别名是精确宽度整形类型
	float aboat = 32000.0;
	double abet = 2.14e9;
	long double dip = 5.32e-5;
	unsigned int un = 3000000000;
	short end = 200;
	long big = 65537;
	long long verybig = 12345678908642;
	int i = 2147483647;
	char grade = 'A';                                //8 位,字符常量视为int非char类型
	char gradebig = 'FATE';                          //字符常量视为int非char类型,取后 8 位,打印 E 
	char voice = '\a';
	printf("无符号数:un = %u  and not %d\n", un, un);            //内存中的表示完全相同
	printf("short 类型:end = %hd  and  %d\n", end, end);         //short 会自动转 int,h修饰符,显示较大整数截断成 short 类型值
	printf("long 类型:big = %ld  and  not %hd\n", big, big);                //取低 16 位等于 1
	printf("long long 类型:verybig = %lld  and  %ld\n", verybig, verybig);  //取低 32 位
	printf("打印进制:%d = %o =  %x\n", x, x, x);                //显示进制数
	printf("进制显示:%d = %#o =  %#x\n", x, x, x);              //带进制显示进制数
	printf("溢出处理:%d  %d  %d\n", i, i + 1, i + 2);           //溢出会从开始计算
	printf("字符打印:%d  %d\n", grade, gradebig);               //超出单字符取低 8 位
	printf("警报字符:%c\n", voice);                             //打印可发出警报声
	printf("Study xu,\"a \\ is a backslash\"\n");                //转义字符的应用
	printf("me32 = %d\n", me32);                                 //可移植类型
	printf("me32 = %" PRId32 "\n", me32);                        //可移植类型应用
	printf("%f can be written %e\n", aboat, aboat);              //float 数字,科学记数法
	printf("%f can be written %e\n", abet, abet);                //double 数字,科学记数法
	printf("%Lf can be written %Le\n", dip, dip);                //long double 数字,科学记数法
	//sizeof 以字节为单位给出对象的大小
	printf("Type char has a size of %zd bytes.\n",sizeof(char));   //打印 char 长度 1 byte
	printf("Type int has a size of %zd bytes.\n", sizeof(int));    //打印 int 长度 4 byte
	printf("Type long has a size of %zd bytes.\n", sizeof(long));  //打印 long 长度 4 byte
	printf("Type float int has a size of %zd bytes.\n", sizeof(float));  //打印 float 长度 4 byte
	printf("Type double int has a size of %zd bytes.\n", sizeof(double));  //打印 double 长度 8 byte
	return 0;
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值