首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
C 语言中, 32768 是不正确的 int 类型常数。请问
[单选题]
C
语言中,
32768
是不正确的
int
类型常数。请问这句话的说法是正确的吗?
正确
错误
添加笔记
邀请回答
收藏(25)
分享
纠错
3个回答
添加回答
7
白驹之过隙
选
B
。考察的是int类型
存储大小和值范围的
条件
。
以下两个决定条件:
各种类型的存储大小与
系统位数
有关,但目前通用的以64位系统为主。
如:在16位芯片上int型类型大小为16位,即两字节,而在32位机器上,int型为32位,即四字节。
在C语言中,类型还由
语言标准和编译器
共同决定。如:C99 spec标准INT_MIN -32767 INT_MAX +32767
如下图为
C99 spec
标准,题目中的
32768超过了INT_MAX
的范围,所以题目中的是错误的说法。
发表于 2020-02-27 23:55:51
回复(0)
更多回答
9
推荐
Jino.
选
B
。
考察
C语言中int类型的常数的范围。
①int的取值范围依赖于计算机系统:
在16位机器中
,
int占16位,是两个字节,
取值范围为前面所说的-32768~32767(-2^16~2^16-1)。此时题中表述是正确的。
在32位和64位机器中,int占32位,即4个字节长度,取值范围为-2147483648~2147483647(-2^32~2^32-1)。此时题中表述是错误的。
②int的取值范围也和语言标准有关:
ISO/ANSI C
规定,
int类型的最小范围为-32768到32767。因此int类型常数的范围不限于
-32768到32767,可以得到题中表述是错误的。
在C++官网中给出的
C99标准中的宏定义,int类型的范围为-32767到32767。
如下图:
如下图,是在64位机器上运行输出C语言int类型常量的最大值及最小值:
可以看到,
此时
int类型常量
的取值范围为
-2147483648~2147483647。
综上,
在32位和64位机器中,
32768
是正确的C语言
int
类型常数,因此
本题选B。
编辑于 2020-02-28 14:22:36
回复(1)
0
Thanksfornowcoder
32767只占用两个字节,short类型,int字节数翻倍;,,容易懵
发表于 2020-05-21 19:27:44
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
上传者:
赞花婆
难度:
3条回答
25收藏
3129浏览
热门推荐
相关试题
能被多个质数整除的第K长子段
基础数学
评论
(1)
三张财务报表的哪个最重要,其次是哪...
财会基础
评论
(1)
说一下对IFRS15(新收入准则)...
财会基础
评论
(1)
你对内部审计工作有什么认识吗?内部...
岗位认知
评论
(1)
公司有一款新产品将在一个月后要上线...
用户运营
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题