3.数据类型以及范围

本文详细介绍了C语言中的整型(包括有符号和无符号)、字符型以及浮点型(float和double)的数据类型、范围、打印格式和示例。重点讲述了它们在内存占用和数值表示上的特点。
摘要由CSDN通过智能技术生成

数据类型

在这里插入图片描述

一、整型(int、short、long、long long)

1、有符号整型

有符号整型的数据类型通常包括 int、short、long、long long 四种,因为是有符号类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。

在编程竞赛中,通常用到的为int类型、long long类型,需要记住其具体的范围。

(1)int类型

  • 数据类型大小是 4 字节,能表示的数值范围是
  • − 2 ( 32 − 1 ) -2^{(32-1)} 2(321) ~ 2 ( 32 − 1 ) − 1 2^{(32-1)}-1 2(321)1 (即 -2147483648 ~ 2147483647)将近 ± 2.1 × 1 0 9 ±2.1×10^9 ±2.1×109
  • 打印类型是 %d ,使用格式为 int 名 = 值;

(2)short类型

  • 数据类型大小是 2 字节,能表示的数值范围是
  • − 2 ( 16 − 1 ) -2^{(16-1)} 2(161) ~ 2 ( 16 − 1 ) − 1 2^{(16-1)} -1 2(161)1 (即 -32768 ~ 32767)
  • 打印类型是 %hd ,使用格式为 short 名 = 值;

(3)long类型

  • 数据类型大小是 4 字节,能表示的数值范围是
  • − 2 ( 32 − 1 ) -2^{(32-1)} 2(321) ~ 2 ( 32 − 1 ) − 1 2^{(32-1)}-1 2(321)1 (即 -2147483648 ~ 2147483647)将近 ± 2.1 × 1 0 9 ±2.1×10^9 ±2.1×109
  • 打印类型是 %ld ,使用格式为 int 名 = 值;

(4)long long类型

  • 数据类型大小是 8 字节,能表示的数值范围是
  • − 2 ( 64 − 1 ) -2^{(64-1)} 2(641) ~ 2 ( 64 − 1 ) − 1 2^{(64-1)}-1 2(641)1 (即-9,223,372,036,854,775,808~9,223,372,036,854,775,807) 将近 ± 9.22 × 1 0 18 ±9.22 × 10^{18} ±9.22×1018
  • 打印类型是 %lld ,使用格式为 long long 名 = 值;

2、无符号整型

无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号数最高位不是符号位,而就是数的一部分,无符号数不可能是负数。

(1)unsigned int 类型

  • 数据类型大小是 4 字节,能表示的数值范围是
  • 0 0 0~ 2 32 − 1 2^{32}-1 2321 (即 0~4294967295)将近 ± 4.2 × 1 0 9 ±4.2×10^{9} ±4.2×109
  • 打印类型是 %u ,使用格式为 unsigned int 名 = 值;

(2)unsigned short 类型

  • 数据类型大小是 2 字节,能表示的数值范围是
  • 0 0 0 ~ 2 8 − 1 2^{8} -1 281 (即 0~65535)
  • 打印类型是 %hu ,使用格式为 unsigned short 名 = 值;

(3)unsigned long 类型

  • 数据类型大小是 4 字节,能表示的数值范围是
  • 0 0 0 ~ 2 32 − 1 2^{32}-1 2321 (即 0~4294967295)将近 ± 4.2 × 1 0 9 ±4.2×10^{9} ±4.2×109
  • 打印类型是 %lu ,使用格式为 unsigned long 名 = 值;

(4)unsigned long long 类型

  • 数据类型大小是 8 字节,能表示的数值范围是
  • 0 0 0~ 2 64 − 1 2^{64}-1 2641 (即0~18,446,744,073,709,551,615) 将近 ± 1.8 × 1 0 19 ±1.8×10^{19} ±1.8×1019
  • 打印类型是 %llu ,使用格式为 unsigned long long 名 = 值;

二、 字符型(char)

字符型变量用于存储一个单一字符,在 C 语言中用 char 表示,其中每个字符变量都会占用 1 个字节。在给字符型变量赋值时,需要用一对英文半角格式的单引号(’ ')把字符括起来。字符变量实际上并不是把该字符本身放到变量的内存单元中去,而是将该字符对应的 ASCII 编码放到变量的存储单元中。char的本质就是一个1字节大小的整型。

  • char 的格式匹配符(打印格式) 为:%c

  • 数值表示范围是:

  • 有符号: − 2 ( 8 − 1 ) -2^{(8-1)} 2(81) 2 ( 8 − 1 ) − 1 2^{(8-1)} -1 2(81)1 (即 -128 ~ 127)

  • 无符号: 0 0 0 ~ 2 8 − 1 2^8 -1 281 (即 0~255)

常用的ASCLL码为:

  • A:65

  • ‘A’:65

  • a:97(大小写相差 32 )

  • 0:48

  • \n:10

  • \0: 0

三、浮点型(float、double)

(1)单精度浮点型(float)

单精度浮点型的大小是 4 字节

float v1 = 4.345;
unsigned float v1 = 4.345; // 无符号的 float 数据

格式匹配符是:%f , 默认保留 6 位小数。

(2)双精度浮点型(double)

双精度浮点型的大小为 8 字节

double v2 = 5.678;
unsigned double v2 = 5.678; // 无符号的 double 数据

C语言中的 %lf 通常用于 scanf 函数读取双精度浮点数,而在 printf 函数中,使用 %f 来输出双精度浮点数(double)。

// 无符号的 double 数据

C语言中的 %lf 通常用于 scanf 函数读取双精度浮点数,而在 printf 函数中,使用 %f 来输出双精度浮点数(double)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值