在循环语句while (e) {……}中,条件表达式e等价于下列表达式中的__
时间: 2024-02-26 18:52:50 浏览: 30
在循环语句 `while (e) {……}` 中,条件表达式 `e` 等价于下列表达式中的 `e`。因为 `while` 循环会一直执行循环体中的语句,直到条件表达式为假时才停止循环。因此,条件表达式 `e` 必须是一个可以求值为真或假的逻辑表达式,只有当 `e` 的值为真时,循环体中的语句才会被执行。
相关问题
语句while(E);中的表达式E等价于E!=0
不完全正确。
语句 `while (E);` 中的表达式 E 是一个条件表达式,其值为 0 或 1。当 E 的值为 0 时,循环终止;当 E 的值为 1 时,循环继续执行。因此,语句 `while (E);` 只是一个死循环,它会一直执行,直到 E 的值为 0。
与此不同,表达式 `E != 0` 是一个比较表达式,其值为真(非 0)或假(0)。当 E 的值不为 0 时,`E != 0` 的值为真;当 E 的值为 0 时,`E != 0` 的值为假。
因此,语句 `while (E != 0);` 与 `while (E);` 是等价的,它们都表示一个死循环,只有当 E 的值为 0 时才会退出循环。但是表达式 E 与 E != 0 并不等价。
for循环中省略条件表达式或者一代表达式一定造成死循环嘛
在for循环中省略条件表达式或者循环体中没有语句对循环变量进行修改,都有可能造成死循环。
例如,如果省略条件表达式,循环就会一直执行,直到程序崩溃或者手动停止程序:
```
for(int i = 0; ; i++){
//循环体
}
```
同样地,如果循环体中没有语句对循环变量进行修改,循环变量的值不会改变,循环也会一直执行下去:
```
for(int i = 0; i < 10; ){
//循环体
}
```
但是需要注意的是,如果循环体中有其他语句对循环变量进行修改,那么循环就不一定会变成死循环了。例如:
```
int i = 0;
for(; ; ){
i++;
if(i == 10){
break;
}
}
```
这里省略了循环条件表达式,但是循环体中有语句对循环变量i进行了修改,并且增加了一个判断语句,当i等于10的时候退出循环,因此这个循环不会变成死循环。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)