C语言数据类型

C语言数据类型

整数类型

下表列出了关于标准整数类型的存储大小和取值范围:

类型 存储大小 取值范围 占位符
short(有符号短整型) 2字节(16位) 最小值=--32768 最大值=32767 %hd
unsigned short(无符号短整型) 2字节(16位) 最小值=0 最大值=65535 %hu
int(有符号整型) 4字节(32位) 最小值=-2147483648 最大值=2147483647 %d
unsigned int(无符号整型) 4字节(32位) 最小值=0 最大值=4294967295 %u
long(有符号长整型) 4字节(32位) 最小值=-2147483648 最大值=2147483647 %ld
unsigned long(无符号长整型) 4字节(32位)

最小值=0 最大值=4294967295

%lu
long long(有符号超长整型) 8字节(64位) 最小值=-9223372036854775808 最大值=9223372036854775807 %lld
unsigned long long(无符号超长整型) 8字节(64位)

最小值=0 最大值=18446744073709551615

%llu

下面这段代码也可以查看各种整型类型的存储大小和取值范围: 

#include <stdio.h>
#include <limits.h>
int main()
{
    printf("%zd %hd %hd %hu\n", sizeof(short), SHRT_MIN, SHRT_MAX, USHRT_MAX);
    printf("%zd %d %d %u\n", sizeof(int), INT_MIN, INT_MAX, UINT_MAX);
    printf("%zd %ld %ld %lu\n", sizeof(long), LONG_MIN, LONG_MAX, ULONG_MAX);
    printf("%zd %lld %lld %llu\n", sizeof(long long), LLONG_MIN, LLONG_MAX, ULLONG_MAX);
    return 0;
}

浮点数类型

下表列出了关于标准浮点数类型的存储大小和取值范围:

类型 存储大小 取值范围 有效精度 占位符
float(单精度浮点型) 4字节(32位) 最小值=-3.4e+38 最大值=3.4e+38 6~7 %f
double(双精度浮点型) 8字节(64位) 最小值=-1.8e+308 最大值=1.8e+308 15~16 %lf
long double(长双精度浮点型) 16字节(128字节) 最小值=-1.2e+4932 最大值=1.2e+4932 18~19 %Lf

 下面这段代码也可以查看各种浮点类型的存储大小和取值范围: 

#include <stdio.h>
#include <float.h>
int main()
{
    printf("%zd %e %e\n", sizeof(float), FLT_MIN, FLT_MAX);
    printf("%zd %e %e\n", sizeof(double), DBL_MIN, DBL_MAX);
    printf("%zd %e %e\n", sizeof(long double), LDBL_MIN, LDBL_MAX);
    return 0;
}

字符类型

下表列出了关于标准字符类型的存储大小和取值范围:

类型 存储大小 取值范围 占位符

char(字符型)

1字节(8位) 最小值=-128 最大值=127 或 最小值=0 最大值=255 %c
signed char(有符号字符型) 1字节(8位) 最小值=-128 最大值=127 %c
unsigned char(无符号字符型) 1字节(8位) 最小值=0 最大值=255 %c

 下面这段代码也可以查看字符类型的存储大小和取值范围: 

#include <stdio.h>
#include <limits.h>
int main()
{
    printf("%zd %hhd %hhd %hhu\n", sizeof(char), CHAR_MIN, CHAR_MAX, UCHAR_MAX);
    return 0;
}

ASCLL码表: 

Bin(二进制)

Oct(八进制)

Dec(十进制)

Hex(十六进制)

缩写/字符

解释

0000 0000

00

0

0x00

NUL(null)

空字符

0000 0001

01

1

0x01

SOH(start of headline)

标题开始

0000 0010

02

2

0x02

STX (start of text)

正文开始

0000 0011

03

3

0x03

ETX (end of text)

正文结束

0000 0100

04

4

0x04

EOT (end of transmission)

传输结束

0000 0101

05

5

0x05

ENQ (enquiry)

请求

0000 0110

06

6

0x06

ACK (acknowledge)

收到通知

0000 0111

07

7

0x07

BEL (bell)

响铃

0000 1000

010

8

0x08

BS (backspace)

退格

0000 1001

011

9

0x09

HT (horizontal tab)

水平制表符

0000 1010

012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的闹钟

自愿打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值