《C程序设计语言》练习2-1答案

本文提供了《C程序设计语言》中练习2-1的问题解答,探讨了实现过程中针对浮点类型取值范围确定的难点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习 2-1 编写一个程序以确定分别由signed及unsigned 限定的char、short、
int与long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实

现。后一种方法的实现较困难一些,因为要确定各种浮点类型的取值范围。


#include <stdio.h>
#include <limits.h>
#include <float.h>

void problems2_01() {
	printf("int(%d ~ %d)\n", INT_MIN, INT_MAX);
	printf("int(%d ~ %d)\n", 1<<(sizeof(int)*8-1), ~(1<<(sizeof(int)*8-1)));
	printf("uint(%u ~ %u)\n", 0, UINT_MAX);
	printf("uint(%u ~ %u)\n", 0, ~(1<<(sizeof(unsigned int)*8)));
	printf("char(%d ~ %d)\n", CHAR_MIN, CHAR_MAX);
	printf("char(%d ~ %d)\n", (char)(1<<(sizeof(char)*8-1)), (char)(~(1<<(sizeof(char)*8-1))));
	printf("uchar(%u ~ %u)\n", 0, UCHAR_MAX);
	printf("uchar(%u ~ %u)\n", 0, (unsigned char)(~(1<<(sizeof(unsigned char)*8))));
	printf("short(%d ~ %d)\n", SHRT_MIN, SHRT_MAX);
	printf("short(%d ~ %d)\n", (short)(1<<(sizeof(short)*8-1)), (short)(~(1<<(sizeof(short)*8-1))));
	printf("ushort(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值