单选题
1、第208题 (1.0分) 题号:577 在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。
A
由用用户自己定义
B
均为2个字节
C
是任意的
D
由所用机器的机器字长决定
答案解析
正确答案:D
解析:
**解析:**
在 C 语言标准中,并没有严格规定 `int`、`char` 和 `short` 等数据类型在具体实现中必须占用固定的字节数,而是规定了它们之间的相对大小关系以及最小取值范围:
1. **`char`**:标准规定 `sizeof(char)` 始终为 1。
2. **`short` 和 `int`**:标准规定 `sizeof(short) <= sizeof(int)`,且 `short` 至少为 16 位,`int` 通常反映处理器的自然字长(machine word size),但至少为 16 位。
具体每种类型占用的字节数取决于**编译器**以及**目标平台的硬件架构(即机器字长)**:
* 在早期的 16 位系统中,`int` 通常占 2 个字节。
* 在常见的 32 位系统中,`int` 通常占 4 个字节,`short` 占 2 个字节。
* 在 64 位系统中,`int` 通常仍为 4 个字节(但在某些模型下可能不同),`long` 可能变为 8 个字节。
因此,这些数据类型的内存占用不是由用户定义的(排除 A),也不固定均为 2 个字节(排除 B),更不是完全任意无规律的(排除 C),而是紧密依赖于所使用的计算机系统的机器字长和编译器的具体实现。
故正确答案为 **D**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第51题 (1.0分) 题号:112 下列程序的输出结果是()。
单选题
1、第50题 (1.0分) 题号:211 fgets( )函数从文件中读入一个字符串,以下正确的叙述是()。
单选题
1、第49题 (1.0分) 题号:579 在C语言中,char型数据在内存中的存储形式是()。
单选题
1、第48题 (1.0分) 题号:206 以下程序的输出结果是()。
单选题
1、第47题 (1.0分) 题号:708 下面判断正确的是()。
单选题
1、第46题 (1.0分) 题号:630 逻辑运算符两侧运算对象的数据类型()。
单选题
1、第45题 (1.0分) 题号:531 C语言中,定义结构体的保留字是()。
单选题
1、第44题 (1.0分) 题号:496 double x;scanf( );不可以赋值给x变量的常量是()。
单选题
1、第43题 (1.0分) 题号:669 若用数组名作为函数的实参,传递给形参的是()。
单选题
1、第42题 (1.0分) 题号:518 char a[]=“This is a program.”;输出前5个字符的语句是()。
