解析:
这道题考查的是不同循环结构(`for`、`do-while`、`while`)以及使用 `goto` 语句模拟循环的执行次数计算。我们需要逐一分析每个选项中循环体执行的次数。
**选项分析:**
* **A. `for(i=1; i<10; i++);`**
* **初始化**:`i = 1`
* **判断条件**:`i < 10`
* **执行过程**:
1. `i=1`,满足 `1<10`,执行循环体(空语句),`i` 变为 2
2. `i=2`,满足 `2<10`,执行循环体,`i` 变为 3
3. ...
4. `i=9`,满足 `9<10`,执行循环体,`i` 变为 10
5. `i=10`,**不满足** `10<10`,循环结束。
* **统计**:`i` 从 1 到 9 共执行了 **9次**。
* **结论**:循环次数为 9 次,**不为 10 次**。符合题意。
* **B. `i=1; do{i++;} while(i<=10);`**
* **类型**:`do-while` 循环,先执行后判断。
* **执行过程**:
1. `i=1`,执行 `i++` 后 `i=2`,判断 `2<=10` (真),继续
2. `i=2`,执行 `i++` 后 `i=3`,判断 `3<=10` (真),继续
3. ...
4. `i=9`,执行 `i++` 后 `i=10`,判断 `10<=10` (真),继续
5. `i=10`,执行 `i++` 后 `i=11`,判断 `11<=10` (假),结束
* **统计**:`i` 的初始值为 1,每次循环 `i` 增加 1,直到 `i` 变为 11 时停止判断。循环体分别在 `i` 为 1, 2, ..., 10 时进入执行(注意:虽然判断的是递增后的值,但我们可以看进入循环前的状态或者简单计数)。
* 更简单的看法:`i` 从 1 开始,每次加 1。当 `i` 变成 11 时退出。
* 第1次:i=1 -> i=2 (check 2<=10 OK)
* ...
* 第9次:i=9 -> i=10 (check 10<=10 OK)
* 第10次:i=10 -> i=11 (check 11<=10 Fail)
* **结论**:循环次数为 **10次**。不符合题意。
* **C. `i=10; while(i>0){--i;}`**
* **类型**:`while` 循环,先判断后执行。
* **执行过程**:
1. `i=10`,满足 `10>0`,执行 `--i`,`i` 变为 9
2. `i=9`,满足 `9>0`,执行 `--i`,`i` 变为 8
3. ...
4. `i=1`,满足 `1>0`,执行 `--i`,`i` 变为 0
5. `i=0`,**不满足** `0>0`,循环结束。
* **统计**:`i` 从 10 递减到 1,共执行了 **10次**。
* **结论**:循环次数为 10 次。不符合题意。
* **D. `i=1; m: if(i<=10){i++; goto m;}`**
* **类型**:使用 `if` 和 `goto` 构成的循环。
* **执行过程**:
1. `i=1`,满足 `1<=10`,`i` 变为 2,跳转回 m
2. `i=2`,满足 `2<=10`,`i` 变为 3,跳转回 m
3. ...
4. `i=10`,满足 `10<=10`,`i` 变为 11,跳转回 m
5. `i=11`,**不满足** `11<=10`,不执行 `{}` 内语句,程序向下执行(结束循环逻辑)。
* **统计**:`i` 从 1 到 10 均满足条件并执行了 `i++` 和跳转,共执行了 **10次**。
* **结论**:循环次数为 10 次。不符合题意。
**总结:**
* A: 9次
* B: 10次
* C: 10次
* D: 10次
题目要求选出循环次数**不为** 10 次的语句,因此正确答案是 **A**。