CA208 1997 Term 3 (Set 2)
Question 1. 
Compulsory

a. What is the index range for a 100 element array? [2 marks]

b. Declare an array to store a name of 30 characters. [2 marks]

c. We suspect the following program has errors. Identify and
   correct the errors.

#include<stdio.h>
main( )
{
int i,j,list(10);

for(i=l,i<=lO,i++)
  {
  list[i] = 2*I+3; 
  for(j=l,j>=i,j++) 
     printf("`d"\n,list[j]);
  }
}	[8 marks]

d. A function prototype is also called a function . [2 marks]

e. Under what circumstances a variable can be used as a pointer when it is not declared a pointer? [2 marks]

f. What is the difference between a structure and a union? [4 marks]

Question 2. 
Assume that user key in a number N. Accept the number
and write the following functions:
a. Write the main to accept the number N from user and
invoke the next 2 functions and print out the results.
[10 marks]



b. Write a recursive function that adds from N to 1
	[5 marks]
c. Write a recursive function that adds from 1 to N.
	[5 marks]

Question 3. 
a. Declare a nested structure for the following
	information:
	Student information
	Student name: Michael J. Fox
	Student no. : nl611763
	Address
	State: Chicago
	Street : Queens Street
	House no: 21
	Sex: M
	Weight: 65.5kg
	Height: 175.5cm	[12 marks]

b. Initialise the structure above to store the given information using the  assignment operator and the strcpy function.
					[8 marks]

Question 4. 
a. What is the difference between passing by reference and passing by value?
[4 marks]

b. Write a swap function of nu mb er x and y using pass by value. [6 marks]

c. Write a swap function of nu mb er x and y using pass by reference. [6 marks]

d. What are the two operators associated with pointers? What do they mean?
 [4 marks] 


Question 5. 
a. Rewrite the following using the while loop and the do
	while loop.
	for ( i=O; i<10; I++)
	counter++;	[9
	marks]
	b. State the difference between the for-loop and the
	while-loop and the
	difference between the while-loop and the do-while
	loop. [4 marks]

c. Rewrite the following using a switch-case statement.

if (x==10) printf("Full marks"); 
else if (x==5) printf("Just pass"); 
else if (x<5) printf("Fail");
1