首页 > 试题广场 >

int b_val = 0; while(!b_val) …

[单选题]
int b_val = 0;
while(!b_val) …
等价于()
  • while(b_val ==1)
  • while( b_val != 1)
  • while( b_val == 0)
  • while( b_val != 0)
不管b_val为多少,while(b_val)等价于while(b_val!=0),while(!b_val)等价于while(b_val==0)
发表于 2020-08-31 22:50:09 回复(3)
使用true、false来看
b_val =0 所以b_val==false。!b_val ==true. 也就是b_val == 0 .
通过这一道题,可以知道为什么c++要推广false和true。而不要使用数字。
编辑于 2020-06-08 17:27:28 回复(1)
题目首先定义b_val=0;所以!b_val的结果为true(真),而选项C中b_val==0的结果也为真(因b_val本身为0,b_val==0条件成立,为真)。此题考的是对语句条件真假的判断,而不是考对题目的转义
发表于 2022-10-21 11:24:30 回复(4)
   从判定条件来分析能条理更清晰,首先!b_val为真时执行程序段,也即b_val为false(0),由此可见应选择C。
   但可能说B选项在运行过程中(只考虑在该程序环境下)也是可以的,究其原因它还是在于b_val为false,此时判断条件可以为b_val !=1、b_val !=2、b_val !=3......都可以使得程序段运行。但题目毕竟问的是等价于,所以直接按我前面所说的更直接,也不必钻牛角尖。
发表于 2019-07-30 09:12:32 回复(0)
while(真){}才进入循环体,也就是说!b_val 为真,则b_val为假,那么只有一种取值,即b_val==0。
发表于 2023-04-29 19:58:08 回复(0)
发表于 2019-07-26 15:34:18 回复(1)
b_val=0;所以题目中!b_val的结果为true,对应选项b_val==0的结果为真。选C。挺简单的呀
编辑于 2023-01-10 15:06:00 回复(1)
什么破题,哈哈哈
发表于 2021-03-24 19:39:05 回复(0)
假设代入法:当b_val=0时,while(!0)即while(1)成立,执行while语句。while(0 == 0),也成立,执行while语句。所以选择C
发表于 2023-08-02 19:52:45 回复(0)
答案 BC均可。
循环条件中 !b_val 为真 非0为真。
只需要找 条件为真的while语句即可,BC均满足。


发表于 2023-10-30 19:47:36 回复(4)
不管b_val为多少,while(b_val)等价于while(b_val!=0),while(!b_val)等价于while(b_val==0)
发表于 2022-05-04 14:04:27 回复(1)
我这个回答才是直达本质的!!!
答案是C,而不是B,是因为while(!b_val)的意思是当b_val等于0时,才会执行循环体,而当b_val不等于0时,就会跳出循环。所以,它等价于while(b_val == 0)。而while(b_val != 1)的意思是当b_val不等于1时,才会执行循环体,而当b_val等于1时,就会跳出循环。所以,它和while(!b_val)不等价,因为它们在b_val等于1时的行为不一样
发表于 2023-12-03 15:11:24 回复(0)
为真就可以了
编辑于 2023-07-14 23:02:22 回复(0)
这题,多少有点扯淡
发表于 2022-12-03 15:09:54 回复(0)
我他妈看不懂在说什么
发表于 2022-10-12 15:01:54 回复(0)
要结合上下文代码来看,while 中的肯定是true,因为b_val = 0,那么只有 b_val == 0这个是true的意思!
发表于 2022-08-03 20:32:15 回复(2)
0时为ture
发表于 2021-03-02 11:18:41 回复(0)
不为b_val时跳出循环<=>不为0时跳出循环
发表于 2019-07-24 16:31:35 回复(0)

B答案的错误原因?

发表于 2019-06-22 17:21:55 回复(4)