单选题
1、第182题 (1.0分) 题号:581 sizeof( )是()。
A
一个双精度型表达式
B
一个整型表达式
C
一种函数调用
D
一个不合法的表达式
答案解析
正确答案:B
解析:
**解析:**
在 C 语言中,`sizeof` 是一个**运算符**(operator),而不是函数。它的主要作用是计算数据类型或变量在内存中所占用的字节数。
1. **返回值类型**:`sizeof` 运算的结果是一个无符号整数类型,具体类型为 `size_t`(通常在 `` 或 `` 中定义)。在大多数常见的系统架构和编译器实现中,`size_t` 本质上是一种整型(unsigned int 或 unsigned long 等)。因此,从表达式的值的性质来看,它是一个**整型表达式**。
2. **排除其他选项**:
* **A 错误**:`sizeof` 返回的是字节数,是整数,不是双精度浮点型(double)。
* **C 错误**:虽然 `sizeof` 的语法看起来像函数调用(例如 `sizeof(int)`),但它是在**编译阶段**就确定结果的运算符,不涉及运行时的函数调用开销。如果操作数是变量,括号甚至可以省略(如 `sizeof a`),这进一步证明了它不是函数。
* **D 错误**:`sizeof` 是 C 语言的标准关键字,使用它是完全合法的。
综上所述,`sizeof()` 产生的是一个整型结果,因此它是一个整型表达式。
**正确答案:B**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第77题 (1.0分) 题号:541 若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。
单选题
1、第76题 (1.0分) 题号:91 以下数值中,不正确的八进制数或十六进制数是()。
单选题
1、第75题 (1.0分) 题号:680 在调用函数时,如果实参是简单变量,它与对应形参之间的数据 传递方式是()。
单选题
1、第74题 (1.0分) 题号:116 下列语句的结果是()。
单选题
1、第73题 (1.0分) 题号:613 下面有关 for 循环的正确描述是()。
单选题
1、第72题 (1.0分) 题号:504 执行以下程序段后,输出结果和a的值是()。 int a=10; printf(”%d”,a++);
单选题
1、第71题 (1.0分) 题号:104 以下运算符中,优先级最高的运算符是()。
单选题
1、第70题 (1.0分) 题号:676 以下只有在使用时才为该类型变量分配内存的存储类说明是()。
单选题
1、第69题 (1.0分) 题号:704 变量的指针,其含义是指该变量的()。
单选题
1、第68题 (1.0分) 题号:105 以下运算符中,优先级最高的运算符是()。
