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

1、第196题 (1.0分) 题号:519 int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是()。

A
 for(i=1;i<11;i++)a[i]=i;
B
 for(i=1;i<11;i++)a[i-1]=i;
C
 for(i=1;i<11;i++)a[i+1]=i;
D
 for(i=1;i<11;i++)a[0]=1;

答案解析

正确答案:B

解析:

**解析:** 本题考查 C 语言中数组的定义、下标范围以及循环赋值逻辑。 1. **数组定义与下标范围**: 语句 `int a[10];` 定义了一个包含 10 个整型元素的数组。在 C 语言中,数组下标从 0 开始,因此该数组的有效下标范围是 `0` 到 `9`(即 `a[0]` 到 `a[9]`)。访问 `a[10]` 或更高下标会导致数组越界,这是非法操作。 2. **题目要求**: 需要给数组 `a` 的所有元素分别赋值为 1、2、3、……、10。 即对应关系为: - `a[0] = 1` - `a[1] = 2` - ... - `a[9] = 10` 可以看出,赋值规律为:`a[i] = i + 1` (其中 `i` 为下标,从 0 到 9),或者换一种视角,如果循环变量 `k` 从 1 到 10,则 `a[k-1] = k`。 3. **选项分析**: * **A. `for(i=1;i<11;i++) a[i]=i;`** - 当 `i=1` 时,`a[1]=1`; - 当 `i=10` 时,`a[10]=10`。 - **错误点**:`a[10]` 超出了数组 `a[10]` 的最大下标 9,造成数组越界。且 `a[0]` 未被赋值。 * **B. `for(i=1;i<11;i++) a[i-1]=i;`** - 循环变量 `i` 从 1 变化到 10。 - 当 `i=1` 时,`a[1-1] = a[0] = 1`; - 当 `i=2` 时,`a[2-1] = a[1] = 2`; - ... - 当 `i=10` 时,`a[10-1] = a[9] = 10`。 - **正确**:正好将 `a[0]` 到 `a[9]` 分别赋值为 1 到 10,且没有越界。 * **C. `for(i=1;i<11;i++) a[i+1]=i;`** - 当 `i=1` 时,`a[2]=1`; - 当 `i=10` 时,`a[11]=10`。 - **错误点**:`a[11]` 严重越界,且 `a[0]` 和 `a[1]` 未被正确按顺序赋值。 * **D. `for(i=1;i<11;i++) a[0]=1;`** - **错误点**:这条语句只是在循环中反复给 `a[0]` 赋值为 1,其他元素 `a[1]` 到 `a[9]` 均未赋值,不符合题意。 **结论:** 只有选项 B 能够正确、安全地将数组所有元素依次赋值为 1 到 10。 **答案:B**
题目纠错
c语言选择判断题库

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

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