c语言while的用法

void main(void)
{unsigned char count;
count=0;
P0=table[count/10];
P2=table[count%10];
while(1)
{if(P3_7==0)
{delay10ms();
if(P3_7==0)
{count++;
if(count==100)
{count=0;
}
P0=table[count/10];
P2=table[count%10];
}
while(P3_7==0);
}
}
}
第二个while怎么理解

当n==1时执行while循环结构里的语句,当n不等于1时,则跳过该循环执行循环体外的语句。

while 循环的格式:while (表达式){语句;}

while 循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环

while 循环的执行顺序非常简单,它的格式是:

while (表达式)
{
语句;
}

当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。这个就是 while 的执行顺序。

注意,初学者编程时,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加“{}”,养成良好的编程习惯尤为重要。

写一个程序实现此功能:计算 (1-1/3+1/5-1/7+1/9-1/11…)*4 的值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-12
你这个应该是单片机里面计算P3.7口输入按钮计数,然后通过P0十位P2个位,接数码管显示的程序。下面是给您分析的过程(第二个是检测按键是否起来):
void main(void)
{unsigned char count;
count=0;
P0=table[count/10]; //显示十位
P2=table[count%10]; //显示个位
while(1)
{if(P3_7==0) //按钮是否按下
{delay10ms(); //延时10ms,防抖动作
if(P3_7==0) //再次检测按钮是否按下,防止干扰,误操作
{count++; //十进制检测输入按钮次数
if(count==100)
{count=0;
}
P0=table[count/10];
P2=table[count%10];
}
while(P3_7==0); //检测按钮是否起来,为下一次检测按钮 按下做好准备
}
}
}
这个程序很简单,要是汇编的话,挺复杂的。
第2个回答  2011-05-12
第二个 看见后面的 ; 了吗?

其实完整格式是

while(P3_7==0)
{
;
}
就是一直循环到不等于0 什么都不干 实际上正规的写法应该是 NULL; 而不是只有一个;

只有一个; 在代码优化时会被优化掉本回答被提问者采纳
第3个回答  2011-05-12
while(P3_7==0);
等待端口P3.7拉高,
如果现在是低电平的话,将进入死循环,
什么事情都不干,端口拉高后就跳出循环
第4个回答  2011-05-12
while(P3_7==0);
这个while语句的循环体中只有一个空语句(即只有一个分号的语句),所以如果p3_7==0 则进入循环体中去执行一下空语句(即什么也不干)。呵呵
相似回答