Aims and Objectives
Another Looping Construct
Symbolic Constants
Character Input and Output
Counting Characters
Another Program...
Arrays
Functions
Call by Value
Call by Reference
A function to fetch a line of input
	for (initialisation ; condition ; expression)
	{
		statements;
	}
The temperature conversion program with a for loop instead of a while loop
	// program name: temp_conv1.c
	#include <stdio.h>
	main()
	{
		int fahr;
		for (fahr=0; fahr <= 300; fahr = fahr+20)
		{
			printf("%3d %6.1f\n",fahr,(5.0/9.0)*(fahr-32));
		}
	}
for (fahr=0; fahr <= 300; fahr = fahr+20)
#define NAME value
Example
	// program name: temp_conv2.c
 
	#include <stdio.h>
	#define	LOWER   0   /* lower limit of table */
	#define	UPPER   300 /* upper limit */
	#define	STEP    20  /* step size */
	main()
	{
		int fahr;
		for (fahr=LOWER; fahr<=UPPER; fahr=fahr+STEP)
		{
			printf("%3d %6.1f\n",fahr,(5.0/9.0)*(fahr-32));
		}
	}
getchar();	/* get an input character */
putchar(c);	/* send an output character */
	//program name: readchar.c
	#include <stdio.h>
	main()
	{
		int c;	/* store the next char input */
		while ((c = getchar()) != EOF) {
			putchar(c);
		}
	}
' 'will generate an error!
	//program name: countAllChars.c
	#include <stdio.h>
	main() {
		int c; /* for input char */
		int nc, ns, nl; /* declare vars */
		nc = ns = nl = 0; /* init. vars to 0 */
		while ((c = getchar()) != EOF) {
			++nc;
			if (c == ' ')
				++ns;
			else if (c == '\n')
				++nl;
		}
		printf("nc=%d; ns=%d; nl=%d", nc,ns,nl);
	}
	//program name: countChars.c
	#include <stdio.h>
	main() {
		int c;
		int nc = 0; /* declare vars */
		while ((c = getchar()) != EOF) {
			if (! (c == ' ' || c == '\n'))
				++nc;
		}
		printf("nc=%d", nc);
	}
	//program name: countAlpha.c
	#include <stdio.h>
	main() {
		int c;	/* store input char */
		int nletters[26]; /*array of 26 cells */
		int i;	/* handy variable */
		for (i = 0; i < 26; ++i)
			nletters[i] = 0;
		while ((c = getchar()) != EOF) {
			if (c >= 'a' && c <= 'z')
				++nletters[c - 'a'];
			else if (c >= 'A' && c <= 'Z')
				++nletters[c - 'A'];
		}
		for (i = 0; i < 26; ++i) {
			c = 'a' + i;
			putchar(c);
			printf(" = %d\n", nletters[i]);
		}
	}
	Output for input: aAbcBc
	a = 2
	b = 2
	c = 2 
	//program name: power.c
	#include <stdio.h>
	int power(int base, int n); /* prototype */
	main() {
		int i; /* handy variable */
		for (i = 0; i <= 10; ++i)
			printf("2^%d %d\n",i,power(2,i));
	}
	int power(int base, int i) {
		int n; /*handy variable */
		for (n = 1; i > 0; --i)
			n = n * base;
		return n;
	}
	//program name: readLine.c
	#include <stdio.h>
	#define MAX 80 /* max line length */
	int getline(char line[],int max); /*prototype*/
	main()
	{
		char s[MAX];
		getline(s, MAX);
		printf("%s", s);
	}
	int getline(char s[], int max)
	{
		int c, i; /*store an input char, index*/
		for(i=0; i < max && (c=getchar()) != '\n' &&
                                    c != EOF; s[i++] = c)
		;
		if (c == '\n')
			s[i++] = '\n';
		s[i] = '\0';
		return i;
	}