Review Questions for Intermediate C class
Class 1 (C Review)
- What is main?
- What are the 2 steps to go from a .c file to a .exe file?
- What does static mean in front of a local variable?
- What does static mean in front of a function?
- What do break and continue do?
- What is a pointer?
- What is the name of an array?
- If p is a pointer, what's the difference between p[i]=0;
and *(p+i)=0;?
- What do malloc, calloc, realloc, strdup,
and free do?
Class 2 (C Review)
- Describe the difference between malloc and calloc
- realloc has the ability to act like what 2 other functions, based on
it's parameters?
- Name and describe at least 5 I/O functions (i.e., fopen)
- Describe the processing differences between a text- and binary-mode
file.
- Can a called function modify a local variable of the calling functions?
- How do you accomplish the above?
- Whats the difference between return and exit?
Class 3 (Structures, recursion)
- Describe Recursion
- How does recursion differ from looping?
- Whats the 'rule of thumb' to determine when to use recursion?
- How do you access a member of structure?
- How do you access the member of a pointer to a structure?
- Can structures contain other structures?
- Can they contain themselves? (Any more details?)
Class 4 (Stacks and Screen Painting)
- What is a stack?
- How would you implement a structure for a stack?
- What is the purpose of each member of the stack structure?
- What are the basic operations of the stack?
- What do C and other languages uses the system stack for?
Class 5 (Reviewed Stack, Field editing/Project)
- What is the purpose of the FIELD structure?
- Describe the meaning of each FIELD member.
- How are the Dest and Label FIELD members initialized?
- How do you create an array of FIELD structures.
- Why would you create an array of FIELD structures?
Class 6 (Queues)
- What is a Queue?
- How would you implement a Queue, using a C struct?
- What is the purpose of each member in the queue struct?
- How does a queue differ from a stack?
- What similarities do the queue and stack share, from a programmers
standpoint?
Class 7 (Linked Lists)
- What is a NODE?
- How does a doubly-linked list differ from a singly-linked list?
- How would you define a NODE struct in C?
- What is the purpose of each data member in the NODE struct?
- How would you iterate through all NODEs in a list?