CA208 1997 Term 3 (Set 3) QUESTION [(Compulsory) a. Declare a structure to store the following information. Employeeinfomation Employee name: Tom Brown Employee address: 21 Queens Street Age: 25 Salary : $2,500.00 [5 marks] b. Declare an array of 5 for the above structure and initialise all attributes of the 5 copies using the assignment operator or strcpy function. Numbers may be initialised to 0 and characters to space. [9 marks] c. Under what circumstances a variable can be used as a pointer when it is not declared a pointer? [2 marks] d. What is the difference between a structure and a union? [4 marks] QUESTION 2 Assume that a user keys 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 int num, number[5]; int *iptr; a. iptr = num; Is the above statement legal? If it is not, explain and correct the error. [3 marks] b. iptr = &number[0]; Is the above statement legal? If it is not, explain and correct the error. [2 marks] c. Is there an alternative to part (b)? Write down the alternative. [2 marks] d. What is the output of the following segment of code? int number[] = { 5,10,15,20,25,30}; int *iptr, count; iptr = &number[2]; *(iptr-2) = 50; --iptr; *iptr = 100; *(iptr+2) = 200; ++iptr = 150; number[4] = 250; iptr = iptr + 3; *iptr = 300; for( count = 0; count < 6; count ++) printf("%d",number[count]); [10 marks] e. What's the difference between *(iptr+2) and iptr += 2? [3 marks] QUESTION 4 a. Write a program that simulates the strlen function in C. [7 marks] b. Write a program that initialises an array with value from 1 to 10 and copy the content of this array of this array to another array. [13 marks] QUESTION 5 a. Rewrite the following using the while loop and the do while loop. for ( i=0; ic10; 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. [7 marks] if (x==10) printf("Full marks"); else if (x==5) printf("Just passe); else if (xc5) printf("Fail");