C51单片机,C语言 while(表达式) while语句的意思是:先计算表达式的值,当值为真(非

C51单片机,C语言
while(表达式)
while语句的意思是:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。

求解:
1:表达式中的值“非0”,等于1.2.3.4.5.6.7就是非0吗?
2:表达式的值为零就会退出循环,退出循环够重新赋值为1会重新进去循环吗?
3:sbit key=P1.1
while(!key); 这句话是什么意思?
回答的请详细点,初学者。

(1)不能这样理解,while(非0)中的非零表示的的是逻辑值,简单说就是while(表达式)中的表达式成立不成立,成立则为非零;
(2)语言的执行是从上到下的,但while(表达式)但表达式为 零时 ,退出后表达式非零只有指定跳转到while的前面或while语句或者是while循环就在一个未退出的大循环下时,while循环才能被继续执行,否则不会在循环while;
(3)while(!key) 中的"!key "表示key的值为非0(key不等于零这个条件成立)时执行while循环
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-19
1:表达式中的值“非0”,等于1.2.3.4.5.6.7就是非0 常见 的例子有:
n=100; while(n--){ }; 即n不等于0就执行大括号内程序和n--
2:表达式的值为零就会退出循环,退出循环 重新赋值为1;不会再次进去循环
 一定要在其未退出之前重新赋值
3:sbit key=P1.1
while(key); 就是key值等于1一直在此处 等待
while(!key); 就是key值等于0一直在此处等待
第2个回答  2015-11-19
1:表达式中的值“非0”,等于1.2.3.4.5.6.7就是非0吗?
// 就是不《=0 对与单片机来说 就是高电平 0低电平1 高电平
2:表达式的值为零就会退出循环,退出循环够重新赋值为1会重新进去循环吗?
会的
3:sbit key=P1.1
while(!key); 这句话是什么意思?
在此始终判断 按键 是否被按下 如果有按键 按下 就进行外设操作本回答被网友采纳
相似回答