1. What does the term cast refer to? Why is it used?
  2. In arithmetic expressions, to what data type will the C compiler promote a character?
  3. What is the difference between a statement and a block?
  4. Increment the variable next three different ways.
  5. How is a comment formed in C.
  6. Can comments be nested?
  7. From the standpoint of programming logic, what is the difference between a loop with the test at the top, and a loop where the test is at the bottom?
  8. Specify the skeletons of two C loops with the test at the top.
  9. Specify a C loop with the test at the bottom.
  10. What is the switch statement?
  11. What does a break statement do? Which control structures use it?
  12. In a loop, what is the difference between a break and continue statement?
  13. Where may variables be defined in C?
  14. What is the difference between a variable definition and a variable declaration?
  15. What is the purpose of a function prototype?
  16. What is type checking?
  17. To what does the term storage class refer?
  18. List C's storage classes and what they signify.
  19. State the syntax for the printf() and scanf() functions. State their one crucial difference with respect to their parameters.
  20. With respect to function parameter passing, what is the difference between call-by-value and call-by-reference? Which method does C use?
  21. What is a structure and a union in C?
  22. Define a structure for a simple name/address record.
  23. What does the typedef keyword do?
  24. Use typedef to make a short-cut way to declare a pointer to the nameAddr structure above. Call it addrPtr.
  25. Declare a variable with addrPtr called address.
  26. Assuming the variable address above, how would one refer to the city portion of the record within a C expression?
  27. What is the difference between: #include and #include "stdio.h"
  28. What is #ifdef used for?
  29. How do you define a constant in C?
  30. Why can't you nest structure definitions?
  31. Can you nest function definitions?
  32. What is a forward reference?
  33. What are the following and how do they differ: int, long, float and double?
  34. Define a macro called SQR which squares a number.
  35. Is it possible to take the square-root of a number in C. Is there a square-root operator in C?
  36. Using fprintf() print a single floating point number right-justified in a field of 20 spaces, no leading zeros, and 4 decimal places. The destination should be stderr and the variable is called num.
  37. What is the difference between the & and && operators and the | and || operators?
  38. What is the difference between the -> and . operators?
  39. What is the symbol for the modulus operator?
  40. From the standpoint of logic, what is the difference between the fragment:
    if (next < max)
    next = 0;
    and the fragment:
    next += (next < max)? (1):(-next);
  41. What does the following fragment do?
    while((d=c=getch(),d)!=EOF&&(c!='\t'||c!=' '||c!='\b')) *buff++ = ++c; 
  42. Is C case sensitive (ie: does C differentiate between upper and lower case letters)?
  43. Specify how a filestream called inFile should be opened for random reading and writing. the file's name is in fileName.
  44. What does fopen() return if successful. If unsuccessful?
  45. What is the void data type? What is a void pointer?
  46. Declare a pointer called fnc which points to a function that returns an unsigned long.
  47. Declare a pointer called pfnc which points to a function that returns a pointer to a structure of type nameAddr.
  48. It is possible for a function to return a character, an integer, and a floating point number. Is it possible for a function to return a structure? Another function?
  49. What is the difference between an lvalue and an rvalue?
  50. Given the decimal number 27, how would one express it as a hexadecimal number in C?
  51. What is malloc()?
  52. What is the difference between malloc() and calloc()?
  53. What kind of problems was C designed to solve?
  54. write C code for deleting an element from a linked listy traversing a linked list efficient way of elimiating duplicates from an array
  55. Declare a void pointer
  56. Make the pointer aligned to a 4 byte boundary in a efficient manner
  57. What is a far pointer (in DOS)
  58. Write an efficient C code for 'tr' program. 'tr' has two command line arguments. They both are strings of same length. tr reads an input file, replaces each character in the first string with the corresponding character in the second string. eg. 'tr abc xyz' replaces all 'a's by 'x's, 'b's by 'y's and so on.
  59. Write C code to implement strtok() 'c' library function.
  60. Implement strstr(), strcpy(), strtok() etc
  61. Reverse a string.
  62. Given a linked list which is sorted, how will you insert in sorted way.
  63. Write a function that allocates memory for a two-dimensional array of given size (parameter x & y)
  64. Write source code for printHex(int i) in C/C++
  65. Write a function that finds the last instance of a character in a string.