AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第226题 (1.0分) 题号:161 设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf(”****\n”);()。

A
 循环结束的条件不合法
B
 是无限循环
C
 循环体一次也不执行
D
 循环体只执行一次

答案解析

正确答案:B

解析:

这道题考察的是 C 语言中 `for` 循环的执行机制以及赋值运算符与关系运算符的区别。 **1. 语法结构分析** `for` 循环的一般形式为:`for (表达式1; 表达式2; 表达式3) 语句;` - **表达式1 (初始化)**:`j=0, k=-1`。这是一个逗号表达式,执行后 $j=0, k=-1$。 - **表达式2 (循环条件)**:`k=1`。**注意**:这里使用的是赋值运算符 `=`,而不是关系运算符 `==`。 - **表达式3 (迭代操作)**:`j++, k++`。 **2. 执行过程推导** 1. **初始化**:执行 `j=0, k=-1`。此时 $j=0, k=-1$。 2. **第一次判断条件**:计算表达式2 `k=1`。 - 在 C 语言中,赋值表达式的值等于被赋的值。因此,`k=1` 这个表达式的值为 **1**。 - 同时,变量 $k$ 的值被更新为 1。 - C 语言中,非零值被视为“真”(true)。因为 1 为非零,所以条件成立,进入循环体。 3. **执行循环体**:执行 `printf("****\n");`,输出 `****`。 4. **执行迭代操作**:执行 `j++, k++`。此时 $j$ 变为 1,$k$ 变为 2。 5. **第二次判断条件**:再次计算表达式2 `k=1`。 - 同样地,执行赋值操作,将 $k$ 重新赋值为 1。 - 表达式 `k=1` 的值依然为 **1**(真)。 - 条件成立,继续执行循环体。 6. **后续循环**:无论 $k$ 在迭代部分变成什么值,每次进行条件判断时,`k=1` 都会强制将 $k$ 重置为 1,且表达式的值恒为 1(真)。 **3. 结论** 由于循环条件 `k=1` 的值恒为真(1),循环永远不会终止,因此这是一个**无限循环**(死循环)。 **选项分析:** - A. 循环结束的条件不合法:错误。`k=1` 是合法的 C 语言表达式。 - B. 是无限循环:**正确**。条件恒为真。 - C. 循环体一次也不执行:错误。第一次判断即为真。 - D. 循环体只执行一次:错误。循环不会停止。 故正确答案为 **B**。
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码