单选题
1、第40题 (1.0分) 题号:632 以下叙述正确的是()。
A
do-while语句构成的循环不能用其它语句构成的循环来代替.
B
do-while语句构成的循环只能用break语句退出.
C
用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D
用do-while语句构成的循环,在while后的表达式为零时结束循环
答案解析
正确答案:D
解析:
这道题考查的是 C 语言中 `do-while` 循环语句的执行机制和终止条件。我们需要逐一分析各个选项的逻辑正确性。
**选项分析:**
* **A. do-while语句构成的循环不能用其它语句构成的循环来代替。**
* **错误**。在结构化程序设计中,`while`、`do-while` 和 `for` 三种循环结构在功能上是等价的,可以相互转换。例如,`do-while` 循环可以通过在循环前执行一次循环体,然后接一个 `while` 循环来模拟;或者通过调整条件判断的位置,用 `while` 或 `for` 实现相同逻辑。因此,它完全可以被其他循环语句代替。
* **B. do-while语句构成的循环只能用break语句退出。**
* **错误**。`do-while` 循环正常的退出方式是当 `while` 后面的条件表达式为假(即值为 0)时,循环自然结束。此外,除了 `break`,还可以使用 `return`(如果在函数中)、`goto` 或者抛出异常(在支持异常的语境下,虽C语言主要靠前几种)等方式跳出循环。最核心的正常退出机制是条件判断,而非仅依赖 `break`。
* **C. 用do-while语句构成的循环,在while后的表达式为非零时结束循环。**
* **错误**。在 C 语言中,非零值代表“真”(True)。当 `while` 后的表达式为非零时,循环条件成立,循环会**继续执行**,而不是结束。
* **D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。**
* **正确**。`do-while` 循环的执行流程是:先执行循环体,然后计算 `while` 后面的表达式。如果表达式的值为非零(真),则返回继续执行循环体;如果表达式的值为零(假),则终止循环,执行循环后面的语句。因此,表达式为零是循环结束的条件。
**结论:**
综上所述,只有选项 D 准确描述了 `do-while` 循环的终止条件。
**正确答案:D**
题目纠错
c语言选择判断题库
相关题目
单选题
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函数可以向终端输出一个()。
单选题
1、第210题 (1.0分) 题号:493 C语言的注释定界符是()。
