单选题
1、第5题 (1.0分) 题号:684 在C语言中,要求运算数必须是整型的运算符是()。
A
^
B
%
C
!
D
>
答案解析
正确答案:B
解析:
**解析:**
在 C 语言中,不同的运算符对操作数(运算数)的数据类型有不同的要求。我们需要逐一分析选项中运算符的特性:
1. **A. `^` (按位异或运算符)**
* 虽然按位运算通常用于整型数据,但在 C 语言标准中,按位运算符的操作数可以是任何整数类型(包括 `char`, `short`, `int`, `long` 等)。如果操作数是浮点型,编译器通常会报错或进行隐式转换(取决于具体上下文和编译器实现,但标准规定其操作数应为整数类型)。不过,相比之下,取模运算符的限制更为严格且典型。*注:在某些严格的语境下,`^` 也要求整型,但 `%` 是更经典的“必须为整型”的考点。让我们继续看其他选项。*
2. **B. `%` (取模/求余运算符)**
* **核心考点**:C 语言明确规定,取模运算符 `%` 的两个操作数**必须都是整型**(如 `int`, `char`, `short`, `long` 等)。
* 如果尝试对浮点数(如 `float` 或 `double`)使用 `%` 运算符,编译器会直接报错。例如,`5.0 % 2.0` 是非法的。若要计算浮点数的余数,需要使用库函数 `fmod()`。
* 因此,这是最符合题目描述“要求运算数必须是整型”的运算符。
3. **C. `!` (逻辑非运算符)**
* 逻辑非运算符 `!` 的操作数可以是任何标量类型(包括整型、浮点型、指针等)。
* 规则是:如果操作数为 0(或 NULL),结果为 1(真);如果操作数非 0,结果为 0(假)。它不限制操作数必须是整型。
4. **D. `>` (关系运算符/大于)**
* 关系运算符 `>` 可以用于比较整型、浮点型、指针等多种类型的数据。
* 例如,`3.14 > 2.0` 是完全合法的。因此,它不要求运算数必须是整型。
**结论:**
只有取模运算符 `%` 严格禁止浮点型操作数,强制要求两个运算数均为整型。
故正确答案为 **B**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第254题 (1.0分) 题号:186 已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是()。
单选题
1、第253题 (1.0分) 题号:208 下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。
单选题
1、第252题 (1.0分) 题号:557 打开文件时,方式”w”决定了对文件进行的操作是()。
单选题
1、第251题 (1.0分) 题号:87 C语言源程序的基本单位是()。
单选题
1、第250题 (1.0分) 题号:709若定义:int a=511,*b=&a;, 则printf(”%d\n”,*b);的输出结果为()。
单选题
1、第249题 (1.0分) 题号:172 在C语言程序中()。
单选题
1、第248题 (1.0分) 题号:682 sizeof( )是()。
单选题
1、第247题 (1.0分) 题号:182 执行下面程序后,输出结果是()。
单选题
1、第246题 (1.0分) 题号:718 系统的标准输入文件是指()。
单选题
1、第245题 (1.0分) 题号:621 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。
