summaryrefslogtreecommitdiff
path: root/reference/C/SYNTAX/for.html
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/SYNTAX/for.html')
-rw-r--r--reference/C/SYNTAX/for.html175
1 files changed, 175 insertions, 0 deletions
diff --git a/reference/C/SYNTAX/for.html b/reference/C/SYNTAX/for.html
new file mode 100644
index 0000000..e90ac20
--- /dev/null
+++ b/reference/C/SYNTAX/for.html
@@ -0,0 +1,175 @@
+<title>The FOR keyword.</title>
+<head>
+<script language="JavaScript">
+</script>
+</head>
+<body bgcolor="#ffffcc">
+<hr>
+<center><h1>The FOR keyword.</h1></center>
+<hr>
+The <b>for</b> <a href="../glossary.html#keyword">keyword</a> is used to
+repeat a block of code many times.
+<p>
+<ul>
+<li><a href=#basic>Basic principles.</a>
+<li><a href=#repeat>Repeating several lines of code</a>
+<li><a href=#detail>More detail</a>
+</ul>
+<a name=basic>
+<hr>
+<h2>Basic principles</h2>
+Say you wanted to print all the numbers between 1 and 10, you could write:
+<pre>
+ main()
+ {
+ int count=1;
+
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ printf("%d\n", count++);
+ }
+</pre>
+
+As you can see this program would NOT be very practical if we wanted
+1000 numbers. The problem can be solved with the <b>for</b> statement
+as below.
+<pre>
+ main()
+ {
+ int count;
+
+ for ( count=1 ; count <= 10 ; count++) printf("%d\n", count);
+ }
+</pre>
+
+The <b>for</b> statement can be broken down into 4 sections:
+<p>
+<dl>
+<dt><samp>count=1</samp>
+<dd>is the initalisation.<p>
+
+<dt><samp>count <= 10 </samp>
+<dd>An expression. The for statement continues to loop while this
+statement remains <a href="../CONCEPT/true_false.html">true</a><p>
+
+<dt><samp>count++ </samp>
+<dd><a href="../CONCEPT/inc_dec.html">increament</a> or
+<a href="../CONCEPT/inc_dec.html">decreament</a>.<p>
+
+<dt><samp>printf("%d\n", count) </samp>
+<dd>the statement to execute.<p>
+</dl>
+
+<a name=repeat>
+<hr>
+<h2>Repeating several lines of code</h2>
+
+The previous example showed how to repeat ONE statement. This example
+shows how many lines can be repeated.
+
+<pre>
+ main()
+ {
+ int count, sqr;
+
+ for ( count=1 ; count <= 10 ; count++)
+ {
+ sqr=count * count;
+ printf( " The square of");
+ printf( " %2d", count);
+ printf( " is %3d\n", sqr);
+ }
+ }
+</pre>
+
+The <b>{</b> and <b>}</b> following the <b>for</b> statement define
+a <a href=statements.html#block>block</a> of statements.
+
+<a name=detail>
+<hr>
+<h2>More detail</h2>
+
+The <b>for</b> statement performs the following functions while looping.
+
+<pre>
+ for (expression_1 ; expression_2 ; expression_3) statement ;
+</pre>
+<ol>
+<li>Executes <samp>expression_1</samp>.<p>
+<li>Executes <samp>statement</samp>.
+<li>Executes <samp>expression_3</samp>.
+<li>Evaluates <samp>expression_2</samp>.
+<p>
+<ul>
+<li>If TRUE, Jumps to item 2.
+<li>If FALSE, Stops looping.
+</ul>
+</ol>
+
+Any of the three expressions can be missing, if the first or third is missing,
+it is ignored. If the second is missing, is is assumed to be TRUE.<p>
+
+The following example is an infinite loop:
+
+<pre>
+ main()
+ {
+ for( ; ; ) puts(" Linux rules!");
+ }
+</pre>
+
+
+
+<hr>
+<h2>Examples:</h2>
+
+<a href=../EXAMPLES/for1.c><img src="../../GRAPHICS/computer.gif" align=left></a>
+Basic <b>for</b> example.
+<br clear=left>
+
+<a href=../EXAMPLES/for2.c><img src="../../GRAPHICS/computer.gif" align=left></a>
+Advanced <b>for</b> example.
+<br clear=left>
+
+<hr>
+<h2>See also:</h2>
+<ul>
+<li><a href="while.html">while</a> keyword.
+<li><a href="do.html">do</a> keyword.
+<li><a href="continue.html">continue</a> keyword.
+<li><a href="break.html">break</a> keyword.
+<li><a href="got_ya.html#num1">for got_ya</a>.
+</ul>
+
+<p>
+
+<hr>
+<p>
+<center>
+<table border=2 width="80%" bgcolor="ivory">
+<tr align=center>
+<td width="25%">
+<a href="../cref.html"> Top</a>
+</td><td width="25%">
+<a href="../master_index.html"> Master Index</a>
+</td><td width="25%">
+<a href="keywords.html"> Keywords</a>
+</td><td width="25%">
+<a href="../FUNCTIONS/funcref.htm"> Functions</a>
+</td>
+</tr>
+</table>
+</center>
+<p>
+<hr>
+<address>Martin Leslie
+</address><p>
+</body>
+</html>