单选题
1、第39题 (1.0分) 题号:94 在C语言中,能代表逻辑值”真”的是()。
A
True
B
大于0的数
C
非0整数
D
非0的数
答案解析
正确答案:D
解析:
在C语言中,逻辑值的表示方式与其他一些高级语言(如Java、Python等)有所不同,理解其底层机制是解答本题的关键。
**1. C语言中逻辑值的基本规则**
C语言标准规定:
* **假(False)**:用数值 **0** 表示。
* **真(True)**:用 **非0** 的值表示。
这意味着,任何不等于0的数值,在作为条件判断或逻辑运算时,都被视为“真”。这包括正整数、负整数、正浮点数、负浮点数等。
**2. 选项逐一分析**
* **A. True**
* 在标准的C89/C90中,`True` 并不是关键字。虽然在C99标准引入了 `` 头文件后,可以使用 `bool` 类型以及 `true` 和 `false` 宏,但即便在这种情况下,`true` 在底层通常也被定义为整数 `1`。更重要的是,题目考察的是C语言通用的逻辑值代表机制,而非特定头文件下的宏定义。且C语言原生并不直接识别标识符 `True` 为逻辑真,除非用户自行定义。因此,该选项不准确且不具普遍性。
* **B. 大于0的数**
* 这个描述不完整。虽然大于0的数确实代表“真”,但**小于0的数**(负数)在C语言中同样代表“真”。例如,`if (-1)` 的条件是成立的。因此,仅说“大于0”漏掉了负数的情况。
* **C. 非0整数**
* 这个描述也不完整。C语言中的逻辑判断不仅限于整数类型,**浮点数**也可以参与逻辑判断。例如,`if (3.14)` 或 `if (-0.5)` 均被视为“真”。因此,仅限制为“整数”是不全面的。
* **D. 非0的数**
* 这是最准确的描述。无论是整数(正或负)还是浮点数(正或负),只要其值不为0,在C语言的逻辑上下文中都代表“真”。这涵盖了所有可能的数据类型和数值范围。
**结论**
C语言中,**非0即真**。因此,能代表逻辑值“真”的是所有非0的数。
故正确答案为 **D**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第220题 (1.0分) 题号:670 以下正确的说法是()。
单选题
1、第219题 (1.0分) 题号:734 以下可作为函数fopen中第一个参数的正确格式是()。
单选题
1、第218题 (1.0分) 题号:191 设有说明int ( )[M];其中标识符ptr是()。
单选题
1、第217题 (1.0分) 题号:154在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。
单选题
1、第216题 (1.0分) 题号:166 下列定义数组的语句中不正确的是()。
单选题
1、第215题 (1.0分) 题号:162 设j和k都是int类型,则for循环语句 for(j=0,k=0;j<=9&&k!=876;j++) scanf(”%d”,&k);()。
单选题
1、第214题 (1.0分) 题号:192 下面选择中正确的赋值语句是(设char a[5],*p=a;)()。
单选题
1、第213题 (1.0分) 题号:600 若有说明语句:char c='\72';则变量c()。
单选题
1、第212题 (1.0分) 题号:688 若a=1,b=2则 a|b的值是()。
单选题
1、第211题 (1.0分) 题号:622 putchar函数可以向终端输出一个()。
