二级C中有关于while语句的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/16 15:39:55
有如下两道题,请大虾们做一下,并麻烦解释一下,3Q!

1.设有程序段:
int k=12;
while(k=1) k=k-1;
则下列描述中正确的是( )。
A)while循环执行10次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次

2.已知
int t=0;
while(t=1)
{...}
则下列叙述正确的是( )
A)循环控制表达式的值为0 B)循环控制表达式的值为1
C)循环控制表达式不合法 D)以上说法都不对

都选(B)

while(k=1) while(k=1)
意思都一样,将 1 赋值给 k ;
循环控制表达式(k=1), 括号里的值就为 1
为真

while(k=1) 加上 k=k-1; k==0;
但在循环至 while(k=1) 时,
k==1 为真 继续循环
没有终止 无限循环

b
b
两个都用的是赋值操作符,不是比较操作符,所以结果都会是1,都成了while(1)

bb

1、C 2、C

1:B,
2:B

因为while里的表达式是赋值,赋值是一定会成功的,所以为真.