每周来点C语言零碎小知识(4)

希望勤能补拙!

小白学C语言道阻且长,欢迎找茬,同学习共交流

1、关于变量类型的长度、范围、大小

(1)测量并打印出变量类型的长度: char , int, long, short, float, double, unsigned char ,unsigned int

(2)分别计算并打印出 char 与 unsigned char 的范围

(3)在 main 函数中分别定义一个上述(1)中各类型的变量,并测量并打印出每个变量的大小

在这里插入图片描述
在(1)(3)中有些人打印出的long型是4,这和系统有关系
具体看看这个,很清楚32/64位平台下各变量类型的长度

sizeof()函数

sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。对 sizeof() 的处理都是在编译阶段进行。

<limits.h> 头文件

(2)中用到这个头文件,可用于检测整型数据数据类型表达值范围,可容纳的最大值或最小值,检测表达值。决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值。这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。

在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,unsigned char没有符号位,因此unsigned char的取值范围:0 ~ 255,char的取值范围:-128~127。因此用以下表达式:

CHAR_MAX char的有符号整数最大值
CHAR_MIN char的有符号整数最小值
UCHAR_MAX unsignedchar的十进制整数最大值

<limits.h> 头文件里的常量描述

CHAR_BIT char的二进制位数(bit)
CHAR_MAX char的有符号整数最大值
CHAR_MIN char的有符号整数最小值
MB_LEN_MAX 多字节字符的最大字节(byte)数
INT_MAX int的有符号最大值
INT_MIN int的有符号最小值
LONG_MAX long的十进制最大值
LONG_MIN long的十进制最小值
SCHAR_MAX signedchar的十进制整数最大值
SCHAR_MIN signedchar的十进制整数最小值
SHRT_MIN short的十进制最小值
SHRT_MAX short的十进制最大值
UCHAR_MAX unsignedchar的十进制整数最大值
UINT_MAX unsignedint的十进制最大值
ULONG_MAX unsignedlongint的十进制最大值
USHRT_MAX unsignedshortint的十进制最大值

2、一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6 = 1 + 2 + 3。找出1000以内的所有完数?

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值