📄 c22.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>while 语句和 for 语句</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<script language="javascript">
var prePage="c/c2/c21.htm";
var nextPage="c/c3/c31.htm";
function showwin(url,winname,properties){
window.open(url,winname,properties)
}
</script>
<link rel="stylesheet" href="../cstyle.css" type="text/css">
<bgsound src="../voice/c22.au" loop="1">
</head>
<body background="../img/mainback.jpg" bgproperties="fixed">
<h2 align="center"><a name="_top"></a><font face="楷体_GB2312">2.2 while 语句和 for
语句</font></h2>
<div align="center"><center>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="16">
<tr>
<td><p align="center"><a href="c22.htm#c211.html#c211">while 语句和 for 语句</a></td>
<td><p align="center"><a href="c22.htm#c212.html#c212">do_while 语句</a></td>
<td><p align="center"><a href="c22.htm#c213.html#c213">break 语句和 continue 语句</a></td>
<td><p align="center"><a href="c22.htm#c214.html#c214">逗号运算符和空语句</a></td>
</tr>
</table>
</center></div>
<hr>
<h3><a name="c211"></a>1. while 语句和 for 语句</h3>
<blockquote>
<p>如果你想使一些语句直到某一情况满足时执行, 那么, 可以使用
while 语句。正常的格式如下: </p>
<pre> while(条件)
语句;</pre>
<p><a
href="javascript:showwin('c22_11.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0,width=530,height=300')">请看例子</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
<p>for 语句把初始值, 测试, 更新合在一起。特别在 C 语言里,
它的功能因检测表达式的自由性而加强了。 它的格式是: </p>
<pre> for(初始;测试;更新)
语句;</pre>
<p><a
href="javascript:showwin('c22_12.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0,width=530,height=300')">请看例子</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
<p><a
href="javascript:showwin('c22_13.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,copyhistory=0,width=600,height=500')">练习题</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
</blockquote>
<blockquote>
<p align="right"><a href="c22.htm#_top.html#_top">返回页首</a></p>
</blockquote>
<hr>
<h3><a name="c212"></a>2. do_while 语句</h3>
<blockquote>
<p>while 和 for 循环在循环前做测试。C
还提供了在循环后做测试的语句。它就是 do-while, 它是这样的: </p>
<pre> do 语句
while (测试);</pre>
<p>请看下例:</p>
<table border="0" width="60%">
<tr>
<td width="55%">main()<br>
{<br>
int i;<br>
i=1;<br>
do<br>
printf("$");<br>
while(i++<=8);<br>
printf("!");<br>
}</td>
<td width="45%">输出:$$$$$$$$!</td>
</tr>
</table>
<p align="left"><a
href="javascript:showwin('c22_21.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,copyhistory=0,width=600,height=500')">练习题</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
<p align="right"><a href="c22.htm#_top.html#_top">返回页首</a></p>
</blockquote>
<hr>
<h3><a name="c213"></a>3. break 语句和 continue 语句</h3>
<blockquote>
<p> 我们已经学了 break 在 switch 语句中的使用, 此外,
它也被用在循环语句中。这时, 它使程序跳出循环到下一语句,
它总是与测试一起使用。<font color="#00FF00">建议</font>你最好用循环测试代替
break, 因为它会<font color="#FF0000">破坏</font>程序的执行顺序。</p>
<p>请看下例:</p>
<table border="0" width="83%">
<tr>
<td width="50%">#include <stdio.h><br>
main()<br>
{<br>
char c;<br>
c=getchar();<br>
while (c!='\n')<br>
{<br>
if (c>'Z' || c<'A') break;<br>
printf("%c",c);<br>
c=getchar();<br>
}<br>
}</td>
<td width="50%"> <p>输入:DO Not STOP</p>
<p>输出:DO</td>
</tr>
</table>
<p> 象 break 一样, continue 命令可以被用在任何循环里,但不能用在
switch 中。它导致了跳过循环中剩余的语句, 开始下一轮循环。对
do_while 循环, 测试将在循环后做。<font color="#00FF00">建议</font>你最好用循环代替
continue, 因为也会<font color="#FF0000">破坏</font>程序的执行顺序。</p>
<p>请看下例: </p>
<table border="0" width="70%">
<tr>
<td width="60%">#include <stdio.h><br>
main()<br>
{ <br>
char c; <br>
while ( (c=getchar() )!='\n')<br>
{<br>
if (c>'Z' || c<'A') continue;<br>
printf("%c",c);<br>
}<br>
}</td>
<td width="40%"> <p>输入:DO Not STOP</p>
<p>输出:DONSTOP</td>
</tr>
</table>
<p>在 C 语言里, goto 语句用来跳转到某个标号的语句。goto
语句的用法是: </p>
<pre> 标号:
语句...
goto 标号;</pre>
<p><font color="#00FF00">建议</font>即使在 BASIC 语言中常常使用 goto
语句,最好不要用 goto 语句控制 C 程序的执行 。</p>
<p>请看下例:</p>
<table border="0" width="78%">
<tr>
<td width="53%">#include <stdio.h><br>
main()<br>
{<br>
char c;<br>
loop:<br>
c=getchar();<br>
printf("%c",c);<br>
if (c!='\n') goto loop;<br>
}</td>
<td width="47%"> <p>输入:DO Not STOP</p>
<p>输出:DO Not STOP</td>
</tr>
</table>
<p align="left"><a
href="javascript:showwin('c22_31.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,copyhistory=0,width=600,height=500')">练习题</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
<p align="right"><a href="c22.htm#_top.html#_top">返回页首</a></p>
</blockquote>
<hr>
<h3><a name="c214"></a>4. 逗号运算符和空语句</h3>
<blockquote>
<p> 在 C 程序里,
我们已经多次用到了逗号。大多数是用来做分隔符的。例如:
printf("%c",c);在 C 语言里, 为逗号提供了新的能力,
即被当作运算符使用。它保证由它分隔的表达式具有从左到右的求值顺序,
并且返回最后者的值。例子:value=(5%4,c=75,1<2,c);</p>
<p>for 循环中经常用到它。例子:for (a=0,b=0;a<100;a++,b++)...</p>
<p>再看一个例子:temp=x,x=y,y=temp;</p>
<p> C 中最简单的语句是空语句, 它仅包含了一个分号<strong>"<font
color="#FF0000">;</font>"</strong>。有时, 它实际是需要的,
而最大可能是用在循环中。下面你会看到一些例子。<br>
例子一:while (a[i++]=b[i++]); <br>
例子二:for (i=1;ch_ary[i]!=0;i++);</p>
<p align="left"><a
href="javascript:showwin('c22_41.htm',null,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,copyhistory=0,width=600,height=500')">练习题</a><img
src="../img/lefthand.gif" alt="lefthand.jpg (983 bytes)" WIDTH="45" HEIGHT="20"></p>
<p align="right"><a href="c22.htm#_top.html#_top">返回页首</a></p>
</blockquote>
<p align="center"><a href="http://www.nec.sjtu.edu.cn/support/Course/C/c/c3/c31.htm"><img src="../img/next.gif" width="145"
height="30" alt="next.gif (3633 bytes)" border="0"></a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -